2018-02-01T00:00:29Z pmetzger joined #lisp 2018-02-01T00:04:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-01T00:04:45Z Baggers quit (Remote host closed the connection) 2018-02-01T00:04:56Z wigust quit (Quit: ZNC 1.6.5 - http://znc.in) 2018-02-01T00:05:52Z dieggsy quit (Ping timeout: 252 seconds) 2018-02-01T00:09:48Z safe joined #lisp 2018-02-01T00:12:12Z shifty joined #lisp 2018-02-01T00:25:00Z deng_cn quit (Read error: Connection reset by peer) 2018-02-01T00:25:58Z turkja joined #lisp 2018-02-01T00:26:59Z deng_cn joined #lisp 2018-02-01T00:29:10Z markong quit (Ping timeout: 256 seconds) 2018-02-01T00:30:25Z fikka joined #lisp 2018-02-01T00:31:04Z trocado joined #lisp 2018-02-01T00:32:19Z nowhereman_ joined #lisp 2018-02-01T00:32:31Z nowhere_man quit (Ping timeout: 248 seconds) 2018-02-01T00:32:43Z damke_ joined #lisp 2018-02-01T00:32:58Z hhdave quit (Quit: hhdave) 2018-02-01T00:33:18Z z3t0 quit (Remote host closed the connection) 2018-02-01T00:33:27Z z3t0 joined #lisp 2018-02-01T00:34:33Z damke quit (Ping timeout: 264 seconds) 2018-02-01T00:37:43Z Kaisyu joined #lisp 2018-02-01T00:37:57Z ebrasca quit (Read error: Connection reset by peer) 2018-02-01T00:38:06Z ebrasca joined #lisp 2018-02-01T00:47:39Z FreeBirdLjj joined #lisp 2018-02-01T00:47:52Z dddddd quit (Ping timeout: 256 seconds) 2018-02-01T00:49:55Z arescorpio joined #lisp 2018-02-01T00:52:09Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2018-02-01T00:57:47Z saki joined #lisp 2018-02-01T01:00:10Z pmc_ joined #lisp 2018-02-01T01:03:49Z rjid joined #lisp 2018-02-01T01:03:51Z sjl joined #lisp 2018-02-01T01:08:16Z rjid is now known as ansatz 2018-02-01T01:08:49Z sjl quit (Ping timeout: 248 seconds) 2018-02-01T01:09:11Z z3t0 quit (Remote host closed the connection) 2018-02-01T01:09:59Z ansatz quit (Quit: Page closed) 2018-02-01T01:10:16Z dddddd joined #lisp 2018-02-01T01:10:53Z EvW quit (Ping timeout: 276 seconds) 2018-02-01T01:13:09Z Pixel_Outlaw joined #lisp 2018-02-01T01:13:44Z ebzzry joined #lisp 2018-02-01T01:17:17Z Rawriful quit (Quit: WeeChat 1.4) 2018-02-01T01:23:52Z eli quit (Remote host closed the connection) 2018-02-01T01:27:27Z trocado quit (Ping timeout: 248 seconds) 2018-02-01T01:27:45Z brendyn joined #lisp 2018-02-01T01:29:18Z bigfondue joined #lisp 2018-02-01T01:33:58Z fittestbits left #lisp 2018-02-01T01:35:51Z zazzerino joined #lisp 2018-02-01T01:38:40Z fikka quit (Ping timeout: 248 seconds) 2018-02-01T01:41:52Z pmetzger quit 2018-02-01T01:44:52Z Denommus joined #lisp 2018-02-01T01:49:54Z fikka joined #lisp 2018-02-01T01:52:30Z Arcaelyx joined #lisp 2018-02-01T01:52:45Z dieggsy joined #lisp 2018-02-01T01:53:04Z zmt00 quit (Quit: Leaving) 2018-02-01T01:56:15Z jstypo quit (Ping timeout: 260 seconds) 2018-02-01T01:56:31Z deng_cn quit (Read error: Connection reset by peer) 2018-02-01T01:59:07Z deng_cn joined #lisp 2018-02-01T02:06:19Z quazimodo joined #lisp 2018-02-01T02:08:24Z Tobbi quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-01T02:09:33Z jstypo joined #lisp 2018-02-01T02:16:10Z randomstrangerb quit (Ping timeout: 240 seconds) 2018-02-01T02:17:27Z randomstrangerb joined #lisp 2018-02-01T02:18:31Z Oladon joined #lisp 2018-02-01T02:19:48Z pmc_ quit (Ping timeout: 240 seconds) 2018-02-01T02:21:48Z fikka quit (Ping timeout: 240 seconds) 2018-02-01T02:24:08Z nowhere_man joined #lisp 2018-02-01T02:27:13Z nowhereman_ quit (Ping timeout: 248 seconds) 2018-02-01T02:27:48Z fikka joined #lisp 2018-02-01T02:31:47Z z3t0 joined #lisp 2018-02-01T02:32:45Z safe quit (Read error: Connection reset by peer) 2018-02-01T02:33:03Z pagnol quit (Ping timeout: 248 seconds) 2018-02-01T02:35:09Z d4ryus1 joined #lisp 2018-02-01T02:37:15Z whoman quit (Remote host closed the connection) 2018-02-01T02:37:40Z whoman joined #lisp 2018-02-01T02:38:25Z d4ryus quit (Ping timeout: 248 seconds) 2018-02-01T02:41:17Z openthesky quit (Quit: Page closed) 2018-02-01T02:41:50Z openthesky joined #lisp 2018-02-01T02:45:37Z z3t0 quit (Remote host closed the connection) 2018-02-01T02:48:50Z openthesky quit (Quit: Leaving.) 2018-02-01T02:49:10Z openthesky joined #lisp 2018-02-01T02:55:59Z fittestbits joined #lisp 2018-02-01T02:57:52Z twouhm joined #lisp 2018-02-01T02:58:21Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2018-02-01T02:58:52Z alphor quit (Quit: Bye!) 2018-02-01T02:59:41Z openthesky left #lisp 2018-02-01T02:59:50Z alphor joined #lisp 2018-02-01T03:01:07Z zmt00 joined #lisp 2018-02-01T03:01:36Z fikka quit (Ping timeout: 256 seconds) 2018-02-01T03:03:11Z z3t0 joined #lisp 2018-02-01T03:03:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-01T03:07:27Z z3t0 quit (Ping timeout: 240 seconds) 2018-02-01T03:08:22Z kamog joined #lisp 2018-02-01T03:08:57Z fikka joined #lisp 2018-02-01T03:12:08Z safe joined #lisp 2018-02-01T03:17:12Z red-dot joined #lisp 2018-02-01T03:18:53Z oleo joined #lisp 2018-02-01T03:22:32Z Denommus quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2018-02-01T03:23:06Z borei joined #lisp 2018-02-01T03:23:17Z borei: hi all ! 2018-02-01T03:23:42Z EvW joined #lisp 2018-02-01T03:23:42Z arescorpio quit (Excess Flood) 2018-02-01T03:24:45Z ckonstanski quit (Remote host closed the connection) 2018-02-01T03:26:06Z borei: i have question about lisp code optimization - matrix multiplication in my case. i undestand that topic is rather big, but still, some recommendations would be nice. I was trying to find best solution in C/C++ but didn't get explicit answer for it 2018-02-01T03:26:10Z borei: so what i have 2018-02-01T03:26:35Z borei: matrix, double-float, arbitrary size 2018-02-01T03:26:41Z damke_ joined #lisp 2018-02-01T03:27:23Z borei: i store matrix elements in 1-dimensional array (simple-array) - that guarantee that data will be continouse 2018-02-01T03:28:40Z borei: to multiply matricies i can create nested loop with proper indexing, so it will do proper elements multiplication 2018-02-01T03:29:29Z borei: or i can pull row(s) and column(s) from input matricies and do multiplication (scalar multiplication) on them 2018-02-01T03:30:50Z borei: in second approach im hoping that vectors (rows and colums) will fit cache, but i can't control it 2018-02-01T03:31:37Z borei: so potentially i'll be loosing CPU cycles on moving data from one area to another 2018-02-01T03:32:37Z borei: in first approach more or less big matrix will not fit cache for sure, but there is no overhead on moving data, only access to elements 2018-02-01T03:32:44Z FreeBirdLjj joined #lisp 2018-02-01T03:33:22Z alphor quit (Quit: Bye!) 2018-02-01T03:33:32Z borei: there is 3rd approach - block matrix multiplication, but it's more complex in terms of the algorithm 2018-02-01T03:33:42Z alphor joined #lisp 2018-02-01T03:34:20Z pierpa: in CL arrays are a continuous chunk of memory, whatever the number dimensions 2018-02-01T03:34:30Z pierpa: +of 2018-02-01T03:36:11Z pierpa: and your worries about cache don't make much sense 2018-02-01T03:36:50Z pierpa: by copying parts of the arrays somewhere else you won't diminish the amount of cache needed. On the contrary. 2018-02-01T03:37:10Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-01T03:37:52Z fikka quit (Ping timeout: 256 seconds) 2018-02-01T03:38:54Z milanj quit (Quit: This computer has gone to sleep) 2018-02-01T03:38:56Z rumbler31 joined #lisp 2018-02-01T03:39:32Z beach: Good morning everyone! 2018-02-01T03:39:48Z borei: hi beach ! 2018-02-01T03:41:18Z JuanDaugherty quit (Quit: Ex Chat) 2018-02-01T03:41:24Z borei: pierpa: i was hoping that when i extract row (or columns) from matrix it will fit CPU cache, and multiplication will be done much faster, comparing pulling out individual element from huge array 2018-02-01T03:42:15Z pierpa: the extracted column may fit the cache, but to extract the it in the first place you have to traverse the data in the matrix, no? 2018-02-01T03:42:27Z pierpa: -the 2018-02-01T03:43:13Z pierpa: since you are traversing the matrix just multiply the numbers rather than copying them somewhere and then multiplying them 2018-02-01T03:43:14Z borei: correct 2018-02-01T03:43:15Z fikka joined #lisp 2018-02-01T03:43:33Z rumbler31 quit (Ping timeout: 264 seconds) 2018-02-01T03:43:39Z borei: ic your point 2018-02-01T03:53:11Z alphor quit (Quit: Bye!) 2018-02-01T03:54:10Z alphor joined #lisp 2018-02-01T03:58:57Z orivej quit (Ping timeout: 240 seconds) 2018-02-01T03:59:55Z shka joined #lisp 2018-02-01T04:06:48Z EvW quit (Ping timeout: 265 seconds) 2018-02-01T04:07:30Z dieggsy quit (Ping timeout: 252 seconds) 2018-02-01T04:14:33Z pierpa quit (Quit: Page closed) 2018-02-01T04:16:19Z dessm joined #lisp 2018-02-01T04:19:07Z SpikeMaster joined #lisp 2018-02-01T04:19:13Z d4ryus1 quit (Ping timeout: 248 seconds) 2018-02-01T04:19:40Z zazzerino left #lisp 2018-02-01T04:21:21Z randomstrangerb quit (Ping timeout: 248 seconds) 2018-02-01T04:22:34Z randomstrangerb joined #lisp 2018-02-01T04:23:20Z d4ryus1 joined #lisp 2018-02-01T04:23:25Z SpikeMaster quit (Client Quit) 2018-02-01T04:23:58Z Pixel_Outlaw quit (Quit: Leaving) 2018-02-01T04:24:21Z smasta joined #lisp 2018-02-01T04:27:06Z dddddd quit (Remote host closed the connection) 2018-02-01T04:37:07Z milanj joined #lisp 2018-02-01T04:40:26Z Bike quit (Quit: sleep) 2018-02-01T04:45:05Z schoppenhauer quit (Ping timeout: 240 seconds) 2018-02-01T04:45:11Z rumbler31 joined #lisp 2018-02-01T04:47:15Z schoppenhauer joined #lisp 2018-02-01T04:48:48Z fikka quit (Ping timeout: 240 seconds) 2018-02-01T04:49:35Z rumbler31 quit (Ping timeout: 240 seconds) 2018-02-01T04:52:14Z fikka joined #lisp 2018-02-01T04:56:31Z LocaMocha joined #lisp 2018-02-01T05:01:20Z Amplituhedron quit (Read error: Connection reset by peer) 2018-02-01T05:01:26Z igemnace joined #lisp 2018-02-01T05:01:33Z damke joined #lisp 2018-02-01T05:03:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-01T05:09:57Z damke_ joined #lisp 2018-02-01T05:11:45Z damke quit (Ping timeout: 264 seconds) 2018-02-01T05:17:48Z bigfondue quit (Quit: WeeChat 1.6) 2018-02-01T05:18:47Z kamog quit (Quit: Leaving.) 2018-02-01T05:19:05Z bigfondue joined #lisp 2018-02-01T05:19:24Z openthesky joined #lisp 2018-02-01T05:20:33Z randomstrangerb quit (Ping timeout: 248 seconds) 2018-02-01T05:21:02Z pyx joined #lisp 2018-02-01T05:21:16Z pyx quit (Client Quit) 2018-02-01T05:21:48Z randomstrangerb joined #lisp 2018-02-01T05:22:42Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2018-02-01T05:24:20Z borei: 1000x1000 matrix multiplication ~apprx 28 sec. 2018-02-01T05:24:38Z borei: Intel(R) Core(TM) i7-4600M CPU @ 2.90GHz 2018-02-01T05:24:46Z borei: not sure is it good or bad 2018-02-01T05:24:48Z fikka quit (Ping timeout: 240 seconds) 2018-02-01T05:25:01Z borei: sounds like not good 2018-02-01T05:25:32Z beach: borei: What algorithm are you using? 2018-02-01T05:26:12Z borei: my own 2018-02-01T05:26:40Z beach: You invented a new algorithm? Is it better than the naive one? 2018-02-01T05:27:30Z borei: well, not invented, i'd implementation is mine 2018-02-01T05:27:37Z fikka joined #lisp 2018-02-01T05:27:47Z borei: what is native one ? 2018-02-01T05:28:50Z beach: The cubic algorithm that we were taught in math class. 2018-02-01T05:29:29Z beach: I am not an expert, but I know there are better ones. See for instance: https://en.wikipedia.org/wiki/Matrix_multiplication#Algorithms_for_efficient_matrix_multiplication 2018-02-01T05:30:30Z borei: reading now 2018-02-01T05:30:41Z shka: good morning! 2018-02-01T05:31:01Z beach: borei: I think if you are going to build a library for such things, you need to read up on current best practice. 2018-02-01T05:31:45Z beach: borei: Careful though, it looks like Strassen's algorithm is based on the idea that multiplication is way more expensive than addition. That may no longer be the case. 2018-02-01T05:32:12Z shka: beach: it will be true for integers 2018-02-01T05:32:17Z beach: Indeed. 2018-02-01T05:32:51Z beach: borei: Also, since all modern Common Lisp systems have threads, you may want to investigate parallel algorithms for use when the matrices are big. 2018-02-01T05:32:52Z shka: btw, I could use matrix library that is actually good 2018-02-01T05:33:03Z shka: and has no C in it 2018-02-01T05:33:49Z shka: … and if you are going to use threads, please stick to the lparallel 2018-02-01T05:34:05Z shka: you will make plenty of people happy :-) 2018-02-01T05:34:43Z beach: borei: But then again, perhaps your goal is not excellent performance. I was just guessing that since you mentioned execution time. 2018-02-01T05:36:04Z borei: there are a lot of reading 2018-02-01T05:36:30Z borei: i did implementation of block matrix multiplication (in C++) 2018-02-01T05:36:42Z beach: It is a vast domain that many very smart people have been working on for a long time, so yes, there is a lot of reading to be done. 2018-02-01T05:36:43Z borei: and it's pretty close to what i read now 2018-02-01T05:37:33Z borei: shak: why lparallel ? 2018-02-01T05:38:18Z borei: in any cases seems like i need to get deep dive in linear algebra - so exciting field 2018-02-01T05:39:50Z michalisko quit (Ping timeout: 256 seconds) 2018-02-01T05:39:57Z borei: i do have thread support, but at this moment it's sbcl native one 2018-02-01T05:40:07Z borei: so my library is not portable 2018-02-01T05:44:02Z damke joined #lisp 2018-02-01T05:46:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-01T05:46:44Z michalisko joined #lisp 2018-02-01T05:47:04Z beach: Do you use any thread features that are not available in Bordeaux-threads? 2018-02-01T05:48:45Z borei: can't say, currently i have only threads it self, mutexes and queues 2018-02-01T05:49:08Z borei: apperantly it will be covered by Bordeaux library 2018-02-01T05:51:31Z stylewarning: borei: feel free to contribute to MAGICL! 2018-02-01T05:51:46Z rme: Speaking of Bordeaux, I'm going to be there for about 10 days starting Feb. 23rd. 2018-02-01T05:52:15Z jack_rabbit: I've noticed in some .asd files that keywords are prefixed with '#'. What is the difference between e.g. :foo and #:foo? 2018-02-01T05:53:24Z sjl joined #lisp 2018-02-01T05:54:09Z borei: stylewarning: i still consider myself entry lisp level 2018-02-01T05:54:58Z borei: have some progress, but still don't have answers for some basic questions 2018-02-01T05:55:13Z borei: just taking the facts as-is 2018-02-01T05:57:14Z jackdaniel: jack_rabbit: :foo is a keyword 2018-02-01T05:57:22Z jackdaniel: #:foo is an uninterned symbol 2018-02-01T05:57:37Z jackdaniel: if you use :foo in asd definition, you "pollute" keyword package with foo 2018-02-01T05:57:53Z sjl quit (Ping timeout: 248 seconds) 2018-02-01T05:57:55Z jackdaniel: if you use foo in asd definition, you "pollute" asdf-user package (or whichever package you are in) 2018-02-01T05:58:02Z jack_rabbit: I see. So it's just to avoid interning the symbols, since they're only needed for loading. 2018-02-01T05:58:03Z jackdaniel: using #:foo doesn't intern symbol in any package 2018-02-01T05:58:41Z jack_rabbit: but is (eq #:foo #:foo) ? 2018-02-01T05:58:51Z jackdaniel: yes, especially that they are used only for their names. afair asdf coerces them to downcase strings anyway 2018-02-01T05:59:02Z jackdaniel: it is not eq 2018-02-01T05:59:09Z jack_rabbit: okay, I figured. 2018-02-01T05:59:16Z jackdaniel: but that doesn't matter for asdf which operates on strings 2018-02-01T05:59:21Z jack_rabbit: that makes sense. 2018-02-01T06:00:15Z shka: borei: because thread pool, that's why 2018-02-01T06:01:50Z red-dot joined #lisp 2018-02-01T06:02:18Z fikka quit (Ping timeout: 240 seconds) 2018-02-01T06:02:35Z nox2 joined #lisp 2018-02-01T06:04:05Z igemnace quit (Quit: WeeChat 2.0.1) 2018-02-01T06:04:16Z oleo quit (Remote host closed the connection) 2018-02-01T06:05:07Z Oladon quit (Quit: Leaving.) 2018-02-01T06:13:53Z smasta quit (Ping timeout: 248 seconds) 2018-02-01T06:13:56Z beach: jack_rabbit: It is not only a matter of avoiding the "pollution" of the keyword package. It is also a message to the person reading your code, that the package of the symbol does not matter. If you use a keyword, then the person reading your code can't immediately know whether the package is important or not. 2018-02-01T06:18:05Z jack_rabbit: beach, aren't keywords package-independent? Or rather, they are all interned into the keyword package? When would the package be important when using a normal keyword? 2018-02-01T06:18:18Z Fare joined #lisp 2018-02-01T06:18:30Z jack_rabbit: Or are you contrasting with non-keyword symbols? 2018-02-01T06:20:06Z jackdaniel: jack_rabbit: it may be important for instance in eq comparison (which you have mentioned) 2018-02-01T06:20:43Z jackdaniel: or take example, which is untrue for asdf: systems are represented by symbols (not strings) - in such scenario you could specialize methods via eql 2018-02-01T06:20:50Z jackdaniel: that is an example, where "symbol" matters 2018-02-01T06:20:56Z beach: jack_rabbit: A keyword is by definition a symbol that has the KEYWORD package as its package. 2018-02-01T06:21:31Z jack_rabbit: beach, right. 2018-02-01T06:22:16Z jack_rabbit: jackdaniel, so I would use non-interned symbols when I don't care that they are eq. 2018-02-01T06:22:26Z Karl_Dscc joined #lisp 2018-02-01T06:22:35Z beach: jack_rabbit: There are a number of situations where the package of a symbol is important. For example, if you do (find ... :test ...) you can't do (find ... #:test ...) and expect the same result. 2018-02-01T06:22:52Z jack_rabbit: beach, of course. 2018-02-01T06:23:26Z beach: jack_rabbit: No, you would use uninterned symbols when you want the person reading your code to know that the package of the symbol doesn't matter. 2018-02-01T06:23:32Z jackdaniel: jack_rabbit: that's not exactly what I meant. If systems were represented by symbols, you wouldn't want to use uninterned symbols at all, you'd want to use interned ones instead (all the time). but this is only hyphotetical situation 2018-02-01T06:24:42Z jack_rabbit: jackdaniel, Yes, I get that. But that is due to the fact that you'd want to be able to compare the symbols and determine that they are eq or not, right? 2018-02-01T06:25:50Z jack_rabbit: beach, Sorry, maybe I'm being dense. I don't get the association with package. Can you give an example of when the package does not matter? 2018-02-01T06:25:54Z beach: jack_rabbit: EQ comparison is one possibility, but I can see situations where nobody cares about EQ, but the package is still important. 2018-02-01T06:26:14Z stylewarning: Package doesn’t matter when symbols are used as string designators 2018-02-01T06:26:15Z jackdaniel: not only that – imagine hypothetical function find-system. you don't care how it is compared, but if it is implemented to work on symbols then you wouldn't be able to look for a system denoted by a specific symbol 2018-02-01T06:26:24Z stylewarning: For example, the symbols in LOOP 2018-02-01T06:26:55Z jackdaniel: stylewarning: asdf is another example - it works on downcased designators 2018-02-01T06:27:00Z rme: people often use uninterned symbols (and keywords) as string designators. Instead of writing "FOO", they write :foo or #:foo 2018-02-01T06:27:02Z beach: jack_rabbit: One such example is in the name of the symbols exported in a DEFPACKAGE form. These names are used only as string designators. 2018-02-01T06:28:16Z jack_rabbit: beach, So with keywords, you say that the package is still important because the fact that they are all in keyword package has consequences? 2018-02-01T06:28:38Z phoe: jack_rabbit: again, depends on the context 2018-02-01T06:28:47Z phoe: if the symbols are used as string designators, the package does not matter 2018-02-01T06:29:00Z phoe: if the symbols are used as symbols, the package most likely will matter. 2018-02-01T06:29:08Z jack_rabbit: Because to me, it seems that keywords are a way to use symbols without regard to a particular package (except implicit keyword package I guess.) 2018-02-01T06:29:38Z phoe: keywords are a way to use keywords, not all symbols. 2018-02-01T06:29:40Z jack_rabbit: OK. So the only time non-interned symbols are useful is if they are used as string designators? 2018-02-01T06:30:01Z jack_rabbit: phoe, yes, that is what I meant. 2018-02-01T06:30:02Z phoe: not really, also as gensyms and they also have a few more discrete use cases 2018-02-01T06:30:05Z stylewarning: jack_rabbit: they are also useful when you wish to produce symbols for bindings 2018-02-01T06:30:20Z beach: jack_rabbit: I am not saying that the package IS important for ALL uses of keywords. We already had an example of that, e.g. when you use a keyword as a string designator. I am saying that the person reading your code MUST ASSUME (until proven wrong) that the package of a symbol is important, unless it is an uninterned symbol. 2018-02-01T06:30:22Z jack_rabbit: mmmmm I didn't think of that. 2018-02-01T06:30:37Z phoe: (let ((gensym '#:foo)) ...) - though this is mostly abstracted away via #'GENSYM and ALEXANDRIA:WITH-GENSYMS. 2018-02-01T06:31:12Z jack_rabbit: beach, sure. I think I get it. 2018-02-01T06:31:14Z phoe: and what beach said - using an interned symbol implies that the package *may* be important in that context. 2018-02-01T06:31:43Z phoe: doesn't have to be, like LOOP discards package information for its loop keywords, but in general, you can't rule out the possibility. 2018-02-01T06:31:50Z jack_rabbit: Could I also do (let ((#:foo "hello")) (write-string #:foo)) ? 2018-02-01T06:31:57Z phoe: jack_rabbit: nope. 2018-02-01T06:32:01Z beach: Exactly. So you put an additional burden on the person reading your code by being less specific than you could be. 2018-02-01T06:32:01Z jack_rabbit: why not? 2018-02-01T06:32:04Z phoe: the two #:foo symbols are different. 2018-02-01T06:32:11Z phoe: they are read as two different symbols. 2018-02-01T06:32:28Z phoe: (let ((#1=#:foo "hello)) (write-string #1#)) 2018-02-01T06:32:35Z jack_rabbit: phoe, mmm. Why does the gensym work, then? 2018-02-01T06:32:42Z mishoo joined #lisp 2018-02-01T06:32:51Z beach: jack_rabbit: Why does it work? 2018-02-01T06:32:55Z phoe: jack_rabbit: because you generate the symbol once and put the same generated symbol in all the places. 2018-02-01T06:32:57Z beach: That's a strange question. 2018-02-01T06:33:16Z jack_rabbit: phoe, ahhhhhh. 2018-02-01T06:33:20Z phoe: just because (let ((foo 42)) (frob foo)) works. 2018-02-01T06:33:30Z phoe: (let ((#1=foo 42)) (frob #1#)) 2018-02-01T06:33:33Z phoe: (let ((#1=bar 42)) (frob #1#)) 2018-02-01T06:33:41Z phoe: (let ((#1=#:baz 42)) (frob #1#)) 2018-02-01T06:33:51Z phoe: (let ((#1=#.(gensym) 42)) (frob #1#)) 2018-02-01T06:34:11Z jack_rabbit: phoe, yes. Because something is bound to the instance of the symbol, I can reference the same symbol in multiple places through the binding. 2018-02-01T06:34:16Z beach: phoe: Nice explanations and examples! 2018-02-01T06:34:18Z fikka joined #lisp 2018-02-01T06:34:20Z jack_rabbit: Even though it isn't interned. 2018-02-01T06:34:30Z phoe: jack_rabbit: LET doesn't care about internedness. 2018-02-01T06:34:49Z phoe: LET only wants symbols that already aren't constant variables so it can bind lexivars to them. 2018-02-01T06:34:49Z jack_rabbit: phoe, sure, I don't mean to suggest that. 2018-02-01T06:35:05Z phoe: which is why you can't bind T, NIL, PI or keywords. 2018-02-01T06:35:17Z phoe: beach: thanks. (: 2018-02-01T06:35:42Z jack_rabbit: I just mean, I understand that the reader reads each instance of #:foo as a different symbol, but with the gensym, I'm binding a particular instance and reusing that, which is why it works, right? 2018-02-01T06:35:56Z phoe: Yes, exactly. 2018-02-01T06:35:59Z jack_rabbit: great. 2018-02-01T06:36:04Z phoe: (eq #:foo #:foo) ;=> NIL 2018-02-01T06:36:08Z jack_rabbit: yes. 2018-02-01T06:36:10Z phoe: because you have two different instances. 2018-02-01T06:36:32Z jack_rabbit: I don't understand the #1=... syntax. I need to read about that. 2018-02-01T06:36:42Z beach: clhs #= 2018-02-01T06:36:42Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/02_dho.htm 2018-02-01T06:36:48Z jack_rabbit: beach, thanks. 2018-02-01T06:36:53Z phoe: jack_rabbit: it's a reader macro. What it does, is. 2018-02-01T06:37:08Z phoe: #1=foo - this reads and "memorizes" the object represented by FOO. 2018-02-01T06:37:19Z phoe: #1# - this puts another reference to FOO in the place where this is read. 2018-02-01T06:37:40Z flip214: is there some machine-readable version of ROOM? One that returns an alist or plist or so? 2018-02-01T06:37:43Z smasta joined #lisp 2018-02-01T06:38:01Z phoe: So (list #1=(make-hash-table) #1# #1# #1#) will give you a list of four elements. All of these elements will be EQ to each other, meaning they're the same object. 2018-02-01T06:38:45Z z3t0 joined #lisp 2018-02-01T06:38:47Z jack_rabbit: phoe, I see. It's a short-hand binding to an integer #n#? 2018-02-01T06:39:05Z phoe: jack_rabbit: not really. The integer is used as a reference number internally in the reader. 2018-02-01T06:39:41Z phoe: So (list #1=(make-hash-table) #2=(make-random-state) #3=(make-array 10) #1# #2# #3#) works. 2018-02-01T06:40:14Z jack_rabbit: Yeah, that works for my understanding. Maybe I'm not expressing it correctly. 2018-02-01T06:40:18Z phoe: flip214: definitely not a standard thing. ROOM prints to standard-output, and it's implementation-dependent so it may print nothing in the most degenerate case. 2018-02-01T06:40:36Z jack_rabbit: I guess it's not a binding because it happens only in the reader? 2018-02-01T06:40:47Z phoe: jack_rabbit: you may think of it as a read-time binding. 2018-02-01T06:40:55Z jack_rabbit: right, good. 2018-02-01T06:40:59Z jack_rabbit: That makes sense. 2018-02-01T06:40:59Z phoe: But once the read time is over, that binding is discarded. 2018-02-01T06:41:09Z jack_rabbit: Yes, perfect. 2018-02-01T06:41:10Z phoe: It is not used anymore. 2018-02-01T06:41:25Z jack_rabbit: What is the lexical scope of the bindings? 2018-02-01T06:41:33Z phoe: The currently read form. 2018-02-01T06:41:40Z jack_rabbit: makes sense. 2018-02-01T06:42:00Z phoe: '(1 (2 (3 (4 #1#=foo))) #1#) will work. 2018-02-01T06:42:09Z flip214: phoe: yeah, that's why I'm asking. so no TRIVIAL-ROOM or similar library yet, right? Thanks anyway! 2018-02-01T06:42:18Z jack_rabbit: phoe, oh. hmmm. 2018-02-01T06:42:22Z phoe: flip214: none that I know of, but my knowledge is limited in scope. 2018-02-01T06:42:27Z smasta quit (Ping timeout: 240 seconds) 2018-02-01T06:42:35Z jack_rabbit: phoe, So it's the scope of the top-level form? 2018-02-01T06:42:40Z phoe: jack_rabbit: again, the reader doesn't really care about the scope. 2018-02-01T06:42:50Z phoe: all it cares for is, "am I still reading, or do I return?". 2018-02-01T06:43:05Z phoe: and that, in turn, implies the scope of the top-level form, just as you have said. 2018-02-01T06:43:13Z jack_rabbit: great. 2018-02-01T06:43:23Z jack_rabbit: So it is valid until the outer-most form is finished being read. 2018-02-01T06:43:31Z phoe: The above is also why setting RECURSIVEP in calls to READ is important. 2018-02-01T06:43:33Z z3t0 quit (Ping timeout: 264 seconds) 2018-02-01T06:44:04Z jack_rabbit: phoe, I need to read on that. I've seen it many times and wondered about it. 2018-02-01T06:44:05Z phoe: Because the RECURSIVEP setting preserves the #1# bindings if set. If it is not set, they are started from scratch. 2018-02-01T06:44:21Z phoe: RECURSIVEP has other uses, but in this context, it's the most important. 2018-02-01T06:44:30Z phoe: s/uses/implications/ 2018-02-01T06:44:51Z jack_rabbit: So RECURSIVEP (in this context) if nil, resets the bindings. 2018-02-01T06:45:00Z jack_rabbit: Then the bindings are global? 2018-02-01T06:45:07Z phoe: Define "global". 2018-02-01T06:45:21Z phoe: They are per invocation of non-recursive READ. 2018-02-01T06:45:37Z phoe: An example of non-recursive read is REPL reading the toplevel. 2018-02-01T06:45:53Z phoe: All other READs issued by that non-recursive READ *must* be recursive. 2018-02-01T06:46:03Z jack_rabbit: OK. So when a non-recursive read returns, they are lost. 2018-02-01T06:46:11Z phoe: Yes. 2018-02-01T06:46:16Z jack_rabbit: cool. 2018-02-01T06:46:17Z makomo joined #lisp 2018-02-01T06:46:39Z jack_rabbit: That makes more sense than what I assumed, which is that they were preserved between read calls. 2018-02-01T06:46:39Z smasta joined #lisp 2018-02-01T06:46:42Z phoe: You can think that a toplevel READ does something like (let ((*sharpsign-sharpsign-bindings* (make-hash-table))) ...) 2018-02-01T06:46:48Z fikka quit (Ping timeout: 240 seconds) 2018-02-01T06:46:54Z phoe: and the non-toplevel READ does *not* do it. 2018-02-01T06:46:58Z jack_rabbit: phoe, Yes, that is what I am thinking now. 2018-02-01T06:47:10Z jack_rabbit: (how I'm modelling it in my head, anyway.) 2018-02-01T06:47:19Z phoe: It merely uses the dynavar value from previous READ calls. 2018-02-01T06:47:26Z jack_rabbit: yes. 2018-02-01T06:49:24Z jack_rabbit: It must also check if it's actually bound, too, yes? Or can I not set RECURSIVEP to t if I'm not already in a call to read? 2018-02-01T06:49:44Z phoe: jack_rabbit: I just used it as an example. 2018-02-01T06:50:03Z phoe: But if you already are in a READ call, you must set RECURSIVEP. 2018-02-01T06:50:07Z jack_rabbit: phoe, sure. I'm curious about the behaviour anyway. 2018-02-01T06:50:12Z phoe: What READ does internally is implementation-dependent. 2018-02-01T06:50:17Z jack_rabbit: surely. 2018-02-01T06:50:36Z jack_rabbit: Can I set RECURSIVEP if I'm *NOT* already in a read call, though? 2018-02-01T06:50:48Z phoe: clhs read 2018-02-01T06:50:48Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_rd_rd.htm 2018-02-01T06:51:12Z beach: jack_rabbit: No, RECURSIVE-P is a lexical argument to READ, so it is not accessible to you. 2018-02-01T06:51:18Z jack_rabbit: So it says it's expected. 2018-02-01T06:51:33Z phoe: "If recursive-p is true, the call to read is expected to be made from within some function that itself has been called from read or from a similar input function, rather than from the top level. " 2018-02-01T06:51:35Z beach: jack_rabbit: Just like if you do (defun f (x) ...) you can't set X unless you are inside the call to F. 2018-02-01T06:51:56Z jack_rabbit: So I would assume I cannot set RECURSIVE-P if I'm not already in a call to READ. 2018-02-01T06:52:18Z phoe: I am interpreting it this way. Otherwise I think it's UB. 2018-02-01T06:52:22Z beach: jack_rabbit: But you are never "in a call to READ" unless you edit the code of the READ function 2018-02-01T06:52:43Z beach: jack_rabbit: It is a LEXICAL variable, not a special variable. 2018-02-01T06:52:58Z jack_rabbit: beach, I understand that. Maybe I am using the wrong terminology. 2018-02-01T06:53:10Z phoe: Inside symbol macro functions, for example, you're always in some toplevel READ call. 2018-02-01T06:53:29Z jack_rabbit: phoe, naturaly. 2018-02-01T06:53:36Z phoe: wait a second, symbol macro function 2018-02-01T06:53:39Z phoe: did I get the term right 2018-02-01T06:53:41Z _mjl joined #lisp 2018-02-01T06:53:48Z phoe: no, I did not - READER-macro-function. 2018-02-01T06:54:04Z beach: jack_rabbit: The only code that can assign to the variable RECURSIVE-P is the code inside the READ function, just like my F and X example. 2018-02-01T06:54:08Z jack_rabbit: phoe, Is that not true of non-reader macro functions? 2018-02-01T06:54:44Z jack_rabbit: beach, by "set RECURSIVE-P" I mean call read with argument RECURSIVE-P equal to t. 2018-02-01T06:54:47Z beach: jack_rabbit: Unless you call READ, you are not in some top-level call to READ. 2018-02-01T06:54:59Z beach: jack_rabbit: That is VERY DIFFERENT. 2018-02-01T06:55:08Z phoe: jack_rabbit: normal macro functions do not have to be called inside READ. 2018-02-01T06:55:15Z fikka joined #lisp 2018-02-01T06:55:17Z jack_rabbit: beach, I understand that, but I did not introduce that terminology. 2018-02-01T06:55:31Z jack_rabbit: beach, That appeared to be shorthand for what we were talking about. 2018-02-01T06:55:33Z beach: jack_rabbit: You can always pass whatever value you want for RECURSIVE-P to your call to READ. 2018-02-01T06:55:35Z phoe: you can all MACROEXPAND, for example, which does not require #'READ to be on the stack anywhere. 2018-02-01T06:55:55Z jack_rabbit: phoe, ahh, yes. 2018-02-01T06:56:22Z phoe: and reader macro functions are used exclusively in the reader, AFAIK. 2018-02-01T06:56:42Z jack_rabbit: You *could* call them manually outside the reader? 2018-02-01T06:56:43Z phoe: Is it even legal to funcall reader macro functions via user code? 2018-02-01T06:56:50Z phoe: That's exactly my question. 2018-02-01T06:56:52Z beach: I think it is. 2018-02-01T06:57:04Z beach: Good question though. 2018-02-01T06:57:10Z beach: The result may not be what you expect. 2018-02-01T06:57:17Z phoe: This would imply that recursive READs are allowed at the toplevel. 2018-02-01T06:57:53Z beach: Like I said, nothing prevents you from calling READ yourself with RECURSIVE-P equal to a true value. 2018-02-01T06:58:02Z phoe: Because this means that you can funcall a (get-macro-character #'() for example. 2018-02-01T06:58:35Z jack_rabbit: hmmmm 2018-02-01T06:58:35Z phoe: Which may contain a recursive READ-DELIMITED-STRING call. 2018-02-01T06:58:53Z phoe: And there would be no toplevel READ in that call. 2018-02-01T06:58:58Z phoe: Heh, funny. 2018-02-01T06:59:49Z beach: Ah, hold on... 2018-02-01T06:59:52Z phoe: ! 2018-02-01T07:00:02Z beach: "If recursive-p is true, the call to read is expected to be made from within some function that itself has been called from read or from a similar input function, rather than from the top level. " 2018-02-01T07:00:13Z phoe: Yep, that is what I quoted before. 2018-02-01T07:00:18Z beach: Oh, sorry. 2018-02-01T07:00:20Z beach: Missed it. 2018-02-01T07:00:40Z phoe: Therefore it might be UB if there is no non-recursive READ on the stack but you call a recursive READ. 2018-02-01T07:00:54Z beach: So I take that to mean "the consequences are undefined if READ is called with RECURSIVE-P being true at the top level". 2018-02-01T07:00:59Z phoe: Because if that expectation is missed--- yes. 2018-02-01T07:01:16Z z3t0 joined #lisp 2018-02-01T07:01:18Z phoe: That's what I can bet my $5 on. 2018-02-01T07:01:34Z beach: Could use a note in CLUS. :) 2018-02-01T07:02:12Z phoe: https://github.com/phoe/clus-data/issues/38 2018-02-01T07:02:25Z beach: Perfect! 2018-02-01T07:02:26Z phoe: Will do*. 2018-02-01T07:02:31Z phoe: *eventually 2018-02-01T07:02:55Z jack_rabbit: nice. 2018-02-01T07:03:40Z yggdrasil_core joined #lisp 2018-02-01T07:04:29Z fikka quit (Ping timeout: 276 seconds) 2018-02-01T07:04:45Z beach: jack_rabbit: Passing a value as an argument to a function ESTABLISHES A BINDING for the corresponding parameter. Establishing a binding for a variable is a very different process from that of SETTING the value of a variable. 2018-02-01T07:04:46Z phoe: aaaaaah, lispin' in the morning~ 2018-02-01T07:05:36Z jack_rabbit: beach, I am not confused about that. Again, I interpreted phoe's statements as a convenient shorthand for what we were talking about. 2018-02-01T07:05:36Z phoe: beach: what about the people who are against the establishment? 2018-02-01T07:05:42Z z3t0 quit (Ping timeout: 252 seconds) 2018-02-01T07:05:47Z yggdrasil_core: so, has anyone here gotten renderdoc to work with a common lisp program using cl-opengl in sbcl? 2018-02-01T07:05:56Z phoe goes to #lispcafe with that 2018-02-01T07:06:04Z beach: Good plan. 2018-02-01T07:06:07Z safe quit (Read error: Connection reset by peer) 2018-02-01T07:06:46Z fikka joined #lisp 2018-02-01T07:07:17Z jack_rabbit: beach, phoe> But if you already are in a READ call, you must set RECURSIVEP 2018-02-01T07:07:42Z yggdrasil_core: I figure it's a streatch but I can't get the two to work together and it is making debugging my texture loading hard 2018-02-01T07:07:43Z jack_rabbit: I knew what phoe meant. 2018-02-01T07:08:17Z phoe: yggdrasil_core: just a random thought, people over at #lispgames might have more experience with OpenGL in CL 2018-02-01T07:08:52Z yggdrasil_core: yeah I asked in there last night :< 2018-02-01T07:09:01Z phoe: :( I see. 2018-02-01T07:09:09Z yggdrasil_core: no one said anything so maybe I'll ask again at some point :p 2018-02-01T07:09:26Z phoe: Yep, do it, and perhaps post more concrete errors. 2018-02-01T07:09:48Z yggdrasil_core: it doesn't give me any errors, it just doesn't do anything 2018-02-01T07:09:51Z phoe: It's hard to figure out general cases like getting X to work on Y, and easier to figure out why error X happens with stacktrace Y. 2018-02-01T07:09:54Z phoe: ...ouch. 2018-02-01T07:10:02Z phoe: Does it hang, or something? 2018-02-01T07:10:15Z phoe: If yes, you could interrupt it and *then* get a stacktrace. 2018-02-01T07:10:50Z yggdrasil_core: when I set it up to run the binary it just either doesn't open it, or it immediately closes, when I inject into the process it just doesn't capture anything 2018-02-01T07:11:09Z phoe: Is it a separate program and not a Lisp-invokable library? 2018-02-01T07:11:21Z yggdrasil_core: I have tested it on some binaries produced from c code and those worked 2018-02-01T07:11:58Z yggdrasil_core: it's a binary that I am producing with sbcl 2018-02-01T07:12:23Z Karl_Dscc quit (Remote host closed the connection) 2018-02-01T07:12:54Z yggdrasil_core: I use save-lisp-and-die to produce the binary, which does work just fine when ran outside of renderdoc 2018-02-01T07:13:27Z borei quit (Ping timeout: 256 seconds) 2018-02-01T07:14:33Z asarch quit (Quit: Leaving) 2018-02-01T07:14:55Z phoe: hm. 2018-02-01T07:15:01Z phoe: You might want to ask in #sbcl in that case. 2018-02-01T07:15:15Z ecraven: can you add in liberal FORMATs to see what's going on? 2018-02-01T07:15:20Z ecraven: printf-debugging ;) 2018-02-01T07:15:36Z phoe: ^ 2018-02-01T07:15:46Z yggdrasil_core: I can't since the problem is on the gpu side 2018-02-01T07:16:02Z ecraven: do you check for opengl errors at every possible place? 2018-02-01T07:16:08Z yggdrasil_core: unless you mean to see how far it is getting when renderdoc starts it (if it is actually starting it) 2018-02-01T07:16:25Z phoe: I'd check that first, yes 2018-02-01T07:16:58Z z3t0 joined #lisp 2018-02-01T07:17:01Z yggdrasil_core: I'm not, but thats because in this particular case I don't think there is an error happening :p 2018-02-01T07:17:01Z ecraven: well, when in doubt, start from the beginning and see how far it gets 2018-02-01T07:17:16Z ecraven: as in profiling, what we think is sometimes not what actually happens ;) 2018-02-01T07:17:58Z yggdrasil_core: I'm submitting texture data and having problems with it being loaded right, because I am not sure what pngload is giving me ._. 2018-02-01T07:18:14Z ecraven: dump whatever pngload gives you, look at that? 2018-02-01T07:18:31Z ecraven: if it's just rgba, you should be able to open it with some graphics program 2018-02-01T07:19:51Z yggdrasil_core: I'll screw around some more and see if I can find something out 2018-02-01T07:20:13Z yggdrasil_core: thanks for the help 2018-02-01T07:21:05Z smasta quit (Ping timeout: 248 seconds) 2018-02-01T07:21:10Z z3t0 quit (Ping timeout: 240 seconds) 2018-02-01T07:23:42Z makomo: anyone see what's going on in #clnoobs? :-D 2018-02-01T07:24:27Z dessm quit (Remote host closed the connection) 2018-02-01T07:25:57Z phoe: not anymore 2018-02-01T07:26:01Z beach: Can you summarize? 2018-02-01T07:26:14Z phoe: spambot. 2018-02-01T07:26:19Z beach: Oh. 2018-02-01T07:27:13Z makomo: yup, it's been dealt with 2018-02-01T07:27:34Z phoe: it seems all of freenode is under siege. 2018-02-01T07:27:54Z yggdrasil_core: was it the one that posts a bunch of square characters and then highlights everyone in the channel? 2018-02-01T07:28:07Z makomo: yggdrasil_core: yes :-) 2018-02-01T07:28:09Z phoe: yessss. 2018-02-01T07:28:11Z phoe: again. 2018-02-01T07:28:18Z yggdrasil_core: It's been hitting a lot of channels then :v 2018-02-01T07:28:24Z shka: there is awful lot of spam lately 2018-02-01T07:28:33Z mishoo quit (Ping timeout: 248 seconds) 2018-02-01T07:31:37Z markong joined #lisp 2018-02-01T07:34:00Z scymtym quit (Ping timeout: 260 seconds) 2018-02-01T07:35:00Z pillton quit (Remote host closed the connection) 2018-02-01T07:35:25Z jack_rabbit: I've seen a few channels that are voicing regular users. 2018-02-01T07:35:38Z jack_rabbit: to confront the pop-ins 2018-02-01T07:36:34Z vlatkoB joined #lisp 2018-02-01T07:37:31Z smasta joined #lisp 2018-02-01T07:37:45Z SAL9000_ quit (Ping timeout: 246 seconds) 2018-02-01T07:38:41Z randomstrangerb quit (Ping timeout: 248 seconds) 2018-02-01T07:39:22Z SAL9000 joined #lisp 2018-02-01T07:39:54Z randomstrangerb joined #lisp 2018-02-01T07:41:20Z z3t0 joined #lisp 2018-02-01T07:45:29Z House2 joined #lisp 2018-02-01T07:45:35Z z3t0 quit (Ping timeout: 248 seconds) 2018-02-01T07:45:41Z SAL9000_ joined #lisp 2018-02-01T07:46:03Z House2: (#\a #\b #\c) - howto convert to "abc"? 2018-02-01T07:46:10Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-01T07:47:10Z SAL9000 quit (Ping timeout: 268 seconds) 2018-02-01T07:47:13Z jack_rabbit: House2, coerce 2018-02-01T07:47:40Z jack_rabbit: (coerce '(#\a #\b #\c) 'string) 2018-02-01T07:47:52Z mishoo joined #lisp 2018-02-01T07:48:05Z Fare: (map 'string 'identity '(#\a #\b #\c)) 2018-02-01T07:48:21Z Fare: (uiop:strcat #\a #\b #\c) 2018-02-01T07:49:02Z House2 quit (Client Quit) 2018-02-01T07:51:10Z nox2 quit (Ping timeout: 256 seconds) 2018-02-01T07:52:48Z ym quit (Ping timeout: 240 seconds) 2018-02-01T07:55:56Z shka quit (Ping timeout: 252 seconds) 2018-02-01T07:56:15Z z3t0 joined #lisp 2018-02-01T07:57:27Z makomo: phoe: did you see that #freenode got flooded too? 2018-02-01T07:57:43Z makomo: bots randomly popping in, dropping a line and quitting 2018-02-01T07:57:43Z nox2 joined #lisp 2018-02-01T07:59:27Z DeadTrickster_ joined #lisp 2018-02-01T08:00:30Z z3t0 quit (Ping timeout: 246 seconds) 2018-02-01T08:02:04Z mlf quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-01T08:03:04Z DeadTrickster__ quit (Ping timeout: 256 seconds) 2018-02-01T08:04:20Z aindilis quit (Ping timeout: 260 seconds) 2018-02-01T08:05:22Z aindilis` joined #lisp 2018-02-01T08:06:11Z Cymew joined #lisp 2018-02-01T08:10:45Z chiyosaki joined #lisp 2018-02-01T08:11:18Z saki quit (Ping timeout: 240 seconds) 2018-02-01T08:14:57Z drewc quit (Ping timeout: 248 seconds) 2018-02-01T08:22:19Z z3t0 joined #lisp 2018-02-01T08:24:46Z asdfjkla joined #lisp 2018-02-01T08:25:11Z asdfjkla: advice? https://pastebin.com/ihN5YaAq 2018-02-01T08:26:47Z jackdaniel: first advice: state the program goal in question or in comments in snippet, I don't know what kind of advice do you expect 2018-02-01T08:26:56Z jackdaniel: second advice: don't use setq for defining variables (use defvar) 2018-02-01T08:27:07Z z3t0 quit (Ping timeout: 256 seconds) 2018-02-01T08:27:08Z jackdaniel: third advice: global variables should be surrounded in earmuffs 2018-02-01T08:27:31Z jackdaniel: fourth advice: don't put main program in toplevel, define function for it (and eventually call it toplevel) 2018-02-01T08:27:53Z phoe: nth advice: grab yourself a PCL at http://www.gigamonkeys.com/book/ 2018-02-01T08:27:59Z jackdaniel: probably much more advices 2018-02-01T08:29:02Z sjl joined #lisp 2018-02-01T08:30:16Z asdfjkla: jackdaniel: ty would you use macros or rearrange code another way? 2018-02-01T08:30:59Z scymtym joined #lisp 2018-02-01T08:31:18Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2018-02-01T08:31:48Z fikka quit (Ping timeout: 240 seconds) 2018-02-01T08:32:15Z sjl__ joined #lisp 2018-02-01T08:34:05Z sjl quit (Ping timeout: 265 seconds) 2018-02-01T08:35:30Z jackdaniel: what do you need macros for? 2018-02-01T08:35:55Z jackdaniel: regarding arrangement, I've mentioned: factor main program into function 2018-02-01T08:36:05Z jackdaniel: preferably global variables should be function arguments instead 2018-02-01T08:36:41Z jackdaniel: if you don't need macros don't use them (this is a rule of a thumb, when you known what you are doing you may bend this rule of course) 2018-02-01T08:37:00Z jackdaniel: minion: tell asdfjkla about pcl 2018-02-01T08:37:01Z minion: asdfjkla: have a look at pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 2018-02-01T08:39:05Z z3t0 joined #lisp 2018-02-01T08:39:10Z ft quit (Ping timeout: 240 seconds) 2018-02-01T08:39:31Z asdfjkla: ty 2018-02-01T08:40:45Z asdfjkla: using defvar instead creates infinite loop 2018-02-01T08:41:11Z phoe: asdfjkla: show us how you use it 2018-02-01T08:41:29Z asdfjkla: phoe: just did s/setq/defvar 2018-02-01T08:42:06Z fikka joined #lisp 2018-02-01T08:42:06Z deng_cn quit (Read error: Connection reset by peer) 2018-02-01T08:43:39Z phoe: asdfjkla: still don't see how it would infinite-loop anything. 2018-02-01T08:43:45Z z3t0 quit (Ping timeout: 265 seconds) 2018-02-01T08:44:03Z phoe: https://pastebin.com/ihN5YaAq lines 14 to 16 replace SETQ with DEFVAR. 2018-02-01T08:44:03Z jackdaniel: asdfjkla: start with making these variables arguments for your function, not globals 2018-02-01T08:44:17Z deng_cn joined #lisp 2018-02-01T08:44:41Z asdfjkla: ok 2018-02-01T08:48:43Z z3t0 joined #lisp 2018-02-01T08:49:03Z fikka quit (Ping timeout: 248 seconds) 2018-02-01T08:51:39Z fikka joined #lisp 2018-02-01T08:52:07Z asdfjkla: better? https://pastebin.com/HEU4BNTp (ty for your patience) 2018-02-01T08:52:48Z z3t0 quit (Ping timeout: 240 seconds) 2018-02-01T08:54:24Z jackdaniel: no, try something like (defun hangman (word guesses current-word) …) 2018-02-01T08:54:40Z jackdaniel: don't use earmuffs, because they won't be global anymore 2018-02-01T08:55:31Z jackdaniel: since current-word is result of computation on word and guesses, you may have (Defun hangman (word guesses) (let ((current-word (current-matches word guesses))) …)) 2018-02-01T08:56:00Z jackdaniel: because current-word is not really an argument, it is more a helper variable 2018-02-01T08:56:11Z jackdaniel: then you'll call hangman like (hangman "apple" "") 2018-02-01T08:56:40Z asdfjkla: jackdaniel: ok thanks 2018-02-01T08:58:48Z dotcra is now known as dotc 2018-02-01T08:59:09Z tessier quit (Ping timeout: 264 seconds) 2018-02-01T08:59:31Z damke_ joined #lisp 2018-02-01T09:00:07Z jackdaniel: I've got to go, good luck ,) 2018-02-01T09:00:53Z asdfjkla: ok ty 2018-02-01T09:01:33Z damke quit (Ping timeout: 264 seconds) 2018-02-01T09:02:08Z asdfjkla: updated: https://pastebin.com/xDDSFUk9 2018-02-01T09:02:51Z asdfjkla: (I could just use current-matches word "", just noticed) 2018-02-01T09:03:17Z asdfjkla: (no forget that) 2018-02-01T09:03:26Z thijso joined #lisp 2018-02-01T09:04:18Z jackdaniel: also gusesses should be put in let (same as current-word) 2018-02-01T09:04:23Z jackdaniel: not as defvar 2018-02-01T09:04:38Z asdfjkla: ok 2018-02-01T09:05:04Z damke joined #lisp 2018-02-01T09:05:15Z fikka quit (Ping timeout: 246 seconds) 2018-02-01T09:05:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-01T09:07:48Z z3t0 joined #lisp 2018-02-01T09:08:23Z hhdave joined #lisp 2018-02-01T09:11:15Z whoman quit (Remote host closed the connection) 2018-02-01T09:11:40Z whoman joined #lisp 2018-02-01T09:12:12Z z3t0 quit (Ping timeout: 256 seconds) 2018-02-01T09:12:45Z whoman quit (Remote host closed the connection) 2018-02-01T09:13:15Z whoman joined #lisp 2018-02-01T09:17:49Z thijso quit (Ping timeout: 268 seconds) 2018-02-01T09:19:59Z fikka joined #lisp 2018-02-01T09:20:21Z asdfjkla quit (Quit: Page closed) 2018-02-01T09:27:01Z solyd joined #lisp 2018-02-01T09:27:39Z red-dot joined #lisp 2018-02-01T09:27:51Z marusich joined #lisp 2018-02-01T09:32:48Z schweers joined #lisp 2018-02-01T09:35:03Z ym joined #lisp 2018-02-01T09:39:25Z murii joined #lisp 2018-02-01T09:39:32Z paule32 quit (Ping timeout: 256 seconds) 2018-02-01T09:44:28Z murii quit (Ping timeout: 252 seconds) 2018-02-01T09:49:34Z paule32 joined #lisp 2018-02-01T10:06:57Z randomstrangerb quit (Ping timeout: 240 seconds) 2018-02-01T10:07:18Z fikka quit (Ping timeout: 240 seconds) 2018-02-01T10:08:10Z randomstrangerb joined #lisp 2018-02-01T10:09:32Z fikka joined #lisp 2018-02-01T10:11:38Z z3t0 joined #lisp 2018-02-01T10:16:05Z z3t0 quit (Ping timeout: 240 seconds) 2018-02-01T10:18:10Z z3t0 joined #lisp 2018-02-01T10:22:28Z z3t0 quit (Ping timeout: 256 seconds) 2018-02-01T10:23:03Z ryanbw joined #lisp 2018-02-01T10:26:53Z shifty quit (Ping timeout: 268 seconds) 2018-02-01T10:32:31Z deng_cn quit (Ping timeout: 248 seconds) 2018-02-01T10:34:58Z nirved joined #lisp 2018-02-01T10:35:06Z beach: I started working on rules for indenting Common Lisp code. Here is a first version of what I came up with: http://metamodular.com/indentation.pdf 2018-02-01T10:35:09Z beach: Comments are welcome. 2018-02-01T10:37:23Z jmercouris joined #lisp 2018-02-01T10:38:27Z z3t0 joined #lisp 2018-02-01T10:38:33Z flip214: beach: looks good. 2018-02-01T10:38:56Z flip214: beach: what about multi-line strings? 2018-02-01T10:39:20Z flip214: and other special constructs, eg. CL-INTERPOLs #?rx( reg-ex ) ? 2018-02-01T10:40:06Z flip214: beach: how should comments be indented? 2018-02-01T10:40:11Z beach: For a multi-line string, the beginning of the string would be indented as usual, and the rest of it, just left alone. 2018-02-01T10:40:27Z phoe: what about keyword args? (foo bar :baz 1 \n :quux 2) 2018-02-01T10:40:36Z flip214: that means the second and other lines have to be indented manually? 2018-02-01T10:40:36Z beach: Comments are part of the parse result, so in the case of ;; they are indented with the code. 2018-02-01T10:40:43Z phoe: emacs currently indents :baz and :quux together 2018-02-01T10:40:50Z flip214: phoe: right, and how about pairs like in SETF? 2018-02-01T10:40:55Z attila_lendvai joined #lisp 2018-02-01T10:41:00Z flip214: I might like 2018-02-01T10:41:04Z beach: flip214: Sure, because indentation would be part of the string in that case. 2018-02-01T10:41:49Z beach: phoe: I think it is impossible to come up with a general rule. 2018-02-01T10:42:14Z sjl__ quit (Ping timeout: 276 seconds) 2018-02-01T10:42:31Z phoe: beach: slime often utilizes function lambda lists to enhance its indentation. 2018-02-01T10:42:45Z phoe: if a function accepts &key args then slime seems to figure it out and indent accordingly. 2018-02-01T10:42:54Z beach: flip214: Pairs like that are not a problem. The rules only compute the indentation of the first parse result on the line. 2018-02-01T10:43:10Z beach: phoe: That would certainly be possible. 2018-02-01T10:43:32Z z3t0 quit (Ping timeout: 276 seconds) 2018-02-01T10:43:43Z phoe: beach: I suggest that you include that. &key args are pretty important to indent properly because they tend to come aplenty at times. 2018-02-01T10:43:56Z beach: Good idea. 2018-02-01T10:44:00Z beach: I'll do that. 2018-02-01T10:44:17Z phoe: Also I suggest that you spend a little bit of time on indenting macro lambda lists, too. 2018-02-01T10:44:36Z phoe: basically - indenting all kinds of lambda lists that may come. 2018-02-01T10:44:50Z beach: Noted. 2018-02-01T10:44:55Z phoe: I think that would be a very good basis for general indentation. 2018-02-01T10:45:17Z Cymew quit (Remote host closed the connection) 2018-02-01T10:45:26Z phoe: Since most Lisp forms are function/macro/specop calls, and these have their lambda lists and lambda lists keywords. 2018-02-01T10:45:33Z phoe: You can leverage this fact to your advantage. 2018-02-01T10:45:38Z z3t0 joined #lisp 2018-02-01T10:45:59Z phoe: ...just like slime does it nowadays. 2018-02-01T10:49:58Z phoe: I'm pretty excited, actually. 2018-02-01T10:50:14Z z3t0 quit (Ping timeout: 255 seconds) 2018-02-01T10:50:45Z damke quit (Ping timeout: 264 seconds) 2018-02-01T10:50:48Z Shinmera: Don't forget a mechanism to allow customising indentation from code. 2018-02-01T10:50:51Z phoe: The moment your editor has utilities for paren matching and ability to do general indentation, then it has the two utilities required for sane Lisp writing. 2018-02-01T10:51:07Z phoe: That one, yes, something like TRIVIAL-INDENTATION does for slime nowadays. 2018-02-01T10:51:22Z Shinmera: Colleen: look up trivial-indent 2018-02-01T10:51:22Z Colleen: About trivial-indent https://shinmera.github.io/trivial-indent#about_trivial-indent 2018-02-01T10:51:39Z phoe: oh, trivial-indent, not trivial-indentation 2018-02-01T10:52:19Z damke joined #lisp 2018-02-01T10:53:19Z random-nick joined #lisp 2018-02-01T10:57:29Z flip214: beach: yeah, but I meant that if you can derive that the arguments are pairs (or, generally, N-tuples ;), 2018-02-01T10:58:04Z flip214: you could have the second part of the pair (or the later parts of the tuple) indented one level deeper 2018-02-01T10:59:03Z arquebus joined #lisp 2018-02-01T10:59:49Z kedorlaomer joined #lisp 2018-02-01T11:00:24Z damke_ joined #lisp 2018-02-01T11:02:41Z marusich quit (Quit: Leaving) 2018-02-01T11:02:45Z damke quit (Ping timeout: 264 seconds) 2018-02-01T11:04:36Z damke joined #lisp 2018-02-01T11:06:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-01T11:08:25Z sveit_ joined #lisp 2018-02-01T11:08:28Z varjagg joined #lisp 2018-02-01T11:08:42Z drmeister_ joined #lisp 2018-02-01T11:09:35Z phoe: I'd actually like that. 2018-02-01T11:10:21Z hjudt_ joined #lisp 2018-02-01T11:10:38Z isoraqathedh_ joined #lisp 2018-02-01T11:10:42Z flip214: or, if they are on the same line, it would be nice to have the non-first-tuple-parts aligned, too. 2018-02-01T11:10:48Z flip214: Like in 2018-02-01T11:10:59Z ozzloy_ joined #lisp 2018-02-01T11:11:05Z kilimanjaro_ joined #lisp 2018-02-01T11:11:11Z tobel_ joined #lisp 2018-02-01T11:11:16Z sveit quit (Ping timeout: 276 seconds) 2018-02-01T11:11:17Z drmeister quit (Ping timeout: 276 seconds) 2018-02-01T11:11:18Z kilimanjaro quit (Ping timeout: 276 seconds) 2018-02-01T11:11:19Z GGMethos quit (Ping timeout: 276 seconds) 2018-02-01T11:11:21Z hjudt quit (Ping timeout: 276 seconds) 2018-02-01T11:11:22Z akkad quit (Ping timeout: 276 seconds) 2018-02-01T11:11:22Z weltung quit (Ping timeout: 276 seconds) 2018-02-01T11:11:23Z azahi quit (Ping timeout: 276 seconds) 2018-02-01T11:11:23Z varjag quit (Ping timeout: 276 seconds) 2018-02-01T11:11:24Z tobel quit (Ping timeout: 276 seconds) 2018-02-01T11:11:24Z kajo quit (Ping timeout: 276 seconds) 2018-02-01T11:11:24Z Lord_of_Life quit (Ping timeout: 276 seconds) 2018-02-01T11:11:24Z isoraqathedh quit (Ping timeout: 276 seconds) 2018-02-01T11:11:24Z brandonz quit (Ping timeout: 276 seconds) 2018-02-01T11:11:25Z drdo quit (Ping timeout: 276 seconds) 2018-02-01T11:11:25Z ozzloy quit (Ping timeout: 276 seconds) 2018-02-01T11:11:26Z kilimanjaro_ is now known as kilimanjaro 2018-02-01T11:11:26Z drmeister_ is now known as drmeister 2018-02-01T11:11:27Z tobel_ is now known as tobel 2018-02-01T11:11:29Z flip214: (SETF foo 1 2018-02-01T11:11:29Z flip214: bar 2 2018-02-01T11:11:29Z flip214: long-arg 3) 2018-02-01T11:11:29Z theBlackDragon quit (Ping timeout: 276 seconds) 2018-02-01T11:11:30Z gko quit (Ping timeout: 276 seconds) 2018-02-01T11:11:30Z angular_mike quit (Ping timeout: 276 seconds) 2018-02-01T11:11:30Z trig-ger quit (Ping timeout: 276 seconds) 2018-02-01T11:11:38Z flip214: sorry, a tab got in the way. 2018-02-01T11:11:45Z theBlackDragon joined #lisp 2018-02-01T11:12:05Z kajo joined #lisp 2018-02-01T11:12:06Z flip214: but first part aligned, second aligned, and two spaces min to signify the separation is my favourite style 2018-02-01T11:12:16Z weltung joined #lisp 2018-02-01T11:12:28Z gko joined #lisp 2018-02-01T11:12:47Z p_l quit (Ping timeout: 276 seconds) 2018-02-01T11:12:47Z brucem quit (Ping timeout: 276 seconds) 2018-02-01T11:12:48Z drdo joined #lisp 2018-02-01T11:12:59Z flip214: actually, for LETs of more than two or three lines I indent the value as well 2018-02-01T11:13:11Z azahi joined #lisp 2018-02-01T11:13:22Z flip214: and the (FOR var = value) in ITERATE too 2018-02-01T11:13:34Z flip214: but that's a special case, I guess 2018-02-01T11:13:46Z brandonz joined #lisp 2018-02-01T11:13:48Z p_l joined #lisp 2018-02-01T11:13:53Z murii joined #lisp 2018-02-01T11:13:56Z angular_mike joined #lisp 2018-02-01T11:14:17Z GGMethos joined #lisp 2018-02-01T11:14:21Z trig-ger joined #lisp 2018-02-01T11:14:50Z brucem joined #lisp 2018-02-01T11:15:26Z Lord_of_Life joined #lisp 2018-02-01T11:16:05Z z3t0 joined #lisp 2018-02-01T11:18:44Z akkad joined #lisp 2018-02-01T11:19:16Z beach: flip214: Ah, yes, I see what you mean. Either way, may standard macros would have their own rules, so I am not worried about SETF. 2018-02-01T11:20:18Z z3t0 quit (Ping timeout: 240 seconds) 2018-02-01T11:21:18Z fikka quit (Ping timeout: 240 seconds) 2018-02-01T11:23:34Z flip214: beach: right. just mentioning that this is a fairly standard special case ;) 2018-02-01T11:23:40Z jmercouris quit (Remote host closed the connection) 2018-02-01T11:24:26Z lnostdal quit (Quit: https://quanto.ga/) 2018-02-01T11:25:44Z lnostdal joined #lisp 2018-02-01T11:26:31Z beach: Sure. 2018-02-01T11:26:37Z fikka joined #lisp 2018-02-01T11:28:41Z larme quit (Quit: WeeChat 1.9.1) 2018-02-01T11:29:34Z arquebus quit (Quit: konversation disconnects) 2018-02-01T11:30:29Z scymtym quit (Remote host closed the connection) 2018-02-01T11:30:38Z scymtym_ joined #lisp 2018-02-01T11:40:17Z terpri quit (Ping timeout: 248 seconds) 2018-02-01T11:41:07Z dddddd joined #lisp 2018-02-01T11:41:15Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2018-02-01T11:41:27Z m00natic joined #lisp 2018-02-01T11:44:09Z easye joined #lisp 2018-02-01T11:44:45Z jmercouris joined #lisp 2018-02-01T11:45:41Z jmercouris: Can someone explain to me why my top syntax is invalid? https://gist.github.com/b0a5cb982df032cf381d2795d9ff6750 2018-02-01T11:45:56Z jmercouris: Why is it an issue to have specialized arguments as the non-first arguments in a defmethod? 2018-02-01T11:46:17Z Shinmera: You have one too many parens on the second arg 2018-02-01T11:46:25Z Maerj joined #lisp 2018-02-01T11:46:28Z jmercouris: Yes, yes I do 2018-02-01T11:46:32Z jmercouris: Thank you :D 2018-02-01T11:47:28Z lnostdal quit (Quit: https://quanto.ga/) 2018-02-01T11:47:53Z lnostdal joined #lisp 2018-02-01T11:48:15Z Maerj: advice? https://pastebin.com/MkVE8EJ8 ty 2018-02-01T11:48:15Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-01T11:48:48Z jmercouris: Maerj: like feedback on how to improve the code? 2018-02-01T11:48:51Z kedorlaomer quit (Ping timeout: 256 seconds) 2018-02-01T11:49:19Z Maerj: jmercouris: yes pls, eg reorganising, style, other constructs eg macros that may help, etc, I am new to lisp 2018-02-01T11:49:40Z jmercouris: I don't see a lot of people using setq, I think normally you'd do a definition of some var as a top level form and setf it 2018-02-01T11:49:46Z jmercouris: I'm not an expert though 2018-02-01T11:50:15Z Maerj: ok 2018-02-01T11:50:49Z attila_lendvai joined #lisp 2018-02-01T11:50:49Z attila_lendvai quit (Changing host) 2018-02-01T11:50:49Z attila_lendvai joined #lisp 2018-02-01T11:50:57Z jmercouris: Line 26/27 I guess you could use some kind of newline instead of 2 write-line 2018-02-01T11:51:33Z jmercouris: since you seem to be doing that a lot, maybe a function like (write-new-line) 2018-02-01T11:51:54Z jmercouris: (defun write-new-line (text-to-write-on-new-line)) 2018-02-01T11:52:03Z flip214: Maerj: instead of string= and string/= in finish you could use COND 2018-02-01T11:52:17Z flip214: and use the return value of that in the main loop condition 2018-02-01T11:52:58Z flip214: need to pass lives in as well, of course 2018-02-01T11:53:05Z Maerj: flip214: thx 2018-02-01T11:53:34Z flip214: Maerj: or you store the string-comparison result and do 2018-02-01T11:54:07Z jmercouris: It looks pretty alright though, kind of hard to read through at first glance I thought "play" would be the main loop, then I scrolled down and it was "hangman" 2018-02-01T11:54:07Z flip214: (LOOP ... FINISH (IF player-won (FINISH-WON ...) (FINISH-LOST ...)) 2018-02-01T11:54:46Z Maerj: ok 2018-02-01T11:55:41Z fikka quit (Ping timeout: 276 seconds) 2018-02-01T11:55:42Z nullman quit (Ping timeout: 246 seconds) 2018-02-01T11:56:45Z nullman joined #lisp 2018-02-01T11:59:38Z fikka joined #lisp 2018-02-01T12:00:21Z Cymew joined #lisp 2018-02-01T12:00:23Z vyzo quit (Read error: Connection reset by peer) 2018-02-01T12:00:33Z Maerj: would you recommend macros? maybe they are only useful for longer programs.. 2018-02-01T12:01:49Z jmercouris: Generally, don't write a macro where a function will do 2018-02-01T12:02:26Z jmercouris: I would say your program is sufficiently simple where it is not really necessary 2018-02-01T12:03:18Z Maerj: ok 2018-02-01T12:03:30Z vyzo joined #lisp 2018-02-01T12:11:09Z damke quit (Ping timeout: 264 seconds) 2018-02-01T12:12:10Z quazimodo quit (Ping timeout: 240 seconds) 2018-02-01T12:14:46Z attila_lendvai: it doesn't depend on the length so much as on readability. look at macros as a thin layer of syntax sugar. i.e. you should implement most of the functionality as functions, and if the syntax of that API is cumbersome (e.g. you need to create many (lambda () ...) wrappers), *then* create a thin layer of macro(s) that smoothen out the syntax 2018-02-01T12:16:12Z Maerj: attila_lendvai: ok, thanks for the insight 2018-02-01T12:18:07Z JuanDaugherty joined #lisp 2018-02-01T12:19:43Z z3t0 joined #lisp 2018-02-01T12:23:00Z damke joined #lisp 2018-02-01T12:23:58Z z3t0 quit (Ping timeout: 252 seconds) 2018-02-01T12:24:23Z fittestbits1 joined #lisp 2018-02-01T12:24:37Z fittestbits quit (Quit: Leaving.) 2018-02-01T12:24:42Z EvW1 joined #lisp 2018-02-01T12:30:09Z quazimodo joined #lisp 2018-02-01T12:32:22Z saki joined #lisp 2018-02-01T12:32:22Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-01T12:33:08Z chiyosaki quit (Ping timeout: 252 seconds) 2018-02-01T12:33:44Z attila_lendvai joined #lisp 2018-02-01T12:38:45Z porky11 joined #lisp 2018-02-01T12:38:47Z porky11: hi 2018-02-01T12:38:47Z Maerj quit (Quit: Page closed) 2018-02-01T12:39:01Z porky11: how do I upload an image with hunchentoot? 2018-02-01T12:39:35Z Xach: porky11: https://edicl.github.io/hunchentoot/#upload 2018-02-01T12:42:03Z z3t0 joined #lisp 2018-02-01T12:42:54Z porky11: no, I that's not what I mean 2018-02-01T12:42:58Z vyzo quit (Quit: Leaving.) 2018-02-01T12:43:07Z Xach: porky11: what do you mean? 2018-02-01T12:43:08Z vyzo joined #lisp 2018-02-01T12:43:29Z porky11: I want others to download images from my server 2018-02-01T12:43:39Z porky11: or see images 2018-02-01T12:43:43Z porky11: on a website 2018-02-01T12:44:03Z Xach: Ok 2018-02-01T12:46:52Z z3t0 quit (Ping timeout: 268 seconds) 2018-02-01T12:47:06Z rumbler31 joined #lisp 2018-02-01T12:47:19Z Xach: porky11: there is more than one way. i think the easiest is with the easy-handler system. But a file response is mostly the same as any other response - you load the data from the file and send it as the response. 2018-02-01T12:47:20Z porky11: I have set something to "image" instead of "text/html" and just read the file char by char and write it into a string 2018-02-01T12:47:37Z Xach: porky11: It would be better to load it into an unsigned-byte 8 array. 2018-02-01T12:48:03Z Xach: porky11: When I was faced with a similar issue, I used a dedicated server for images (nginx) because it is more efficient. 2018-02-01T12:48:06Z porky11: but hunchentoot seems to return strings from it's handlers 2018-02-01T12:48:16Z Xach: and let lisp handle the dynamic content 2018-02-01T12:48:40Z porky11: *its 2018-02-01T12:49:43Z Xach: porky11: i believe the easy-handler code demonstrates how to serve a binary file 2018-02-01T12:49:50Z Xach: it is part of hunchentoot 2018-02-01T12:50:13Z papachan joined #lisp 2018-02-01T12:57:25Z orivej joined #lisp 2018-02-01T12:58:25Z z3t0 joined #lisp 2018-02-01T12:59:25Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-01T13:00:54Z attila_lendvai joined #lisp 2018-02-01T13:00:54Z attila_lendvai quit (Changing host) 2018-02-01T13:00:54Z attila_lendvai joined #lisp 2018-02-01T13:03:00Z z3t0 quit (Ping timeout: 260 seconds) 2018-02-01T13:03:00Z tonton quit (Ping timeout: 260 seconds) 2018-02-01T13:04:40Z Achylles joined #lisp 2018-02-01T13:05:12Z nowhereman_ joined #lisp 2018-02-01T13:07:45Z nowhere_man quit (Ping timeout: 248 seconds) 2018-02-01T13:10:03Z rumbler31 quit (Remote host closed the connection) 2018-02-01T13:14:13Z z3t0 joined #lisp 2018-02-01T13:14:39Z makomo quit (Ping timeout: 248 seconds) 2018-02-01T13:16:12Z red-dot joined #lisp 2018-02-01T13:16:13Z fluke` quit (Read error: Connection reset by peer) 2018-02-01T13:17:15Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-01T13:18:14Z attila_lendvai joined #lisp 2018-02-01T13:18:14Z attila_lendvai quit (Changing host) 2018-02-01T13:18:14Z attila_lendvai joined #lisp 2018-02-01T13:18:40Z z3t0 quit (Ping timeout: 240 seconds) 2018-02-01T13:21:27Z saki quit (Remote host closed the connection) 2018-02-01T13:21:40Z jmercouris quit (Ping timeout: 240 seconds) 2018-02-01T13:21:43Z saki joined #lisp 2018-02-01T13:23:29Z damke_ joined #lisp 2018-02-01T13:26:09Z damke quit (Ping timeout: 264 seconds) 2018-02-01T13:26:25Z tessier joined #lisp 2018-02-01T13:26:25Z tessier quit (Changing host) 2018-02-01T13:26:25Z tessier joined #lisp 2018-02-01T13:32:55Z larme joined #lisp 2018-02-01T13:33:39Z Lord_of_Life quit (Changing host) 2018-02-01T13:33:39Z Lord_of_Life joined #lisp 2018-02-01T13:33:39Z Lord_of_Life quit (Changing host) 2018-02-01T13:33:39Z Lord_of_Life joined #lisp 2018-02-01T13:35:44Z dieggsy joined #lisp 2018-02-01T13:36:48Z rumbler31 joined #lisp 2018-02-01T13:37:00Z terpri joined #lisp 2018-02-01T13:39:36Z fluke` joined #lisp 2018-02-01T13:40:05Z dieggsy quit (Ping timeout: 240 seconds) 2018-02-01T13:41:35Z python476 joined #lisp 2018-02-01T13:46:11Z EvW1 quit (Ping timeout: 276 seconds) 2018-02-01T13:48:42Z Bike joined #lisp 2018-02-01T13:52:35Z raynold quit (Quit: Connection closed for inactivity) 2018-02-01T13:54:32Z scymtym_ quit (Ping timeout: 265 seconds) 2018-02-01T13:54:41Z scymtym_ joined #lisp 2018-02-01T13:54:44Z drewc joined #lisp 2018-02-01T13:56:17Z mishoo quit (Ping timeout: 248 seconds) 2018-02-01T14:01:16Z nullman quit (Remote host closed the connection) 2018-02-01T14:01:30Z nullman joined #lisp 2018-02-01T14:08:34Z dim: depending on the project I like have a self-contained lisp image that embeds all the static resources (css, js, html, images) and serve from memory, and then for efficiency you can add nginx/varnish in front of hunchentoot 2018-02-01T14:09:21Z dim: see https://github.com/dimitri/pgcharts/blob/master/src/utils/cache.lisp for the hunchentoot implementation of serving files content from memory 2018-02-01T14:10:41Z dim: https://github.com/dimitri/pgcharts/blob/master/src/resources.lisp is the other file that you might want to have a look at 2018-02-01T14:10:53Z tessier quit (Ping timeout: 276 seconds) 2018-02-01T14:11:14Z rumbler31: +1 2018-02-01T14:11:34Z trocado joined #lisp 2018-02-01T14:12:55Z Jach[m] quit (Ping timeout: 248 seconds) 2018-02-01T14:12:56Z CharlieBrown quit (Ping timeout: 248 seconds) 2018-02-01T14:13:05Z dim: the ability to deploy a single binary file that is self-contained, even for web based projects, is still something that I really like 2018-02-01T14:13:58Z CharlieBrown joined #lisp 2018-02-01T14:14:04Z kjeldahl quit (Ping timeout: 248 seconds) 2018-02-01T14:14:09Z dddddd quit (Ping timeout: 264 seconds) 2018-02-01T14:15:17Z Jach[m] joined #lisp 2018-02-01T14:15:18Z dddddd joined #lisp 2018-02-01T14:16:06Z ecraven: that sounds really nice 2018-02-01T14:16:11Z ecraven: do you have a database that you interface with? 2018-02-01T14:16:22Z kjeldahl joined #lisp 2018-02-01T14:17:49Z dddddd quit (Excess Flood) 2018-02-01T14:17:54Z z3t0 joined #lisp 2018-02-01T14:18:18Z dddddd joined #lisp 2018-02-01T14:18:19Z dim: depends on the projects, for pgcharts yeah, but not in the way you'd think 2018-02-01T14:21:20Z Tobbi joined #lisp 2018-02-01T14:22:24Z z3t0 quit (Ping timeout: 252 seconds) 2018-02-01T14:24:35Z nox2 quit (Ping timeout: 240 seconds) 2018-02-01T14:30:20Z sz0 joined #lisp 2018-02-01T14:30:28Z brendyn quit (Ping timeout: 268 seconds) 2018-02-01T14:32:09Z randomstrangerb quit (Ping timeout: 264 seconds) 2018-02-01T14:32:15Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2018-02-01T14:33:21Z randomstrangerb joined #lisp 2018-02-01T14:33:45Z heurist` joined #lisp 2018-02-01T14:35:43Z heurist quit (Ping timeout: 248 seconds) 2018-02-01T14:36:53Z z3t0 joined #lisp 2018-02-01T14:36:54Z oleo joined #lisp 2018-02-01T14:37:04Z itruslove quit (Remote host closed the connection) 2018-02-01T14:37:05Z giraffe quit (Remote host closed the connection) 2018-02-01T14:40:32Z cuso4 joined #lisp 2018-02-01T14:41:05Z z3t0 quit (Ping timeout: 248 seconds) 2018-02-01T14:45:00Z Denommus joined #lisp 2018-02-01T14:46:10Z warweasle joined #lisp 2018-02-01T14:46:11Z didi left #lisp 2018-02-01T14:46:40Z kupad quit (Ping timeout: 240 seconds) 2018-02-01T14:49:25Z kami joined #lisp 2018-02-01T14:49:31Z kami: Hello #lisp 2018-02-01T14:49:48Z oleo: sup kami 2018-02-01T14:53:19Z z3t0 joined #lisp 2018-02-01T14:54:40Z tessier joined #lisp 2018-02-01T14:54:40Z tessier quit (Changing host) 2018-02-01T14:54:40Z tessier joined #lisp 2018-02-01T14:57:36Z z3t0 quit (Ping timeout: 252 seconds) 2018-02-01T14:57:54Z jmercouris joined #lisp 2018-02-01T14:58:02Z jmercouris: Shinmera: when evaluating trivial-indent:define-indentation, I should be able to just M-q and it will use that new indentation right? 2018-02-01T15:02:42Z FreeBirdLjj joined #lisp 2018-02-01T15:02:57Z nox2 joined #lisp 2018-02-01T15:06:03Z FreeBirdLjj quit (Client Quit) 2018-02-01T15:06:05Z kami quit (Ping timeout: 260 seconds) 2018-02-01T15:07:15Z beach should look at trivial-indentation before writing something new. 2018-02-01T15:07:56Z jmercouris quit (Remote host closed the connection) 2018-02-01T15:08:25Z jmercouris joined #lisp 2018-02-01T15:08:33Z mishoo joined #lisp 2018-02-01T15:08:36Z FreeBirdLjj joined #lisp 2018-02-01T15:12:46Z sjl__ joined #lisp 2018-02-01T15:15:10Z z3t0 joined #lisp 2018-02-01T15:17:08Z sjl__ quit (Ping timeout: 256 seconds) 2018-02-01T15:17:10Z malice joined #lisp 2018-02-01T15:18:50Z shifty joined #lisp 2018-02-01T15:19:27Z z3t0 quit (Ping timeout: 240 seconds) 2018-02-01T15:23:30Z Shinmera: jmercouris: Yes. Check if (trivial-indent:initialize-slime) returns T. 2018-02-01T15:23:55Z Shinmera: jmercouris: Also check if slime notes something in the minibuffer when you indent. It'll say something about an invalid structure if the indentation hint is malformed. 2018-02-01T15:24:17Z jmercouris: Interestingly enough, I was taking the default form for a defun, and applying it 2018-02-01T15:24:24Z jmercouris: but it was being ignored when I'd change the values 2018-02-01T15:24:29Z jmercouris: I didn't change the structure of the form 2018-02-01T15:24:42Z jmercouris: though, I don't think this is an issue with trivial indent, but somehow with emacs, or my lisp installation 2018-02-01T15:25:41Z jmercouris: Just simply this: (trivial-indent:define-indentation defcommand (4 &lambda &body)) 2018-02-01T15:25:54Z jmercouris: and when I am over the body, in the minibuffer body shows as being selected 2018-02-01T15:26:48Z jmercouris: slime notes looks fine 2018-02-01T15:27:01Z jmercouris: (trivial-indent:initialize-slime) == nil 2018-02-01T15:27:14Z Shinmera: Then your slime is not set up correctly. 2018-02-01T15:27:29Z jmercouris: Do I have to set up slime for trivial indent specifically? 2018-02-01T15:27:53Z Shinmera: you need to have the slime-indentation contrib loaded. 2018-02-01T15:28:40Z jmercouris: I do though :\ 2018-02-01T15:28:48Z Shinmera: Apparently not properly. 2018-02-01T15:29:30Z jmercouris: okay I have slime-cl-indent 2018-02-01T15:29:30Z random-nick quit (Read error: Connection reset by peer) 2018-02-01T15:29:36Z jmercouris: let me add slime-indentation 2018-02-01T15:31:29Z z3t0 joined #lisp 2018-02-01T15:31:30Z jmercouris: Alright, it now returns T 2018-02-01T15:31:43Z jmercouris: but no change when I run: (trivial-indent:define-indentation defcommand (10 &lambda &body)) 2018-02-01T15:31:47Z jmercouris: or (trivial-indent:define-indentation defcommand (5 &lambda &body)) 2018-02-01T15:31:50Z nika joined #lisp 2018-02-01T15:31:55Z jmercouris: defcommand still just indents by four spaces 2018-02-01T15:32:36Z jmercouris: here's proof that emacs is aware we are in the body: https://imgur.com/a/Nu14x 2018-02-01T15:32:58Z Shinmera: That's two spaces 2018-02-01T15:33:04Z jmercouris: I've manually made it two spaces 2018-02-01T15:33:04Z Shinmera: And also what &body is supposed to do 2018-02-01T15:33:10Z jmercouris: if I press M-q it'll jump to 4 2018-02-01T15:33:32Z jmercouris: or if I M-x slime-reindent-defun it'll also make it 4 2018-02-01T15:35:17Z jmercouris: having to manually reindent every defcommand is certainly a damper on fun 2018-02-01T15:35:43Z phoe: I kind of wish (coerce 2 'boolean) would work 2018-02-01T15:36:21Z z3t0 quit (Ping timeout: 264 seconds) 2018-02-01T15:36:38Z jmercouris: you'd think that coercing any truthy value should result in t 2018-02-01T15:36:54Z malice: you can just (not (not )) it 2018-02-01T15:37:20Z malice: which is a more general way to convert to boolean 2018-02-01T15:37:24Z dlowe: you could also (when 2 t) 2018-02-01T15:37:30Z malice: yup 2018-02-01T15:37:31Z Shinmera: Or... you know... just use it straight up. Cause we have generalised booleans. 2018-02-01T15:37:53Z jmercouris: Don't bring logical solutions into this discussion, I was just lighting up the torches 2018-02-01T15:38:02Z dlowe: prevents you from doing (eql bool-a bool-b) 2018-02-01T15:38:25Z Shinmera: jmercouris: I don't know what's going on but your setup is fucked somehow 2018-02-01T15:38:32Z dlowe: which is more succinct than (or (and bool-a bool-b) (and (not bool-a) (not bool-b))) 2018-02-01T15:38:45Z Shinmera: jmercouris: Try a bare minimum emacs with just slime or something. 2018-02-01T15:38:45Z scymtym_ quit (Ping timeout: 264 seconds) 2018-02-01T15:38:46Z jmercouris: Shinmera: Yeah, it really is, the macro indents properly on other people's computers 2018-02-01T15:39:18Z killerstorm joined #lisp 2018-02-01T15:40:15Z Cymew quit (Remote host closed the connection) 2018-02-01T15:41:00Z makomo joined #lisp 2018-02-01T15:41:14Z nullman quit (Ping timeout: 276 seconds) 2018-02-01T15:41:22Z asarch joined #lisp 2018-02-01T15:41:51Z nullman joined #lisp 2018-02-01T15:41:51Z killerstorm: Hi, is anybody interested in a tiny gig, paid in cryptocurrency? I need a parser for a certain language. Might be like a hour of work if you have experience with parsing. 2018-02-01T15:42:00Z jmercouris: Shinmera: Yeah I'll do that 2018-02-01T15:42:38Z killerstorm: Here's an example of input and expected result: https://gist.github.com/killerstorm/6f125482f50fba847763f42ead365f7b 2018-02-01T15:44:56Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-01T15:46:14Z jmercouris: Shinmera: emacs -q indents properly, seems like it is time to painfully comb through my emacs config 2018-02-01T15:46:15Z dlowe: killerstorm: what on earth for? 2018-02-01T15:46:35Z Shinmera: jmercouris: Good luck. 2018-02-01T15:46:36Z Cymew joined #lisp 2018-02-01T15:46:44Z random-nick joined #lisp 2018-02-01T15:47:00Z dlowe: killerstorm: are libraries allowed? Using a parser generator library like esrap would make it pretty easy. 2018-02-01T15:47:16Z dim: yeah esrap to the rescue there 2018-02-01T15:47:25Z cuso4 quit (Ping timeout: 256 seconds) 2018-02-01T15:47:40Z dim: it looks easy enough, really, but as dlowe said, killerstorm, why? 2018-02-01T15:48:03Z killerstorm: dlowe: DSL for blockchain application programming. I'd love to use Lisp but custom syntax probably looks more impressive. 2018-02-01T15:48:19Z phoe: just use Lisp 2018-02-01T15:48:25Z Shinmera: It looks troubling enough because that snippet doesn't even come close to properly defining the syntax. 2018-02-01T15:48:34Z CrazyEddy quit (Remote host closed the connection) 2018-02-01T15:48:35Z BitPuffin joined #lisp 2018-02-01T15:48:39Z dim: killerstorm: just use lisp 2018-02-01T15:48:40Z phoe: unless you want to market it to the JS kiddos, at which point, good luck 2018-02-01T15:48:46Z killerstorm: dlowe: any open source library. 2018-02-01T15:48:49Z phoe: ...and use Lisp anyway 2018-02-01T15:48:51Z dim: inventing a programming language is a ton of work 2018-02-01T15:49:16Z dim: market it as a service! 2018-02-01T15:49:34Z killerstorm: Hey guys thanks for your advice but I already have DSL in Lisp. I want to try DSL which is not Lisp. For commercial reasons. 2018-02-01T15:49:44Z dim: a self-contained micro-service, either in a binary image or a container or something... 2018-02-01T15:49:52Z phoe: okiedokie, esrap to the rescue then 2018-02-01T15:50:08Z jmercouris: Shinmera: Thanks :D 2018-02-01T15:50:41Z killerstorm: Shinmera: I will define syntax itself I just want sample code to start with. 2018-02-01T15:50:55Z trocado quit (Ping timeout: 248 seconds) 2018-02-01T15:50:57Z Cymew quit (Ping timeout: 248 seconds) 2018-02-01T15:51:29Z Denommus quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2018-02-01T15:52:02Z dlowe: killerstorm: https://github.com/dlowe-net/orcabot/blob/master/src/calc.lisp has some sample esrap code 2018-02-01T15:52:04Z makomo: so i guess esrap is the preferred perser generator when it comes to cl? 2018-02-01T15:52:07Z Shinmera: If sample code is all you want here's an example grammar implementation for GLSL, which is C-like. https://github.com/Shirakumo/glsl-toolkit/blob/master/grammar.lisp 2018-02-01T15:52:18Z makomo: i was trying to find a decent one but haven't settled on any of them 2018-02-01T15:52:42Z Cymew joined #lisp 2018-02-01T15:52:43Z dlowe: ooh, that's much better 2018-02-01T15:53:03Z dddddd quit (Ping timeout: 248 seconds) 2018-02-01T15:53:34Z dlowe: well, not of esrap 2018-02-01T15:53:45Z random-nickname joined #lisp 2018-02-01T15:54:28Z z3t0 joined #lisp 2018-02-01T15:55:28Z random-nick quit (Disconnected by services) 2018-02-01T15:55:31Z random-nickname is now known as random-nick 2018-02-01T15:55:37Z lnostdal quit (Remote host closed the connection) 2018-02-01T15:57:05Z Cymew quit (Ping timeout: 240 seconds) 2018-02-01T15:58:37Z Cymew joined #lisp 2018-02-01T15:58:41Z fisxoj joined #lisp 2018-02-01T15:58:48Z z3t0 quit (Ping timeout: 240 seconds) 2018-02-01T16:02:03Z Arcaelyx joined #lisp 2018-02-01T16:02:25Z FreeBirdLjj joined #lisp 2018-02-01T16:02:26Z FreeBirdLjj quit (Read error: Connection reset by peer) 2018-02-01T16:02:45Z FreeBirdLjj joined #lisp 2018-02-01T16:03:14Z Cymew quit (Ping timeout: 252 seconds) 2018-02-01T16:04:41Z Cymew joined #lisp 2018-02-01T16:06:52Z Shinmera: Writing ad-hoc parsers from scratch is my thing 2018-02-01T16:07:27Z blackwolf joined #lisp 2018-02-01T16:08:40Z ebzzry quit (Ping timeout: 240 seconds) 2018-02-01T16:09:31Z Cymew quit (Ping timeout: 256 seconds) 2018-02-01T16:09:48Z openthesky quit (Quit: Leaving.) 2018-02-01T16:09:53Z openthesky1 joined #lisp 2018-02-01T16:09:58Z openthesky1 left #lisp 2018-02-01T16:10:40Z Cymew joined #lisp 2018-02-01T16:11:01Z MrMc joined #lisp 2018-02-01T16:15:08Z killerstorm: dlowe: Thx for example. Does esrap generate some nice error messages? Or at least a point where error happens... 2018-02-01T16:15:30Z Cymew quit (Ping timeout: 256 seconds) 2018-02-01T16:16:28Z killerstorm: My offer stands, by the way. I'm short on time and would rather save myself a bit of effort. 2018-02-01T16:16:36Z Cymew joined #lisp 2018-02-01T16:17:37Z dlowe: killerstorm: good error messages are hard - the usual way is to write more grammar rules that cover the entire input space that generate errors. 2018-02-01T16:19:08Z dlowe: unfortunately, my day job is a bit too intense to take this on atm 2018-02-01T16:20:49Z Cymew quit (Ping timeout: 248 seconds) 2018-02-01T16:20:50Z killerstorm: Well currently I have Lisp-base DSL which doesn't even point to a line of code where error happened. So I guess anything would be an improvement... 2018-02-01T16:21:47Z sjl__ joined #lisp 2018-02-01T16:22:29Z Cymew joined #lisp 2018-02-01T16:22:36Z beach wonders how much energy and money is spent annually to avoid using Lisp. 2018-02-01T16:23:24Z Kaisyu quit (Quit: Connection closed for inactivity) 2018-02-01T16:23:32Z dim: beach: +1 2018-02-01T16:23:55Z jmercouris: probably not that much, as there is not many "legacy" lisp projects that require maintenance 2018-02-01T16:23:56Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-01T16:24:02Z jmercouris: s/is/are 2018-02-01T16:24:17Z beach: dim: Oh, yes, you would know, right? At least judging from your stories from your domain. 2018-02-01T16:24:54Z dim: well in my new position I'm doing some Python and C 2018-02-01T16:25:01Z beach: jmercouris: That is not the only point. I am talking about Greenspunning as well. 2018-02-01T16:25:22Z dim: C is ok, because it's meant to run within PostgreSQL code space and PostgreSQL is a very old C program (20+ years) so it comes with all the high-level abstractions you actually need 2018-02-01T16:25:38Z beach: jmercouris: I.e. people spending way more energy using a language that is not adapted to their problem just in order to avoid learning and using Lisp. 2018-02-01T16:25:41Z z3t0 joined #lisp 2018-02-01T16:25:42Z dim: but having to use Python doesn't feel nice 2018-02-01T16:26:08Z dim: other than that, most of the stories I follow are where people are re-inventing SQL in their application language 2018-02-01T16:26:55Z dim: I'm not sure about Lisp itself apart from re-inventing it poorly in so called “modern” programming languages, and with what I could achieve with pgloader on my free time, I'd rather do CL 2018-02-01T16:27:13Z Cymew quit (Ping timeout: 248 seconds) 2018-02-01T16:27:34Z killerstorm quit (Ping timeout: 260 seconds) 2018-02-01T16:28:34Z Cymew joined #lisp 2018-02-01T16:29:47Z jmercouris: beach: Ah okay, yeah, that would be interesting to know indeed, I'm sure it happens quite often as lisp is "intimidating" 2018-02-01T16:29:57Z z3t0 quit (Ping timeout: 240 seconds) 2018-02-01T16:30:08Z jmercouris: I guess it would be akin to learning a non-latin language, not necessarily more complex, just unfamiliar, and that is why it scares users 2018-02-01T16:30:51Z jmercouris: dim: Python is just Lisp without all the benefits and magical indentation rules 2018-02-01T16:31:12Z jmercouris: Also lots of "great ideas" like decorators 2018-02-01T16:31:16Z dim: learning Common Lisp means questioning some of the things you took for granted and some of the well-known trivia such as “lisp is old and useless”, “there are no libs in lisp”, “you can't do XXX in lisp”, etc 2018-02-01T16:31:25Z beach: And without the object system, and without the speed. 2018-02-01T16:31:48Z jmercouris: speed is definitely an issue in python, which amazes me, as so many people spend their time on a single implementation 2018-02-01T16:32:08Z beach: The design of the language makes it hard. 2018-02-01T16:32:10Z dim: and then when you get to it you're like what? how come there are so many control operators, what is this OO model, handler-bind and restart-value what? packages are only about symbols? what's a system? etc 2018-02-01T16:32:15Z jmercouris: I was having GIL problems in so many of my projects, now you might say "you are the weakest link", and sure, maybe I am :P 2018-02-01T16:32:21Z dim: you basically have to retrain from scratch on many notions you though you'd know 2018-02-01T16:32:49Z dim: so I can't blame people for not wanting to put in the effort, unless they just don't feel like it for the wrong reasons without having had a curious look first 2018-02-01T16:33:01Z jmercouris: dim: Yes, there were lots of times where I THOUGHT I knew, but didn't, and still all the time as I am learning new lisp I am having to "relearn" concpets 2018-02-01T16:33:11Z Cymew quit (Ping timeout: 268 seconds) 2018-02-01T16:33:30Z jmercouris: It is hard decision to make because learning lisp basically will not put food on the table for you, with any degree of ease another language will 2018-02-01T16:33:46Z jmercouris: You could learn OCaml and you'd probably find a job easier 2018-02-01T16:34:25Z beach: dim: True, one can't blame the lone programmer for not wanting to invest in a new language with unknown benefits. But one CAN (and I DO) blame project leaders in industry who don't even bother doing the math to see whether Common Lisp would be a better choice for their projects and products. 2018-02-01T16:34:53Z beach: But I have done this rant before, so I won't continue. 2018-02-01T16:35:07Z jmercouris: beach: maybe you could add a minion alias 2018-02-01T16:35:19Z jmercouris: so anytime this comes up you can automate your rants 2018-02-01T16:35:54Z beach: I think at this point, I could just have a few abbreviations, one for each rant, and most #lisp participants would know what I mean. 2018-02-01T16:36:22Z dim: beach: we used to have the same rant in the PostgreSQL community, and it boils down to “you're never going to be fired for using XXX”, with XXX being IBM, then Microsoft, then Java, then many other things, but PostgreSQL and Common-Lisp kind of never made it to the list 2018-02-01T16:36:47Z dim: so rather than complaining about that beach (which I do too), how to we have Common Lisp enter that “never going to be fired for picking it” list? 2018-02-01T16:37:07Z beach: Very good question. 2018-02-01T16:37:25Z rippa joined #lisp 2018-02-01T16:42:27Z randomstrangerb quit (Ping timeout: 240 seconds) 2018-02-01T16:42:40Z rme: I keep thinking about that problem. 2018-02-01T16:43:40Z randomstrangerb joined #lisp 2018-02-01T16:45:19Z fluke` quit (Remote host closed the connection) 2018-02-01T16:46:57Z lnostdal joined #lisp 2018-02-01T16:47:15Z fluke` joined #lisp 2018-02-01T16:47:50Z fluke` quit (Remote host closed the connection) 2018-02-01T16:49:32Z dim: maybe we should build some important piece of infrastructure in common lisp and have it flexible and very reliable and have people depend on it 2018-02-01T16:50:56Z dim: that's how C and Unix got there I think, and Go with docker and the family around it nowadays, and Python I'm not sure it's just because it was easy to hack code in the language I guess; Java got a lot of infra project I believe, nowadays maybe Kafka and Zookeeper would be on the top list? 2018-02-01T16:51:36Z dim: Erlang has RabbitMQ and people hate it but still run it because it does the job, mostly, and in a good enough fashion and not too much competition in this space I presume 2018-02-01T16:51:38Z dim: etc 2018-02-01T16:52:03Z malice: Yes, making some infrastructure work really well would be a strong upside 2018-02-01T16:52:03Z beach: dim: I share that strategy, and I am working on it. 2018-02-01T16:52:15Z dim: what's a good Common Lisp “infrastructure” project that non-CL people could rely on in their production architecture, and discover later that it's actually been developped in CL, to a great benefits 2018-02-01T16:52:33Z dim: beach: you're beginning with the compiler and the OS, right? 2018-02-01T16:53:06Z jmercouris: dim: How about a firewall 2018-02-01T16:53:08Z LiamH joined #lisp 2018-02-01T16:53:18Z beach: Not really. I do several things in parallel. Editor, debugger, GUI library, compiler, etc. 2018-02-01T16:54:01Z jmercouris: or some network traffic router tool 2018-02-01T16:54:01Z beach: dim: But yeah, they are all for Common Lisp developers for now. 2018-02-01T16:54:19Z z3t0 joined #lisp 2018-02-01T16:54:28Z jmercouris: you could also increase common lisp traction by writing a popular tool in it, you know, like a browser ;) 2018-02-01T16:54:48Z beach: dim: I have done some applications in the past. And I do want to make better versions of some of them. In particular Gsharp which is an editor for standard music notation. 2018-02-01T16:55:39Z kamog joined #lisp 2018-02-01T16:56:24Z jmercouris: beach: Is GSharp written with mcclim? 2018-02-01T16:56:56Z beach: jmercouris: Yes, McCLIM was a result of my needing a pure Common Lisp GUI library for Gsharp. 2018-02-01T16:57:15Z fluke` joined #lisp 2018-02-01T16:58:10Z dim: that's quite nice! I think I've looked at Gsharp and found it cool in the past, but as a guitar player well, chords and tabs :/ 2018-02-01T16:58:23Z Kevslinger is now known as Kevin 2018-02-01T16:58:45Z beach: dim: Sure. I also made some design mistakes that I intend to correct in version 2. 2018-02-01T16:58:46Z fluke` quit (Read error: Connection reset by peer) 2018-02-01T16:58:49Z z3t0 quit (Ping timeout: 256 seconds) 2018-02-01T16:58:52Z dim: anyway, Gsharp and McCLIM or a browser or pgloader even won't be a crucial part of a production infrastructure that people would deploy without feeling like they need to be able to hack the product 2018-02-01T16:58:53Z Kevin is now known as Guest7701 2018-02-01T16:59:05Z dim: and then rely on it, using an API of sorts, etc 2018-02-01T16:59:11Z marusich joined #lisp 2018-02-01T16:59:18Z arbv quit (Ping timeout: 240 seconds) 2018-02-01T16:59:37Z jmercouris: there is yet another question to ask though, does popular support mean a better future for CL? 2018-02-01T16:59:49Z jmercouris: I'm still not sure about that, some days I lean one way, and some days another 2018-02-01T16:59:58Z Guest7701 is now known as Kevslinger 2018-02-01T17:00:06Z dim: Kafka, Varnish, Docker, PostgreSQL of course, Memcache, Redis, etc are examples of what I mean by infra-with-an-api 2018-02-01T17:00:09Z jmercouris: on one hand, python has a ton of users, but what has that done for python? some machine learning bindings? 2018-02-01T17:00:10Z arbv joined #lisp 2018-02-01T17:00:49Z varjagg quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-01T17:00:50Z Bike quit (Ping timeout: 260 seconds) 2018-02-01T17:00:54Z jmercouris: dim: I guess you could write yet another provisioning system like salt, chef etc 2018-02-01T17:01:15Z jmercouris: and it could use sexp to represent the state of the system instead of awkward yaml files 2018-02-01T17:01:35Z dim: I'm thinking maybe a non-ACID memory database system with a producer/consumer mechanism would be good 2018-02-01T17:01:50Z beach: dim: I don't think Common Lisp will ever be on that list of yours. But I think one can hope for some highly-educated project leaders in industry understanding that Common Lisp might be a better choice for some of their projects. For that to be the case, I think we need much better programming tools. 2018-02-01T17:01:58Z dim: the thing that sits in the middle of the infra and allow the other pieces to seamlessly work independantly 2018-02-01T17:02:08Z MrMc quit (Remote host closed the connection) 2018-02-01T17:02:34Z dim: beach: I understand your position, I don't think that's the best option/leverage we can have, though 2018-02-01T17:03:06Z beach: dim: Maybe not. But that's the domain where I feel I have the competence to pitch in. 2018-02-01T17:03:37Z dim: that's another aspect of it yeah, to each its own etc 2018-02-01T17:03:55Z randomstrangerb quit (Ping timeout: 256 seconds) 2018-02-01T17:03:57Z dim: one project I though of is a replacement for pgbouncer 2018-02-01T17:04:23Z beach: Also, in order to put in as much work as possible, I need to justify it as research, and this domain fits well with that goal. 2018-02-01T17:04:47Z dim: that's a PostgreSQL “proxy” that implements the PostgreSQL protocol and does some connection pooling / admission control, but it doesn't know how to support prepared statements and people who've been trying to add that feature failed, because the C code is intricate to work with 2018-02-01T17:05:10Z randomstrangerb joined #lisp 2018-02-01T17:05:14Z dim: I guess we could write a nice pgbouncer-like software with all the features in lisp 2018-02-01T17:05:15Z beach: That sounds like a great project. 2018-02-01T17:05:54Z dim: thanks! 2018-02-01T17:06:04Z beach: And it would be good publicity for it to replace an existing program in C. 2018-02-01T17:06:07Z dim: well I already have so much on my plate that I'm not approaching it, be my guest 2018-02-01T17:06:17Z beach: Heh. Not me. Sorry. 2018-02-01T17:06:20Z schweers quit (Remote host closed the connection) 2018-02-01T17:06:38Z dim: (also pgbouncer is 1-core only by design, with event-loop based processing, and when doing lots of traffic that's a bottleneck) 2018-02-01T17:06:55Z Xach: I was hoping to write a configurable DNS server so I could do some dynamic DNS without much hassle 2018-02-01T17:07:07Z dim: ala route53 from AWS maybe? 2018-02-01T17:07:19Z Xach: dim: sort of, but on a much more local level. 2018-02-01T17:07:25Z dim: I think PowerDNS might be flexible enough for what you're saying? 2018-02-01T17:07:32Z sjl__ is now known as sjl 2018-02-01T17:07:39Z Xach: Maybe! 2018-02-01T17:08:05Z Xach: I have many of the pieces to make what I want, though. I wrote a packet parser long ago. 2018-02-01T17:08:11Z dim: then there's also unbind which is great, and dnsmasq 2018-02-01T17:08:39Z Xach: Oh, I am not looking for a packaged solution, but a project that would be a fun hobby and result in something useful to me :) 2018-02-01T17:08:41Z dim: a kind of etcd / zookeeper with automatic DNS handling would be fun and useful maybe? 2018-02-01T17:09:34Z smurfrobot quit (Remote host closed the connection) 2018-02-01T17:09:57Z dim: etcd & zookeeper and the like are used to register alternative resource providers (web servers, db servers, you name it) and guarantee that a single provider is elected at all time, and allows to then connect to the current “leader” easily ; I don't think they handle DNS changes when a new leader is elected 2018-02-01T17:10:08Z nowhere_man joined #lisp 2018-02-01T17:10:32Z dim: consul does, though, as in https://www.consul.io/docs/agent/dns.html 2018-02-01T17:10:48Z nowhereman_ quit (Ping timeout: 268 seconds) 2018-02-01T17:14:07Z lnostdal quit (Remote host closed the connection) 2018-02-01T17:14:40Z beach quit (Ping timeout: 240 seconds) 2018-02-01T17:14:43Z lnostdal joined #lisp 2018-02-01T17:15:59Z sz0 quit (Quit: Connection closed for inactivity) 2018-02-01T17:16:46Z porky11 quit (Remote host closed the connection) 2018-02-01T17:17:09Z Karl_Dscc joined #lisp 2018-02-01T17:17:20Z fikka quit (Ping timeout: 260 seconds) 2018-02-01T17:17:25Z shrdlu68 joined #lisp 2018-02-01T17:18:24Z scymtym joined #lisp 2018-02-01T17:19:33Z arbv quit (Ping timeout: 264 seconds) 2018-02-01T17:19:56Z arbv joined #lisp 2018-02-01T17:20:04Z fikka joined #lisp 2018-02-01T17:20:50Z rme: beach: are students at your university still taught lisp? 2018-02-01T17:20:58Z smurfrobot joined #lisp 2018-02-01T17:22:05Z samebchase quit (Ping timeout: 240 seconds) 2018-02-01T17:25:18Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-01T17:25:18Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-01T17:26:35Z smasta quit (Ping timeout: 256 seconds) 2018-02-01T17:27:23Z makomo quit (Quit: WeeChat 1.9.1) 2018-02-01T17:27:38Z attila_lendvai joined #lisp 2018-02-01T17:28:10Z quazimodo quit (Ping timeout: 240 seconds) 2018-02-01T17:28:11Z CrazyEddy joined #lisp 2018-02-01T17:28:36Z lnostdal quit (Remote host closed the connection) 2018-02-01T17:29:06Z rme: oh, he left, duh 2018-02-01T17:29:10Z lnostdal joined #lisp 2018-02-01T17:29:50Z nika quit (Quit: Leaving...) 2018-02-01T17:31:55Z marusich quit (Quit: Leaving) 2018-02-01T17:32:20Z fikka quit (Ping timeout: 252 seconds) 2018-02-01T17:33:17Z jmercouris: rme: whoopsie :P 2018-02-01T17:38:14Z murii quit (Ping timeout: 256 seconds) 2018-02-01T17:42:18Z shka joined #lisp 2018-02-01T17:45:02Z arbv quit (Ping timeout: 256 seconds) 2018-02-01T17:45:21Z papachan quit (Quit: WeeChat 2.0.1) 2018-02-01T17:45:26Z arbv joined #lisp 2018-02-01T17:46:27Z jmercouris: how can I highlight my macros in my source file? 2018-02-01T17:46:27Z hhdave quit (Quit: hhdave) 2018-02-01T17:46:33Z jmercouris: I want defcommand to be highlighted like a defun 2018-02-01T17:46:46Z Shinmera: name them define-foo 2018-02-01T17:46:49Z Shinmera: and not deffoo 2018-02-01T17:47:27Z jmercouris: Shinmera: so in this case define-command? 2018-02-01T17:47:30Z Shinmera: Yes 2018-02-01T17:47:53Z jmercouris: is this a standard thing? or an implementation detail of lisp-mode in emacs? 2018-02-01T17:48:02Z Shinmera: Other things that will automatically be highlighted are with-foo, check-foo, and do-foo. 2018-02-01T17:48:03Z jmercouris: and, if it is not a standard thing, do other people do this as well? 2018-02-01T17:48:13Z Shinmera: I use define-* for all my definitions. 2018-02-01T17:48:39Z Mqrius joined #lisp 2018-02-01T17:49:12Z jmercouris: I'll have to think about it, thank you for the info 2018-02-01T17:49:50Z smasta joined #lisp 2018-02-01T17:50:25Z Shinmera: The reason deffoo doesn't highlight is because def* is ambiguous. Consider stuff like default. 2018-02-01T17:51:03Z jmercouris: I see the ambiguity, but if I have my system and macros loaded, emacs should be aware of them 2018-02-01T17:51:32Z jmercouris: but that'd require modification of that regex for highlighting dynamically 2018-02-01T17:51:40Z jmercouris: not sure what the regex is called, but you know what I mean 2018-02-01T17:52:10Z fikka joined #lisp 2018-02-01T17:52:50Z wigust joined #lisp 2018-02-01T17:53:21Z Fare quit (Ping timeout: 268 seconds) 2018-02-01T17:55:39Z ebrasca quit (Remote host closed the connection) 2018-02-01T17:56:48Z raynold joined #lisp 2018-02-01T17:57:18Z arbv quit (Ping timeout: 240 seconds) 2018-02-01T17:57:51Z jardon joined #lisp 2018-02-01T17:58:31Z arbv joined #lisp 2018-02-01T17:58:45Z randomstrangerb quit (Ping timeout: 260 seconds) 2018-02-01T17:59:55Z dyelar quit (Remote host closed the connection) 2018-02-01T17:59:58Z randomstrangerb joined #lisp 2018-02-01T17:59:58Z kamog quit (Quit: Leaving.) 2018-02-01T18:00:41Z solyd quit (Quit: solyd) 2018-02-01T18:01:39Z kini: dumb question - I'm looking at some code containing (load "foo.lisp"), and I'd like to add a form after that LOAD which looks like (setq bar:baz 'xyzzy), but the bar package is defined in foo.lisp so the function containing the LOAD fails to compile because package bar doesn't exist (at compile time). How do I get around this? Or is it not possible? 2018-02-01T18:02:51Z jmercouris: just don't put it in a top level form 2018-02-01T18:03:06Z jmercouris: have it be loaded as part of a "startup" 2018-02-01T18:03:22Z jmercouris: having said that, this feels like an x-y problem, can you please describe on a high level what the situation is? 2018-02-01T18:05:04Z Xach: kini: one common workaround involves using read-from-string, but it's something to avoid, usually 2018-02-01T18:05:21Z shka: kini: can't just define systems like reasonable man? 2018-02-01T18:05:51Z rme: I think (set (find-symbol "BAZ" "BAR") 'xyzzy) will do what you want. 2018-02-01T18:06:30Z Xach: shka: There are plenty of reasons to do plenty of things. More context would help. 2018-02-01T18:07:06Z shka: well, certainly, but it is just so much simpler this way! 2018-02-01T18:07:06Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-01T18:07:11Z kini: Er, I don't quite follow -- both the existing LOAD and the SETQ I'm trying to add are inside a function body, not at the top level. (Or maybe that's not what you meant?) 2018-02-01T18:07:11Z kini: The situation: I have a program whose purpose is to figure out the dependencies of a quicklisp package; it does this by installing quicklisp in a tempdir, pulling in the package, and looking to see what else gets pulled in. To do this, it LOADs quicklisp's setup.lisp at runtime. I'm trying to make it work behind a proxy by setting ql-http:*proxy-url* right after that setup.lisp is loaded. 2018-02-01T18:07:15Z dlowe: ooh, there's an if-feature option in asdf now 2018-02-01T18:07:16Z jmercouris: shka: You don't know the context, how do you know that? 2018-02-01T18:07:22Z kini: I should add that I really don't know much about common lisp :) I don't know what a system is for example... 2018-02-01T18:07:22Z dlowe: that should come in handy 2018-02-01T18:07:22Z jardon: does lisp have builtin (not 3rd party) gui libraries? 2018-02-01T18:07:30Z dlowe: kini: it's instructions for building a program 2018-02-01T18:07:32Z shka: jardon: no 2018-02-01T18:07:47Z jmercouris: jardon: Do you consider a terminal a GUI? 2018-02-01T18:07:57Z dlowe: kini: we call them systems instead of packages because the word "package" already meant something in CL 2018-02-01T18:07:58Z jardon: jmercouris: no 2018-02-01T18:07:59Z attila_lendvai joined #lisp 2018-02-01T18:07:59Z attila_lendvai quit (Changing host) 2018-02-01T18:07:59Z attila_lendvai joined #lisp 2018-02-01T18:08:00Z jardon: shka: ok, thanks 2018-02-01T18:08:02Z jmercouris: jardon: then no 2018-02-01T18:08:18Z shka: jmercouris: linking files to each other is a complete mess. 2018-02-01T18:08:21Z Xach: kini: the function ql:dependency-tree kind of does what you're trying to do 2018-02-01T18:08:37Z jmercouris: shka: I can't conjure a situation in which it makes sense, but there must be one :D 2018-02-01T18:08:48Z shka: wow 2018-02-01T18:08:53Z shka: dependency-tree! 2018-02-01T18:08:57Z kini: Xach: yes, it seems this program I'm looking at already uses that function 2018-02-01T18:08:58Z shka: didn't knew about that 2018-02-01T18:09:10Z jardon quit (Quit: Page closed) 2018-02-01T18:09:13Z kini: I'm not trying to write the logic for quicklisp dependency detection or anything, just trying to one-line hack this existing program so that it will work behind a proxy :) 2018-02-01T18:09:31Z jmercouris: kini: I'm not sure how a proxy is causing issues with quicklisp 2018-02-01T18:09:47Z jmercouris: unless of course you've incorrectly setup the proxy on your machine 2018-02-01T18:09:49Z Xach: kini: you can (setf (ql-config:config-value "proxy-url") ) and it will remember it between sessions. 2018-02-01T18:10:17Z kini: remembering stuff between sessions probably won't work because this program runs in a sandbox 2018-02-01T18:10:36Z Xach: kini: how does quicklisp get set up in the sandbox? 2018-02-01T18:10:36Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-01T18:10:38Z kini: jmercouris: not sure what you mean by "incorrectly" -- I have it in all the traditional environment variables, if you mean 2018-02-01T18:10:49Z Xach: kini: maybe the quicklisp setup could include the proxy setup? 2018-02-01T18:11:03Z kini: well yes, that's what I'm trying to achieve (I think?) 2018-02-01T18:11:19Z jmercouris: kini: I was imagining a machine where you've setup a proxy because somehow the quicklisp servers are inaccessible in your country or something, I misunderstood the situation, my apologies 2018-02-01T18:11:21Z Xach: kini: no, i mean how does quicklisp/setup.lisp come to exist in the sandbox? 2018-02-01T18:11:48Z kini: jmercouris: oh, nah -- I'm just behind a corporate firewall, haha 2018-02-01T18:11:55Z Xach: curious about that primordial setup 2018-02-01T18:11:57Z kini: Xach: I believe a bundle is downloaded and extracted 2018-02-01T18:12:27Z fluke` joined #lisp 2018-02-01T18:13:13Z Xach: kini: a possible hack: echo "" > ~/quicklisp/config/proxy-url.txt 2018-02-01T18:13:27Z fluke` quit (Remote host closed the connection) 2018-02-01T18:13:31Z Xach: although that path doesn't exist by default 2018-02-01T18:13:51Z kini: if you're curious about the code I'm looking at, it's here: https://github.com/NixOS/nixpkgs/blob/8818546d/pkgs/development/lisp-modules/quicklisp-to-nix/quicklisp-bootstrap.lisp#L56 2018-02-01T18:14:19Z kini: for the moment I'll try rme's solution -- that may be the simplest 2018-02-01T18:15:23Z Xach: ah 2018-02-01T18:15:49Z Xach: good luck! 2018-02-01T18:15:59Z kini: thanks! (and thanks to the rest of you too!) 2018-02-01T18:16:02Z Xach: that seems like something to push upstream too 2018-02-01T18:16:10Z kini: yes, I intend to make a pull request if I get it working. 2018-02-01T18:16:35Z randomstrangerb quit (Ping timeout: 240 seconds) 2018-02-01T18:17:35Z arbv quit (Ping timeout: 240 seconds) 2018-02-01T18:17:51Z randomstrangerb joined #lisp 2018-02-01T18:19:31Z arbv joined #lisp 2018-02-01T18:19:56Z Murii joined #lisp 2018-02-01T18:20:05Z jmercouris: let's say I have (defun a () (print *some-global* "some-new-value")) 2018-02-01T18:20:29Z jmercouris: and let's say that as soon as (a) is invoked, in between the invokation and the actual printing, *some-global* is changed somewhere else, perhaps in another thread 2018-02-01T18:20:31Z jmercouris: what will print? 2018-02-01T18:21:20Z jmercouris: sorry, that print makes no sense 2018-02-01T18:21:28Z jmercouris: it was a setf at first, and then I changed it to print without removing the string 2018-02-01T18:21:41Z jmercouris: the question still stands though 2018-02-01T18:21:44Z Lamdaeon joined #lisp 2018-02-01T18:21:56Z Lamdaeon: easiest clisp gui to install on ubuntu? 2018-02-01T18:22:41Z fikka quit (Ping timeout: 256 seconds) 2018-02-01T18:22:59Z fisxoj quit (Quit: fisxoj) 2018-02-01T18:23:17Z nox2 quit (Read error: Connection reset by peer) 2018-02-01T18:23:32Z nox2 joined #lisp 2018-02-01T18:24:07Z dyelar joined #lisp 2018-02-01T18:25:40Z Lamdaeon quit (Client Quit) 2018-02-01T18:28:30Z turkja quit (Ping timeout: 260 seconds) 2018-02-01T18:28:50Z BitPuffin quit (Remote host closed the connection) 2018-02-01T18:29:49Z Bike joined #lisp 2018-02-01T18:31:52Z kini: rme: thanks, your solution seems to be working great :) 2018-02-01T18:34:14Z fikka joined #lisp 2018-02-01T18:42:24Z rme: old school stuff sometimes comes in handy 2018-02-01T18:43:44Z _death: jmercouris: if it's a special variable, it's likely the implementation has per-thread storage for it 2018-02-01T18:44:04Z _death: jmercouris: at least if it's not the global binding 2018-02-01T18:44:38Z jmercouris: _death: Hmm ok 2018-02-01T18:44:50Z jmercouris: _death: Maybe this is a stupid question, but is the lambda of a function body a closure? 2018-02-01T18:45:08Z jmercouris: Well, it's definitely a stupid question 2018-02-01T18:45:19Z jmercouris: I feel like the answer is yes, but I just want to be sure 2018-02-01T18:45:42Z Bike: "lambda of a function body" is not something i understand 2018-02-01T18:45:55Z jmercouris: Bike: how about just "function body" 2018-02-01T18:46:35Z jackdaniel: funciton body is a function body. function may be a closure, if it closes over some variables 2018-02-01T18:46:44Z jmercouris: jackdaniel: Ok 2018-02-01T18:46:47Z _death: jmercouris: if it's the global binding, then there's a race condition, and you could use synchronization primitives 2018-02-01T18:46:59Z jmercouris: _death: It's not a real problem I have, I was just thinking about it 2018-02-01T18:47:39Z rme: If a function doesn't refer to any free variables, then it's not really a closure. 2018-02-01T18:48:07Z z3t0 joined #lisp 2018-02-01T18:48:08Z jmercouris: When I pass an argument to a function, let's say I pass a var to a variable, and that var changes somewhere else, what happens to that variable? 2018-02-01T18:48:21Z jmercouris: e.g. (defun a (b) (print b)) 2018-02-01T18:48:43Z jmercouris: then (a *some-var-that-will-be-changed-elsewhere-during-exeuction-of-a*) 2018-02-01T18:49:11Z _death: jmercouris: Lisp uses pass-by-value 2018-02-01T18:49:38Z jmercouris: _death: Aha, ok 2018-02-01T18:49:52Z jmercouris: I guess I was imagining a "closure" over the variables that are passed in as args 2018-02-01T18:50:18Z _death: jmercouris: most values are references, though, so people like KMP call it pass-by-identity 2018-02-01T18:51:00Z jmercouris: _death: Who is kmp? knuth morris pratt? 2018-02-01T18:51:09Z _death: Kent M. Pitman 2018-02-01T18:51:30Z jmercouris: _death: When you say references, you mean like pointers? 2018-02-01T18:52:44Z random-nick: afaik variables behave like cons cells about setting and getting their values 2018-02-01T18:54:45Z Achylles quit (Quit: Leaving) 2018-02-01T18:54:58Z random-nick: if you take a car of a cons and then rplaca it, the old value you took doesn't change 2018-02-01T18:54:58Z _death: jmercouris: I mean references.. you can think of them as pointers that are implicitly dereferenced and that can't be changed, I guess 2018-02-01T18:55:33Z jmercouris: _death: Okay so references in the java sense then? 2018-02-01T18:56:03Z jmercouris: random-nick: aha, okay, that makes sense 2018-02-01T18:56:08Z jmercouris: if it is true 2018-02-01T18:56:11Z _death: jmercouris: and not everything requires a pointer, e.g. fixnums or characters may simply be copied 2018-02-01T18:58:03Z jmercouris: right right 2018-02-01T18:58:13Z jmercouris: thank you everyone for the explanations/patience 2018-02-01T18:59:41Z markong quit (Quit: Konversation terminated!) 2018-02-01T19:01:17Z markong joined #lisp 2018-02-01T19:04:16Z dlowe: So I have a style question to present. ASDF 3 allows you to check for features before loading a file. This is great, because #+/#- is insufficient to account for implementation differences. 2018-02-01T19:04:50Z dlowe: so now for each implementation, I can have a source file, gated by an :if-feature :implementation 2018-02-01T19:05:06Z dlowe: the question is... what should be the form of the source pathname? 2018-02-01T19:05:28Z smurfrobot joined #lisp 2018-02-01T19:05:52Z dlowe: right now I just have something like "impl-sbcl" in the main dir 2018-02-01T19:07:27Z _death: dlowe: I think that makes sense if you don't need more than one file per implementation 2018-02-01T19:09:47Z dlowe: I don't expect to. 2018-02-01T19:10:00Z z3t0 quit (Remote host closed the connection) 2018-02-01T19:10:26Z smurfrobot quit (Ping timeout: 268 seconds) 2018-02-01T19:10:54Z jackdaniel: dlowe: in what way :if-feature is more sufficient thatn #+/#- ? 2018-02-01T19:10:57Z m00natic quit (Ping timeout: 248 seconds) 2018-02-01T19:11:18Z jackdaniel: I mean - do you have an example for that? 2018-02-01T19:11:32Z _death: the form can be read and such dependencies analysed 2018-02-01T19:11:50Z moei joined #lisp 2018-02-01T19:11:57Z dlowe: jackdaniel: implementations differ on how they handle unpackaged symbols and symbol macros inside a #- 2018-02-01T19:12:28Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-01T19:12:42Z Xach: dlowe: what do you mean by unpackaged? 2018-02-01T19:12:49Z jackdaniel: dlowe: I'm afraid I don't understand 2018-02-01T19:12:56Z dlowe: Xach: I mean symbols that do not have a valid package 2018-02-01T19:13:03Z _death: (that is, without hacking the reader) 2018-02-01T19:13:05Z vertigo quit (Changing host) 2018-02-01T19:13:05Z vertigo joined #lisp 2018-02-01T19:13:21Z dlowe: for instance, the java package doesn't exist in the ccl implementation (by default) 2018-02-01T19:13:22Z ckonstanski joined #lisp 2018-02-01T19:13:44Z dlowe: so #-abcl (java:jstatic ...) may break when the ccl reader tries to read it 2018-02-01T19:14:09Z dlowe: similarly, ccl uses #_systemcallname pervasively, but symbol macros aren't ignored in lispworks 2018-02-01T19:14:14Z _death: don't you want #+abcl there? 2018-02-01T19:14:18Z dlowe: yes. 2018-02-01T19:14:28Z jackdaniel: it will break with :if-feature as well 2018-02-01T19:14:39Z jackdaniel: asdf uses normal reader, so if package doesn't exist it will error right away 2018-02-01T19:14:44Z dlowe: ... 2018-02-01T19:14:50Z dlowe: no, because if I put it in its own file it will never get read 2018-02-01T19:15:26Z jackdaniel: I mean: how #+abcl(:file "foo") less sufficient than (:file "foo" :if-feature "abcl") 2018-02-01T19:15:28Z _death: well, #+abcl (java:...) won't break anything on an implementation that doesn't have an abcl feature 2018-02-01T19:15:50Z jackdaniel: and that ↑ so using feature expressions is even less error-prone 2018-02-01T19:15:59Z dlowe: jackdaniel: uh, I'm talking about #+abcl in the source file, not the system file 2018-02-01T19:16:00Z jackdaniel: than if-feature funcionality, that's why I'm confused 2018-02-01T19:16:22Z _death: jackdaniel: like I said, such dependencies can be taken notice of without readtable hacks 2018-02-01T19:16:31Z jackdaniel: I'm referring to < dlowe> So I have a style question to present. ASDF 3 allows you to check for features before loading a file. This is great, because #+/#- is insufficient to account for implementation differences. 2018-02-01T19:16:46Z dlowe: yes, I realize that was ambiguous 2018-02-01T19:16:59Z dlowe: and that you alighted on the most improbable interpretation. 2018-02-01T19:17:03Z dlowe: mea culpa 2018-02-01T19:17:35Z dlowe: :if-feature in the system file is still better 2018-02-01T19:18:29Z jackdaniel: how is that? 2018-02-01T19:18:32Z beach joined #lisp 2018-02-01T19:18:56Z dlowe: it enables examining the system as a whole even if you don't have the feature. 2018-02-01T19:19:05Z beach: rme: No, unfortunately not. But we are very proud to have managed to do it for 15 years or more. 2018-02-01T19:19:29Z jackdaniel: dlowe: what about (abcl-ext:static-file "foo" :if-feature "abcl") ;? 2018-02-01T19:19:39Z jackdaniel: your system definition is broken right away on sbcl thanks to that 2018-02-01T19:19:46Z jackdaniel: of course abcl-ext:static-file is imaginatory 2018-02-01T19:19:48Z dlowe: jackdaniel: so don't do that. 2018-02-01T19:20:04Z jackdaniel: don't use if-feature? but it's clearly better ,) 2018-02-01T19:20:19Z dlowe: jackdaniel: I don't believe you're arguing in good faith anymore. 2018-02-01T19:20:55Z smasta quit (Ping timeout: 268 seconds) 2018-02-01T19:21:05Z jackdaniel: well, I've presented you argument where :if-feature is clearly worse than #+foo and you say "then don't do that" 2018-02-01T19:21:21Z jackdaniel: at this point I lost good faith 2018-02-01T19:21:31Z jmercouris: let's not be so dramatic 2018-02-01T19:23:52Z _death: jackdaniel: maybe the questions are which convention should be used by default, and what are the cases where it may be broken 2018-02-01T19:23:55Z dlowe: jackdaniel: okay, assuming you're trying to make a valid point then, your example would break with #+abcl too 2018-02-01T19:24:04Z dlowe: on some implementations 2018-02-01T19:24:14Z jackdaniel: how? 2018-02-01T19:24:17Z dlowe: a point which I made previously 2018-02-01T19:24:22Z _death: clhs *read-suppress* 2018-02-01T19:24:23Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/v_rd_sup.htm 2018-02-01T19:25:04Z dlowe: jackdaniel: implementations differ how they treat unfound packages within an unread #+ or #- expression 2018-02-01T19:25:34Z dlowe: like I said at 14:11:57 EDT 2018-02-01T19:25:51Z fikka quit (Ping timeout: 268 seconds) 2018-02-01T19:27:46Z jackdaniel: I don't think it is a valid point, you will break many many things binding *read-suppres* to t when you read files (and I'm not talking only about asd definitions) 2018-02-01T19:27:57Z rumbler31: if i understand correctly, the discussion is between an asdf feature that can be used to conditionally load a file, vs placing #+/#- forms in source files for implementation specific behavior? 2018-02-01T19:28:51Z dlowe: rumbler31: that was my comparison, yes. 2018-02-01T19:28:55Z jackdaniel: it's the same as if I had argued, that software which has #+nil foo is invalid, because nil may be pushed to features. in theory it is, in practice it doesn't matter (because many systems do that to comment blocks of code) 2018-02-01T19:29:15Z dlowe: rumbler31: then jackdaniel pointed out correctly that I could have used the #+/- in the system definition to do the same thing 2018-02-01T19:29:57Z jmercouris: I would use the ASDF feature personally, why would you not, when it exists? 2018-02-01T19:29:58Z _death: jackdaniel: I linked it because #+ and #- may bind it to T, where it may be used to skip invalid package markers (i.e. it should be OK to have them) 2018-02-01T19:30:18Z LocaMocha quit (Ping timeout: 240 seconds) 2018-02-01T19:31:48Z damke joined #lisp 2018-02-01T19:31:59Z jackdaniel: jmercouris: one way to look at it is that it was introduced quite late to the party (so your lib will break on clisp), second is example of using package:foo notation (where package is guaranteed to exist when bar is in features). Only benefit I can see for if-feature is when you want to scrap information about how system definition would behave on other implementations 2018-02-01T19:32:25Z _death: dlowe: in what implementation does #+nonfeature nonpackage:something fails? 2018-02-01T19:32:42Z jackdaniel: I'm not sure if any software uses that possibility (I remember that when if-feature was introduced it was argued, that it could be used for archive-op or doc-op to name two examples) 2018-02-01T19:32:47Z Bike: ccl, they said 2018-02-01T19:33:11Z jackdaniel: I just did #+foo bam:kam on ccl 2018-02-01T19:33:13Z jackdaniel: it didn't break 2018-02-01T19:33:19Z jackdaniel: (I have repl fired) 2018-02-01T19:33:19Z jmercouris: jackdaniel: all valid points, but I generally do want diffrent system definition behavior on other implementations, at least in my example where ccl and sbcl are radically different 2018-02-01T19:33:44Z jmercouris: or rather, my system that runs on ccl is radically different than my system that runs on sbcl 2018-02-01T19:33:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-01T19:34:06Z jackdaniel: jmercouris: I think you miss the point. we discuss which notation of such conditionalization is better 2018-02-01T19:34:15Z damke__ joined #lisp 2018-02-01T19:34:20Z jackdaniel: not whenever conditionalization is beneficial 2018-02-01T19:34:38Z jmercouris: okay, then I will address your points directly 2018-02-01T19:34:59Z jmercouris: 1. sounds like a problem with clisp more than anything, 2. I have no rebuttal 2018-02-01T19:36:14Z rme: beach: Congratulations on having taught CL for so long. I was thinking that your university might be a source of possibly-enthusiastic junior Lisp hackers for my imaginary CL startup in Bordeaux. 2018-02-01T19:36:51Z jmercouris: rme: why do they have to be junior devs? so they can work longer hours for less pay :D? 2018-02-01T19:37:18Z phoe: rme: if you're looking for remote Lisp programmers, count me in. 2018-02-01T19:37:27Z rumbler31: rme: me too 2018-02-01T19:37:33Z damke quit (Ping timeout: 263 seconds) 2018-02-01T19:37:35Z shrdlu68: rme: Me too. 2018-02-01T19:37:40Z rme takes notes 2018-02-01T19:38:27Z jmercouris: me too 2018-02-01T19:38:38Z Fare joined #lisp 2018-02-01T19:38:43Z jmercouris: let's make a startup 2018-02-01T19:40:06Z rme: I am working on a better business plan than "hack lisp". 2018-02-01T19:40:25Z sjl: rme: me too 2018-02-01T19:41:09Z damke__ quit (Ping timeout: 264 seconds) 2018-02-01T19:41:19Z sjl: I've been fully remote for 4+ years now and don't think I'll ever want to go back to meatspace work 2018-02-01T19:41:56Z rme: I've worked remotely for years, but I am finding that I really enjoy and need some social interaction as well. 2018-02-01T19:42:06Z phoe: that's why we have ELS 2018-02-01T19:42:33Z Xach: yes, once per year for two days should suffice 2018-02-01T19:42:57Z rme: Maybe I need to develop a better non-work life somehow, but I don't think I can just stay in my own little office by myself any more. 2018-02-01T19:43:15Z phoe: Xach: irony does not transmit well through the internet. 2018-02-01T19:43:27Z phoe: I know that feeling and I wish remote work allowed for better human-human interfacing. 2018-02-01T19:43:30Z rumbler31: it transmits perfectly fine! 2018-02-01T19:43:40Z phoe: Or maybe that's just how it is. 2018-02-01T19:43:41Z phoe: ... 2018-02-01T19:43:42Z sjl: I've got enough non-work hobbies to fill the socializing I need, usually. 2018-02-01T19:43:44Z phoe: (incf rumbler31) 2018-02-01T19:43:46Z phoe: that was a good one 2018-02-01T19:43:58Z rumbler31: sarcasm on the otherhand.... 2018-02-01T19:44:28Z rme: I asked about students in Bordeaux because if I end up living there I thought that I could organize some lisp meetups or workshops or something, and that they'd be a potential audience. 2018-02-01T19:44:57Z rme: Knowning students, however, most of them probably just learn enough to pass the course and then forget it all anyway. 2018-02-01T19:45:39Z rme: I just slandered all students. Sorry about that; I'm sure that's just my cynicism talking. 2018-02-01T19:46:25Z phoe: rme: I understand the sentiment as someone who attempted to popularize Lisp in my region. 2018-02-01T19:47:14Z phoe: So far, I ended up having a 100% growth of Lispers in my direct circles. That is, I have inspired KZiemian to pick up Lisp for good. 2018-02-01T19:47:24Z rme: I admit that sometimes I get discouraged. 2018-02-01T19:48:00Z phoe: So do I. I sometimes wish I could have a worse taste and stand doing C# and Java like everyone around. 2018-02-01T19:48:16Z phoe: Forget about Lisp's interactivity and flexibility and such. 2018-02-01T19:48:22Z phoe: Sigh, now I'm getting romantic. 2018-02-01T19:48:24Z EvW joined #lisp 2018-02-01T19:49:12Z rme: I worked in Clojure for a year, but the enterprise software business is not for me. 2018-02-01T19:49:27Z rme: And Clojure is definitely not CL. 2018-02-01T19:50:02Z varjag joined #lisp 2018-02-01T19:50:05Z phoe: I am working in enterprise right because it pays decently, and I can spend a portion of my sanity for the money that it gives me. 2018-02-01T19:50:11Z fikka joined #lisp 2018-02-01T19:50:54Z rme: I used up all my sanity and had to leave :-) 2018-02-01T19:51:28Z ln joined #lisp 2018-02-01T19:52:18Z phoe: I am glad to still have some left. {: 2018-02-01T19:54:48Z fikka quit (Ping timeout: 240 seconds) 2018-02-01T19:56:22Z didi joined #lisp 2018-02-01T19:57:32Z ln quit (Quit: Page closed) 2018-02-01T19:57:45Z didi: You know what would be cool? If we could change the value of `multiple-value-bind' variables in the vars list. 2018-02-01T19:58:04Z dlowe: there goes the sanity 2018-02-01T19:58:18Z _death: multiple-value-setq? 2018-02-01T19:58:21Z phoe: didi: wait, what 2018-02-01T19:58:43Z phoe: m-v-b is a binding construct 2018-02-01T19:58:47Z phoe: not a mutating construct 2018-02-01T19:58:47Z jmercouris: rme: "enterprise" is a keyword for shitty and bloated 2018-02-01T19:58:55Z phoe: ^ 2018-02-01T19:59:02Z phoe: and also ridiculously overpriced. 2018-02-01T19:59:04Z didi: Something like: (multiple-value-bind ((x (mod x))) ...). 2018-02-01T19:59:23Z didi: eer, s/mod/abs 2018-02-01T19:59:24Z shrdlu68: The trials and tribulations of the 21st-century hunter-gatherer. 2018-02-01T19:59:39Z phoe: didi: oh, m-v-b followed by a let. 2018-02-01T19:59:40Z shka: didi: metabang-bind may be good for you 2018-02-01T19:59:50Z didi: phoe: Indeed. I don't want to use `let'. 2018-02-01T19:59:54Z fikka joined #lisp 2018-02-01T19:59:58Z didi: shka: I will look it up. Thank you. 2018-02-01T20:00:06Z phoe: use bind then, it'll help you with more crazy binding structures. 2018-02-01T20:00:08Z dlowe: or just (setf x (mod x)) 2018-02-01T20:00:32Z didi: dlowe: Nah, I prefer `let', thanks. 2018-02-01T20:01:00Z damke_ joined #lisp 2018-02-01T20:01:08Z _death: bind is a fashion that some people have to go through, but later see its folly 2018-02-01T20:01:23Z didi: _death: It is a journey, you say. 2018-02-01T20:01:54Z phoe: you embrace it only to discover that you have always been at the goal 2018-02-01T20:02:00Z didi: :-) 2018-02-01T20:02:05Z phoe: which is abolishing LET for LAMBDA 2018-02-01T20:02:18Z phoe: ((lambda (x y) (+ x y)) 2 2) 2018-02-01T20:02:37Z ckonstanski quit (Remote host closed the connection) 2018-02-01T20:02:48Z shrdlu68: Eh, &aux 2018-02-01T20:02:54Z phoe: leave. 2018-02-01T20:03:02Z phoe: (: 2018-02-01T20:03:36Z rumbler31: what 2018-02-01T20:03:36Z shka: well, i kinda like bind 2018-02-01T20:03:40Z Petit_Dejeuner joined #lisp 2018-02-01T20:03:51Z shka: it is a bit overkillish, but i like it 2018-02-01T20:04:25Z dlowe: I like it like I like series and iterate. I can see how it's cool and then I don't use it. 2018-02-01T20:04:34Z papachan joined #lisp 2018-02-01T20:04:35Z dlowe: *I like it how .. 2018-02-01T20:04:41Z shifty quit (Ping timeout: 256 seconds) 2018-02-01T20:04:42Z fikka quit (Ping timeout: 268 seconds) 2018-02-01T20:06:57Z cgay: I liked I like it like I like better. 2018-02-01T20:07:06Z nullman quit (Remote host closed the connection) 2018-02-01T20:07:23Z nullman joined #lisp 2018-02-01T20:07:26Z shrdlu68 quit (Ping timeout: 252 seconds) 2018-02-01T20:07:42Z yggdrasil_core: like likes 2018-02-01T20:07:46Z _death: buffalos, where? 2018-02-01T20:08:17Z kolb: rme: keep me posted about that lisp startup :-) 2018-02-01T20:08:36Z phoe: #smuglispstartup 2018-02-01T20:09:25Z aeth: phoe: that is not smug 2018-02-01T20:09:37Z shrdlu68 joined #lisp 2018-02-01T20:09:41Z malice quit (Ping timeout: 276 seconds) 2018-02-01T20:09:55Z Petit_Dejeuner: Hi, I've been trying to get lib-cffi to load, but I get a "Unable to load any of the alternatives ("libffi.so.6" "libffi32.so.6" "libffi.so.5" "libffi32.so.5")". libffi is installed, but it's in the directory "/usr/lib/x86_64-linux-gnu/" instead of something like "/lib/" or "/usr/lib/". I tried copying the libraries into /usr/lib/ to see if maybe cffi just wasn't searching the right place, but I still get the same e 2018-02-01T20:09:55Z Petit_Dejeuner: rror. Is there anything obvious I can check? 2018-02-01T20:10:16Z aeth: phoe: if you want a really arrogant Lisp startup channel name, call it #startups-easy-mode and make it clear in the topic that only Lisp is allowed. 2018-02-01T20:10:35Z rme: kolb: that's "imaginary lisp startup" (at least for now) 2018-02-01T20:10:35Z phoe: aeth: I chose that name because #humblelistartup seemed a litte bit out of place. 2018-02-01T20:10:55Z phoe: Petit_Dejeuner: that's more of a OS problem than a Lisp problem. 2018-02-01T20:11:21Z phoe: First question: are you sure that libffi matches your architecture? 64-bit ffi for 64-bit Lisp image? 2018-02-01T20:12:08Z _death: Petit_Dejeuner: check out cffi:*foreign-library-directories* 2018-02-01T20:13:20Z Petit_Dejeuner: "64-bit ffi" That's probably it. Let me check. 2018-02-01T20:13:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-01T20:14:14Z _mjl quit (Ping timeout: 276 seconds) 2018-02-01T20:14:55Z phoe: if ffi's .so is in x86_64-linux-gnu then it's 64bit. 2018-02-01T20:15:02Z phoe: is your Lisp 64bit? 2018-02-01T20:17:17Z Petit_Dejeuner: Yeah, that was it. I installed sbcl through the website since my package manager's version was outdated and I installed the 32bit instead of the 64bit. 2018-02-01T20:17:21Z Petit_Dejeuner: Thanks. 2018-02-01T20:17:24Z phoe: <3 2018-02-01T20:17:49Z phoe: I'm giggling. I had no idea this would be the culprit. 2018-02-01T20:18:08Z Petit_Dejeuner: I've had this happen several times now, but it's always when I start to use Lisp again after a long break. 2018-02-01T20:18:46Z Petit_Dejeuner: So I forget. 2018-02-01T20:19:31Z Petit_Dejeuner: Er, the errors are usually different, but the cause is the same. 2018-02-01T20:20:05Z Mqrius: If only everyone had stuck with 8 bit punchcards then we wouldn't have had this problem! 2018-02-01T20:21:30Z didi: Petit_Dejeuner: What's the version of your package manager? 2018-02-01T20:22:01Z didi: What's the version _in_ your package manager, I guess. 2018-02-01T20:23:29Z damke_ joined #lisp 2018-02-01T20:24:06Z python476 quit (Remote host closed the connection) 2018-02-01T20:26:38Z aeth: (1+ (integer-length most-positive-fixnum)) should be the first thing everyone does on a fresh Lisp install. If it's < 32, it's probably 32-bit. Elseif it's < 64, it's probably 64-bit. If it's >= 64, I'm jealous of your computer and/or your Lisp. 2018-02-01T20:28:13Z phoe: c'mon, are we comparing integer lengths now 2018-02-01T20:28:32Z phoe checks just to be sure 2018-02-01T20:29:22Z fikka joined #lisp 2018-02-01T20:29:22Z _death: and most-positive-bignum 2018-02-01T20:29:28Z aeth: Hmm, that doesn't actually work as universally as I thought it would. The ABCL I have installed gives "32" when I do that. 2018-02-01T20:29:38Z shrdlu68 quit (Remote host closed the connection) 2018-02-01T20:29:55Z aeth: _death: There is a most-positive-bignum, and you'll find out when you try to get past it. 2018-02-01T20:30:06Z makomo joined #lisp 2018-02-01T20:30:38Z dieggsy joined #lisp 2018-02-01T20:31:29Z daydayup joined #lisp 2018-02-01T20:31:36Z daydayup: 有人嗎 2018-02-01T20:31:39Z sjl: aeth: abcl probably uses java int's as fixnums 2018-02-01T20:32:00Z Xach: Hmm, anyone got an rfc 2822 date parser handy? 2018-02-01T20:32:12Z shrdlu68 joined #lisp 2018-02-01T20:32:36Z dieggsy quit (Remote host closed the connection) 2018-02-01T20:32:36Z damke joined #lisp 2018-02-01T20:32:51Z daydayup: lisp還有前途嗎 2018-02-01T20:33:25Z dlowe: Xach: there was one that worked with local-time, I think. 2018-02-01T20:33:48Z fikka quit (Ping timeout: 240 seconds) 2018-02-01T20:33:50Z dlowe: chronicity has a bunch of parsers 2018-02-01T20:34:11Z Xach: dlowe: thanks 2018-02-01T20:35:09Z damke_ quit (Ping timeout: 264 seconds) 2018-02-01T20:35:35Z damke_ joined #lisp 2018-02-01T20:36:18Z Xach: Hmm, chronicity doesn't quite do what I'd like. 2018-02-01T20:36:34Z Xach: looking to parse something like: Thu, 01 Feb 2018 00:23:38 GMT 2018-02-01T20:36:59Z shrdlu68 quit (Ping timeout: 276 seconds) 2018-02-01T20:37:00Z Xach looks to rip some code out of usenet-legend 2018-02-01T20:37:26Z fisxoj joined #lisp 2018-02-01T20:38:32Z shrdlu68 joined #lisp 2018-02-01T20:38:45Z damke quit (Ping timeout: 264 seconds) 2018-02-01T20:39:04Z phoe: Xach: I asked for a similar thing one time ago 2018-02-01T20:39:18Z phoe: https://github.com/phoe/cl-furcadia/blob/master/date-parser/date-parser.lisp 2018-02-01T20:39:29Z daydayup: lisp爲什麼沒在機器學習大放異彩 2018-02-01T20:39:33Z phoe: though that is for a simpler case, "https://github.com/phoe/cl-furcadia/blob/master/date-parser/date-parser.lisp" 2018-02-01T20:39:38Z phoe: daydayup: this is an English speaking channel 2018-02-01T20:41:01Z Cymew joined #lisp 2018-02-01T20:42:31Z Xach: https://github.com/xach/usenet-legend/blob/master/date-parser.lisp is what I just copied. 2018-02-01T20:43:07Z phoe: oooh. 2018-02-01T20:43:08Z Xach: parse ALL the dates 2018-02-01T20:45:14Z dlowe: rebol has a parser generator built-in to the language, and I'm starting to think that's admirable. So many problems are parsing problems. 2018-02-01T20:45:20Z _death: net.telent.date can parse it, fwiw 2018-02-01T20:45:26Z fikka joined #lisp 2018-02-01T20:45:35Z Cymew quit (Ping timeout: 260 seconds) 2018-02-01T20:47:10Z dddddd joined #lisp 2018-02-01T20:47:50Z Xach: thank 2018-02-01T20:49:26Z didi: dlowe: So much of what we do is dealing with ourselves. I think of it like an expanding sphere: the volume grows faster than the surface. 2018-02-01T20:49:58Z Petit_Dejeuner: lol, even the Chinese come in here to ask about the future/popularity of lisp 2018-02-01T20:50:20Z fikka quit (Ping timeout: 256 seconds) 2018-02-01T20:50:25Z random-nick: what did that person ask? 2018-02-01T20:50:46Z phoe: why didn't Lisp shine in machine learning 2018-02-01T20:50:54Z phoe: that's what google translate tells me 2018-02-01T20:51:43Z random-nick: also, how did that chinese person get here in the first place without knowledge of english? 2018-02-01T20:51:57Z smasta joined #lisp 2018-02-01T20:52:14Z Petit_Dejeuner: didi: SBCL 1.2.4.debian 2018-02-01T20:53:02Z didi: Petit_Dejeuner: Old Stable? 2018-02-01T20:53:25Z Petit_Dejeuner: I'm actually on Devuan. 2018-02-01T20:53:29Z didi: oic 2018-02-01T20:53:42Z z3t0 joined #lisp 2018-02-01T20:53:56Z aeth: Wow, that's old. 2018-02-01T20:54:04Z damke joined #lisp 2018-02-01T20:54:09Z jmercouris: random-nick: isn't freenode banned in china? 2018-02-01T20:54:18Z markong quit (Ping timeout: 256 seconds) 2018-02-01T20:54:19Z jmercouris: maybe they are taiwanese 2018-02-01T20:54:24Z random-nick: I don't know 2018-02-01T20:54:41Z Petit_Dejeuner: aeth: You should see the results of apt-cache search lisp. 2018-02-01T20:54:52Z Petit_Dejeuner: Half of it is lisp libraries with apt packages. 2018-02-01T20:55:10Z aeth: I'm on Fedora and Fedora basically updates it with the distro and never again (so currently 1.4.2 because Fedora is roughly every 6 months and the upgrade was recent). 2018-02-01T20:55:21Z aeth: Fedora does that sort of thing with some languages (perl, python, ruby), but not with Lisp (yet) 2018-02-01T20:55:52Z aeth: The most annoying one is with LaTeX, whose package manager apparently is set up to prefer hundreds/thousands of tiny packages 2018-02-01T20:56:01Z Petit_Dejeuner: cl-split-sequence, cl-sql, cl-sqlite, cl-trivial-backtrace, cl-trivial-garbage, cl-uffi, cl-uffi-tests, cl-unicode, etc 2018-02-01T20:56:13Z dlowe: package managers could use some namespacing 2018-02-01T20:56:18Z aeth: Petit_Dejeuner: Is that because there is something that depends on those in Debian? 2018-02-01T20:56:22Z phoe: Petit_Dejeuner: same with debian. 2018-02-01T20:56:26Z cgay: I'm not an expert but those do look like traditional Chinese characters, so maybe Taiwan. 2018-02-01T20:56:36Z phoe: there are just people who package lisp libraries in apt for some reason. 2018-02-01T20:56:38Z aeth: The only thing that depends on a CL (SBCL) is Maxima afaik. 2018-02-01T20:56:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-01T20:56:46Z phoe: aeth: pgloader 2018-02-01T20:56:46Z aeth: (In Feodra, I mean.) 2018-02-01T20:56:54Z didi: phoe: I like those people. They are nice people. :-) 2018-02-01T20:57:22Z phoe: didi: I don't doubt they're nice, I don't doubt that some people who do Linux more than they do Lisp find them useful 2018-02-01T20:57:30Z Petit_Dejeuner: There's some old airport passenger routing algorithm running on an old debian server that uses apt-get for cl-split-sequence or something. 2018-02-01T20:57:31Z phoe: it's just that with quicklisp, I have no use for them. 2018-02-01T20:57:42Z didi: phoe: Fair. 2018-02-01T20:57:44Z Rawriful joined #lisp 2018-02-01T20:59:38Z aeth: I think any properly-run distro is probably going to essentially never update the Lisp installations except during new distro releases (well, unless it's a rolling release distro). Especially SBCL. They tend to have a lot of "minor incompatible change"s, but I guess a good packager would update until the first one. http://www.sbcl.org/all-news.html 2018-02-01T21:00:50Z aeth: The distro packages should be stable enough to rely on them. 2018-02-01T21:01:17Z aeth: I'm not sure that's very feasible when you start pulling in Lisp, Python, Ruby, Perl, etc., packages from the language package managers, though. 2018-02-01T21:01:30Z z3t0 quit (Remote host closed the connection) 2018-02-01T21:01:50Z z3t0 joined #lisp 2018-02-01T21:02:09Z damke quit (Ping timeout: 263 seconds) 2018-02-01T21:02:29Z wigust quit (Ping timeout: 256 seconds) 2018-02-01T21:02:39Z Cymew joined #lisp 2018-02-01T21:03:13Z damke joined #lisp 2018-02-01T21:03:47Z JuanDaugherty quit (Quit: Ex Chat) 2018-02-01T21:05:27Z damke_ joined #lisp 2018-02-01T21:05:35Z z3t0 quit (Remote host closed the connection) 2018-02-01T21:05:40Z python476 joined #lisp 2018-02-01T21:06:49Z z3t0 joined #lisp 2018-02-01T21:06:54Z smurfrobot joined #lisp 2018-02-01T21:06:57Z Cymew quit (Ping timeout: 240 seconds) 2018-02-01T21:07:02Z rme: I have the impression that it is usual in python to use a virtualenv (and pip) to isolate yourself from the system python libraries installed by the system package manager. 2018-02-01T21:07:47Z rme: So it's not just lispers who look with suspicion on distribution-packaged libraries. 2018-02-01T21:07:48Z White_Flame: yep, we're getting into all that in our heterogeneous language environment 2018-02-01T21:07:56Z damke quit (Ping timeout: 252 seconds) 2018-02-01T21:08:05Z White_Flame: node really popularized it 2018-02-01T21:08:13Z damke__ joined #lisp 2018-02-01T21:08:16Z aeth: Distribution-packaged libraries should basically just be there to handle dependencies for distribution-packaged applications that are written in that language. 2018-02-01T21:08:34Z fikka joined #lisp 2018-02-01T21:08:47Z aeth: i.e. they're for /, quicklisp is for ~ 2018-02-01T21:08:55Z Cymew joined #lisp 2018-02-01T21:11:09Z damke_ quit (Ping timeout: 264 seconds) 2018-02-01T21:11:27Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-01T21:11:28Z z3t0 quit (Ping timeout: 265 seconds) 2018-02-01T21:12:37Z dieggsy joined #lisp 2018-02-01T21:12:55Z shka quit (Ping timeout: 265 seconds) 2018-02-01T21:13:35Z Cymew quit (Ping timeout: 260 seconds) 2018-02-01T21:15:01Z Cymew joined #lisp 2018-02-01T21:17:09Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-02-01T21:19:27Z Cymew quit (Ping timeout: 248 seconds) 2018-02-01T21:20:21Z z3t0 joined #lisp 2018-02-01T21:24:16Z sjl quit (Read error: Connection reset by peer) 2018-02-01T21:25:41Z rme: https://omniosce.org/about/kysty.html 2018-02-01T21:26:22Z rme: "Keep your stuff to yourself" 2018-02-01T21:27:19Z dlowe: now that's an interesting idea. 2018-02-01T21:27:19Z rme: where "stuff" is a substitute for another word that starts with "sh" and ends with "t" and has an "i" in the middle. 2018-02-01T21:28:19Z hhdave joined #lisp 2018-02-01T21:29:18Z smasta quit (Ping timeout: 240 seconds) 2018-02-01T21:29:53Z daydayup: 有人會中文嗎 2018-02-01T21:30:28Z pjb: rme: the problem with python is different; there is not a single python, but 3 or 6 different pythons. Different languages. They use the same name and same library names, mostly. 2018-02-01T21:30:31Z phoe: 我不這麼認為 2018-02-01T21:30:44Z pjb: rme: that's what you get when you don't have a fixed standard. 2018-02-01T21:32:37Z aeth: pjb: The big problem with Python is 2 vs 3. It's finally now being resolved 10 years later, but I still run into issues with it. e.g. A program I used to compile with scons now no longer compiles with scons because the scons in my distro is now using Python 3, but the program's stable branch hasn't been (and afaik won't be) updated for that scons. 2018-02-01T21:33:16Z pjb: aeth: if by resolved you mean duplicating everything, then yes. 2018-02-01T21:33:23Z aeth: Python would probably have been word-dominatingly popular (its strategy of being the newbie language is a good one) if it wasn't for 2 vs 3 issues for literally 10 years now. 2018-02-01T21:33:26Z hiroaki joined #lisp 2018-02-01T21:34:10Z pjb: and when I say "duplicate": $ port search sphinx|grep -e 'py..-sphinx ' 2018-02-01T21:34:10Z pjb: py27-sphinx @1.6.6 (python, textproc, devel) 2018-02-01T21:34:10Z pjb: py34-sphinx @1.6.6 (python, textproc, devel) 2018-02-01T21:34:10Z pjb: py35-sphinx @1.6.6 (python, textproc, devel) 2018-02-01T21:34:13Z pjb: py36-sphinx @1.6.6 (python, textproc, devel) 2018-02-01T21:34:25Z sjl joined #lisp 2018-02-01T21:34:26Z daydayup: lisp爲啥不流行,只是大部分人不聰明造成的嗎 2018-02-01T21:34:33Z pjb: obviously there are also issues between 3.4, 3.5 and 3.6… 2018-02-01T21:35:06Z aeth: pjb: That's probably the developer wanting to use newer features. 2018-02-01T21:35:17Z phoe: 這裡沒有人知道中國人. 2018-02-01T21:35:25Z pjb: Nonetheless, all the packages are multiplied this way. 2018-02-01T21:35:29Z nox2 quit (Ping timeout: 276 seconds) 2018-02-01T21:36:11Z Rawriful: I still think in terms of popularity. Java has the right approach with backcompat. Purely due to the fact that business prefers it. A business has nothing to gain from having to port it's application to a new version of a lang. 2018-02-01T21:36:35Z daydayup: 不是還有我們知道 2018-02-01T21:36:37Z phoe: Rawriful: so basically CL did the right thing 24 years ago 2018-02-01T21:36:53Z aeth: pjb: Right, but Python 2.7 code probably won't run in Python 3. Python 3.4 code will run in 3.6, it's just that they want to use 3.6 features. Afaik. 2018-02-01T21:37:04Z aeth: The last thing you want to do to a language is break programs. 2018-02-01T21:38:00Z Rawriful: phoe: imo yes, if there was an initial significant commercial hold with cl it would be a lot stronger. But the other thing about java is that it's quite difficult to make bad code *really* bad due to it's lack of expressionality. 2018-02-01T21:38:16Z aeth: Although, actually, it's not that big of a deal in CL. CL *could* have breaking changes because of how it's structured. e.g. Just have new programs (:use #:cl2019) or something instead of (:use #:cl) and there you go. Problem solved. 2018-02-01T21:38:17Z Rawriful: if you added AST macros to java I can only imagine the horror stories. 2018-02-01T21:39:54Z phoe: companies prefer dumb languages because it seems that it's harder to write unmaintainable code in them 2018-02-01T21:40:05Z phoe: and then you get unmaintainable code anyway because life always finds a way~ 2018-02-01T21:40:27Z phoe: https://github.com/Droogans/unmaintainable-code 2018-02-01T21:40:41Z rumbler31 quit (Ping timeout: 276 seconds) 2018-02-01T21:41:03Z aeth: phoe: Well, I think what they want is replacable, cheap employees even if they need more. The Common Lisp approach is aiming more for smaller teams that are paid more per person. 2018-02-01T21:41:28Z phoe: ayup, and that is why popularity causes popularity in case of Javalike languages. 2018-02-01T21:41:31Z Rawriful: phoe: I think yes but I think how bad that gets is more limited in java. and sort of what aeth said as well. 2018-02-01T21:41:45Z White_Flame: I've been reading some 1960s LISP code (yes, all-caps to be time-appropriate), and man it's a tangle of GO and COND 2018-02-01T21:41:49Z aeth: Java is programming as a factory. CL is programming as an art. 2018-02-01T21:42:07Z Cymew joined #lisp 2018-02-01T21:42:21Z aeth: (Of course, you can write Java in any language, and you can definitely do that in CL if you ban a few things like defmacro.) 2018-02-01T21:42:30Z phoe: Rawriful: except if you write unmaintainable code in Java, people might not notice and might even get used to it, and it may even pass reviews beacuse it's so huge and so God damn tangled with all the files, classes and classes of classes. 2018-02-01T21:42:51Z phoe: it's harder with Lisp because you have much less code to begin with and it's harder to hide shit in there. 2018-02-01T21:43:23Z Petit_Dejeuner: 'It's finally now being resolved 10 years later' if only 2018-02-01T21:43:29Z Rawriful: phoe: Oh I'm totally not saying it's impossible, but I've seen some shit and one of my reactions have basically been. "I am so glad that this person did not know about macros" 2018-02-01T21:43:35Z phoe: and if you do really weird shit like readtable modification, it immediately catches a reviewer's eye. 2018-02-01T21:43:37Z Petit_Dejeuner: intro unix classes at my uni were teaching Python less than two years ago 2018-02-01T21:43:41Z Petit_Dejeuner: Pytohn2* 2018-02-01T21:43:59Z Petit_Dejeuner: Python2 will die as soon as perl5 does. 2018-02-01T21:44:02Z phoe: Rawriful: I've seen some Lisp shit too. (Un)luckily it was just a person trying to write C in Lisp. 2018-02-01T21:44:10Z phoe: Horrible, in its own way. 2018-02-01T21:44:27Z phoe: But it is also nice to ask the person if it works, and then, if it works, show them how this can be reduced to idiomatic Lisp. 2018-02-01T21:44:29Z Petit_Dejeuner: phoe: closing parens on their own lines? 2018-02-01T21:44:29Z Rawriful: phoe: I work in scala and maintain a codebase that is basically written like it's js. 2018-02-01T21:44:43Z Rawriful: it's terrifying 2018-02-01T21:44:44Z aeth: Petit_Dejeuner: Universities are like giant enterprises in their tech choices and move about as slowly as them. 2018-02-01T21:44:50Z Rawriful: it reinvents *classes* 2018-02-01T21:44:50Z phoe: Which usually takes a 50% to 80% reduction in code volume as a first effect. 2018-02-01T21:44:55Z phoe: Petit_Dejeuner: yes. 2018-02-01T21:45:02Z phoe: Rawriful: what the fuck 2018-02-01T21:45:08Z aeth: (I wonder what percent of university tuition money goes to overpaying for Oracle stuff.) 2018-02-01T21:45:59Z Petit_Dejeuner: aeth: That's my point. For every open source code base ported to 3, there's several university courses, internal software at a corporation, and research numpy/scipy scripts in 2 that will never be ported. 2018-02-01T21:46:20Z Rawriful: phoe: it's true horror. 2018-02-01T21:46:41Z Cymew quit (Ping timeout: 256 seconds) 2018-02-01T21:46:42Z aeth: Petit_Dejeuner: Yes, but it has finally, after 10 years, gotten to the point where 3 is inevitable. Perl 5 will probably never be replaced by Perl 6. They're even more different. 2018-02-01T21:47:00Z Rawriful: phoe: they use maps and validate the maps using json schemas. 2018-02-01T21:47:16Z phoe: ಠ_ಠ 2018-02-01T21:47:29Z White_Flame: needs moar XML 2018-02-01T21:47:39Z aeth: Petit_Dejeuner: Meanwhile in CL, a new breaking specification *would* just require (:use #:cl2019) instead of (:use #:cl) unless they changed how packages or the reader worked. 2018-02-01T21:47:48Z damke joined #lisp 2018-02-01T21:47:50Z Petit_Dejeuner wrote new Python2 code today. 2018-02-01T21:48:04Z phoe: Why JSON schemas? This could have been done more enterprisefully by using XSLT transforms and SOAP. 2018-02-01T21:48:18Z fikka quit (Ping timeout: 268 seconds) 2018-02-01T21:48:26Z Rawriful: phoe: because that would involve reusing a technology. 2018-02-01T21:48:32Z Cymew joined #lisp 2018-02-01T21:48:43Z phoe facepalms 2018-02-01T21:48:44Z Petit_Dejeuner: Hey, JSON is nice. 2018-02-01T21:48:55Z aeth: JSON is simple. 2018-02-01T21:49:01Z phoe: are people who write code like this doing, uh, what, are they trying to ensure a job for life or something 2018-02-01T21:49:01Z Rawriful: it is, but in a static language, you don't need json schemas to validate your types. 2018-02-01T21:49:05Z White_Flame: aeth: in theory, it could swap out reader macros or whatever on toplevel (in-package ...)s as well 2018-02-01T21:49:24Z phoe: JSON is a nice reinvention of S-expressions 2018-02-01T21:49:33Z damke__ quit (Ping timeout: 264 seconds) 2018-02-01T21:49:43Z White_Flame: JSON's lack of numeric map keys is frustrating, though 2018-02-01T21:49:48Z pagnol joined #lisp 2018-02-01T21:49:52Z White_Flame: not everything wants to be a string 2018-02-01T21:50:06Z aeth: phoe: XML is closer to s-expressions than JSON imo 2018-02-01T21:50:15Z phoe cough {"1": "foo", "2": "bar", ...} cough 2018-02-01T21:50:28Z White_Flame: XML just has that stupid child vs attribute problem, though, which isn't very sexpr-like 2018-02-01T21:50:35Z phoe: aeth: I know, but XML is way too verbose. We don't need each closing paren to state which opening paren it closes. 2018-02-01T21:50:38Z dieggsy quit (Remote host closed the connection) 2018-02-01T21:50:47Z Rawriful: I actually quite like xml, I think some of the biggest problems with it were the parsers people generating for schemas had bad error warnings where that really shouldn't be the case. 2018-02-01T21:51:11Z z3t0_ joined #lisp 2018-02-01T21:51:25Z White_Flame: and XML has no native datatypes besides text, either. And supports mixing of "body text" with tags 2018-02-01T21:51:26Z Rawriful: that and people started to try and program in xml which is obviously not going to end well 2018-02-01T21:51:30Z dieggsy joined #lisp 2018-02-01T21:51:34Z Petit_Dejeuner: This is where someone comes in a says "SGML > XML" 2018-02-01T21:52:00Z Rawriful: White_Flame: I thought you could specify numbers in schemas and date patterns etc? 2018-02-01T21:52:24Z White_Flame: Rawriful: I haven't used JSON schemas, but JSON itself only has string keys 2018-02-01T21:52:48Z Rawriful: White_Flame: ah sorry I was talking about xml schemas. 2018-02-01T21:53:41Z Cymew quit (Ping timeout: 276 seconds) 2018-02-01T21:54:28Z fikka joined #lisp 2018-02-01T21:54:29Z Cymew joined #lisp 2018-02-01T21:54:59Z z3t0 quit (Ping timeout: 276 seconds) 2018-02-01T21:57:35Z daydayup quit (Quit: Leaving) 2018-02-01T21:58:05Z aeth: White_Flame: I think the most difficult but potentially desirable change in a hypothetical future CL would be case sensitivity instead of upcasing, but that would break a lot of code that assumes 'foo is the symbol represented by the string "FOO", and that "-BAR" would generate 'foo-bar and not 'foo-BAR 2018-02-01T21:58:21Z aeth: That's what I mean by changing the reader. 2018-02-01T21:58:48Z Cymew quit (Ping timeout: 240 seconds) 2018-02-01T21:58:51Z White_Flame: I don't see any desirability there 2018-02-01T21:58:55Z Shinmera: Me neither 2018-02-01T21:58:59Z phoe: me neither 2018-02-01T21:59:07Z White_Flame: in our communications platform, we even explicitly made symbols case-insensitive 2018-02-01T21:59:31Z aeth: White_Flame: I'm just using this as an example of something that can't be easily fixed just by using a package other than CL 2018-02-01T21:59:31Z White_Flame: they should be simple keywords, not carry meaning in their character-by-character syntax 2018-02-01T21:59:37Z phoe: the above would mean that people would come in and start coding things in caseLikeThis or CaseLikeThis instead of traditional-kebab-case 2018-02-01T21:59:49Z Murii quit (Quit: WeeChat 1.4) 2018-02-01T21:59:49Z Shinmera: aeth: you can change the readtable case easy 2018-02-01T22:00:00Z phoe: and also all the typos that come from things like symbolCase and SymbolCase 2018-02-01T22:00:19Z z3t0_ quit (Remote host closed the connection) 2018-02-01T22:00:22Z quazimodo joined #lisp 2018-02-01T22:00:22Z White_Flame: cymbalcase 2018-02-01T22:00:23Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-02-01T22:00:27Z aeth: phoe: You can probably detect that and warn at the compiler level. 2018-02-01T22:00:30Z Cymew joined #lisp 2018-02-01T22:00:36Z markong joined #lisp 2018-02-01T22:00:41Z phoe: aeth: "but I totally intended this!!!1" 2018-02-01T22:00:58Z phoe: "don't warn me about code that I broke purposefully to ensure myself a maintenance job for life" 2018-02-01T22:01:51Z aeth: phoe: (defclass |AbstractFooBarBazFactory| ...) 2018-02-01T22:02:03Z phoe: aeth: oh god no 2018-02-01T22:03:47Z aeth: You can program Java in any language. I've seen a Java program written in Python before. 2018-02-01T22:04:55Z Cymew quit (Ping timeout: 260 seconds) 2018-02-01T22:06:27Z Cymew joined #lisp 2018-02-01T22:08:01Z aeth: phoe: If Common Lisp ever became popular, there would probably be an Eternal September moment where the community could no longer keep up with the influx of new users, and we'd see things like camelCase and )s on their own line. 2018-02-01T22:08:42Z Shinmera: We already do 2018-02-01T22:09:00Z Shinmera: Don't need lots of users for that, just clueless or stubborn ones. 2018-02-01T22:09:04Z Mqrius: Ah, but then we'll let them have their Commoner Lisp, and we'll write proper ANSI Common Lisp 2018-02-01T22:09:59Z yggdrasil_core: I think you mean lisp++ 2018-02-01T22:10:11Z aeth: Shinmera: Sorry, I mean, we'd see things like that as the *majority* rather than an outlier 2018-02-01T22:10:17Z pfdietz_ joined #lisp 2018-02-01T22:10:35Z Shinmera: I don't think so 2018-02-01T22:11:00Z Cymew quit (Ping timeout: 252 seconds) 2018-02-01T22:11:10Z pfdietz_: (incf lisp) 2018-02-01T22:11:13Z aeth: The only large community I know of that has a very uniform style is Python's, with their PEP 8 that they constantly point to and that even Python linters can check for. 2018-02-01T22:11:55Z yggdrasil_core: I would say go is probably more uniform 2018-02-01T22:11:57Z aeth: CL has several large style guides, but none that's even close to authoritative. 2018-02-01T22:12:06Z aeth: yggdrasil_core: I think Go enforces that with a tool. 2018-02-01T22:12:25Z smurfrobot joined #lisp 2018-02-01T22:12:38Z yggdrasil_core: it's built into the interpreter 2018-02-01T22:13:12Z yggdrasil_core: something I don't personally agree with but whatever :l 2018-02-01T22:13:24Z aeth: tabs iirc 2018-02-01T22:13:41Z varjag quit (Remote host closed the connection) 2018-02-01T22:14:00Z White_Flame: at least we have SLIME to give a canonical indentation 2018-02-01T22:14:18Z aeth: Code with tabs is imo archaic. These days, most code is read online without ever being downloaded, via websites that have terrible tab settings (8 spaces and other ridiculous things like that) 2018-02-01T22:15:25Z aeth: So people don't get the indentation level they want with tabs, they get pretty much the worst (too much indentation) with tabs 2018-02-01T22:15:54Z pfdietz_: I run into that issue when I paste sbcl bug examples into launchpad. 2018-02-01T22:16:51Z yggdrasil_core: I always used spaces because most of what I write is C and I like to align things, and a proper editor makes navigating groups of spaces work like tabs 2018-02-01T22:17:24Z aeth: Emacs's default for languages like C iirc is to mix tabs and spaces. Tabs for indentation level, and then spaces for the final alignment. 2018-02-01T22:17:33Z aeth: Unless they changed that. 2018-02-01T22:18:21Z aeth: (No one uses Emacs for its defaults.) 2018-02-01T22:18:21Z Cymew joined #lisp 2018-02-01T22:18:57Z jmercouris quit (Ping timeout: 240 seconds) 2018-02-01T22:20:06Z aeth: It's really great that CL's style is so uniform, though. 2018-02-01T22:21:25Z Xach: uniform!! 2018-02-01T22:21:48Z aeth: One of the few style disputes I've seen is ";;;;" vs ";;;" for in-file comment headings. The top of the file heading is ";;;;" and top level comments for things like defun are ";;;" and internal line comments are ";;" and end of line comments are ";". But ";;;; Foo Section" vs. ";;; Foo Section" in the middle of a file is an area where you can have a style argument. 2018-02-01T22:21:50Z fisxoj quit (Quit: fisxoj) 2018-02-01T22:22:04Z Xach: (open :direction ':output) is something I saw once! 2018-02-01T22:22:14Z pfdietz_: The great thing about standards is there's so many to choose from? 2018-02-01T22:22:57Z Cymew quit (Ping timeout: 248 seconds) 2018-02-01T22:23:17Z Shinmera: The great thing about standards is that the only good ones are the ones you choose 2018-02-01T22:24:23Z Cymew joined #lisp 2018-02-01T22:24:55Z pillton joined #lisp 2018-02-01T22:25:59Z Xach: Shinmera: in chirp, what kind of argument is display-coordinates? 2018-02-01T22:26:22Z Shinmera: Uuuh. In which function? 2018-02-01T22:26:39Z Xach: statuses/update 2018-02-01T22:27:37Z Shinmera: According to https://developer.twitter.com/en/docs/tweets/post-and-engage/api-reference/post-statuses-update "Whether or not to put a pin on the exact coordinates a Tweet has been sent from." 2018-02-01T22:27:43Z python476 quit (Read error: Connection reset by peer) 2018-02-01T22:27:52Z Shinmera: I don't know what that means though 2018-02-01T22:28:14Z vlatkoB quit (Remote host closed the connection) 2018-02-01T22:28:57Z Shinmera: Probably something related to the geo field, but I have no idea. 2018-02-01T22:29:11Z Cymew quit (Ping timeout: 256 seconds) 2018-02-01T22:30:17Z Cymew joined #lisp 2018-02-01T22:33:45Z Mqrius: Let's make a true final universal lisp style though. I mean, lisp is great and all, but there's so many brackets! If we just move them away a little, everything will look much cleaner, like python! Take for example this fibonnaci function. Isn't it beautiful? https://pastebin.com/5YkNS2Da 2018-02-01T22:34:51Z Cymew quit (Ping timeout: 256 seconds) 2018-02-01T22:35:04Z Bike quit (Ping timeout: 260 seconds) 2018-02-01T22:35:13Z didi: Mqrius: No? 2018-02-01T22:35:20Z yggdrasil_core: that code looks like it is underwater 2018-02-01T22:35:49Z Mqrius: yggdrasil_core: That's because it's so fluent to write in! 2018-02-01T22:36:16Z Cymew joined #lisp 2018-02-01T22:36:17Z drcode quit (Quit: ZNC 1.6.5 - http://znc.in) 2018-02-01T22:37:17Z Mqrius: Hmmm yes, and the style should probably be enforced rigorously. I'm thinking the compiler deletes your file if it's wrong, and tells you to do it over. 2018-02-01T22:37:30Z hhdave quit (Quit: hhdave) 2018-02-01T22:38:23Z jasom: we should obvioulsy abandon s-expressions in favor of the more flexible yaml notation for lists 2018-02-01T22:39:34Z random-nick: or the industry standard json 2018-02-01T22:39:38Z didi: mexps are the wave of the future 2018-02-01T22:40:00Z yggdrasil_core: just use xml 2018-02-01T22:40:32Z Mqrius: I've had great success scribbling notes and using a human to parse them. 2018-02-01T22:40:47Z Mqrius: Additional benefit is that we don't need electricity 2018-02-01T22:40:48Z Cymew quit (Ping timeout: 240 seconds) 2018-02-01T22:40:49Z pfdietz_: Any data can be turned into Big Data by encoding it in xml. 2018-02-01T22:42:41Z mishoo quit (Ping timeout: 248 seconds) 2018-02-01T22:43:02Z Mqrius: It's hard to remember big data though. How do I turn it back into small data? 2018-02-01T22:43:03Z jasom: https://gist.github.com/jasom/96d8fed86a3548024b7c0a5a250a6105 2018-02-01T22:44:04Z mlf joined #lisp 2018-02-01T22:45:14Z varjag joined #lisp 2018-02-01T22:50:45Z eivarv joined #lisp 2018-02-01T22:50:45Z sjl quit (Ping timeout: 264 seconds) 2018-02-01T22:52:18Z Devon joined #lisp 2018-02-01T22:52:29Z oleo quit (Ping timeout: 255 seconds) 2018-02-01T22:52:39Z rumbler31 joined #lisp 2018-02-01T22:53:11Z pfdietz_ quit (Quit: Bye) 2018-02-01T22:54:40Z rumbler3_ joined #lisp 2018-02-01T22:56:53Z Karl_Dscc quit (Remote host closed the connection) 2018-02-01T22:57:03Z rumbler31 quit (Ping timeout: 248 seconds) 2018-02-01T22:58:38Z iqubic joined #lisp 2018-02-01T23:01:32Z eivarv quit (Quit: Sleep) 2018-02-01T23:01:38Z wxie joined #lisp 2018-02-01T23:06:48Z kupad joined #lisp 2018-02-01T23:06:58Z damke_ joined #lisp 2018-02-01T23:08:59Z trocado joined #lisp 2018-02-01T23:09:21Z damke quit (Ping timeout: 264 seconds) 2018-02-01T23:09:48Z EvW quit (Ping timeout: 240 seconds) 2018-02-01T23:16:13Z Mqrius quit 2018-02-01T23:19:59Z vap1 quit (Ping timeout: 248 seconds) 2018-02-01T23:20:03Z jmercouris joined #lisp 2018-02-01T23:20:13Z jmercouris: Does there exist a linter tool for lisp? surely there is one? 2018-02-01T23:20:21Z smurfrobot quit (Remote host closed the connection) 2018-02-01T23:20:40Z aeth: SBCL's compiler gives many linter-style warnings and notes. 2018-02-01T23:20:50Z aeth: I guess a lot of people see that as good enough. 2018-02-01T23:21:56Z EvW joined #lisp 2018-02-01T23:22:45Z blackwolf quit (Remote host closed the connection) 2018-02-01T23:24:48Z attila_lendvai joined #lisp 2018-02-01T23:26:50Z fikka quit (Quit: leaving) 2018-02-01T23:27:08Z fikka joined #lisp 2018-02-01T23:27:35Z Bike joined #lisp 2018-02-01T23:28:05Z ckonstanski joined #lisp 2018-02-01T23:28:30Z _death: there is lisp-critic 2018-02-01T23:34:09Z z3t0 joined #lisp 2018-02-01T23:36:56Z z3t0 quit (Remote host closed the connection) 2018-02-01T23:37:30Z z3t0 joined #lisp 2018-02-01T23:38:11Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2018-02-01T23:41:56Z z3t0 quit (Ping timeout: 252 seconds) 2018-02-01T23:43:14Z jmercouris: interesting 2018-02-01T23:44:12Z smurfrobot joined #lisp 2018-02-01T23:44:45Z z3t0 joined #lisp 2018-02-01T23:46:35Z random-nick quit (Ping timeout: 240 seconds) 2018-02-01T23:46:39Z fikka quit (Ping timeout: 248 seconds) 2018-02-01T23:48:25Z pbgc joined #lisp 2018-02-01T23:49:23Z smurfrobot quit (Ping timeout: 276 seconds) 2018-02-01T23:50:25Z drcode joined #lisp 2018-02-01T23:51:33Z stacksmith joined #lisp 2018-02-01T23:52:17Z pillton: jasom: Haha 2018-02-01T23:53:11Z fikka joined #lisp 2018-02-01T23:53:17Z wxie quit (Ping timeout: 276 seconds) 2018-02-01T23:53:32Z stacksmith: Hello. Can someone clarify a keyword lambda-list parameter issue for me? 2018-02-01T23:53:40Z Bike: probably! 2018-02-01T23:54:26Z didi: Speaking of keyword, today I defined a function using a keyword as its name. Naughty. 2018-02-01T23:54:39Z smasta joined #lisp 2018-02-01T23:54:40Z stacksmith: Great. I am having trouble figuring out the standard about arguments that are not symbols. 2018-02-01T23:54:51Z stacksmith: For instance, functions that return symbols. 2018-02-01T23:55:24Z Bike: arguments can be anything, of course. in (+ 2 3) the arguments are numbers. do you mean parameter names? 2018-02-01T23:57:10Z fikka quit (Ping timeout: 240 seconds) 2018-02-01T23:58:29Z stacksmith: By parameter I mean lambda-list description in the definition. So if I have (blah &key q &allow-other-keys), there is what I refer to as a keyword parameter :q. However, when I later call this function, the argument q may be actual :q (blah :q 1) or something like (blah (some-function-that-returns :q) 1) 2018-02-01T23:58:54Z White_Flame: oh, you mean which arguments are evaluated and which arguments are literal? 2018-02-01T23:59:32Z stacksmith: So I was getting SBCL warnings about non-symbol arguments weakening checking... But now I can't. So I tried to figure out what the standard says, but got even more confused. 2018-02-01T23:59:50Z Bike: oh, i see 2018-02-02T00:00:00Z z3t0 quit (Remote host closed the connection) 2018-02-02T00:00:03Z White_Flame: because of APPLY, keyword values need to be able to be runtime scanned from a generic argument list 2018-02-02T00:00:12Z Bike: indeed you can have the keys be returned from calls or whatever. it's just very unusual to do so, so sbcl complains a little. 2018-02-02T00:00:26Z z3t0 joined #lisp 2018-02-02T00:00:42Z stacksmith: That's what I thought. 2018-02-02T00:00:45Z White_Flame: ( s/values/parameters/ ) 2018-02-02T00:01:52Z hiroaki quit (Ping timeout: 256 seconds) 2018-02-02T00:02:16Z stacksmith: I am not sure why the warnings went away... 2018-02-02T00:04:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-02T00:04:40Z z3t0 quit (Ping timeout: 252 seconds) 2018-02-02T00:04:58Z oleo joined #lisp 2018-02-02T00:05:17Z damke_ joined #lisp 2018-02-02T00:05:34Z shifty joined #lisp 2018-02-02T00:05:42Z stacksmith: White_Flame: would you give me the full link? 2018-02-02T00:06:25Z White_Flame: oh, I wasn't referring to a specific part of the spec, just what it would take to APPLY a function that took keyword args 2018-02-02T00:06:57Z stacksmith: Ha. 2018-02-02T00:07:25Z White_Flame: if you use DISASSEMBLE in SBCL, you'll often see something like "non-keyword parsing entry" 2018-02-02T00:07:56Z White_Flame: so there's another path that walks through the arguments one by one at runtime, seeing where in the keyword list things match up 2018-02-02T00:08:17Z trocado quit (Ping timeout: 268 seconds) 2018-02-02T00:08:29Z smurfrobot joined #lisp 2018-02-02T00:08:41Z White_Flame: so that needs to be resilient to dynamically passed argument lists (like APPLY) as well as computed keywords, by necessity 2018-02-02T00:08:57Z hel-io joined #lisp 2018-02-02T00:10:13Z stacksmith: That is entirely sensible. If I could only figure out how I got this warning before, I'd feel a whole lot better. 2018-02-02T00:12:49Z Bike: compile-filing "(defun foo (&key a) a) (defun bar (b) b) (defun baz (x) (foo (bar :a) x)) does it fo rme. 2018-02-02T00:13:18Z nirved quit (Quit: Leaving) 2018-02-02T00:13:39Z _death: I actually used runtime keyword args once.. even made a comment about it :) 2018-02-02T00:14:42Z fikka joined #lisp 2018-02-02T00:15:02Z stacksmith: Bike: Not for me! Shite. 2018-02-02T00:15:58Z stacksmith: What warning do you get? 2018-02-02T00:16:13Z stacksmith: And what implementation are you using? 2018-02-02T00:17:16Z Bike: sbcl. 2018-02-02T00:17:31Z Bike: "The first argument (in keyword position) is not a constant, weakening keyword argument checking." 2018-02-02T00:17:35Z Bike: note that it has to be compile-file 2018-02-02T00:17:36Z Kaisyu joined #lisp 2018-02-02T00:17:56Z Bike: also, it's actually a note rather than a warning. 2018-02-02T00:18:46Z markong quit (Ping timeout: 268 seconds) 2018-02-02T00:18:59Z stacksmith: Right. that does work. 2018-02-02T00:19:25Z LiamH quit (Quit: Leaving.) 2018-02-02T00:20:44Z stacksmith: I think I was doing it from REPL, which behaves differently. 2018-02-02T00:21:50Z Bike: yeah, it doesn't warn in the same way. 2018-02-02T00:22:08Z jmercouris: Shinmera: In case you are interested, changing it to define-command fixed the indentation somehow magically :D 2018-02-02T00:22:30Z jmercouris: Shinmera: Seems like indentation on something that doesn't meet those prefixes that you listed results in improper indentation 2018-02-02T00:24:32Z kupad quit (Ping timeout: 256 seconds) 2018-02-02T00:27:45Z stacksmith: Great... Thanks a bunch. 2018-02-02T00:29:09Z jmercouris quit (Ping timeout: 264 seconds) 2018-02-02T00:32:47Z wxie joined #lisp 2018-02-02T00:32:58Z stacksmith: _death: curious about why you used runtime keywords... 2018-02-02T00:33:28Z wxie quit (Client Quit) 2018-02-02T00:33:55Z _death: stacksmith: just an aesthetic choice.. could be easily written differently 2018-02-02T00:34:09Z pierpa joined #lisp 2018-02-02T00:34:10Z randomstrangerb quit (Ping timeout: 256 seconds) 2018-02-02T00:35:23Z randomstrangerb joined #lisp 2018-02-02T00:36:26Z moei quit (Read error: Connection reset by peer) 2018-02-02T00:36:40Z stacksmith: _death: by comment, do you mean a blog entry somewhere? I am morbidly curious about things that seem to be useful, but usually are a bad idea, like doubly-linked lists... 2018-02-02T00:37:38Z moei joined #lisp 2018-02-02T00:37:39Z yggdrasil_core: linked lists get a bad rap 2018-02-02T00:38:09Z iqubic: Oh, I see. 2018-02-02T00:38:38Z loli quit (Quit: WeeChat 2.0.1) 2018-02-02T00:39:29Z stacksmith: I've had at least three situations where I thought I needed a doubly-linked list, but after writing gobs of code I always trashed it and went back to conses... 2018-02-02T00:39:29Z shifty quit (Ping timeout: 248 seconds) 2018-02-02T00:39:54Z _death: stacksmith: https://gist.github.com/death/2709ae6a9124968a86070bbb760b1629 2018-02-02T00:40:03Z stacksmith: Now I am really cautious about that... Fool me thrice... 2018-02-02T00:40:16Z ebrasca joined #lisp 2018-02-02T00:40:35Z smurfrobot quit (Remote host closed the connection) 2018-02-02T00:40:46Z jasom: unbounded dequeues are a good use for doubly-linked lists 2018-02-02T00:41:24Z yggdrasil_core: doom3 used intrusive linked lists for it's entity container 2018-02-02T00:41:41Z pjb: wasn't it written in C? 2018-02-02T00:41:54Z jasom: doom3 was probably C++ 2018-02-02T00:41:58Z jasom: just judging by the release date 2018-02-02T00:42:00Z yggdrasil_core: C or C++, not sure which 2018-02-02T00:42:24Z loli joined #lisp 2018-02-02T00:42:28Z pjb: In those languages, it's customary to use intrusive linked lists, because of typing. (to avoid casting). 2018-02-02T00:43:28Z ckonstanski quit (Remote host closed the connection) 2018-02-02T00:43:45Z pjb: To undestand the horror that C is, have a look at /usr/include/sys/queue.h 2018-02-02T00:43:48Z stacksmith: Yeah, intrusive lists are another problematic thing. It often seems like a good idea - the objects then have direct access to the remaining list, but it inevitably leads to reinventing the wheel as a good chunk of CL becomes unusable... 2018-02-02T00:45:07Z z3t0 joined #lisp 2018-02-02T00:45:16Z Rawriful quit (Quit: WeeChat 1.4) 2018-02-02T00:46:35Z EvW quit (Ping timeout: 276 seconds) 2018-02-02T00:47:18Z fikka quit (Ping timeout: 240 seconds) 2018-02-02T00:48:11Z turkja joined #lisp 2018-02-02T00:50:50Z pagnol quit (Ping timeout: 268 seconds) 2018-02-02T00:51:42Z Cymew joined #lisp 2018-02-02T00:51:43Z jasom: pjb: there are other advantages of intrusive lists besides avoiding casting; C++ can do non-intrusive lists via templating but people still sometimes choose to use intrusive lists 2018-02-02T00:53:00Z pjb: jasom: yes, like code duplication, i-cache overflowing, etc. 2018-02-02T00:53:37Z brendyn joined #lisp 2018-02-02T00:54:06Z _death: in Lisp, size considerations.. 2018-02-02T00:56:18Z Cymew quit (Ping timeout: 240 seconds) 2018-02-02T00:56:52Z rme: I have never heard the term intrusive list. 2018-02-02T00:58:51Z yggdrasil_core: probably because there is a big stigma around linked lists 2018-02-02T00:59:03Z fikka joined #lisp 2018-02-02T01:00:28Z stacksmith: In my case, I wound up with a shitton of code in every case. Linkage maintenance is problematic. Many tricks that work with lists don't work in both directions. And mostly, all the list operations no longer work. 2018-02-02T01:02:43Z yggdrasil_core: circular linked lists are pretty interesting 2018-02-02T01:03:22Z yggdrasil_core: ... I forgot where I was going with that :p 2018-02-02T01:04:19Z jasom: rme: the generic term is "intrusive data structure" or "intrusive container" it's where your container and data are implemented in the same structure. So for e.g. a list of two dimensional coordinats, instead of having a list containing structures with X and Y fields, you'd have a structure with X, Y, and Next fields. 2018-02-02T01:05:17Z smurfrobot joined #lisp 2018-02-02T01:06:08Z jasom: The primary advantage comes from the fact that a new element needs only a single allocation, and that the container data and payload data have spatial locality. 2018-02-02T01:06:57Z pfdietz: This reminds of utility fields that get used in algorithms. For example, a mark bit used by graph traversal algorithms. 2018-02-02T01:07:09Z pfdietz: You could implement that as a separate map, but that's much less efficient. 2018-02-02T01:07:09Z attila_lendvai quit (Quit: Leaving.) 2018-02-02T01:08:03Z jasom: pfdietz: right it's intrusive in the sense that it breaks abstractions, so you lose the benefit of the abstraction but also lose the cost. 2018-02-02T01:08:33Z _death: an item then belongs to a single container 2018-02-02T01:08:40Z pfdietz: I've wanted cl-containers to support a WITH-MAPPING macro, that allows an algorithm to use a utility field in the container's objects. If someone else wants to use that field the WITH-MAPPING macro would just hand them the slower non-intrusive map instead, transparently. 2018-02-02T01:09:02Z jasom: _death: well if you wanted points that could belong to two containers, you can have two next pointers! (Yes I've seen this in kernel code). 2018-02-02T01:10:19Z _death: jasom: yep.. this reminds me of skip lists 2018-02-02T01:10:34Z smurfrobot quit (Ping timeout: 268 seconds) 2018-02-02T01:12:16Z jasom: modern architectures can encourage this a lot both because indirection can be expensive *and* the only thing that matters for memory performance is the number of cache lines you access, not the number of bytes. 2018-02-02T01:13:05Z nowhere_man quit (Ping timeout: 248 seconds) 2018-02-02T01:13:08Z nowhereman joined #lisp 2018-02-02T01:13:19Z Cymew joined #lisp 2018-02-02T01:14:09Z _death: it also has aesthetic properties, since an object is identified with its "node" 2018-02-02T01:15:31Z _death: so it's possibly useful in repl-style programs 2018-02-02T01:15:50Z jasom: conversely I've seen a structure that was the size of a cache line and held a single word value only (plus padding). This was so that an array of them could be efficiently accessed by multiple CPUs with unshared L1 caches. 2018-02-02T01:16:29Z ckonstanski joined #lisp 2018-02-02T01:17:02Z Pixel_Outlaw joined #lisp 2018-02-02T01:17:27Z Cymew quit (Ping timeout: 240 seconds) 2018-02-02T01:22:43Z emacsomancer joined #lisp 2018-02-02T01:25:37Z Cymew joined #lisp 2018-02-02T01:28:31Z rumbler3_: jasonm: can you explain that last part some more 2018-02-02T01:30:07Z Cymew quit (Ping timeout: 248 seconds) 2018-02-02T01:31:32Z Cymew joined #lisp 2018-02-02T01:34:31Z rme: I've done that trick before. 2018-02-02T01:34:37Z randomstrangerb quit (Ping timeout: 268 seconds) 2018-02-02T01:35:48Z Cymew quit (Ping timeout: 240 seconds) 2018-02-02T01:35:50Z randomstrangerb joined #lisp 2018-02-02T01:36:17Z rme: I think it was in the context of a (concurrent) ring buffer, where I wanted the read and write pointers to be in different cache lines. 2018-02-02T01:37:37Z Cymew joined #lisp 2018-02-02T01:38:01Z rumbler3_: rme: how does that work or why would you do that 2018-02-02T01:38:41Z Devon quit (Ping timeout: 248 seconds) 2018-02-02T01:40:47Z nowhereman quit (Disconnected by services) 2018-02-02T01:41:14Z nowhere_man joined #lisp 2018-02-02T01:42:10Z Cymew quit (Ping timeout: 256 seconds) 2018-02-02T01:42:25Z Fare quit (Ping timeout: 248 seconds) 2018-02-02T01:43:22Z rme: I was trying to see if it was possible to keep up with reading packets from a 10 gig ethernet interface, and I didn't want consumer processes to have to contend for the cache line containing the write pointer, which was being continually bumped by the producer. 2018-02-02T01:43:36Z rme: Kinda off-topic for here, though. 2018-02-02T01:43:56Z dieggsy quit (Remote host closed the connection) 2018-02-02T01:44:16Z rme: I failed at the attempt, by the way. That made (and still makes) me very unhappy. 2018-02-02T01:45:04Z rme: But I had like something like a 20ns budget to classify and process a packet. 2018-02-02T01:45:57Z rumbler3_: how were you able to specify that different processor's cache lines would have specific data 2018-02-02T01:46:42Z z3t0 quit (Remote host closed the connection) 2018-02-02T01:47:12Z z3t0 joined #lisp 2018-02-02T01:49:54Z _death: you make sure each item is properly aligned and of a cache line's size, and have each processor access a different one? 2018-02-02T01:51:44Z z3t0 quit (Ping timeout: 252 seconds) 2018-02-02T01:51:58Z rme: yes, that's basically it. 2018-02-02T01:52:18Z jstypo quit (Read error: Connection reset by peer) 2018-02-02T01:52:51Z Devon joined #lisp 2018-02-02T01:53:40Z emaczen joined #lisp 2018-02-02T01:54:50Z LoggerZZZ joined #lisp 2018-02-02T01:55:09Z emaczen: what would be faster writing to a vector and then writing to a file, or writing to a string-output-stream and then writing the string-output-stream to a file? 2018-02-02T01:55:19Z emaczen: Or would the difference be trivial? 2018-02-02T01:56:00Z emaczen: I was trying (write-sequence (get-output-stream-string sstream) file) 2018-02-02T01:56:21Z Bike: can you not just write to the file? 2018-02-02T01:56:40Z _death: like insignificant, both will be swamped by the file output 2018-02-02T01:56:44Z emaczen: Bike: wouldn't I want to minimize the number of IO operations? 2018-02-02T01:56:46Z rme: I would think that the cost of doing i/o would dominate in such a case. 2018-02-02T01:57:14Z Devon quit (Ping timeout: 252 seconds) 2018-02-02T01:57:27Z ckonstanski quit (Remote host closed the connection) 2018-02-02T01:57:32Z _death: it's likely that the streams are buffered anyway 2018-02-02T02:00:56Z wigust joined #lisp 2018-02-02T02:01:18Z LoggerZZZ quit (Read error: Connection reset by peer) 2018-02-02T02:01:30Z emaczen: _death: ahhh can we be sure though? 2018-02-02T02:02:07Z _death: emaczen: no.. that's why you need to profile your code 2018-02-02T02:02:34Z _death: emaczen: you also need to know which assumptions you can make 2018-02-02T02:03:36Z fikka quit (Ping timeout: 268 seconds) 2018-02-02T02:04:14Z LoggerZZZ joined #lisp 2018-02-02T02:05:17Z LoggerZZZ quit (Read error: Connection reset by peer) 2018-02-02T02:07:34Z fikka joined #lisp 2018-02-02T02:08:26Z arescorpio joined #lisp 2018-02-02T02:09:01Z LoggerZZZ joined #lisp 2018-02-02T02:09:10Z yggdrasil_core quit (Read error: Connection reset by peer) 2018-02-02T02:09:20Z oleo quit (Ping timeout: 252 seconds) 2018-02-02T02:09:57Z jstypo joined #lisp 2018-02-02T02:10:16Z whoman quit (Remote host closed the connection) 2018-02-02T02:10:43Z whoman joined #lisp 2018-02-02T02:13:11Z LoggerZZZ quit (Remote host closed the connection) 2018-02-02T02:13:52Z LoggerZZZ joined #lisp 2018-02-02T02:15:26Z Devon joined #lisp 2018-02-02T02:17:26Z k-hos joined #lisp 2018-02-02T02:19:47Z smurfrobot joined #lisp 2018-02-02T02:20:09Z Arcaelyx joined #lisp 2018-02-02T02:22:33Z eschatologist quit (Ping timeout: 264 seconds) 2018-02-02T02:26:09Z LoggerZZZ quit (Read error: Connection reset by peer) 2018-02-02T02:26:58Z pbgc quit (Quit: Textual IRC Client: http://www.textualapp.com/) 2018-02-02T02:28:32Z eschatologist joined #lisp 2018-02-02T02:29:02Z LoggerZZZ joined #lisp 2018-02-02T02:33:53Z openthesky joined #lisp 2018-02-02T02:33:57Z drewc quit (Ping timeout: 264 seconds) 2018-02-02T02:34:10Z pjb: rme: I/O is when you access secondary storage, not when you write in core memory whatever the API you use to write this core memory. 2018-02-02T02:34:52Z pjb: rme: what is slow in the I/O process, is the physical latencies. 2018-02-02T02:37:19Z Devon quit (Ping timeout: 248 seconds) 2018-02-02T02:38:37Z d4ryus2 joined #lisp 2018-02-02T02:41:18Z d4ryus1 quit (Ping timeout: 240 seconds) 2018-02-02T02:41:50Z fikka quit (Ping timeout: 268 seconds) 2018-02-02T02:42:37Z fikka joined #lisp 2018-02-02T02:45:31Z Pixel_Outlaw quit (Quit: Leaving) 2018-02-02T02:46:31Z papachan quit (Quit: WeeChat 2.0.1) 2018-02-02T02:50:10Z jdz quit (Ping timeout: 256 seconds) 2018-02-02T02:51:03Z wmannis joined #lisp 2018-02-02T02:51:13Z impulse quit (Ping timeout: 248 seconds) 2018-02-02T02:56:00Z jdz joined #lisp 2018-02-02T02:57:15Z stacksmith: Bike: White_Flame: re: non-symbol keyword arguments... What do you think of 3.5.1.5 Invalid Keyword Arguments: "It is not permitted to supply a keyword argument to a function using a name that is not a symbol."? 2018-02-02T02:57:52Z fisxoj joined #lisp 2018-02-02T02:57:53Z Bike: what's that matter? you are passing it a symbol 2018-02-02T02:58:23Z stacksmith: Oh, you mean at runtime after arguments are evaluated it is a symbol... 2018-02-02T03:00:30Z Bike: yah. 2018-02-02T03:00:41Z Bike: the function is a function. it doesn't know or care about how what it's been passed was evaluated 2018-02-02T03:01:40Z Oladon joined #lisp 2018-02-02T03:01:51Z stacksmith: Right. thanks again. 2018-02-02T03:02:30Z krwq joined #lisp 2018-02-02T03:02:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-02T03:04:29Z pjb: stacksmith: (flet ((foo (&rest r &key) r)) (let ((arguments '(1 2 3 4))) (apply (function foo) arguments))) #| ERROR: Incorrect keyword arguments in (1 2 3 4) . |# 2018-02-02T03:05:24Z pjb: Sorry, bad test. Here it is: 2018-02-02T03:05:34Z pjb: stacksmith: (flet ((foo (&rest r &key &allow-other-keys) r)) (let ((arguments '(:a 2 foo 4 #:bar 3))) (apply (function foo) arguments))) #| --> (:a 2 foo 4 #:bar 3) |# this is conforming. 2018-02-02T03:05:54Z pjb: stacksmith: (flet ((foo (&rest r &key &allow-other-keys) r)) (let ((arguments '(1 2 3 4))) (apply (function foo) arguments))) #| --> (1 2 3 4) |# this is NOT conforming! it happens to work in ccl, but it could fail. 2018-02-02T03:06:26Z pjb: only clisp signals the error: FOO: &KEY marker 1 is not a symbol 2018-02-02T03:06:32Z pjb: (clisp, the best CL implementation!) 2018-02-02T03:07:22Z stacksmith: pjb: interesting. SBCL allows it too. 2018-02-02T03:07:45Z pjb: I still think it would be fun and worth the work to implement a strictly conforming CL implementation that implements things in the most unexpected way… 2018-02-02T03:10:00Z LoggerZZZ quit (Ping timeout: 260 seconds) 2018-02-02T03:10:04Z stacksmith: That is interesting. Technically, &allow-other-keys makes 1 and 3 keys... 2018-02-02T03:11:02Z stacksmith: And changing arguments to '(1 2 3) reports "Odd number of &KEY arguments"! 2018-02-02T03:11:13Z pjb: only 1 and 3 not being symbols should not be accepted as keys. 2018-02-02T03:11:29Z pjb: and &key indeed imposes that the rest arguments be in even number. 2018-02-02T03:12:10Z pjb: But remember, you can always just write &rest r, and then parse r in your function as you want. 2018-02-02T03:13:56Z LoggerZZZ joined #lisp 2018-02-02T03:14:01Z borei joined #lisp 2018-02-02T03:15:24Z borei: high all 2018-02-02T03:15:58Z pjb: for example, you could write: (flet ((foo (&rest r) (destructuring-bind (&rest rr &key a b &allow-other-keys) (loop while (and (cdr r) (symbolp (car r))) collect (pop r) into ks collect (pop r) into ks finally (return ks)) (list rr r)))) (let ((arguments '(:a 0 foo 33 1 2 3))) (apply (function foo) arguments))) #| --> ((:a 0 foo 33) (1 2 3)) |# and it's perfectly conforming. 2018-02-02T03:16:07Z stacksmith: pjb: Are you sure it's not conforming? I seem to remember somewhere in the spec saying that &rest gets all arguments, and &key picks from that... So a null &key list may not really violate the spec. 2018-02-02T03:16:25Z pjb: stacksmith: 3.5.1.5 2018-02-02T03:16:44Z borei: continue to work on matrix multiplication optimization, trying to use build-in options - like type declaration and optimiztion 2018-02-02T03:16:50Z smurfrobot quit (Remote host closed the connection) 2018-02-02T03:16:55Z dieggsy joined #lisp 2018-02-02T03:16:56Z borei: function is here 2018-02-02T03:16:59Z borei: https://pastebin.com/1M5jviEs 2018-02-02T03:17:25Z stacksmith: pjb: Duh, I was asking specifically about that... 2018-02-02T03:17:58Z ebzzry joined #lisp 2018-02-02T03:18:07Z borei: compiling it lisp is generating the following output - https://pastebin.com/bYpSRBP4 2018-02-02T03:18:11Z pjb: borei: you can instead write: (unless (= …) (error …)) (rest-of-the-body) so you don't accumulate the sexp levels. 2018-02-02T03:18:20Z stacksmith: pjb: but, are these keyword arguments? I could make an argument that they are &rest arguments, and &key and &allow-other-keys does nothing here. 2018-02-02T03:18:36Z stacksmith: except insist on pairing just in case. 2018-02-02T03:18:55Z pjb: borei: why don't you use 2D arrays for matrix elements? 2018-02-02T03:19:11Z borei: in https://pastebin.com/bYpSRBP4 i need some help with understanding starting from line 6 2018-02-02T03:19:30Z borei: pjb: not sure yeat about 2D arrays 2018-02-02T03:19:33Z pjb: stacksmith: that's the point, when you have both &rest and &key then the structure of the rest must be that of key value key value… 2018-02-02T03:19:57Z aeth: I've looked into using 2D arrays for matrices. 2018-02-02T03:20:10Z jack_rabbit: 2D arrays sort of suck. 2018-02-02T03:20:27Z iqubic: 2D arrays are just the worst. 2018-02-02T03:20:36Z aeth: It looks like in the disassembly of the allocation of a 2D array in SBCL, there are four allocations, instead of 2 for the equivalent 1D array. I think that might be because initial-contents is only optimized if flat. 2018-02-02T03:20:40Z pjb: borei: it would be better to ask in #sbcl, but basically it says that it doesn't know what type the slots in elements are. 2018-02-02T03:20:49Z borei: my biggest concerns about 2D arrays - slow addressing 2018-02-02T03:21:14Z iqubic: Does CL provide a transpose function for 2D lists? 2018-02-02T03:21:18Z jack_rabbit: aeth, That's surprising. From what I thought, the 2D arrays were backed by a 1D physycal array. 2018-02-02T03:21:27Z iqubic: Where it swaps the rows and columns? 2018-02-02T03:21:30Z pjb: borei: I would assume that the compiler is able to compile (aref 2darray i j) with way faster code than (aref 1darray (+ j (* i row))). 2018-02-02T03:21:36Z jack_rabbit: iqubic, no. 2018-02-02T03:21:37Z Bike: on sbcl, a multidimensional array is a "header" sort of structure with a boxed single dimensional array 2018-02-02T03:21:48Z iqubic: jack_rabbit: Oh, that sucks. 2018-02-02T03:21:49Z Bike: so it has to allocate both the underlying data array, and the header thing 2018-02-02T03:21:50Z aeth: There should be no problems with 2D arrays in SBCL after the arrays are allocated. They're just 1D, and the compiler should be able to handle aref in an optimized way if the type is known (not knowing the full type, especially the dimensions, is probably going to be very expensive) 2018-02-02T03:22:03Z iqubic: Haskell has that bulit in. 2018-02-02T03:22:17Z jack_rabbit: iqubic, I know, That's how I knew the answer so quickly. I needed it once and it doesn't exist. 2018-02-02T03:22:31Z aeth: Okay, looks like it takes up more memory, too, if it has a header. 2018-02-02T03:22:54Z aeth: But if you're concerned about memory, you should not only use 1D arrays, but use ranges within that 1D array, and allocate a bunch of matrices at once. 2018-02-02T03:23:21Z aeth: effectively a 3D structure expressed in 1D 2018-02-02T03:23:39Z Bike: (apply #'mapcar #'list '((1 2) (3 4))) => ((1 3) (2 4)) 2018-02-02T03:23:52Z pjb: iqubic: yes: (lambda (lol) (apply (function mapcar) (function list) lol)) 2018-02-02T03:24:11Z stacksmith: pjb: It actually says that &rest must be followed by a lambda-list-keyword, which leaves &key, &env and &aux... 2018-02-02T03:24:29Z pjb: iqubic: all the computable function already exist in CL. You only have to find their name. (lambda (lol) (apply (function mapcar) (function list) lol)) is the name of the function you want. 2018-02-02T03:24:59Z borei: pjb: i didn't get that - "but basically it says that it doesn't know what type the slots in elements are" 2018-02-02T03:25:16Z pjb: borei: it's really a sbcl problem. 2018-02-02T03:25:46Z damke_ joined #lisp 2018-02-02T03:25:49Z borei: ok, i'll try to chat with them 2018-02-02T03:26:14Z pjb: borei: it says that i and n-cols are not fixnums. 2018-02-02T03:26:36Z borei: (type fixnum n-rows n-cols n) 2018-02-02T03:26:46Z borei: and i has specifier in loop 2018-02-02T03:26:56Z pjb: yep, sbcl… 2018-02-02T03:27:19Z pjb: well, it complains about the result of the multiplication. 2018-02-02T03:27:28Z pjb: Of course, fixnum * fixnum -> bignum in general. 2018-02-02T03:28:05Z borei: is there way to restrict it ? 2018-02-02T03:28:07Z pjb: Also, you see, this is a problem of using vectors instead of 2d arrays: now you have to tell the compiler that your index computation returns an index… 2018-02-02T03:28:11Z pierpa: borei: btw, IF + PROGN makes my eyes bleed. 2018-02-02T03:28:12Z pjb: borei: with THE 2018-02-02T03:28:15Z pjb: clhs the 2018-02-02T03:28:15Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/s_the.htm 2018-02-02T03:28:19Z aeth: borei: or use a smaller integer size 2018-02-02T03:28:41Z aeth: you can also implement your own way to handle overflow if you don't want bignums ever 2018-02-02T03:28:43Z pjb: But you must ensure that it's really a fixnum. 2018-02-02T03:29:15Z aeth: pjb: SBCL doesn't trust the (except maybe at safety 0), it has an internal truly-the that you should never use. 2018-02-02T03:29:33Z pjb: (since you use it to index an array, it should be a fixnum, so it probably is one, so it should be safe enough to use THE: if the indices or matrix sizes were too big, you'd have problems allocating them). 2018-02-02T03:29:57Z pjb: aeth: Well, I don't trust sbcl, so we're equal. 2018-02-02T03:30:06Z borei: pierpa: "btw, IF + PROGN makes my eyes bleed." - why ? 2018-02-02T03:30:31Z pierpa: something defective in my eyes, probably :) 2018-02-02T03:30:45Z pierpa: almost always COND is a better choice than IF 2018-02-02T03:30:45Z borei: pjb: "with THE" - can you clarify, never used it ? 2018-02-02T03:30:59Z pjb: borei: have you read the clhs page? 2018-02-02T03:31:09Z pjb: there are examples there! 2018-02-02T03:31:11Z stacksmith: (the (unsigned-byte 8) index) 2018-02-02T03:31:56Z borei: wow, it's a lot of notices :-) 2018-02-02T03:32:08Z borei: i really appriciate it ! 2018-02-02T03:32:45Z pierpa: borei: a more basic question is why you believe that your handrolled matrix will be faster than system supplied 2D arrays. 2018-02-02T03:33:09Z borei: don't know yet 2018-02-02T03:33:11Z pierpa: it makes no sense 2018-02-02T03:33:16Z pjb: be sure to benchmark them on various implementations! 2018-02-02T03:33:32Z aeth: pierpa: It's possible that some 2D arrays in some implementations aren't very efficient because they're not very common. 2018-02-02T03:33:35Z borei: it's all learning curve for me 2018-02-02T03:33:41Z aeth: Of course, avoiding using them will just encourage 2D arrays to not be efficient. 2018-02-02T03:33:54Z red-dot joined #lisp 2018-02-02T03:34:17Z pierpa: aeth: in theory there can be implementations that puposefully slow down acces to 2D arrays, yes. :) 2018-02-02T03:34:38Z pjb: (* i n-cols) and (* i n) are constant! Why do you compute them n-row and n times? 2018-02-02T03:34:51Z aeth: pierpa: Well, that for some reason or another don't have an efficient implementation. 2018-02-02T03:35:32Z sjl joined #lisp 2018-02-02T03:36:02Z pierpa: I doubt that in such an implementtion a naive user implementation will be faster, anyway 2018-02-02T03:36:09Z aeth: You don't have to purposefully write slow code, usually it's the other way around and slow code happens when you're not paying enough attention. 2018-02-02T03:37:02Z borei: im solving one problem after another, i know that constant parts of the indexes can be moved out of the loop 2018-02-02T03:37:10Z aeth: If you're doing linear algebra in pure CL, you probably want to use SBCL, though. (At least, that's the case in 2018.) 2018-02-02T03:37:13Z hel-io quit 2018-02-02T03:38:02Z borei: i use sbcl 2018-02-02T03:38:05Z stacksmith: borel: keep in mind that specifying types in SBCL generates much smaller code with optimization on, but generally bigger code with it off as it treats type declarations as requests for extra checks. And of course, thinking about optimization before you need to is a sin. 2018-02-02T03:39:04Z aeth: stacksmith: But it's still generally a win for arrays and numbers because with that type check, it at least knows to use efficient, inline code instead of not-inline, type-generic code. 2018-02-02T03:39:35Z aeth: And with arrays there's the added benefit that if you have the full type information (including the dimensions) it can get rid of bounds checks 2018-02-02T03:39:50Z aeth: Sometimes it's one type check vs 30+ bounds checks. I'd take the type check. 2018-02-02T03:40:17Z sjl quit (Ping timeout: 248 seconds) 2018-02-02T03:40:33Z terpri quit (Ping timeout: 265 seconds) 2018-02-02T03:40:56Z wmannis quit (Quit: wmannis) 2018-02-02T03:41:29Z aeth: I think the only time you need to worry about types is with arrays, sequences, and numbers. 2018-02-02T03:41:29Z Cymew joined #lisp 2018-02-02T03:41:34Z stacksmith: aeth: can't argue with that. If it matters, of course. I find more often than not that it doesn't matter because I wind up rewriting things that I care about a few times to get the algos right. 2018-02-02T03:42:39Z pierpa: for a matrix multiplication it matters, and there's not much room for algorithmic wiggles, unless he wants to go real fancy 2018-02-02T03:43:08Z aeth: It probably really depends on what you're doing. If you're working with arrays of floats, probably the most you'd have to change later (other than dimensions) is s/single-float/double-float/ or s/double-float/single-float/ 2018-02-02T03:43:52Z aeth: (Although if you're really writing efficient double-float code you do sometimes have to write some hacky workarounds to avoid consing.) 2018-02-02T03:44:29Z borei: can't find about THE 2018-02-02T03:44:34Z borei: need example :-( 2018-02-02T03:45:35Z turkja quit (Ping timeout: 260 seconds) 2018-02-02T03:45:40Z pjb: clhs the 2018-02-02T03:45:40Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/s_the.htm 2018-02-02T03:45:50Z pjb: borei: go to this fucking link! ^ 2018-02-02T03:45:57Z aeth: (let ((foo (the fixnum (foobar 42)))) (+ foo 42)) is very similar (if not identical) to (let ((foo (foobar 42))) (declare (fixnum foo)) (+ foo 42)) and in either case, tells the compiler that it can assume foo is a fixnum (it can also completely ignore it, or type-check it) 2018-02-02T03:46:09Z Cymew quit (Ping timeout: 248 seconds) 2018-02-02T03:46:25Z aeth: The advantage of the is that you don't need the variable, so you can just say (+ (the fixnum (foobar 42)) 42) 2018-02-02T03:46:50Z aeth: The disadvantage is you probably want check-type instead of the or declare. It will more portably do what you probably want. 2018-02-02T03:47:03Z stacksmith: borel: Are you talking about constraining the result? Just return (the fixnum whatever). And for indices, use (the (integer 0 99) ...) or whatever the array size is... 2018-02-02T03:47:16Z didi left #lisp 2018-02-02T03:47:45Z fikka quit (Ping timeout: 248 seconds) 2018-02-02T03:47:59Z stacksmith: When adding or multiplying, use (unsigned-byte ...) or (integer ..) of a bitsize that fits into a fixnum after the operation. 2018-02-02T03:48:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-02T03:49:09Z aeth: Of course, "undefined" (with the or type declarations) doesn't mean "ignore it, type check it, or assume it without checking". That just happens to be what you will probably encounter. It could also sell all of your Bitcoin or tweet it to the world if the type doesn't match. Or literally anything else that a computer can do. 2018-02-02T03:49:31Z stacksmith: Also declaring the array itself as a vector or simple-array generates much tighter code with sbcl. 2018-02-02T03:50:30Z stacksmith: but you are doing that already. 2018-02-02T03:50:45Z borei: from what i read make-array will create simple-array unless you specifed :fill-pointer and/or one more parameter 2018-02-02T03:51:21Z stacksmith: borel: true enough, but I think you still need to declare it in functions that use the array. 2018-02-02T03:51:43Z borei: yep 2018-02-02T03:52:10Z fikka joined #lisp 2018-02-02T03:52:11Z smurfrobot joined #lisp 2018-02-02T03:53:18Z aeth: You should probably use specialization-store for this. https://github.com/markcox80/specialization-store/ 2018-02-02T03:53:35Z aeth: The alternative is making n versions of the exact same thing, just with different types. 2018-02-02T03:53:58Z quazimodo quit (Read error: Connection reset by peer) 2018-02-02T03:54:34Z stacksmith: Also, if you are really optimizing, you may be able to arrange the loop better using tagbody - sbcl loops sometimes jump around weirdly... 2018-02-02T03:54:41Z aeth: Or you could just inline something and hope the type information is available where it is being used. But some things produce really massive functions when disassembled, e.g. many matrix operations. So those might not be a good choice for inlining. 2018-02-02T03:55:33Z aeth: stacksmith: I'm not sure that there are many cases to use tagbody directly instead of do (do even has an implicit tagbody for when you really need it, but good luck getting that to auto-indent correctly because few people use that feature) 2018-02-02T03:55:44Z dieggsy quit (Remote host closed the connection) 2018-02-02T03:55:46Z LoggerZZZ quit (Read error: Connection reset by peer) 2018-02-02T03:55:57Z ahungry joined #lisp 2018-02-02T03:56:21Z stacksmith: Recursive functions often pack tighter than loop. 2018-02-02T03:56:36Z dieggsy joined #lisp 2018-02-02T03:56:51Z borei: using THE :-) dropped couple seconds 2018-02-02T03:56:57Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-02T03:57:01Z aeth: An alternative to using loops for arithmetics is to use macros to essentially loop unroll. I'm not sure how many iterations it would take before this is a bad idea. It definitely is ideal for small numbers of iterations like 2, 3, 4. 2018-02-02T03:57:01Z borei: pjb: thanks 2018-02-02T03:57:37Z quazimodo joined #lisp 2018-02-02T03:58:06Z dddddd quit (Read error: Connection reset by peer) 2018-02-02T03:59:09Z aeth: Oh, btw, on matrix multiplication in general: https://en.wikipedia.org/wiki/Matrix_multiplication_algorithm 2018-02-02T03:59:34Z aeth: "Unsolved problem in computer science: What is the fastest algorithm for matrix multiplication?" 2018-02-02T03:59:55Z stacksmith: borel: there are many matrix libraries floating around... 2018-02-02T03:59:56Z aeth: So the good news is that there's going to be room for improvement! 2018-02-02T04:00:09Z shka joined #lisp 2018-02-02T04:00:26Z aeth: stacksmith: The majority of matrix libraries in CL are graphics libraries, so 4x4 matrices (and possibly smaller ones) 2018-02-02T04:00:49Z stacksmith: aeth: agreed. 2018-02-02T04:01:15Z borei: exactly, best algorithm now is O(n^2.7xxx) as i remember 2018-02-02T04:01:29Z stacksmith: May be worth looking at how others handle optimization etc. 2018-02-02T04:02:08Z aeth: Are there many native math libraries that aren't CL graphics math libraries? Most, I think, are wrappers. 2018-02-02T04:02:18Z borei: in quantum mech - there is only matricies and vectors, and they are with complex elements 2018-02-02T04:02:37Z aeth: The Maxima CAS is interesting. It has Fortran, and it has f2cl. So I think it might compile all of its Fortran into CL! 2018-02-02T04:02:51Z Tobbi quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-02T04:02:55Z fisxoj quit (Quit: fisxoj) 2018-02-02T04:03:01Z damke_ joined #lisp 2018-02-02T04:03:13Z aeth: borei: oh complex is going to be... complex 2018-02-02T04:03:29Z aeth: Does any CL even have specialized arrays for complex single-floats and double-floats? 2018-02-02T04:03:47Z borei: i don't know 2018-02-02T04:04:35Z aeth: In SBCL: (upgraded-array-element-type '(complex single-float)) => (complex single-float) 2018-02-02T04:04:40Z aeth: (upgraded-array-element-type '(complex double-float)) => (complex double-float) 2018-02-02T04:04:42Z aeth: :o 2018-02-02T04:05:22Z aeth: Now I think the next question is if they can be worked with in a non-consing way, just like arrays of double-floats. 2018-02-02T04:05:53Z pjb: that's the theory. 2018-02-02T04:06:12Z beach: Good morning everyone! 2018-02-02T04:06:52Z beach: rme: Bordeaux is a great place to live, but I don't think you should come here counting on the students. 2018-02-02T04:07:05Z stacksmith: Good morning to you. 2018-02-02T04:07:49Z aeth: And it looks like it's not non-consing in SBCL: (defun foo (v) (check-type v (simple-array (complex double-float) (3))) (incf (aref v 0)) v) (disassemble #'foo) 2018-02-02T04:08:07Z aeth: (and (complex single-float) is the same) 2018-02-02T04:08:08Z smasta quit (Ping timeout: 252 seconds) 2018-02-02T04:08:42Z Kevslinger quit (Quit: Connection closed for inactivity) 2018-02-02T04:09:12Z aeth: By comparison: non-consing in SBCL: (defun foobar (v) (check-type v (simple-array double-float (3))) (incf (aref v 0)) v) (disassemble #'foobar) 2018-02-02T04:09:42Z stacksmith: borel: I find that when using type declarations and the... turning optimization off, sometimes generates helpful messages about dubious type declarations. 2018-02-02T04:10:23Z pjb: borei: look how slower your solution is (even with the constant subexpressions out of the loops) than indexing 2D arrays, in ccl: https://codeshare.io/2KwP3z 2018-02-02T04:10:42Z iqubic: What does flet do? 2018-02-02T04:10:48Z pjb: clhs flet 2018-02-02T04:10:48Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/s_flet_.htm 2018-02-02T04:10:57Z pjb: what is explained here ^^^^ 2018-02-02T04:11:06Z arescorpio quit (Excess Flood) 2018-02-02T04:11:30Z iqubic: Is there a way to take a dynamically bound string, and set it to the value of my chosing? 2018-02-02T04:11:56Z pjb: iqubic: you're asking the wrong question. Think about what you want to do. 2018-02-02T04:13:33Z pjb: iqubic: strings may be mutable or immutable. When mutable, they may be adjustable or non adjustable. If they're not adjustabnle, then you can mutate them but not their length; if they're adjustable, you can mutate them and mutate their length. Whether the string is bound, and whether it's bound lexically od dynamically are irrelevant. 2018-02-02T04:14:15Z ebzzry: How do I send text to the X clipboard? 2018-02-02T04:14:31Z pjb: iqubic: notice that in general, one avoids to mutate strings, since all the difficulty is knowing whether it's an immutable or a mutable string! 2018-02-02T04:14:38Z borei: pjb: should i see any numbers at https://codeshare.io/2KwP3z ? 2018-02-02T04:14:41Z pjb: ebzzry: perhaps asking in #x11? 2018-02-02T04:15:30Z stacksmith: pjb: are strings ever immutable? 2018-02-02T04:15:33Z iqubic quit (Quit: ERC (IRC client for Emacs 25.3.1)) 2018-02-02T04:15:38Z pjb: borei: sorry, try again: https://codeshare.io/2KwP3z 2018-02-02T04:15:50Z pjb: stacksmith: of course, just like any other array! 2018-02-02T04:16:20Z pjb: (let ((foo (make-string 3 :initial-element #\a))) (print foo) (replace foo "bar") foo) #| "aaa" --> "bar" |# 2018-02-02T04:16:30Z borei: i see now 2018-02-02T04:16:46Z pjb: borei: try it in sbcl with your optimization levels! 2018-02-02T04:17:07Z ebzzry: pjb: I meant, how does CL do it? 2018-02-02T04:17:18Z pjb: borei: try it with small n and big n (eg. n=2, n=3, n=4 and n=20 n=30 n=40 and n=200, n=300, n=400). 2018-02-02T04:17:24Z aeth: borei: your matrix isn't going to be anywhere near as efficient as built-in 2D arrays because you're using CLOS 2018-02-02T04:17:25Z krwq: ebzzry: have you checked if clx has it? 2018-02-02T04:17:26Z pjb: ebzzry: it doesn't. 2018-02-02T04:17:42Z pjb: ebzzry: there's no notion of clipboard in clhs. 2018-02-02T04:17:47Z aeth: borei: I don't see how a hand-made matrix in CLOS is going to be more efficient than built-in matrices unless you're using a JITed CL 2018-02-02T04:18:02Z aeth: or perhaps inlined generic functions or something 2018-02-02T04:18:16Z pjb: borei: you can still wrap your 2D arrays in CLOS objects if you need to. 2018-02-02T04:18:21Z ebzzry: How do othesr do it, with CL 2018-02-02T04:18:53Z pjb: ebzzry: using a library that gives you access to x11 functions to manipulate the x11 clipboard. Hence #x11 2018-02-02T04:18:58Z paul0 joined #lisp 2018-02-02T04:19:06Z pjb: ebzzry: (clx has already been mentionned). 2018-02-02T04:19:11Z borei: ok, seems like there matrices 100x100 2018-02-02T04:19:25Z stacksmith: pjb: forgive me for being dense, but how does one create an immutable array? 2018-02-02T04:19:29Z borei: and you are getting 0.09 - 0.11 second 2018-02-02T04:19:46Z borei: so for matrices 1000x1000 it will be x1000 2018-02-02T04:19:51Z ebzzry: pjb: ok thanks 2018-02-02T04:19:57Z borei: we are talkine about 90 seconds 2018-02-02T04:20:01Z pjb: borei: your algo is O(n^3)!!! 2018-02-02T04:20:17Z borei: yep 2018-02-02T04:20:43Z borei: 20.430679 seconds of total run time (20.124209 user, 0.306470 system) 2018-02-02T04:20:51Z borei: that is for 1D array 2018-02-02T04:21:07Z pjb: Nice. 2018-02-02T04:21:09Z pjb: And for 2D? 2018-02-02T04:21:23Z pierpa: stacksmith: one way is to read "abc" 2018-02-02T04:21:48Z borei: i did try to extract rows and columns from matrices was getting ~22 seconds 2018-02-02T04:22:15Z pjb: stacksmith: by reading a literal indeed: '("abc" #.(vector 1 2 3) #.(make-array '(2 2) :initial-contents '((1 2) (3 4)))) 2018-02-02T04:22:16Z borei: i have 2.9Ghz icore7 2018-02-02T04:22:41Z ckonstanski joined #lisp 2018-02-02T04:23:56Z borei: and actually there is the same situation 1D against 2D in C 2018-02-02T04:24:41Z pjb: There are no 2D arrays in C. 2018-02-02T04:24:43Z borei: i don't know why, but to get an access to item a[i][j] is very expensive 2018-02-02T04:24:44Z aeth: CL isn't going to have the same performance characteristics as C. 2018-02-02T04:24:53Z pjb: Don't talk about languages you don't know the first thing about! 2018-02-02T04:25:16Z borei: no no, im not trying to compare C vs Lisp 2018-02-02T04:25:28Z borei: im comparing 1D vs 2D array 2018-02-02T04:25:40Z pjb: So how fast for 2D arrays? 2018-02-02T04:25:58Z aeth: iirc, a[i][j] is just syntactic sugar in C. 2018-02-02T04:26:35Z borei: pjb: i don't have numbers in hands now 2018-02-02T04:26:41Z iqubic joined #lisp 2018-02-02T04:26:44Z borei: but i had reason to switch to 1D 2018-02-02T04:28:15Z stacksmith: pjb: re immutable arrays: What you describe seem to be just literals. SBCL will actually allow modification with a warning - not that it's a good idea. Is there something in the standard? 2018-02-02T04:28:41Z pjb: stacksmith: indeed. And the compiler may allocate the literals to ROM. 2018-02-02T04:28:45Z aeth: borei: (This is just my opinion.) With CL, no need to have any numbers at all. Write two equivalent ways of doing something. Then use disassemble. If the disassemblies are identical (as they often are) there is no difference. If the disassemblies are very similar, you might be able to notice the differences. Only if they're very different do you need to benchmark. 2018-02-02T04:29:25Z borei: agreed 2018-02-02T04:31:46Z aeth: I would not be surprised at all if someone has already written a disassemble diff tool for this. 2018-02-02T04:32:24Z rme: beach: Students with some CL would just have been a potential bonus. 2018-02-02T04:32:27Z z3t0 joined #lisp 2018-02-02T04:32:40Z rme: Certainly that's not a make-or-break factor. 2018-02-02T04:32:49Z beach: Sure. 2018-02-02T04:33:31Z rme: I'll be in town starting on the 23rd. It'd be nice to see you if you're available sometime. 2018-02-02T04:33:32Z asarch quit (Quit: Leaving) 2018-02-02T04:33:45Z beach: You need to act quickly. Prices of real estate are rising fast because of the increased popularity of the city in recent years. 2018-02-02T04:33:48Z k-hos: I really do like sbcls disassmble feature, aeth, I used it the other day to confirm that macros don't have any overhead (at least simple ones) 2018-02-02T04:33:57Z iqubic: testing a thing 2018-02-02T04:34:00Z k-hos: because I couldn't find any information about this online :| 2018-02-02T04:34:06Z iqubic: Good. no blank lines sent. 2018-02-02T04:34:09Z z3t0 quit (Remote host closed the connection) 2018-02-02T04:34:16Z beach: rme: Yes, I'll be here. How long are you staying and where? 2018-02-02T04:34:24Z z3t0 joined #lisp 2018-02-02T04:34:26Z aeth: k-hos: My favorite part about SBCL's disassembly is that it comments the potentially interesting things, such as constants and allocations and function calls. 2018-02-02T04:34:35Z aeth: I wish other implementations with functional disassemblies would be as helpful. 2018-02-02T04:34:37Z k-hos: yeah 2018-02-02T04:34:53Z aeth: someone who knows 0 assembly can at least read the comments and notice some things 2018-02-02T04:35:19Z Devon joined #lisp 2018-02-02T04:36:04Z rme: beach: From Feb. 23 through March 6th. Not sure where I'll stay; some airbnb place (or places). I'll be looking around for a place to rent for a year to start with. 2018-02-02T04:37:21Z aeth: (And I use disassembly not to write low-level code but to see how high level the code can get away with being.) 2018-02-02T04:37:42Z rme: beach: I was thinking maybe Talence or Pessac, but I need to come and look around. 2018-02-02T04:37:47Z beach: rme: I *might* be busy until end of February. A visitor might be here. After that, I'll be available. 2018-02-02T04:38:26Z beach: rme: Talence is very expensive. It depends on how close to the center you want to be. 2018-02-02T04:38:42Z beach: rme: The trick these days is to be away from the center, but close to the tram. 2018-02-02T04:39:56Z beach: rme: It also depends on whether you want walking distance to commerce or not. 2018-02-02T04:40:45Z rme: Nothing beats coming to look around in person, I am thinking. Hopefully, I won't be totally priced out. 2018-02-02T04:41:13Z beach: We can discuss it when you get here. 2018-02-02T04:41:42Z rme: Yes, that would be good. 2018-02-02T04:41:52Z dmiles quit (Ping timeout: 252 seconds) 2018-02-02T04:43:48Z schoppenhauer quit (Ping timeout: 240 seconds) 2018-02-02T04:45:05Z smasta joined #lisp 2018-02-02T04:46:04Z schoppenhauer joined #lisp 2018-02-02T04:46:15Z krwq quit (Remote host closed the connection) 2018-02-02T04:51:59Z aeth: Bike: Should I move my length 16 array to a (4 4) array for my 4x4 matrices? You seem to know more about this than anyone else in the previous conversation. 2018-02-02T04:52:25Z Bike: i don't know that much. you should time ti yourself, of course. 2018-02-02T04:52:26Z aeth: It does look like SBCL can declare them dynamic extent, so they do seem to be useful enough for my uses. 2018-02-02T04:52:38Z Bike: empiricism rules the day 2018-02-02T04:53:09Z smurfrobot joined #lisp 2018-02-02T04:53:48Z aeth: It looks like dynamic extent still works with (list (list ...) (list ...) (list ...) (list ...)) for the initial contents (which I assume an inline make-matrix-4x4 would produce) 2018-02-02T04:56:49Z rumbler3_ quit (Remote host closed the connection) 2018-02-02T05:04:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-02T05:05:01Z dieggsy quit (Remote host closed the connection) 2018-02-02T05:06:39Z borei: again with types :-(, im blind 2018-02-02T05:06:41Z dieggsy joined #lisp 2018-02-02T05:06:52Z borei: https://pastebin.com/iL3c2JT2 <-- function 2018-02-02T05:07:16Z borei: https://pastebin.com/11AzyWeU <-- compilation warning(s) 2018-02-02T05:07:26Z beach: (not (= can be replaced by (/= 2018-02-02T05:07:27Z borei: don't see 2018-02-02T05:07:35Z damke_ joined #lisp 2018-02-02T05:08:09Z beach: Just notes, no warnings. 2018-02-02T05:08:23Z borei: yeah, but it can't do inline 2018-02-02T05:08:42Z borei: and i don't see where and why 2018-02-02T05:08:45Z quazimodo quit (Ping timeout: 264 seconds) 2018-02-02T05:08:50Z beach: It can be very tricky to give the compiler enough information for that to work. 2018-02-02T05:09:10Z z3t0 quit (Remote host closed the connection) 2018-02-02T05:09:25Z aeth: Bike: 1829 byte disassembly for 4x4 vs. 1253 byte disassembly for length 16 :-( 2018-02-02T05:09:30Z aeth: (in my matrix multiplication) 2018-02-02T05:09:38Z aeth: I guess there's an optimization only 1D single float arrays get 2018-02-02T05:09:44Z z3t0 joined #lisp 2018-02-02T05:09:54Z Bike: that's not indicative of much 2018-02-02T05:11:04Z borei: in https://pastebin.com/11AzyWeU how to read line 19 ? 2018-02-02T05:11:08Z aeth: In the length 16 version it's all MOVSS, MULSS, and ADDSS. In the dimension (4 4) version, it has a lot of MOV instructions added 2018-02-02T05:11:18Z borei: what is the first argument ? 2018-02-02T05:11:22Z Bike: just time it 2018-02-02T05:11:32Z Bike: nobody can figure out how fast a processor is going to go just by looking at code 2018-02-02T05:12:10Z borei: and first argument of what 2018-02-02T05:12:11Z beach: borei: I suggest you introduce a variable using LET that you sum into. That way, you can declare the type of it. 2018-02-02T05:12:36Z nox2 joined #lisp 2018-02-02T05:12:47Z beach: borei: It is complaining that when you use the SUM LOOP keyword, the type of the implicit variable it sums into is not known to be DOUBLE-FLOAT. 2018-02-02T05:13:55Z borei: damn, i had feeling about it, but wasn't sure 2018-02-02T05:13:58Z ozzloy_ is now known as ozzloy 2018-02-02T05:14:07Z ozzloy quit (Changing host) 2018-02-02T05:14:07Z ozzloy joined #lisp 2018-02-02T05:14:10Z borei: is there way to specify type for SUM > 2018-02-02T05:14:11Z beach: borei: You need to work on your code layout. 2018-02-02T05:14:12Z borei: ? 2018-02-02T05:14:25Z borei: it copy-paste from emacs 2018-02-02T05:14:25Z beach: I don't think so. 2018-02-02T05:14:35Z borei: xemacs 2018-02-02T05:14:45Z z3t0 quit (Ping timeout: 265 seconds) 2018-02-02T05:14:50Z aeth: Bike: It's probably slightly slower, but it's really hard to tell because my computer is too fast and any loop will optimize it away 2018-02-02T05:14:53Z beach: borei: Well, you have the LOOP keyword DO at the end of the line instead of at the beginning. 2018-02-02T05:15:00Z z3t0 joined #lisp 2018-02-02T05:15:17Z beach: borei: And you could use a newline before the innermost (LOOP. 2018-02-02T05:15:21Z Bike: well, who gives a shit either way then 2018-02-02T05:15:28Z beach: borei: You probably also need to untabify the code. 2018-02-02T05:15:55Z beach: borei: I am guessing that pastebin doesn't deal with tabs very well. 2018-02-02T05:16:17Z borei: yeah 2018-02-02T05:16:19Z borei: ok 2018-02-02T05:16:39Z borei: let me play with additional variable first 2018-02-02T05:16:56Z beach: There is no need for a (PROGN (LET* 2018-02-02T05:17:06Z beach: borei: The LET* will be enough. 2018-02-02T05:17:09Z beach: Saves indentation. 2018-02-02T05:17:53Z kupad joined #lisp 2018-02-02T05:19:24Z beach: borei: You can "play with" the variables first, but you should work on the code layout before resubmitting. 2018-02-02T05:24:15Z borei: yep yep 2018-02-02T05:25:25Z Bike quit (Quit: Lost terminal) 2018-02-02T05:25:59Z borei: no damn way 2018-02-02T05:26:08Z borei: 2.174359 seconds of total run time (2.174359 user, 0.000000 system) 2018-02-02T05:26:17Z borei: 1000x1000 multiplication 2018-02-02T05:26:24Z beach: How much was it before? 2018-02-02T05:26:29Z borei: it's 1Gflop 2018-02-02T05:26:34Z borei: ~20sec 2018-02-02T05:26:47Z borei: double-floar 2018-02-02T05:26:52Z borei: double-float 2018-02-02T05:26:57Z kupad quit (Ping timeout: 240 seconds) 2018-02-02T05:27:02Z beach: Yeah, nice improvement. 2018-02-02T05:27:10Z borei: i don't belive it 2018-02-02T05:28:13Z borei: i think it will pushing C++ for sure 2018-02-02T05:28:21Z paul0 quit (Remote host closed the connection) 2018-02-02T05:28:50Z rme: that is exactly the kind of stuff that cmucl/sbcl excels at 2018-02-02T05:29:24Z beach: Indeed. 2018-02-02T05:29:39Z Devon quit (Ping timeout: 256 seconds) 2018-02-02T05:30:45Z borei: too fast 2018-02-02T05:30:51Z borei: no overhead at all 2018-02-02T05:31:36Z pierpa quit (Quit: Page closed) 2018-02-02T05:31:43Z fikka quit (Ping timeout: 248 seconds) 2018-02-02T05:33:27Z borei: tested small identity matrices - result is correct 2018-02-02T05:33:55Z borei: if i didn't screwed anything it's damn SUPER ! 2018-02-02T05:34:29Z fikka joined #lisp 2018-02-02T05:38:15Z terpri joined #lisp 2018-02-02T05:39:20Z groovy2shoes quit (Ping timeout: 260 seconds) 2018-02-02T05:39:26Z borei: single-threaded application on the consumer-grade CPU with performance a bit less then 1Gflop on double precision numbers 2018-02-02T05:40:24Z borei: whoevere will be saying that lisp slow - WRONG ! 2018-02-02T05:41:28Z aeth: Lisp isn't slow, but it doesn't have as many optimizations as a more popular AOT compiled language. Mainly becaue it doesn't have as many humans optimizing it as a more popular AOT compiled language. 2018-02-02T05:41:46Z aeth: But I suspect a lot of those optimizations are pointless when you're just doing linear algebra. 2018-02-02T05:42:55Z aeth: (Note: for some Lisps, the compilation might not be AOT) 2018-02-02T05:43:28Z aeth: (Or, more accurately, it could AOT compile to a JITed bytecode) 2018-02-02T05:45:29Z borei: i got additional and huge motivation for big dive into LISP ecosystem, huge thanks for support ! 2018-02-02T05:45:54Z k-hos: after my brief use of common lisp I wouldn't mind seeing some geared towards game dev 2018-02-02T05:45:55Z groovy2shoes joined #lisp 2018-02-02T05:46:18Z k-hos: would probably have to sacrifice things to make people happy though 2018-02-02T05:46:34Z aeth: #lispgames is slowly infecting the world, it's wonderful 2018-02-02T05:46:45Z fiddlerwoaroof_: borei: if you're doing matrixy-stuff and have an Nvidia GPU, you might look into Gabor Melis's libraries, like mgl-mat 2018-02-02T05:46:48Z drewc joined #lisp 2018-02-02T05:47:14Z borei: GPU will be running pretty hot doing graphics 2018-02-02T05:47:21Z fiddlerwoaroof_: I've never got them to work because I don't have the hardware, but they look really nice for machine-learning applications 2018-02-02T05:47:25Z aeth: k-hos: Well, I think Lisp games would benefit the most from a concurrent, parallel, real-time garbage collector. 2018-02-02T05:47:29Z oleo joined #lisp 2018-02-02T05:47:41Z aeth: And, yeah, a real-time garbage collector isn't the best for every use case. 2018-02-02T05:47:53Z fiddlerwoaroof_: In theory, abcl should have that, right? 2018-02-02T05:48:06Z aeth: I don't think the JVM's garbage collector is real time? 2018-02-02T05:48:16Z fiddlerwoaroof_: The JVM has a concurrent collector, I think 2018-02-02T05:48:17Z aeth: I think the GC literature just tends to write custom JVM GCs because Java is popular 2018-02-02T05:48:37Z aeth: Some of them might be developed further, but a lot are probably commercial 2018-02-02T05:49:16Z borei: fiddlerwoaroof_: actually i have question about ML, can you recommend any materials about ML+Lisp to read (entry level) 2018-02-02T05:49:16Z aeth: fiddlerwoaroof_: The most important part in the GC buzzwords for games is real time, afaik. 2018-02-02T05:49:39Z fiddlerwoaroof_: aeth: The built-in java GCs are really advanced, because of the JVM's position in the industry 2018-02-02T05:49:49Z aeth: Games are usually on some strict schedule (or two, if the rendering framerate is separate from the logic one). e.g. 0.01 second ticks or something. 2018-02-02T05:49:51Z borei: everything is spinnig about python , that is not the way i want to go 2018-02-02T05:51:11Z borei: s/about/around/g 2018-02-02T05:51:52Z fiddlerwoaroof_: borei: CL isn't the best yet for modern ML, just because we don't have the libraries that python/scala have. However, Gabor Melis managed to do pretty well using his own libraries 2018-02-02T05:51:56Z fiddlerwoaroof_: e.g. https://github.com/melisgl/higgsml 2018-02-02T05:52:35Z shifty joined #lisp 2018-02-02T05:52:40Z fiddlerwoaroof_: However, I don't know much about these topics 2018-02-02T05:54:16Z borei: damn, i wish i'd be 20 or 25 - so many things 2018-02-02T05:54:18Z nox2 quit (Ping timeout: 240 seconds) 2018-02-02T05:54:26Z borei: to learn and to work with 2018-02-02T05:55:43Z damke joined #lisp 2018-02-02T05:56:43Z nox2 joined #lisp 2018-02-02T05:56:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-02T05:57:14Z k-hos: aeth I think a gc would need to be optional 2018-02-02T05:57:21Z rumbler31 joined #lisp 2018-02-02T05:57:59Z aeth: k-hos: Most games wind up using a garbage collected scripting language in addition to a non-garbage collected engine language. 2018-02-02T05:58:12Z aeth: So it can't be a simple optional GC. 2018-02-02T05:59:33Z fiddlerwoaroof_: Hmm, it looks like redhat has recently opensourced a low-latency GC: https://wiki.openjdk.java.net/display/shenandoah/Main 2018-02-02T06:00:09Z k-hos: personally I would prefer no gc and have some kind of ref counting mechanism built into the language 2018-02-02T06:01:19Z beach: k-hos: That would be WAY slower than a tracing garbage collector. 2018-02-02T06:01:27Z beach: k-hos: And it wouldn't be real-time anyway. 2018-02-02T06:01:32Z beach: So only worse. 2018-02-02T06:02:18Z rumbler31 quit (Ping timeout: 240 seconds) 2018-02-02T06:03:54Z k-hos: it's pauses and inconsistency that make gcs generally bad for games, but there is little point to arguing about a theoretical language anyway 2018-02-02T06:03:57Z damke quit (Ping timeout: 264 seconds) 2018-02-02T06:04:18Z damke_ joined #lisp 2018-02-02T06:04:18Z beach: k-hos: There are very good real-time, parallel, concurrent garbage collectors these days. 2018-02-02T06:04:35Z aeth: k-hos: all you need is a real-time GC 2018-02-02T06:04:38Z beach: k-hos: You are thinking of garbage collectors from a few decades ago. 2018-02-02T06:04:39Z aeth: I agree 100% with beach 2018-02-02T06:04:46Z k-hos: I am aware 2018-02-02T06:05:03Z aeth: What would it take to replace SBCL's GC with a real time GC? 2018-02-02T06:05:31Z jackdaniel: sweat, tears and blood 2018-02-02T06:05:42Z aeth: seems like it still might be the easiest route, though 2018-02-02T06:06:14Z jackdaniel: you say that blood is a reasonable price for realGC? ,) 2018-02-02T06:06:25Z jackdaniel: real time* 2018-02-02T06:07:38Z beach: k-hos: So if you are aware of that, why do you want reference counting? 2018-02-02T06:07:52Z smurfrobot quit (Remote host closed the connection) 2018-02-02T06:08:24Z fikka quit (Ping timeout: 252 seconds) 2018-02-02T06:10:15Z k-hos: they make a lot of constructs easier without relying on a full gc 2018-02-02T06:10:25Z beach: Name two. 2018-02-02T06:10:53Z Oladon quit (Quit: Leaving.) 2018-02-02T06:11:09Z aeth: jackdaniel: Yes, because I think there are literally dozens of people on IRC who want one. 2018-02-02T06:11:41Z aeth: So it would be one of the most noticable improvements. 2018-02-02T06:13:21Z _mjl joined #lisp 2018-02-02T06:15:30Z drcode quit (Ping timeout: 260 seconds) 2018-02-02T06:17:09Z aeth: (Okay, probably at least a dozen.) 2018-02-02T06:17:11Z fikka joined #lisp 2018-02-02T06:19:49Z LocaMocha joined #lisp 2018-02-02T06:19:49Z LocaMocha quit (Max SendQ exceeded) 2018-02-02T06:20:03Z oleo quit (Ping timeout: 265 seconds) 2018-02-02T06:20:23Z damke joined #lisp 2018-02-02T06:21:55Z makomo: morning :-) 2018-02-02T06:21:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-02T06:22:06Z beach: Hello makomo. 2018-02-02T06:22:16Z makomo: hi o/ 2018-02-02T06:23:31Z LocaMocha joined #lisp 2018-02-02T06:24:47Z aeth: This matrix multiplication is... ugh. 2018-02-02T06:26:30Z jackdaniel: (ugh m1 m2) 2018-02-02T06:26:42Z aeth: It does look like the (16) array is consistently around 2.8 kilocycles compared to the (4 4) being consistently around 3.8 kilocycles. So that is quite a drop in performance, even though I have to use SBCL's cycles to even notice it at all (0.000 seconds) 2018-02-02T06:27:20Z aeth: I've played with different ways of expressing it, e.g. pulling out all of the array accesses into variables first 2018-02-02T06:27:40Z aeth: Wikipedia pretty much tells me to do it the naive way because it's a small matrix. 2018-02-02T06:29:00Z aeth: Maybe the next thing I could try is using a loop instead of doing all of the adds/multiplies, 2018-02-02T06:37:07Z itruslove joined #lisp 2018-02-02T06:38:35Z aeth: It looks like the 4x4 matrix is always slower than the fake 4x4 matrix because SBCL can't access items from it as well. It generates an extra MOV for every one or two MOVSS, which adds up a lot in matrix multiplication. Both on retrieving the values and on setting the destination matrix. 2018-02-02T06:40:42Z giraffe joined #lisp 2018-02-02T06:45:15Z z3t0 quit (Remote host closed the connection) 2018-02-02T06:51:27Z orivej quit (Ping timeout: 240 seconds) 2018-02-02T06:51:29Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-02T06:51:30Z mishoo joined #lisp 2018-02-02T06:53:59Z Karl_Dscc joined #lisp 2018-02-02T06:56:19Z loli quit (Quit: WeeChat 2.0.1) 2018-02-02T06:56:23Z ahungry quit (Remote host closed the connection) 2018-02-02T06:57:02Z loli joined #lisp 2018-02-02T06:57:40Z smurfrobot joined #lisp 2018-02-02T07:05:32Z nox2 quit (Ping timeout: 276 seconds) 2018-02-02T07:11:37Z sjl joined #lisp 2018-02-02T07:12:38Z nox2 joined #lisp 2018-02-02T07:12:43Z Karl_Dscc quit (Remote host closed the connection) 2018-02-02T07:13:59Z dieggsy quit (Ping timeout: 276 seconds) 2018-02-02T07:14:38Z borei quit (Ping timeout: 276 seconds) 2018-02-02T07:16:15Z sjl quit (Ping timeout: 248 seconds) 2018-02-02T07:17:25Z smurfrobot quit (Remote host closed the connection) 2018-02-02T07:17:34Z damke_ joined #lisp 2018-02-02T07:18:57Z damke quit (Ping timeout: 264 seconds) 2018-02-02T07:19:55Z smurfrobot joined #lisp 2018-02-02T07:22:39Z fikka quit (Ping timeout: 248 seconds) 2018-02-02T07:26:30Z vlatkoB joined #lisp 2018-02-02T07:31:14Z fikka joined #lisp 2018-02-02T07:31:43Z nullman quit (Ping timeout: 248 seconds) 2018-02-02T07:32:30Z nullman joined #lisp 2018-02-02T07:34:29Z smurfrobot quit (Remote host closed the connection) 2018-02-02T07:36:33Z shrdlu68 quit (Ping timeout: 248 seconds) 2018-02-02T07:55:06Z nox2 quit (Ping timeout: 268 seconds) 2018-02-02T07:58:30Z rumbler31 joined #lisp 2018-02-02T07:59:25Z Cymew joined #lisp 2018-02-02T08:01:08Z nox2 joined #lisp 2018-02-02T08:02:58Z rumbler31 quit (Ping timeout: 256 seconds) 2018-02-02T08:03:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-02T08:08:35Z fikka joined #lisp 2018-02-02T08:11:45Z shka quit (Ping timeout: 268 seconds) 2018-02-02T08:22:31Z zaquest quit (Quit: Leaving) 2018-02-02T08:23:49Z smurfrobot joined #lisp 2018-02-02T08:33:44Z damke joined #lisp 2018-02-02T08:35:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-02T08:39:44Z mlf quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-02T08:39:54Z raynold quit (Quit: Connection closed for inactivity) 2018-02-02T08:44:48Z Xal quit (Ping timeout: 240 seconds) 2018-02-02T08:45:54Z zaquest joined #lisp 2018-02-02T08:49:16Z Xal joined #lisp 2018-02-02T08:51:08Z randomstrangerb quit (Ping timeout: 256 seconds) 2018-02-02T08:52:22Z randomstrangerb joined #lisp 2018-02-02T08:53:48Z schweers joined #lisp 2018-02-02T08:58:32Z fikka quit (Ping timeout: 252 seconds) 2018-02-02T09:00:44Z drcode joined #lisp 2018-02-02T09:01:35Z damke_ joined #lisp 2018-02-02T09:03:53Z LoggerZZZ joined #lisp 2018-02-02T09:03:57Z damke quit (Ping timeout: 264 seconds) 2018-02-02T09:07:33Z pagnol joined #lisp 2018-02-02T09:08:51Z hhdave joined #lisp 2018-02-02T09:09:35Z wigust quit (Ping timeout: 240 seconds) 2018-02-02T09:09:56Z smurfrobot quit (Remote host closed the connection) 2018-02-02T09:09:56Z vaporatorius joined #lisp 2018-02-02T09:10:03Z vap1 joined #lisp 2018-02-02T09:10:29Z fikka joined #lisp 2018-02-02T09:11:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-02T09:12:50Z vaporatorius quit (Client Quit) 2018-02-02T09:14:14Z tessier quit (Ping timeout: 276 seconds) 2018-02-02T09:14:46Z LoggerZZZ quit (Remote host closed the connection) 2018-02-02T09:16:01Z damke_ joined #lisp 2018-02-02T09:17:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-02T09:21:48Z varjag joined #lisp 2018-02-02T09:23:23Z mathi_aihtam joined #lisp 2018-02-02T09:25:07Z orivej joined #lisp 2018-02-02T09:29:20Z fikka joined #lisp 2018-02-02T09:30:58Z orivej quit (Ping timeout: 265 seconds) 2018-02-02T09:34:12Z fikka quit (Ping timeout: 256 seconds) 2018-02-02T09:34:15Z murii joined #lisp 2018-02-02T09:34:59Z wigust joined #lisp 2018-02-02T09:39:03Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2018-02-02T09:41:15Z hhdave_ joined #lisp 2018-02-02T09:41:50Z hhdave quit (Ping timeout: 255 seconds) 2018-02-02T09:41:50Z hhdave_ is now known as hhdave 2018-02-02T09:42:39Z openthesky quit (Remote host closed the connection) 2018-02-02T09:43:30Z LoggerZZZ joined #lisp 2018-02-02T09:46:08Z randomstrangerb quit (Ping timeout: 248 seconds) 2018-02-02T09:46:08Z random-nick joined #lisp 2018-02-02T09:47:09Z fikka joined #lisp 2018-02-02T09:47:23Z randomstrangerb joined #lisp 2018-02-02T09:49:04Z LoggerZZZ quit (Remote host closed the connection) 2018-02-02T09:51:00Z damke_ quit (Ping timeout: 246 seconds) 2018-02-02T09:51:25Z Zhivago quit (Changing host) 2018-02-02T09:51:25Z Zhivago joined #lisp 2018-02-02T09:56:55Z nirved joined #lisp 2018-02-02T09:59:06Z damke_ joined #lisp 2018-02-02T09:59:19Z EvW joined #lisp 2018-02-02T09:59:22Z rumbler31 joined #lisp 2018-02-02T10:03:59Z rumbler31 quit (Ping timeout: 268 seconds) 2018-02-02T10:04:18Z Kaisyu quit (Quit: Connection closed for inactivity) 2018-02-02T10:07:38Z LoggerZZZ joined #lisp 2018-02-02T10:08:05Z tessier joined #lisp 2018-02-02T10:24:04Z ghard quit (Remote host closed the connection) 2018-02-02T10:24:10Z ghard joined #lisp 2018-02-02T10:27:27Z whoman quit (Remote host closed the connection) 2018-02-02T10:31:38Z dddddd joined #lisp 2018-02-02T10:33:17Z SamSkulls quit (Quit: ERC (IRC client for Emacs 27.0.50)) 2018-02-02T10:33:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-02T10:36:04Z fikka joined #lisp 2018-02-02T10:37:32Z drcode quit (Ping timeout: 252 seconds) 2018-02-02T10:40:41Z ebzzry quit (Ping timeout: 276 seconds) 2018-02-02T10:40:42Z fikka quit (Ping timeout: 246 seconds) 2018-02-02T10:41:10Z drcode joined #lisp 2018-02-02T10:41:41Z ebzzry joined #lisp 2018-02-02T10:42:28Z fikka joined #lisp 2018-02-02T10:42:59Z LoggerZZZ quit (Remote host closed the connection) 2018-02-02T10:47:46Z sjl joined #lisp 2018-02-02T10:52:15Z sjl quit (Ping timeout: 248 seconds) 2018-02-02T10:55:01Z wigust quit (Quit: ZNC 1.6.5 - http://znc.in) 2018-02-02T10:56:56Z ebzzry quit (Ping timeout: 256 seconds) 2018-02-02T10:59:29Z fikka quit (Ping timeout: 268 seconds) 2018-02-02T11:00:52Z damke joined #lisp 2018-02-02T11:02:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-02T11:02:48Z random-nick quit (Remote host closed the connection) 2018-02-02T11:05:07Z fikka joined #lisp 2018-02-02T11:05:51Z random-nick joined #lisp 2018-02-02T11:06:21Z ebzzry joined #lisp 2018-02-02T11:09:48Z fikka quit (Ping timeout: 240 seconds) 2018-02-02T11:10:31Z smurfrobot joined #lisp 2018-02-02T11:14:29Z nowhere_man quit (Ping timeout: 276 seconds) 2018-02-02T11:14:57Z LoggerZZZ joined #lisp 2018-02-02T11:15:13Z LoggerZZZ quit (Remote host closed the connection) 2018-02-02T11:15:18Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-02T11:17:22Z klixto joined #lisp 2018-02-02T11:18:49Z LoggerZZZ joined #lisp 2018-02-02T11:19:22Z nowhere_man joined #lisp 2018-02-02T11:20:03Z Trystam joined #lisp 2018-02-02T11:20:33Z smurfrobot joined #lisp 2018-02-02T11:22:27Z Tristam quit (Ping timeout: 240 seconds) 2018-02-02T11:22:28Z Trystam is now known as Tristam 2018-02-02T11:25:33Z fikka joined #lisp 2018-02-02T11:26:00Z random-nick quit (Ping timeout: 265 seconds) 2018-02-02T11:27:59Z drcode quit (Ping timeout: 248 seconds) 2018-02-02T11:28:12Z attila_lendvai joined #lisp 2018-02-02T11:28:12Z attila_lendvai quit (Changing host) 2018-02-02T11:28:12Z attila_lendvai joined #lisp 2018-02-02T11:30:05Z shifty quit (Ping timeout: 276 seconds) 2018-02-02T11:31:12Z random-nick joined #lisp 2018-02-02T11:31:45Z fikka quit (Ping timeout: 248 seconds) 2018-02-02T11:33:32Z smurfrobot quit (Remote host closed the connection) 2018-02-02T11:36:48Z fikka joined #lisp 2018-02-02T11:37:00Z mathi_aihtam quit (Quit: mathi_aihtam) 2018-02-02T11:37:13Z random-nickname joined #lisp 2018-02-02T11:37:32Z random-nick quit (Read error: Connection reset by peer) 2018-02-02T11:37:57Z iqubic` joined #lisp 2018-02-02T11:37:57Z drcode joined #lisp 2018-02-02T11:38:16Z EvW quit (Remote host closed the connection) 2018-02-02T11:38:27Z EvW joined #lisp 2018-02-02T11:38:28Z markong joined #lisp 2018-02-02T11:39:50Z iqubic quit (Ping timeout: 276 seconds) 2018-02-02T11:41:10Z random-nickname is now known as random-nick 2018-02-02T11:44:38Z drcode quit (Ping timeout: 252 seconds) 2018-02-02T11:44:46Z klixto quit (Quit: Leaving) 2018-02-02T11:48:18Z EvW quit (Ping timeout: 252 seconds) 2018-02-02T11:48:18Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-02T11:50:40Z attila_lendvai joined #lisp 2018-02-02T11:50:40Z attila_lendvai quit (Changing host) 2018-02-02T11:50:40Z attila_lendvai joined #lisp 2018-02-02T11:54:18Z EvW joined #lisp 2018-02-02T12:03:34Z marvin3 joined #lisp 2018-02-02T12:08:18Z ebzzry quit (Ping timeout: 240 seconds) 2018-02-02T12:08:50Z scymtym quit (Ping timeout: 252 seconds) 2018-02-02T12:14:13Z ebzzry joined #lisp 2018-02-02T12:19:54Z drcode joined #lisp 2018-02-02T12:22:48Z ebzzry quit (Ping timeout: 240 seconds) 2018-02-02T12:26:25Z ebzzry joined #lisp 2018-02-02T12:27:13Z scymtym joined #lisp 2018-02-02T12:27:57Z damke quit (Ping timeout: 263 seconds) 2018-02-02T12:29:10Z damke joined #lisp 2018-02-02T12:29:26Z Denommus joined #lisp 2018-02-02T12:34:33Z damke quit (Ping timeout: 264 seconds) 2018-02-02T12:35:38Z damke joined #lisp 2018-02-02T12:40:33Z fikka quit (Ping timeout: 248 seconds) 2018-02-02T12:41:13Z m00natic joined #lisp 2018-02-02T12:43:06Z lagagain joined #lisp 2018-02-02T12:43:26Z drmeister: Is there a way to shut down pretty printing for trace output? Or is this an implementation dependent detail? 2018-02-02T12:44:35Z Shinmera: Well, setting *print-pretty* is an option unless the implementation changes that itself during tracing. 2018-02-02T12:45:05Z Shinmera: Otherwise pretty much the entire behaviour of trace is implementation dependent. 2018-02-02T12:45:44Z attila_lendvai quit (Quit: Leaving.) 2018-02-02T12:47:45Z damke quit (Ping timeout: 246 seconds) 2018-02-02T12:48:23Z scymtym: maybe implementations could add something along the lines of SB-EXT:*DEBUG-PRINT-VARIABLE-ALIST* for TRACE 2018-02-02T12:48:58Z drmeister: Sometimes in clasp trace generates pretty printed output and other times it doesn't. 2018-02-02T12:48:59Z rumbler31 joined #lisp 2018-02-02T12:49:21Z red-dot joined #lisp 2018-02-02T12:49:23Z damke joined #lisp 2018-02-02T12:49:27Z drmeister: It's pretty much "(setq *print-pretty* )" 2018-02-02T12:50:22Z drmeister is developing an adversarial with his code 2018-02-02T12:50:31Z drmeister: adversarial relationship - (sigh) 2018-02-02T12:53:05Z drmeister: Actually - this might be within slime - checking for *print-pretty* in swank. 2018-02-02T12:55:23Z trittweiler joined #lisp 2018-02-02T12:57:12Z rumbler31 quit (Remote host closed the connection) 2018-02-02T12:59:59Z fikka joined #lisp 2018-02-02T13:00:21Z jmercouris joined #lisp 2018-02-02T13:00:54Z trittweiler quit (Remote host closed the connection) 2018-02-02T13:01:16Z drmeister: (blush) Simply (setf *print-pretty* nil) in the slime repl turns pretty printing off for trace 2018-02-02T13:03:43Z SamSkulls joined #lisp 2018-02-02T13:05:37Z fikka quit (Ping timeout: 248 seconds) 2018-02-02T13:06:18Z makomo quit (Ping timeout: 240 seconds) 2018-02-02T13:08:03Z trittweiler joined #lisp 2018-02-02T13:09:46Z zaquest quit (Quit: Leaving) 2018-02-02T13:15:29Z murii quit (Quit: ¯\_(ツ)_/¯) 2018-02-02T13:17:56Z damke quit (Read error: Connection reset by peer) 2018-02-02T13:19:01Z zaquest joined #lisp 2018-02-02T13:22:09Z jmercouris quit (Ping timeout: 248 seconds) 2018-02-02T13:24:16Z drcode quit (Ping timeout: 248 seconds) 2018-02-02T13:25:22Z smurfrobot joined #lisp 2018-02-02T13:27:26Z damke joined #lisp 2018-02-02T13:27:46Z Tobbi joined #lisp 2018-02-02T13:28:27Z rippa joined #lisp 2018-02-02T13:35:25Z smurfrobot quit (Remote host closed the connection) 2018-02-02T13:36:24Z orivej joined #lisp 2018-02-02T13:37:14Z oleo joined #lisp 2018-02-02T13:37:33Z damke quit (Ping timeout: 264 seconds) 2018-02-02T13:38:33Z damke joined #lisp 2018-02-02T13:39:10Z EvW quit (Ping timeout: 240 seconds) 2018-02-02T13:40:02Z python476 joined #lisp 2018-02-02T13:40:42Z papachan joined #lisp 2018-02-02T13:41:34Z random-nick quit (Remote host closed the connection) 2018-02-02T13:44:40Z random-nick joined #lisp 2018-02-02T13:44:41Z Xach: Hmm. 2018-02-02T13:44:55Z Xach: I would expect --non-interactive to error on (y-or-n-p) 2018-02-02T13:46:48Z rumbler31 joined #lisp 2018-02-02T13:47:25Z fikka joined #lisp 2018-02-02T13:47:57Z brendyn quit (Ping timeout: 240 seconds) 2018-02-02T13:52:05Z smurfrobot joined #lisp 2018-02-02T13:52:17Z fikka quit (Ping timeout: 256 seconds) 2018-02-02T13:53:13Z jmercouris joined #lisp 2018-02-02T13:53:20Z jmercouris: Shinmera: Strange behavior huh? 2018-02-02T13:53:28Z fisxoj joined #lisp 2018-02-02T13:55:18Z fikka joined #lisp 2018-02-02T13:55:54Z Achylles joined #lisp 2018-02-02T13:57:54Z nsrahmad joined #lisp 2018-02-02T13:59:05Z jmercouris quit (Ping timeout: 256 seconds) 2018-02-02T14:00:42Z Achylles quit (Client Quit) 2018-02-02T14:01:24Z drewc quit (Ping timeout: 268 seconds) 2018-02-02T14:05:26Z nullman quit (Ping timeout: 252 seconds) 2018-02-02T14:05:42Z nullman joined #lisp 2018-02-02T14:06:57Z nowhere_man quit (Ping timeout: 264 seconds) 2018-02-02T14:06:57Z nowhereman_ joined #lisp 2018-02-02T14:07:43Z quazimodo joined #lisp 2018-02-02T14:08:35Z __rumbler31 joined #lisp 2018-02-02T14:09:22Z fisxoj quit (Quit: fisxoj) 2018-02-02T14:10:13Z damke_ joined #lisp 2018-02-02T14:11:55Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2018-02-02T14:12:21Z damke quit (Ping timeout: 264 seconds) 2018-02-02T14:12:55Z LoggerZZZ quit (Remote host closed the connection) 2018-02-02T14:13:29Z ebrasca left #lisp 2018-02-02T14:14:54Z LoggerZZZ joined #lisp 2018-02-02T14:25:19Z Bike joined #lisp 2018-02-02T14:27:39Z smurfrobot quit (Remote host closed the connection) 2018-02-02T14:28:01Z LoggerZZZ quit (Remote host closed the connection) 2018-02-02T14:29:30Z parjanya joined #lisp 2018-02-02T14:30:12Z LoggerZZZ joined #lisp 2018-02-02T14:33:23Z cuso4 joined #lisp 2018-02-02T14:35:14Z LiamH joined #lisp 2018-02-02T14:36:54Z smurfrobot joined #lisp 2018-02-02T14:38:21Z dieggsy joined #lisp 2018-02-02T14:39:16Z asarch joined #lisp 2018-02-02T14:41:19Z LoggerZZZ quit (Remote host closed the connection) 2018-02-02T14:43:14Z LoggerZZZ joined #lisp 2018-02-02T14:46:16Z toncek55 joined #lisp 2018-02-02T14:46:43Z Kyo91 joined #lisp 2018-02-02T14:47:22Z toncek55_ joined #lisp 2018-02-02T14:47:31Z toncek55_ quit (Client Quit) 2018-02-02T14:47:46Z turkja joined #lisp 2018-02-02T14:49:12Z lnostdal quit (Remote host closed the connection) 2018-02-02T14:50:10Z lnostdal joined #lisp 2018-02-02T14:51:59Z Kyo91 quit (Quit: ERC (IRC client for Emacs 25.3.1)) 2018-02-02T14:52:20Z Kyo91 joined #lisp 2018-02-02T14:52:55Z toncek55 quit (Ping timeout: 256 seconds) 2018-02-02T14:53:41Z tomlukeywood joined #lisp 2018-02-02T14:56:20Z EvW joined #lisp 2018-02-02T14:57:58Z sjl joined #lisp 2018-02-02T15:00:02Z fikka quit (Ping timeout: 276 seconds) 2018-02-02T15:02:43Z damke joined #lisp 2018-02-02T15:02:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-02T15:02:51Z lagagain quit (Quit: Connection closed for inactivity) 2018-02-02T15:03:17Z sjl quit (Ping timeout: 276 seconds) 2018-02-02T15:03:44Z sjl joined #lisp 2018-02-02T15:04:03Z shka joined #lisp 2018-02-02T15:04:30Z lnostdal quit (Remote host closed the connection) 2018-02-02T15:05:05Z lnostdal joined #lisp 2018-02-02T15:10:28Z jstypo quit (Ping timeout: 268 seconds) 2018-02-02T15:10:54Z nsrahmad quit (Quit: Leaving) 2018-02-02T15:11:00Z jstypo joined #lisp 2018-02-02T15:12:31Z dyelar1 joined #lisp 2018-02-02T15:13:01Z dyelar quit (Read error: Connection reset by peer) 2018-02-02T15:13:59Z Kevslinger joined #lisp 2018-02-02T15:15:53Z FreeBirdLjj joined #lisp 2018-02-02T15:16:36Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-02T15:21:29Z EvW quit (Ping timeout: 276 seconds) 2018-02-02T15:21:40Z damke_ joined #lisp 2018-02-02T15:21:57Z damke quit (Ping timeout: 264 seconds) 2018-02-02T15:23:35Z fikka joined #lisp 2018-02-02T15:24:49Z drcode joined #lisp 2018-02-02T15:27:29Z cuso4 quit (Ping timeout: 256 seconds) 2018-02-02T15:29:12Z LoggerZZZ quit (Remote host closed the connection) 2018-02-02T15:29:27Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-02T15:29:46Z Cymew quit (Remote host closed the connection) 2018-02-02T15:31:04Z LoggerZZZ joined #lisp 2018-02-02T15:32:01Z fikka quit (Ping timeout: 256 seconds) 2018-02-02T15:34:35Z fikka joined #lisp 2018-02-02T15:35:52Z warweasle joined #lisp 2018-02-02T15:36:05Z Cymew joined #lisp 2018-02-02T15:37:16Z FreeBirdLjj joined #lisp 2018-02-02T15:37:16Z damke_ quit (Read error: Connection reset by peer) 2018-02-02T15:38:30Z Murii joined #lisp 2018-02-02T15:40:17Z Cymew quit (Ping timeout: 248 seconds) 2018-02-02T15:40:22Z BitPuffin joined #lisp 2018-02-02T15:40:56Z damke_ joined #lisp 2018-02-02T15:41:55Z Cymew joined #lisp 2018-02-02T15:42:09Z drewc joined #lisp 2018-02-02T15:42:21Z FreeBirdLjj quit (Ping timeout: 264 seconds) 2018-02-02T15:44:45Z fikka quit (Ping timeout: 264 seconds) 2018-02-02T15:44:48Z orivej quit (Ping timeout: 252 seconds) 2018-02-02T15:46:35Z Cymew quit (Ping timeout: 260 seconds) 2018-02-02T15:51:18Z jibanes quit (Ping timeout: 240 seconds) 2018-02-02T15:51:44Z pagnol quit (Ping timeout: 255 seconds) 2018-02-02T15:51:52Z orivej joined #lisp 2018-02-02T15:53:24Z jibanes joined #lisp 2018-02-02T15:53:28Z eivarv joined #lisp 2018-02-02T15:55:05Z fikka joined #lisp 2018-02-02T15:55:19Z scottj joined #lisp 2018-02-02T16:00:06Z fikka quit (Ping timeout: 256 seconds) 2018-02-02T16:01:09Z cuso4 joined #lisp 2018-02-02T16:02:06Z fikka joined #lisp 2018-02-02T16:06:36Z eivarv quit (Quit: Quit) 2018-02-02T16:08:37Z eivarv joined #lisp 2018-02-02T16:10:46Z Karl_Dscc joined #lisp 2018-02-02T16:12:58Z smurfrobot quit (Remote host closed the connection) 2018-02-02T16:15:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-02T16:16:22Z damke_ joined #lisp 2018-02-02T16:16:28Z JI6 joined #lisp 2018-02-02T16:17:37Z smasta quit (Ping timeout: 248 seconds) 2018-02-02T16:17:39Z JI6: akkad: check keybase plz 2018-02-02T16:20:13Z LoggerZZZ quit (Remote host closed the connection) 2018-02-02T16:21:48Z JI6 quit (Remote host closed the connection) 2018-02-02T16:22:05Z LoggerZZZ joined #lisp 2018-02-02T16:25:52Z nowhere_man joined #lisp 2018-02-02T16:29:18Z nowhereman_ quit (Ping timeout: 240 seconds) 2018-02-02T16:35:06Z kami joined #lisp 2018-02-02T16:35:16Z kami: Good evening. 2018-02-02T16:35:32Z dlowe: Good morning. 2018-02-02T16:39:29Z fikka quit (Ping timeout: 248 seconds) 2018-02-02T16:45:48Z smasta joined #lisp 2018-02-02T16:47:48Z ebzzry quit (Ping timeout: 240 seconds) 2018-02-02T16:48:50Z oleo: evening 2018-02-02T16:49:24Z nox2 quit (Ping timeout: 256 seconds) 2018-02-02T16:50:14Z shifty joined #lisp 2018-02-02T16:51:18Z kami quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2018-02-02T16:53:05Z smasta quit (Read error: Connection reset by peer) 2018-02-02T16:55:01Z Jesin joined #lisp 2018-02-02T16:59:38Z smasta joined #lisp 2018-02-02T17:01:35Z orivej quit (Ping timeout: 276 seconds) 2018-02-02T17:02:27Z fikka joined #lisp 2018-02-02T17:02:35Z nox2 joined #lisp 2018-02-02T17:02:59Z raynold joined #lisp 2018-02-02T17:04:20Z LoggerZZZ quit (Remote host closed the connection) 2018-02-02T17:06:10Z LoggerZZZ joined #lisp 2018-02-02T17:07:45Z fikka quit (Ping timeout: 248 seconds) 2018-02-02T17:12:28Z fikka joined #lisp 2018-02-02T17:12:57Z __rumbler31 quit (Ping timeout: 264 seconds) 2018-02-02T17:15:20Z LoggerZZZ quit (Remote host closed the connection) 2018-02-02T17:16:02Z smurfrobot joined #lisp 2018-02-02T17:17:16Z LoggerZZZ joined #lisp 2018-02-02T17:17:47Z varjag joined #lisp 2018-02-02T17:20:33Z Devon joined #lisp 2018-02-02T17:22:23Z smurfrobot quit (Remote host closed the connection) 2018-02-02T17:23:28Z hiroaki joined #lisp 2018-02-02T17:25:48Z makomo joined #lisp 2018-02-02T17:26:25Z Xal quit (Ping timeout: 248 seconds) 2018-02-02T17:27:14Z lnostdal quit (Ping timeout: 255 seconds) 2018-02-02T17:28:33Z Xal joined #lisp 2018-02-02T17:33:49Z Devon: No portable defadvice? 2018-02-02T17:37:25Z smasta quit (Ping timeout: 260 seconds) 2018-02-02T17:37:42Z Jesin quit (Quit: Leaving) 2018-02-02T17:38:12Z dieggsy quit (Remote host closed the connection) 2018-02-02T17:39:18Z randomstrangerb quit (Ping timeout: 240 seconds) 2018-02-02T17:39:24Z jackdaniel: Devon: advices are supported only by CCL I think (I don't count commercial implementations because I don't use them so don't know) 2018-02-02T17:39:25Z dieggsy joined #lisp 2018-02-02T17:40:10Z hhdave quit (Ping timeout: 240 seconds) 2018-02-02T17:40:16Z jackdaniel: s/commercial/locked down/ - corrected myself because foss implementation may be commercial, why not 2018-02-02T17:40:30Z randomstrangerb joined #lisp 2018-02-02T17:40:40Z smurfrobot joined #lisp 2018-02-02T17:40:44Z beach: "proprietary"? 2018-02-02T17:41:50Z jackdaniel: right 2018-02-02T17:45:10Z Denommus quit (Remote host closed the connection) 2018-02-02T17:45:47Z smurfrobot quit (Ping timeout: 276 seconds) 2018-02-02T17:46:10Z fikka quit (Ping timeout: 240 seconds) 2018-02-02T17:48:15Z LoggerZZZ quit (Remote host closed the connection) 2018-02-02T17:49:00Z fikka joined #lisp 2018-02-02T17:49:35Z Devon: Any CL lacking DEFADVICE is an outlier, it may not be in the spec but it's in the culture. 2018-02-02T17:49:47Z Shinmera: Nah 2018-02-02T17:49:57Z phoe: Nah 2018-02-02T17:50:10Z LoggerZZZ joined #lisp 2018-02-02T17:50:13Z jackdaniel: Devon: never used defadvice (though I know what it is) 2018-02-02T17:50:26Z jackdaniel: and I rarely see it in libraries 2018-02-02T17:50:46Z jackdaniel: (probably because sbcl doesn't have it though, most libraries are developed with sbcl ;) 2018-02-02T17:51:19Z phoe: uh, what was it? "languages teach you not to want what they don't provide"? (: 2018-02-02T17:52:52Z pjb: Adding an advice would require recompiling all the files that use the adviced function. 2018-02-02T17:53:02Z jackdaniel: actually more like: practice makes culture -thinking otherwise is called social engineering ;-) 2018-02-02T17:53:06Z pjb: Since the compiler can inline ANY function in the same compilation unit! 2018-02-02T17:53:53Z jasom: pjb: adding an advice would have exactly the same limits as redefining a function; and people do that with C-c C-c all the time 2018-02-02T17:54:14Z fikka quit (Ping timeout: 276 seconds) 2018-02-02T17:54:43Z dyelar1 quit (Quit: Leaving.) 2018-02-02T17:55:14Z phoe: "There are three kinds of advice that may be defined: before, after and around advice." 2018-02-02T17:55:29Z phoe: did someone reinvent the standard method combination 2018-02-02T17:56:02Z pjb: jasom: C-c C-c cannot work if you use C-c C-k This is why I always use C-c C-l! 2018-02-02T17:56:03Z jackdaniel: its much simpler (thanks to not relying on clos and its dispatch) 2018-02-02T17:56:04Z Shinmera: phoe: The point of advice is that you can do it for functions that aren't generic 2018-02-02T17:56:25Z Shinmera: On SBCL you can emulate advice by using (trace foo :report NIL :condition/-after/-all stuff) 2018-02-02T17:56:39Z Shinmera: I don't recommend doing that though 2018-02-02T17:57:04Z makomo: could you use something like ensure-generic-function combined with standard method combination? 2018-02-02T17:57:21Z makomo: oh hmm, nvm 2018-02-02T17:57:45Z makomo: thought it turns a normal function into a generic one 2018-02-02T17:57:47Z smasta joined #lisp 2018-02-02T17:57:49Z milanj quit (Quit: This computer has gone to sleep) 2018-02-02T17:57:52Z pjb: OR, you can not use cl:defun, instead define your own defun macro, implement the conforming tricks so that any library compiled will use your:defun and then you can conformingly have a defadvice that would work even with inlined function calls. 2018-02-02T17:59:34Z random-nick quit (Remote host closed the connection) 2018-02-02T18:01:13Z smurfrobot joined #lisp 2018-02-02T18:01:30Z dyelar joined #lisp 2018-02-02T18:01:53Z Devon: As with DEFADVICE, when you change a macro, the implementation may recompile or not. 2018-02-02T18:02:34Z random-nick joined #lisp 2018-02-02T18:05:18Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-02T18:05:20Z jmercouris joined #lisp 2018-02-02T18:06:24Z makomo: what's the best way to have something like an enumeration, i.e. a mapping from symbols to values? 2018-02-02T18:06:24Z mejja joined #lisp 2018-02-02T18:06:33Z makomo: that's known at compile-time completely 2018-02-02T18:06:52Z makomo: values as in integers 2018-02-02T18:07:02Z phoe: makomo: a series of symbol-macros bound via symbol-macrolet 2018-02-02T18:07:25Z phoe: if you want a compile-time mapping 2018-02-02T18:07:36Z phoe: otherwise you can just use a hashtable of sorts, huh 2018-02-02T18:07:45Z makomo: i want it to hold globally, i don't want to have to wrap everything into a symbol-macrolet 2018-02-02T18:07:52Z makomo: yeah, that's what i was thinking about 2018-02-02T18:08:00Z phoe: makomo: then define-symbol-macro a bunch of symbols 2018-02-02T18:08:14Z makomo: not familiar with that one yet 2018-02-02T18:08:23Z phoe: it's symbol-macrolet, just global and not lexical. 2018-02-02T18:08:49Z sjl: (defconstant +account-state.active+ 1) (defconstant +account-state.inactive+ 2) ... 2018-02-02T18:09:07Z makomo: lol yeah, constants, what am i even thinking... 2018-02-02T18:09:35Z Devon quit (Ping timeout: 248 seconds) 2018-02-02T18:09:35Z sjl: possibly with a macro to automate the naming boilerplate if you want 2018-02-02T18:09:51Z sjl: (define-enumeration account-state active inactive ...) 2018-02-02T18:10:31Z makomo: yeah, sure, but there are only a couple of them here 2018-02-02T18:11:04Z sjl: I'd probably just defconstant then 2018-02-02T18:11:16Z Shinmera: Or just define a function that does an ecase to return the value, and have the function exist at compile-time with eval-when 2018-02-02T18:11:35Z m00natic quit (Ping timeout: 240 seconds) 2018-02-02T18:11:54Z makomo: i guess that's also an option. i suppose i could write a macro that would automatically give me the other direction as well right? 2018-02-02T18:12:20Z Shinmera: In that case I'd store the map as an alist in a variable, and define two functions to do the lookup in either direction. 2018-02-02T18:12:33Z scymtym: emacs' object system has an interesting combination of CLOS and an advice facility: method qualifiers can always be augmented with :extra STRING, basically allowing the "same" method to be defined multiple times, like named pieces of advice 2018-02-02T18:13:31Z makomo: Shinmera: hm i see, that's more to the point, yeah 2018-02-02T18:14:35Z fikka joined #lisp 2018-02-02T18:14:45Z turkja quit (Ping timeout: 260 seconds) 2018-02-02T18:21:27Z smurfrobot joined #lisp 2018-02-02T18:26:44Z smurfrobot quit (Ping timeout: 276 seconds) 2018-02-02T18:31:57Z nyef quit (Ping timeout: 240 seconds) 2018-02-02T18:36:30Z python476 quit (Ping timeout: 256 seconds) 2018-02-02T18:36:37Z __rumbler31 joined #lisp 2018-02-02T18:39:09Z orivej joined #lisp 2018-02-02T18:40:31Z JuanDaugherty joined #lisp 2018-02-02T18:42:16Z SlashLife quit (Quit: ZNC - http://znc.in) 2018-02-02T18:42:45Z pythosnek joined #lisp 2018-02-02T18:45:48Z SlashLife joined #lisp 2018-02-02T18:46:27Z epony joined #lisp 2018-02-02T18:47:07Z pythosnek quit (Remote host closed the connection) 2018-02-02T18:48:14Z LoggerZZZ quit (Remote host closed the connection) 2018-02-02T18:48:35Z fikka quit (Ping timeout: 260 seconds) 2018-02-02T18:49:05Z SlashLife quit (Client Quit) 2018-02-02T18:49:25Z SlashLife joined #lisp 2018-02-02T18:50:06Z LoggerZZZ joined #lisp 2018-02-02T18:51:03Z python476 joined #lisp 2018-02-02T18:54:20Z fikka joined #lisp 2018-02-02T18:55:38Z SlashLife quit (Changing host) 2018-02-02T18:55:38Z SlashLife joined #lisp 2018-02-02T19:01:27Z knicklux joined #lisp 2018-02-02T19:05:24Z pagnol joined #lisp 2018-02-02T19:06:39Z jfb4 quit (Ping timeout: 268 seconds) 2018-02-02T19:08:13Z jfb4 joined #lisp 2018-02-02T19:10:50Z jmercouris quit (Remote host closed the connection) 2018-02-02T19:11:26Z jmercouris joined #lisp 2018-02-02T19:14:12Z pjb: sjl: I would be careful with mixing conventions. perhaps choosing between (defconstant account-state.active 1) (defconstant account-state.inactive 2) or (defconstant +account-state-active+ 1) (defconstant +account-state-inactive+ 2) would be preferable. 2018-02-02T19:14:50Z sjl: I prefer my original bikeshed's color 2018-02-02T19:15:39Z pjb: foo.bar has a conotation of functional abstraction (accessing a slot in a class or structure). So there's very little probability of anybody trying to bind such a symbol. 2018-02-02T19:15:58Z pjb: (let ((foo.bar #|oh oh!|# 42)) '???) 2018-02-02T19:16:04Z Bike: fluorescent orange was a great choice for my shed. 2018-02-02T19:16:04Z Colleen: Bike: drmeister said 13 hours, 54 minutes ago: I disabled cl:row-major-aref and cl:row-major-ast temporarily 2018-02-02T19:20:00Z Jesin joined #lisp 2018-02-02T19:20:11Z Jesin quit (Remote host closed the connection) 2018-02-02T19:21:08Z jmercouris: I'm trying to add hooks into my program, I was thinking about making them exist for every defined-command (user invokable defun) 2018-02-02T19:21:51Z jmercouris: another thought I had was creating some macro like (define-hook :hook-name) that you can place inline, and any things registered to :hook-name will be invoked after that line of cod 2018-02-02T19:21:59Z jmercouris: s/fish/code 2018-02-02T19:22:07Z jmercouris: any suggestions? 2018-02-02T19:23:02Z jmercouris: the only issue with (define-hook) is that as it may be within a defun body, it won't be a top level form so (defun register-to-hook (function hook) ...) may not necessarily be able to register against a non-existent hook 2018-02-02T19:23:09Z nox2 quit (Read error: Connection reset by peer) 2018-02-02T19:23:24Z nox2 joined #lisp 2018-02-02T19:23:36Z jmercouris: though I guess that register-to-hook may make a binding for the hook if it does not exist, and then (define-hook) will just use that hook 2018-02-02T19:23:43Z jmercouris: does any of this make sense, or not really? 2018-02-02T19:23:55Z nox2 quit (Remote host closed the connection) 2018-02-02T19:24:06Z lnostdal joined #lisp 2018-02-02T19:24:09Z LoggerZZZ quit (Remote host closed the connection) 2018-02-02T19:25:02Z dieggsy quit (Remote host closed the connection) 2018-02-02T19:26:04Z LoggerZZZ joined #lisp 2018-02-02T19:26:54Z phoe: jmercouris: just make (defvar *something-hooks* '()) 2018-02-02T19:27:10Z phoe: and then (mapc #'funcall *something-hooks*) in your code 2018-02-02T19:27:36Z phoe: client code can either push to the toplevel value of *something-hooks* for a global effect or rebind that for a dynamically scoped effect 2018-02-02T19:27:53Z smurfrobot joined #lisp 2018-02-02T19:27:58Z phoe: people can push things like (lambda () (do-a-little-dance)) there 2018-02-02T19:28:28Z jmercouris: phoe: Right yeah, it will ultimately just be a list in a global var 2018-02-02T19:28:36Z dieggsy joined #lisp 2018-02-02T19:28:41Z jmercouris: the question was about how will users declare new hooks and register where the hook gets invoked 2018-02-02T19:28:46Z phoe: jmercouris: I see no point in custom macros then 2018-02-02T19:29:01Z jmercouris: what if I want to add more logic down the road in what happens during a hook declaration 2018-02-02T19:29:15Z jmercouris: what if I want a list of all hooks or something 2018-02-02T19:29:19Z jmercouris: idk, maybe I'm over thinking it 2018-02-02T19:29:25Z phoe: how many hookable places will your code have? 2018-02-02T19:29:36Z jmercouris: I'm not sure, how many hooks does emacs have? 2018-02-02T19:29:42Z phoe: hooooo boy 2018-02-02T19:29:45Z jmercouris: I also would like to consider packages where people can put hooks 2018-02-02T19:30:10Z jmercouris: so that number could grow out of control and I may need to do some magic down the road 2018-02-02T19:30:15Z jmercouris: which is why I was leaning towards a macro 2018-02-02T19:30:35Z phoe: (defvar *hooks* (make-hash-table)) 2018-02-02T19:30:36Z tylerdmace joined #lisp 2018-02-02T19:31:04Z jmercouris: ok so far we are in agreement 2018-02-02T19:31:11Z phoe: (push (lambda () (do-a-little-dance)) (gethash :on-new-tab *hooks*)) 2018-02-02T19:31:31Z phoe: somewhere in code that opens a new tab, (mapc #'funcall (gethash :on-new-tab *hooks*)) 2018-02-02T19:31:34Z jmercouris: I could wrap that in a little function to make it cleaner 2018-02-02T19:31:38Z phoe: still no macros required 2018-02-02T19:31:42Z dlowe: so, I have a hook mechanism in tcl I did myself. The things you'll want to do: have two identifiers for the hook - the hook trigger and a descriptive id 2018-02-02T19:31:43Z jmercouris: like (push-to-hook lambda hook-name) 2018-02-02T19:31:48Z LocaMocha quit (Ping timeout: 240 seconds) 2018-02-02T19:31:54Z dlowe: that allows you to redefine things gracefully 2018-02-02T19:31:58Z phoe: sure, that's doable 2018-02-02T19:31:58Z jmercouris: dlowe: what's the descriptive id? 2018-02-02T19:32:06Z dlowe: just a name. 2018-02-02T19:32:25Z jmercouris: what is the hook trigger? 2018-02-02T19:32:45Z jmercouris: I'm sorry, I'm not getting it :( 2018-02-02T19:32:47Z dlowe: so that (define-hook connected foo ...) will replace the foo proc in the connected hook 2018-02-02T19:33:01Z jmercouris: ah, okay 2018-02-02T19:33:03Z phoe: dlowe: my mechanism has a flaw. 2018-02-02T19:33:12Z jmercouris: phoe: what's that? 2018-02-02T19:33:15Z jmercouris: I don't really see a flaw 2018-02-02T19:33:16Z dlowe: second, you'll probably want a priority number attached to each for ordering 2018-02-02T19:33:26Z phoe: if you reevaluate that push 10 times, you'll get with 10 hooks pushed to the list. 2018-02-02T19:33:30Z jmercouris: dlowe: why would hooks not simply be executed in the order they are recieved? 2018-02-02T19:33:44Z phoe: so if your hook is (lambda () (print "haha")) then the print will happen 10 times in a row. 2018-02-02T19:33:45Z dlowe: because sometimes you want to calculate something before it's displayed 2018-02-02T19:34:12Z jmercouris: shouldn't that have been chained somehow in the hook or something 2018-02-02T19:34:20Z jmercouris: like in a lambda or something 2018-02-02T19:34:29Z jmercouris: then that might result in duplicitous calculations during a hook call though 2018-02-02T19:34:30Z phoe: that's why dlowe introduces a second identifier, so you can identify hooks by *their* identifier and replace them instead of pushing new ones. 2018-02-02T19:34:33Z random-nick quit (Ping timeout: 264 seconds) 2018-02-02T19:34:39Z _death: for hooks I prefer to push symbols 2018-02-02T19:35:17Z dtornabene joined #lisp 2018-02-02T19:35:25Z jmercouris: _death: so you intern a symbol for every action callable by a hook? 2018-02-02T19:35:31Z dlowe: you can mess about with order inside the hook list, but if you want an abstraction layer that supports redefinition, the numeric priority is the way to go 2018-02-02T19:35:43Z _death: jmercouris: I just use named functions for actions 2018-02-02T19:36:06Z dlowe: this is from the point of view of declaring hooks in code with a macro or something 2018-02-02T19:36:10Z jmercouris: right, that could work, its not incompatible so far with the phoe approach 2018-02-02T19:36:28Z phoe: this will work with my approach - symbols are funcallable, too. 2018-02-02T19:36:36Z jmercouris: right, that's what I'm saying 2018-02-02T19:36:56Z jmercouris: I don't think i'll worry about priority just yet, that seems to be a more sophisticated problem 2018-02-02T19:37:02Z jmercouris: though I could do some dependency tree stuff like 2018-02-02T19:37:09Z jmercouris: :hook-function-depends-on 2018-02-02T19:37:19Z jmercouris: and then it could automatically calculate the order in which hooks should be invoked 2018-02-02T19:37:26Z dlowe: bleh 2018-02-02T19:37:44Z jmercouris: it would only calculate it once, when adding or removing hooks 2018-02-02T19:37:50Z phoe: hold your horses 2018-02-02T19:37:51Z jmercouris: and it would make sure you don't remove a hook that is needed 2018-02-02T19:37:54Z phoe: you're reinventing ASDF 2018-02-02T19:38:01Z phoe: except for thunks this time 2018-02-02T19:38:04Z jmercouris: shit, my name is Fare 2018-02-02T19:38:15Z jmercouris: I mean, damnit, sorry :D 2018-02-02T19:38:20Z _death: in my opinion, the function running the hooks should first copy the list and use that copy.. so that actions can change the list without issue 2018-02-02T19:38:32Z tylerdmace quit (Quit: leaving) 2018-02-02T19:38:47Z jackdaniel: library "cells" may be worth investigating here 2018-02-02T19:38:49Z _death: hence https://github.com/death/constantia/blob/master/misc.lisp#L442 2018-02-02T19:39:08Z jmercouris: if it makes a copy of that list, why would it matter if actions change the list? 2018-02-02T19:39:10Z dlowe: in my hook implementation, hook functions can modify the argument list for successive functions or break out of the hook completely 2018-02-02T19:40:01Z dlowe: sorting a list by a bunch of integers is not a more sophisticated problem 2018-02-02T19:40:20Z dlowe: but sure, you can introduce dependency trees if you really want 2018-02-02T19:40:35Z jmercouris: _death: In that snippet you posted, hook is what? some sort of clos object? 2018-02-02T19:41:08Z _death: hook is a symbol that names a special variable.. (defvar *my-hook* '()) (add-hook '*my-hook* 'some-function) 2018-02-02T19:41:16Z jmercouris: dlowe: no way, I mean the trees are far and more complex, I'm just thinking, that either solution right now is not important for a first round implementation 2018-02-02T19:41:18Z jackdaniel: https://github.com/kennytilton/cells ← jmercouris 2018-02-02T19:41:41Z jackdaniel: not sure if it fits your problem, but is a very interesting approach to propagating events 2018-02-02T19:42:29Z jmercouris: jackdaniel: I'll take a look, thanks! 2018-02-02T19:42:51Z _death: there are more elaborate libraries for hooks, but this implementation suffices for what I need 2018-02-02T19:43:20Z jmercouris: _death: seems clean, I'll do something similar, but introducing the list that phoe and I spoke about 2018-02-02T19:43:25Z jmercouris: I would like to have a list of all hooks 2018-02-02T19:43:45Z jmercouris: and I can just embed (run-hook *symbol-name*) wherever it is needed 2018-02-02T19:43:49Z knicklux quit (Quit: Leaving) 2018-02-02T19:44:55Z tylerdmace joined #lisp 2018-02-02T19:45:22Z jmercouris: thank you all for your feedback, I'll have to spend sometime thinking about while not exhausted, and hopefully I'll have an implementation soon, and then my first version of hydra :) (https://github.com/abo-abo/hydra) for next 2018-02-02T19:45:38Z _death: you can have a define-hook macro for that 2018-02-02T19:45:47Z d4ryus2 is now known as d4ryus 2018-02-02T19:46:13Z jmercouris: _death: right, which is why I was saying I wanted a macro originally, so that I can make decisions like that in the future without breaking everyones code like an angry child with legos 2018-02-02T19:47:13Z trittweiler quit (Ping timeout: 248 seconds) 2018-02-02T19:49:11Z smurfrobot quit (Remote host closed the connection) 2018-02-02T19:51:41Z smasta quit (Read error: Connection reset by peer) 2018-02-02T19:51:59Z smasta joined #lisp 2018-02-02T19:55:14Z mejja quit (Quit: mejja) 2018-02-02T19:56:03Z zooey quit (Remote host closed the connection) 2018-02-02T19:56:33Z _iviv_ joined #lisp 2018-02-02T20:00:03Z fikka quit (Ping timeout: 256 seconds) 2018-02-02T20:00:59Z randomstrangerb quit (Ping timeout: 276 seconds) 2018-02-02T20:01:46Z zooey joined #lisp 2018-02-02T20:02:11Z tomlukeywood quit (Quit: Leaving.) 2018-02-02T20:02:15Z randomstrangerb joined #lisp 2018-02-02T20:04:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-02T20:06:10Z damke_ joined #lisp 2018-02-02T20:09:55Z random-nick joined #lisp 2018-02-02T20:09:55Z fikka joined #lisp 2018-02-02T20:14:04Z kini quit (Quit: No Ping reply in 180 seconds.) 2018-02-02T20:14:25Z fikka quit (Ping timeout: 248 seconds) 2018-02-02T20:14:36Z Murii quit (Quit: WeeChat 1.4) 2018-02-02T20:14:56Z LoggerZZZ quit (Read error: Connection reset by peer) 2018-02-02T20:16:21Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-02-02T20:16:47Z LoggerZZZ joined #lisp 2018-02-02T20:20:41Z rumbler31 quit (Remote host closed the connection) 2018-02-02T20:20:45Z Murii joined #lisp 2018-02-02T20:21:01Z Pixel_Outlaw joined #lisp 2018-02-02T20:23:06Z kini joined #lisp 2018-02-02T20:24:01Z randomstrangerb quit (Ping timeout: 248 seconds) 2018-02-02T20:24:57Z shifty quit (Ping timeout: 240 seconds) 2018-02-02T20:25:15Z acolarh quit (Quit: WeeChat 1.6) 2018-02-02T20:25:15Z randomstrangerb joined #lisp 2018-02-02T20:27:20Z fikka joined #lisp 2018-02-02T20:30:31Z Cymew joined #lisp 2018-02-02T20:30:35Z BitPuffin quit (Remote host closed the connection) 2018-02-02T20:31:00Z smurfrobot joined #lisp 2018-02-02T20:35:27Z Cymew quit (Ping timeout: 268 seconds) 2018-02-02T20:36:54Z Cymew joined #lisp 2018-02-02T20:37:35Z fikka quit (Ping timeout: 240 seconds) 2018-02-02T20:38:15Z BitPuffin joined #lisp 2018-02-02T20:39:42Z heurist` is now known as heurist 2018-02-02T20:40:39Z EvW joined #lisp 2018-02-02T20:41:45Z Cymew quit (Ping timeout: 264 seconds) 2018-02-02T20:41:56Z smasta quit (Ping timeout: 276 seconds) 2018-02-02T20:42:58Z Cymew joined #lisp 2018-02-02T20:43:15Z smasta joined #lisp 2018-02-02T20:46:26Z python476 quit (Remote host closed the connection) 2018-02-02T20:47:04Z Xach: Shinmera: https://gist.github.com/xach/5e623744fa4777159719619c9eabb4d5 shows some behavior that is confusing to me. 2018-02-02T20:47:11Z Xach: Shinmera: this is with ubiquitous. 2018-02-02T20:47:21Z Xach: Shinmera: i expected the value to persist between sessions, but it does not seem to. 2018-02-02T20:47:29Z Cymew quit (Ping timeout: 248 seconds) 2018-02-02T20:48:52Z Cymew joined #lisp 2018-02-02T20:53:19Z Cymew quit (Ping timeout: 256 seconds) 2018-02-02T20:54:53Z Cymew joined #lisp 2018-02-02T20:54:53Z earl-ducaine quit (Read error: Connection reset by peer) 2018-02-02T20:54:57Z _mjl quit (Ping timeout: 248 seconds) 2018-02-02T20:55:11Z earl-ducaine joined #lisp 2018-02-02T20:57:41Z twouhm quit (Quit: Page closed) 2018-02-02T20:59:33Z Cymew quit (Ping timeout: 256 seconds) 2018-02-02T21:00:41Z Murii quit (Quit: WeeChat 1.4) 2018-02-02T21:00:44Z Cymew joined #lisp 2018-02-02T21:03:36Z fikka joined #lisp 2018-02-02T21:05:10Z Cymew quit (Ping timeout: 240 seconds) 2018-02-02T21:06:50Z Cymew joined #lisp 2018-02-02T21:07:35Z jmercouris: msg rme hey, how serious are you about wanting to work on a startup? 2018-02-02T21:07:42Z jmercouris: lol, at any rate, rme is here, so yeah :D 2018-02-02T21:08:06Z jmercouris: sorry for off-topic :P 2018-02-02T21:08:57Z scymtym quit (Ping timeout: 246 seconds) 2018-02-02T21:09:30Z nowhere_man quit (Ping timeout: 256 seconds) 2018-02-02T21:11:50Z Cymew quit (Ping timeout: 276 seconds) 2018-02-02T21:12:41Z Cymew joined #lisp 2018-02-02T21:16:20Z LoggerZZZ quit (Remote host closed the connection) 2018-02-02T21:16:57Z Cymew quit (Ping timeout: 240 seconds) 2018-02-02T21:18:16Z LoggerZZZ joined #lisp 2018-02-02T21:18:45Z Cymew joined #lisp 2018-02-02T21:21:57Z shka quit (Ping timeout: 240 seconds) 2018-02-02T21:22:13Z asarch quit (Ping timeout: 256 seconds) 2018-02-02T21:23:33Z Cymew quit (Ping timeout: 268 seconds) 2018-02-02T21:24:47Z moei quit (Read error: Connection reset by peer) 2018-02-02T21:25:19Z moei joined #lisp 2018-02-02T21:25:51Z jstypo quit (Ping timeout: 248 seconds) 2018-02-02T21:27:06Z jstypo joined #lisp 2018-02-02T21:28:34Z jstypo quit (Max SendQ exceeded) 2018-02-02T21:28:57Z smurfrobot quit (Remote host closed the connection) 2018-02-02T21:30:07Z papachan quit (Quit: WeeChat 2.0.1) 2018-02-02T21:30:40Z Cymew joined #lisp 2018-02-02T21:32:16Z vlatkoB quit (Remote host closed the connection) 2018-02-02T21:34:15Z scymtym joined #lisp 2018-02-02T21:34:16Z zaquest quit (Read error: Connection reset by peer) 2018-02-02T21:35:00Z Cymew quit (Ping timeout: 256 seconds) 2018-02-02T21:36:16Z damke joined #lisp 2018-02-02T21:36:33Z eivarv quit (Quit: Sleep) 2018-02-02T21:36:33Z Cymew joined #lisp 2018-02-02T21:36:35Z dyelar quit (Quit: Leaving.) 2018-02-02T21:37:22Z rme: jmercouris: I am actually not totally joking about it. 2018-02-02T21:37:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-02T21:37:50Z fikka quit (Ping timeout: 276 seconds) 2018-02-02T21:41:29Z Cymew quit (Ping timeout: 256 seconds) 2018-02-02T21:42:08Z pmetzger joined #lisp 2018-02-02T21:42:35Z Cymew joined #lisp 2018-02-02T21:46:25Z jstypo joined #lisp 2018-02-02T21:47:09Z Cymew quit (Ping timeout: 256 seconds) 2018-02-02T21:48:32Z Cymew joined #lisp 2018-02-02T21:50:53Z eivarv joined #lisp 2018-02-02T21:51:17Z fikka joined #lisp 2018-02-02T21:53:30Z Cymew quit (Ping timeout: 260 seconds) 2018-02-02T21:55:27Z Cymew joined #lisp 2018-02-02T21:57:43Z BitPuffin quit (Remote host closed the connection) 2018-02-02T21:57:57Z orivej quit (Ping timeout: 240 seconds) 2018-02-02T22:00:21Z Cymew quit (Ping timeout: 264 seconds) 2018-02-02T22:01:24Z Cymew joined #lisp 2018-02-02T22:05:48Z Cymew quit (Ping timeout: 240 seconds) 2018-02-02T22:07:23Z Cymew joined #lisp 2018-02-02T22:10:02Z smurfrobot joined #lisp 2018-02-02T22:11:29Z milanj joined #lisp 2018-02-02T22:11:48Z Cymew quit (Ping timeout: 240 seconds) 2018-02-02T22:13:18Z Cymew joined #lisp 2018-02-02T22:14:19Z LoggerZZZ quit (Remote host closed the connection) 2018-02-02T22:18:26Z Cymew quit (Ping timeout: 268 seconds) 2018-02-02T22:19:21Z Cymew joined #lisp 2018-02-02T22:22:55Z __rumbler31 quit (Ping timeout: 248 seconds) 2018-02-02T22:23:44Z Cymew quit (Ping timeout: 256 seconds) 2018-02-02T22:24:41Z random-nick quit (Remote host closed the connection) 2018-02-02T22:25:07Z JuanDaugherty quit (Ping timeout: 256 seconds) 2018-02-02T22:25:21Z Cymew joined #lisp 2018-02-02T22:27:58Z random-nick joined #lisp 2018-02-02T22:29:53Z Cymew quit (Ping timeout: 248 seconds) 2018-02-02T22:29:58Z paule32 quit (Ping timeout: 256 seconds) 2018-02-02T22:31:15Z Cymew joined #lisp 2018-02-02T22:32:44Z paule32 joined #lisp 2018-02-02T22:33:46Z gabriel_laddel joined #lisp 2018-02-02T22:35:38Z Cymew quit (Ping timeout: 256 seconds) 2018-02-02T22:35:38Z terpri quit (Ping timeout: 256 seconds) 2018-02-02T22:36:51Z Shinmera: Xach: If you don't restore a configuration it doesn't save it anywhere 2018-02-02T22:37:10Z paule32 quit (Ping timeout: 240 seconds) 2018-02-02T22:37:11Z Cymew joined #lisp 2018-02-02T22:38:19Z Shinmera: Or rather, ubiquitous does not load anything unless you explicitly tell it to 2018-02-02T22:38:38Z oleo: read does intern right ? 2018-02-02T22:38:48Z mishoo quit (Ping timeout: 240 seconds) 2018-02-02T22:38:51Z Shinmera: If it reads symbols, of course 2018-02-02T22:39:21Z oleo: so when it was called in a package it interns them there right ? 2018-02-02T22:39:36Z LiamH quit (Quit: Leaving.) 2018-02-02T22:39:43Z Shinmera: If the symbols are not explicit in their package, they are interned to *PACKAGE* 2018-02-02T22:39:53Z oleo: oh 2018-02-02T22:40:12Z oleo: i'm confuzzled now 2018-02-02T22:40:16Z oleo: bleh 2018-02-02T22:40:30Z oleo: cause i'm trying to get some repl defined in a package to work 2018-02-02T22:40:43Z oleo: errything works other than that package stuff 2018-02-02T22:41:37Z Cymew quit (Ping timeout: 248 seconds) 2018-02-02T22:41:39Z jmercouris: oleo: A repl defined in a package? what do you mean? 2018-02-02T22:41:43Z jmercouris: A package defined in the repl? 2018-02-02T22:42:10Z paule32 joined #lisp 2018-02-02T22:42:19Z Bike quit (Ping timeout: 260 seconds) 2018-02-02T22:42:20Z oleo: a repl defined in a package 2018-02-02T22:42:32Z jmercouris: I'm not following you, sorry 2018-02-02T22:42:42Z Shinmera: If you want to preserve the package that is used during compilation you need to, well, capture it. 2018-02-02T22:42:58Z Shinmera: (let ((*package* #.*package*)) (read)) 2018-02-02T22:43:15Z Cymew joined #lisp 2018-02-02T22:43:30Z nopolitica joined #lisp 2018-02-02T22:43:35Z oleo: http://dpaste.com/3JNE04S 2018-02-02T22:43:44Z oleo: i have an m-repl repl there 2018-02-02T22:43:58Z oleo: for having a math repl so to say in infix 2018-02-02T22:44:15Z sjl quit (Quit: WeeChat 1.9) 2018-02-02T22:44:16Z oleo: when i try that m-repl via loading the file it does not work 2018-02-02T22:44:28Z oleo: when i try it toplevel in my clim listener it works 2018-02-02T22:44:42Z sjl joined #lisp 2018-02-02T22:45:12Z smurfrobot quit (Remote host closed the connection) 2018-02-02T22:45:22Z oleo: so the thing is i'm comparing the input to 'quit 2018-02-02T22:45:55Z oleo: when i just put quit in the toplevel repl it quits returning me back to the listener 2018-02-02T22:45:55Z pjb: Shinmera: this doesn't work: the current package is not necessarily available at load or run-time. 2018-02-02T22:46:33Z oleo: when i try to load the file the 'quit gets interned somewhere else 2018-02-02T22:46:35Z pjb: Shinmera: better use something like (load-time-value (or (find-package "FOO") (error "No package FOO"))) 2018-02-02T22:46:55Z oleo: cause i tried also 'm-test::quit, but that does not work either 2018-02-02T22:47:00Z pjb: Shinmera: or if you insist, (load-time-value (or (find-package #.(package-name *package*")) (error "No package FOO"))) 2018-02-02T22:47:10Z Shinmera: pjb: I assume this is placed in a file with (in-package ..) at the top. In that case it's just fine. 2018-02-02T22:47:24Z pjb: Shinmera: again, not if you compile. 2018-02-02T22:47:30Z pjb: You can have surprises.. 2018-02-02T22:47:45Z Cymew quit (Ping timeout: 260 seconds) 2018-02-02T22:48:07Z Shinmera: Can't imagine any surprises right now that wouldn't be insane. 2018-02-02T22:48:52Z jmercouris: I never cease to be surprised in this world 2018-02-02T22:49:07Z jmercouris: maybe I don't have enough experience :P 2018-02-02T22:49:11Z Cymew joined #lisp 2018-02-02T22:49:57Z oleo: when i just input quit it does not work 2018-02-02T22:50:09Z oleo: but when i try to input just m-test::quit it works 2018-02-02T22:50:10Z paule32 quit (Ping timeout: 240 seconds) 2018-02-02T22:50:28Z oleo: it quits me to the repl and restores the foreground and the text-style 2018-02-02T22:51:10Z paule32 joined #lisp 2018-02-02T22:52:07Z oleo: i.e. (m-test:m-repl) m-test::quit 2018-02-02T22:52:10Z oleo: is fine 2018-02-02T22:52:23Z oleo: but only quit not 2018-02-02T22:52:56Z brendyn joined #lisp 2018-02-02T22:53:12Z random-nick quit (Remote host closed the connection) 2018-02-02T22:53:14Z oleo: so what should the package be at read time ? 2018-02-02T22:53:42Z oleo: such that i don't have to refer to it as explicitly as m-test::quit 2018-02-02T22:53:54Z Cymew quit (Ping timeout: 256 seconds) 2018-02-02T22:54:15Z oleo: hmm, i have to think about that a little more 2018-02-02T22:54:21Z oleo: maybe tomorrow 2018-02-02T22:54:36Z pjb: Well, what bothers me most, is that you have there a literal package that needs to be serialized in the fasl file, while in another fasl file, there's a defpackage for that will be creating a new package with the same name (assumedly before loading the fasl with the serialized package). 2018-02-02T22:54:47Z pjb: What is the semantics of serializing a literal package? 2018-02-02T22:55:14Z oleo: oO 2018-02-02T22:55:22Z oleo: now you sound arabic pjb 2018-02-02T22:55:31Z oleo: i don't get half of it even 2018-02-02T22:55:36Z oleo: lol 2018-02-02T22:55:39Z Cymew joined #lisp 2018-02-02T22:56:21Z Shinmera: pjb: http://www.lispworks.com/documentation/HyperSpec/Body/03_bdbb.htm "Two packages S and C are similar if their names are similar. 2018-02-02T22:56:36Z Shinmera: Note that although a package object is an externalizable object, the programmer is responsible for ensuring that the corresponding package is already in existence when code referencing it as a literal object is loaded. The loader finds the corresponding package object as if by calling find-package with that name as an argument. An error is signaled by the loader if no package exists at load time. 2018-02-02T22:56:37Z Shinmera: " 2018-02-02T22:56:44Z Shinmera: So: it's fine. 2018-02-02T22:56:56Z pjb: Shinmera: ok. Also, it seems that implementations implement that by using find-package at load time. 2018-02-02T22:57:00Z pjb: So I guess it's ok. 2018-02-02T22:57:35Z iqubic` is now known as iqubic 2018-02-02T22:57:42Z smurfrobot joined #lisp 2018-02-02T22:58:13Z pjb: Notice that those are special rules. In general be warry of using #. with complex objects. It doesn't always work. 2018-02-02T22:58:21Z pjb: (thru compile and load). 2018-02-02T23:00:08Z Cymew quit (Ping timeout: 256 seconds) 2018-02-02T23:00:15Z oleo: aha 2018-02-02T23:00:32Z oleo: when i try infi-> *package* i get :clim-user as package 2018-02-02T23:01:01Z oleo: cause (m-test:m-repl) gets called in the clim listener 2018-02-02T23:01:23Z oleo: and tho i use in-package in the file....... 2018-02-02T23:01:31Z oleo: wth 2018-02-02T23:01:46Z oleo: why is that ? 2018-02-02T23:02:11Z Shinmera: oleo: This is what I explained to you already. The run-time package is not the same as the compilation package. You need to capture the package that is used during compilation and bind it at run-time around READ. 2018-02-02T23:02:24Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-02T23:02:27Z Shinmera: 23:42:58 Shinmera | (let ((*package* #.*package*)) (read)) 2018-02-02T23:02:29Z oleo: yes, but what's the common idiom for it ? 2018-02-02T23:02:36Z oleo: ah 2018-02-02T23:02:59Z oleo: ok thank you, i'll try it tomorrow 2018-02-02T23:03:04Z oleo: i'm so tired bleh 2018-02-02T23:04:28Z pjb: Well the common idiom is to bind *package* at run-time. Not necessarily the same as the source package. Usually you prepare a run-time package… 2018-02-02T23:04:38Z pjb: like COMMON-LISP vs. COMMON-LISP-USER. 2018-02-02T23:04:52Z pjb: MY-PROGRAM MY-PROGRAM-USER 2018-02-02T23:05:12Z earl-ducaine quit (Remote host closed the connection) 2018-02-02T23:05:18Z epony quit (Read error: Connection reset by peer) 2018-02-02T23:05:31Z epony joined #lisp 2018-02-02T23:07:34Z Cymew joined #lisp 2018-02-02T23:08:28Z oleo: ok now it changed to package m-test but it does not still understand quit 2018-02-02T23:08:39Z oleo: it still only works with m-test::quit 2018-02-02T23:08:43Z Pixel_Outlaw quit (Quit: Leaving) 2018-02-02T23:09:34Z borei joined #lisp 2018-02-02T23:10:30Z oleo: ah ok it worked now 2018-02-02T23:10:52Z oleo: i was trying it in the same let without using let* or so 2018-02-02T23:11:57Z Cymew quit (Ping timeout: 240 seconds) 2018-02-02T23:12:04Z oleo: jep, it works, thank you all 2018-02-02T23:13:32Z Cymew joined #lisp 2018-02-02T23:13:52Z oleo: http://dpaste.com/2TD9QJY 2018-02-02T23:14:59Z z3t0 joined #lisp 2018-02-02T23:17:06Z nowhere_man joined #lisp 2018-02-02T23:18:10Z _iviv_ quit (Ping timeout: 240 seconds) 2018-02-02T23:18:28Z smasta quit (Quit: WeeChat 2.0.1) 2018-02-02T23:18:35Z Cymew quit (Ping timeout: 276 seconds) 2018-02-02T23:18:53Z shifty joined #lisp 2018-02-02T23:19:30Z Cymew joined #lisp 2018-02-02T23:20:43Z borei: hi all ! 2018-02-02T23:20:47Z epony quit (Read error: Connection reset by peer) 2018-02-02T23:20:57Z jmercouris: borei: hello 2018-02-02T23:21:26Z borei: aeth: are you getting 2.8 kcycles on (4x4) multiplication ? 2018-02-02T23:21:33Z borei: hi jmercouris 2018-02-02T23:23:28Z milanj quit (Read error: Connection reset by peer) 2018-02-02T23:23:38Z milanj joined #lisp 2018-02-02T23:23:53Z moei quit (Quit: Leaving...) 2018-02-02T23:24:26Z Cymew quit (Ping timeout: 276 seconds) 2018-02-02T23:24:51Z epony joined #lisp 2018-02-02T23:25:10Z varjag quit (Ping timeout: 240 seconds) 2018-02-02T23:25:31Z Cymew joined #lisp 2018-02-02T23:26:44Z smurfrobot joined #lisp 2018-02-02T23:27:46Z milanj quit (Read error: No route to host) 2018-02-02T23:27:59Z milanj joined #lisp 2018-02-02T23:28:49Z aeth: borei: single-float 4x4 naive (from the definition, but without a loop) matrix multiplication, with the matrix as a flat 16-length specialized array 2018-02-02T23:29:48Z Cymew quit (Ping timeout: 240 seconds) 2018-02-02T23:30:00Z aeth: Afaik, smarter algorithms only are effective when you go to sizes in the hundreds or thousands. 2018-02-02T23:30:44Z aeth: borei: The actual implementation is not pretty, but I can cover it up with a macro when I settle on the final implementation. https://gitlab.com/zombie-raptor/zombie-raptor/blob/324c45a11a1ead12c368e1fb8aee1216f2720555/math/matrix.lisp#L160-185 2018-02-02T23:31:25Z Cymew joined #lisp 2018-02-02T23:31:35Z aeth: I had to make matref a macro rather than an inline function because there simply is so much of it. Loading the matrices into variables and then working on the variables seems to be slower for the 16-length version, though. 2018-02-02T23:31:57Z aeth: Loading *some* into variables and accessing the array for some seems to be faster, but that... that would get complicated quickly. 2018-02-02T23:32:28Z Pixel_Outlaw joined #lisp 2018-02-02T23:32:38Z dtornabene_ joined #lisp 2018-02-02T23:33:53Z dtornabene quit (Ping timeout: 248 seconds) 2018-02-02T23:33:53Z aeth: Even with a 2D array (I played around with various implementations, just not uploaded) a matref (in that case, just (1- i) (1- j)) is essentially necessary because it's just too easy to make off-by-one mistakes unless I use a 1-based matref 2018-02-02T23:34:08Z rumbler31 joined #lisp 2018-02-02T23:34:22Z rumbler31 quit (Read error: Connection reset by peer) 2018-02-02T23:34:34Z nirved quit (Quit: Leaving) 2018-02-02T23:34:56Z emaczen quit (Read error: Connection reset by peer) 2018-02-02T23:35:19Z emaczen joined #lisp 2018-02-02T23:36:10Z Cymew quit (Ping timeout: 260 seconds) 2018-02-02T23:37:20Z Cymew joined #lisp 2018-02-02T23:37:45Z aeth: Oh, and in case it's unclear, all of my matrix operations modify a destination matrix, either a native-CL one or a C one that can be fed into CFFI for graphics. 2018-02-02T23:37:54Z smurfrobot quit (Remote host closed the connection) 2018-02-02T23:38:15Z damke_ joined #lisp 2018-02-02T23:39:05Z hiroaki quit (Ping timeout: 240 seconds) 2018-02-02T23:39:07Z z3t0 quit (Remote host closed the connection) 2018-02-02T23:39:19Z aeth: If I want to use it in the REPL, I can just feed the result into a matrix created by (zero-matrix) 2018-02-02T23:41:08Z dtornabene_ quit (Read error: Connection reset by peer) 2018-02-02T23:41:09Z damke quit (Ping timeout: 264 seconds) 2018-02-02T23:42:04Z Cymew quit (Ping timeout: 256 seconds) 2018-02-02T23:43:24Z Cymew joined #lisp 2018-02-02T23:45:21Z emacsomancer quit (Ping timeout: 264 seconds) 2018-02-02T23:47:31Z rumbler31 joined #lisp 2018-02-02T23:47:45Z Cymew quit (Ping timeout: 248 seconds) 2018-02-02T23:48:09Z z3t0 joined #lisp 2018-02-02T23:48:16Z borei: i just did timing for nested loops for 4x4 - best i was getting ~2700 cycles, in most cases it's in 4-5k range 2018-02-02T23:48:59Z borei: seems like it depends on what CPU is doing at every particular moment 2018-02-02T23:49:08Z aindilis` quit (Remote host closed the connection) 2018-02-02T23:49:18Z thallia quit (Ping timeout: 240 seconds) 2018-02-02T23:49:23Z Cymew joined #lisp 2018-02-02T23:50:21Z borei: honestly saying in any cases, for me - it's good performance. 2018-02-02T23:50:46Z borei: i just need to build 4x4 transforms and upload it to uniform 2018-02-02T23:51:04Z borei: the rest is up to GPU, where i don't have a lot of control 2018-02-02T23:52:16Z thallia joined #lisp 2018-02-02T23:52:16Z aindilis` joined #lisp 2018-02-02T23:52:27Z rumbler31 quit (Remote host closed the connection) 2018-02-02T23:54:07Z hiroaki joined #lisp 2018-02-02T23:54:20Z Cymew quit (Ping timeout: 276 seconds) 2018-02-02T23:55:46Z Cymew joined #lisp 2018-02-02T23:57:19Z aindilis` quit (Remote host closed the connection) 2018-02-02T23:58:21Z z3t0_ joined #lisp 2018-02-02T23:59:17Z z3t0_ quit (Remote host closed the connection) 2018-02-02T23:59:57Z Cymew quit (Ping timeout: 240 seconds) 2018-02-03T00:00:55Z smurfrobot joined #lisp 2018-02-03T00:01:44Z Cymew joined #lisp 2018-02-03T00:01:54Z z3t0 quit (Ping timeout: 256 seconds) 2018-02-03T00:03:10Z JuanDaugherty joined #lisp 2018-02-03T00:03:57Z wxie joined #lisp 2018-02-03T00:04:45Z fikka quit (Quit: leaving) 2018-02-03T00:04:57Z pmetzger quit 2018-02-03T00:05:04Z fikka joined #lisp 2018-02-03T00:05:43Z smasta joined #lisp 2018-02-03T00:05:48Z Cymew quit (Ping timeout: 240 seconds) 2018-02-03T00:07:46Z Cymew joined #lisp 2018-02-03T00:11:14Z rumbler31 joined #lisp 2018-02-03T00:11:41Z razzy quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2018-02-03T00:11:59Z nopolitica quit (Quit: WeeChat 1.9) 2018-02-03T00:12:13Z Cymew quit (Ping timeout: 256 seconds) 2018-02-03T00:12:24Z nopolitica joined #lisp 2018-02-03T00:12:31Z Kyo91 quit (Ping timeout: 268 seconds) 2018-02-03T00:12:44Z smurfrobot quit (Remote host closed the connection) 2018-02-03T00:13:44Z Cymew joined #lisp 2018-02-03T00:14:52Z wxie quit (Remote host closed the connection) 2018-02-03T00:15:45Z fluke` joined #lisp 2018-02-03T00:16:39Z zazzerino joined #lisp 2018-02-03T00:17:19Z smasta quit (Ping timeout: 256 seconds) 2018-02-03T00:18:27Z Cymew quit (Ping timeout: 256 seconds) 2018-02-03T00:19:47Z Cymew joined #lisp 2018-02-03T00:19:54Z schoppenhauer quit (Ping timeout: 256 seconds) 2018-02-03T00:19:56Z nopolitica quit (Quit: WeeChat 1.9) 2018-02-03T00:20:02Z fikka quit (Ping timeout: 256 seconds) 2018-02-03T00:20:06Z z3t0 joined #lisp 2018-02-03T00:22:53Z schoppenhauer joined #lisp 2018-02-03T00:23:58Z z3t0 quit (Remote host closed the connection) 2018-02-03T00:24:17Z zaquest joined #lisp 2018-02-03T00:24:34Z Cymew quit (Ping timeout: 256 seconds) 2018-02-03T00:25:05Z eivarv quit (Ping timeout: 248 seconds) 2018-02-03T00:25:50Z Cymew joined #lisp 2018-02-03T00:27:03Z aindilis joined #lisp 2018-02-03T00:28:43Z karswell joined #lisp 2018-02-03T00:28:48Z Chream joined #lisp 2018-02-03T00:28:54Z fluke` quit (Remote host closed the connection) 2018-02-03T00:29:06Z eivarv joined #lisp 2018-02-03T00:30:25Z Cymew quit (Ping timeout: 248 seconds) 2018-02-03T00:31:45Z Cymew joined #lisp 2018-02-03T00:31:46Z fluke` joined #lisp 2018-02-03T00:31:59Z terpri joined #lisp 2018-02-03T00:32:02Z Tobbi quit (Ping timeout: 276 seconds) 2018-02-03T00:35:09Z damke joined #lisp 2018-02-03T00:35:13Z emaczen quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-03T00:35:22Z Chream quit (Remote host closed the connection) 2018-02-03T00:36:35Z Cymew quit (Ping timeout: 276 seconds) 2018-02-03T00:37:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-03T00:37:34Z Pixel_Outlaw quit (Quit: Leaving) 2018-02-03T00:37:49Z Cymew joined #lisp 2018-02-03T00:38:53Z drmeister: Does anyone use slimv? How do you connect to a running swank server? 2018-02-03T00:40:09Z drmeister is a daily 5+year slime/emacs user who switched 5 years ago after 20 years as a vi/vim user. 2018-02-03T00:40:56Z drmeister: I'm giving a talk next week to non-lisp people many of whom use vi and I want to check out slimv 2018-02-03T00:41:36Z Pixel_Outlaw joined #lisp 2018-02-03T00:42:09Z Cymew quit (Ping timeout: 248 seconds) 2018-02-03T00:42:39Z aindilis quit (Ping timeout: 248 seconds) 2018-02-03T00:43:45Z Cymew joined #lisp 2018-02-03T00:44:55Z aindilis` joined #lisp 2018-02-03T00:46:01Z fikka joined #lisp 2018-02-03T00:48:56Z Cymew quit (Ping timeout: 276 seconds) 2018-02-03T00:49:42Z Cymew joined #lisp 2018-02-03T00:53:27Z z3t0 joined #lisp 2018-02-03T00:54:28Z Cymew quit (Ping timeout: 256 seconds) 2018-02-03T00:54:56Z red-dot joined #lisp 2018-02-03T00:55:50Z Cymew joined #lisp 2018-02-03T00:56:44Z Bike joined #lisp 2018-02-03T00:57:11Z aindilis` quit (Read error: Connection reset by peer) 2018-02-03T00:58:00Z z3t0 quit (Ping timeout: 256 seconds) 2018-02-03T01:00:09Z Tobbi joined #lisp 2018-02-03T01:00:16Z Cymew quit (Ping timeout: 256 seconds) 2018-02-03T01:01:43Z Cymew joined #lisp 2018-02-03T01:04:02Z fisxoj joined #lisp 2018-02-03T01:05:57Z Cymew quit (Ping timeout: 240 seconds) 2018-02-03T01:06:47Z markong quit (Ping timeout: 268 seconds) 2018-02-03T01:09:19Z smasta joined #lisp 2018-02-03T01:11:33Z borei: drmeister: will your presentation be recorder/available somehow ? 2018-02-03T01:12:17Z jason_m joined #lisp 2018-02-03T01:13:41Z eivarv quit (Quit: Quit) 2018-02-03T01:13:48Z Cymew joined #lisp 2018-02-03T01:16:40Z drmeister: borei: Not this one. 2018-02-03T01:18:00Z drmeister: https://i.imgur.com/6Zc8wQU.png 2018-02-03T01:18:31Z Cymew quit (Ping timeout: 256 seconds) 2018-02-03T01:18:31Z drmeister: That's the Clasp source tree visualized using "gource" (gource.io) 2018-02-03T01:18:54Z drmeister: blue (.cc files) red (.h files) green (lisp files) white (Dockerfiles/scripts) 2018-02-03T01:19:45Z Cymew joined #lisp 2018-02-03T01:20:18Z _iviv_ joined #lisp 2018-02-03T01:21:03Z varjag joined #lisp 2018-02-03T01:21:53Z ckonstanski quit (Remote host closed the connection) 2018-02-03T01:24:04Z Cymew quit (Ping timeout: 256 seconds) 2018-02-03T01:25:21Z varjag quit (Ping timeout: 248 seconds) 2018-02-03T01:25:44Z Cymew joined #lisp 2018-02-03T01:26:58Z openthesky joined #lisp 2018-02-03T01:29:00Z wxie joined #lisp 2018-02-03T01:30:18Z EvW quit (Ping timeout: 240 seconds) 2018-02-03T01:30:30Z Cymew quit (Ping timeout: 260 seconds) 2018-02-03T01:32:00Z smasta quit (Ping timeout: 256 seconds) 2018-02-03T01:35:57Z wxie quit (Remote host closed the connection) 2018-02-03T01:37:32Z Cymew joined #lisp 2018-02-03T01:37:52Z wxie joined #lisp 2018-02-03T01:38:14Z pierpa joined #lisp 2018-02-03T01:42:12Z Cymew quit (Ping timeout: 256 seconds) 2018-02-03T01:43:31Z Cymew joined #lisp 2018-02-03T01:45:19Z shrdlu68 joined #lisp 2018-02-03T01:46:48Z pyface joined #lisp 2018-02-03T01:48:18Z Cymew quit (Ping timeout: 256 seconds) 2018-02-03T01:49:32Z Cymew joined #lisp 2018-02-03T01:50:32Z orivej joined #lisp 2018-02-03T01:50:42Z fikka quit (Ping timeout: 256 seconds) 2018-02-03T01:52:37Z jstypo quit (Read error: Connection reset by peer) 2018-02-03T01:54:06Z Cymew quit (Ping timeout: 256 seconds) 2018-02-03T01:55:03Z fikka joined #lisp 2018-02-03T01:56:29Z jmercouris quit (Ping timeout: 256 seconds) 2018-02-03T01:56:45Z eschatologist quit (Ping timeout: 264 seconds) 2018-02-03T01:57:35Z eschatologist joined #lisp 2018-02-03T02:01:15Z razzy joined #lisp 2018-02-03T02:01:23Z razzy quit (Client Quit) 2018-02-03T02:03:05Z anon_ quit (Read error: Connection reset by peer) 2018-02-03T02:08:01Z shrdlu68: How widely used are non-free implementations, and what is attractive about them over free implementations? 2018-02-03T02:08:40Z jstypo joined #lisp 2018-02-03T02:08:48Z peterhil` quit (Ping timeout: 240 seconds) 2018-02-03T02:10:00Z fisxoj quit (Quit: fisxoj) 2018-02-03T02:11:31Z peterhil joined #lisp 2018-02-03T02:11:31Z peterhil quit (Excess Flood) 2018-02-03T02:11:46Z ghard` joined #lisp 2018-02-03T02:12:13Z ghard quit (Remote host closed the connection) 2018-02-03T02:12:23Z razzy joined #lisp 2018-02-03T02:12:27Z peterhil joined #lisp 2018-02-03T02:13:21Z aeth: shrdlu68: Probably hard to tell because this is Freenode, and that gives us a skewed view. 2018-02-03T02:13:22Z shrdlu68 quit (Ping timeout: 256 seconds) 2018-02-03T02:13:22Z smurfrobot joined #lisp 2018-02-03T02:15:03Z aeth: shrdlu68: The advantages of proprietary CLs are, afaik: (0) IDEs that aren't emacs, (1) graphics toolkits, (2) standalone binaries with tree shaking. 2018-02-03T02:15:14Z shrdlu68 joined #lisp 2018-02-03T02:15:48Z Pixel_Outlaw: tree shaking? 2018-02-03T02:17:14Z aeth: shrdlu68: The advantages of proprietary CLs are, afaik: (0) IDEs that aren't emacs, (1) graphics toolkits, (2) standalone binaries with tree shaking. 2018-02-03T02:17:23Z razzy quit (Quit: leaving) 2018-02-03T02:17:32Z aeth: Pixel_Outlaw: https://en.wikipedia.org/wiki/Tree_shaking 2018-02-03T02:17:43Z aeth: essentially, remove what you don't use and get lighter binaries/runtimes 2018-02-03T02:18:36Z aeth: Not too surprising that the idea came from Lisp. You're probably not going to use the majority of the large language in any application. 2018-02-03T02:18:56Z smurfrobot quit (Ping timeout: 268 seconds) 2018-02-03T02:19:24Z ebzzry joined #lisp 2018-02-03T02:19:52Z dddddd quit (Ping timeout: 252 seconds) 2018-02-03T02:19:57Z Pixel_Outlaw: Seems like with functions being first class data types that would be difficult since they could be bound and executed at runtime. 2018-02-03T02:20:00Z ghard` quit (Read error: Connection reset by peer) 2018-02-03T02:20:31Z Arcaelyx joined #lisp 2018-02-03T02:20:54Z Pixel_Outlaw: You may have a slot in a CLOS instance a user is allowed to assign but may not. 2018-02-03T02:21:13Z shrdlu68: Tree-shaking sounds like a rather attractive feature. Is is particularly difficult to implement? 2018-02-03T02:24:17Z aeth: Oh, I forgot. There are some other value-added things that a proprietary CL might have. They might embed a database or a Prolog, etc. 2018-02-03T02:26:28Z sjl: drmeister: a few of us have switched to VLIME from SLIMV, so that's something to check out as well 2018-02-03T02:26:32Z sjl goes afk 2018-02-03T02:28:49Z fikka quit (Ping timeout: 248 seconds) 2018-02-03T02:29:16Z aeth: shrdlu68: If no one can answer your question, you could try asking in the implementations' IRC channels about what it would take in a particular implementation. 2018-02-03T02:29:37Z aeth: There probably isn't an answer that applies to every implementation. 2018-02-03T02:30:32Z drmeister: sjl: How would you compare vlime to slimv to slime? 2018-02-03T02:30:49Z drmeister: DUH 2018-02-03T02:31:28Z shrdlu68: aeth: Ok. 2018-02-03T02:33:23Z fikka joined #lisp 2018-02-03T02:37:50Z d4ryus1 joined #lisp 2018-02-03T02:38:39Z mastrofrancesco joined #lisp 2018-02-03T02:38:51Z nullniverse joined #lisp 2018-02-03T02:39:24Z FreeBirdLjj joined #lisp 2018-02-03T02:41:09Z damke quit (Ping timeout: 264 seconds) 2018-02-03T02:41:15Z d4ryus quit (Ping timeout: 256 seconds) 2018-02-03T02:42:48Z asarch joined #lisp 2018-02-03T02:43:33Z nyef joined #lisp 2018-02-03T02:44:24Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-03T02:44:28Z damke joined #lisp 2018-02-03T02:46:12Z karswell quit (Read error: No route to host) 2018-02-03T02:46:31Z FreeBirdLjj joined #lisp 2018-02-03T02:46:48Z impulse joined #lisp 2018-02-03T02:49:55Z mastrofrancesco quit (Read error: Connection reset by peer) 2018-02-03T02:50:12Z _iviv_ quit (Ping timeout: 256 seconds) 2018-02-03T02:51:20Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-03T02:53:21Z jason_m quit (Ping timeout: 248 seconds) 2018-02-03T02:54:50Z wxie quit (Remote host closed the connection) 2018-02-03T02:59:26Z Karl_Dscc quit (Remote host closed the connection) 2018-02-03T02:59:45Z krwq joined #lisp 2018-02-03T03:01:55Z Tobbi quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-03T03:03:57Z damke quit (Ping timeout: 264 seconds) 2018-02-03T03:04:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-03T03:05:56Z damke joined #lisp 2018-02-03T03:07:32Z nowhereman_ joined #lisp 2018-02-03T03:11:05Z fikka joined #lisp 2018-02-03T03:11:17Z nowhere_man quit (Ping timeout: 256 seconds) 2018-02-03T03:11:46Z zazzerino quit (Remote host closed the connection) 2018-02-03T03:15:43Z ckonstanski joined #lisp 2018-02-03T03:17:45Z pagnol quit (Ping timeout: 264 seconds) 2018-02-03T03:17:47Z pierpa: shrdlu68: commercial implementations all have free limited versions to try, so just try them 2018-02-03T03:17:58Z openthesky quit (Quit: Leaving.) 2018-02-03T03:19:17Z Oladon joined #lisp 2018-02-03T03:20:21Z pyface quit (Quit: Leaving) 2018-02-03T03:20:26Z turkja joined #lisp 2018-02-03T03:22:04Z _6pedrosa9_ joined #lisp 2018-02-03T03:24:11Z dieggsy quit (Remote host closed the connection) 2018-02-03T03:24:58Z dieggsy joined #lisp 2018-02-03T03:29:39Z pfdietz: The Lispworks on is 6 years old... 2018-02-03T03:29:42Z pfdietz: one 2018-02-03T03:30:17Z Chream joined #lisp 2018-02-03T03:30:39Z voidlily quit (Ping timeout: 248 seconds) 2018-02-03T03:30:59Z Cymew joined #lisp 2018-02-03T03:31:12Z _6pedrosa9_ quit (Remote host closed the connection) 2018-02-03T03:31:55Z earl-ducaine joined #lisp 2018-02-03T03:33:20Z _6pedrosa9_ joined #lisp 2018-02-03T03:35:24Z Cymew quit (Ping timeout: 252 seconds) 2018-02-03T03:35:44Z rumbler31 quit (Remote host closed the connection) 2018-02-03T03:36:27Z rme: Somehow, the LispWorks people are able to make a living selling a CL implementation. I think that's amazing (and admirable). 2018-02-03T03:36:39Z pjb: shrdlu68: tree shaking is not more complicated than the garbage collector. eg. ccl has a :purge option to save lisp image. The only difference is that with tree shaking you will start from a smaller root set, assuming that you won't have to further reference any interned symbol. 2018-02-03T03:37:11Z pjb: rme: like closure, and Franz etc. The question is how many are they? 2018-02-03T03:37:57Z rme: At least two. 2018-02-03T03:38:47Z _6pedrosa9_ quit (Remote host closed the connection) 2018-02-03T03:39:03Z pjb: Xcode or Visual Studio developers must be more like around 2000, each… 2018-02-03T03:39:20Z rme: And Clozure's business has never been selling a CL implementation (namely Clozure CL) as a product. 2018-02-03T03:40:00Z pjb: Indded, they cheated with consulting. (But Franz does consulting too AFAIK, and probably Lispworks also). 2018-02-03T03:40:08Z lnostdal quit (Ping timeout: 255 seconds) 2018-02-03T03:40:34Z varjag joined #lisp 2018-02-03T03:41:44Z rme: Clozure's "cheating by consulting" paid the bills me for 7 or 8 years. :-) 2018-02-03T03:42:12Z voidlily joined #lisp 2018-02-03T03:43:59Z xrash joined #lisp 2018-02-03T03:45:02Z varjag quit (Ping timeout: 256 seconds) 2018-02-03T03:45:44Z zaquest quit (Ping timeout: 276 seconds) 2018-02-03T03:46:07Z fikka quit (Ping timeout: 248 seconds) 2018-02-03T03:48:07Z pjb: rme: compute the number of license you would have to sell to have the same income! 2018-02-03T03:48:53Z pjb: and imagine the improvement on the lisp ecosystem this would represent! 2018-02-03T03:49:57Z aeth: pjb: There are a surprising number of commerical Lisps. At least Allegro, LispWorks, Scieneer, and mocl. Genera might also still count, since I think it's still being sold. 2018-02-03T03:50:06Z aeth: And those are just the ones I could find. 2018-02-03T03:50:26Z aeth: (mocl is a mobile commerical Lisp) 2018-02-03T03:50:33Z pjb: aeth: good luck finding the current owner of Genera, and agreeing on a price! 2018-02-03T03:51:07Z JuanDaugherty: a new plot line for huis clos 2018-02-03T03:51:56Z JuanDaugherty: and just as you found them they sold out to allegro 2018-02-03T03:53:35Z pierpa: I think Lispworks thrives on their Xanalys partners? 2018-02-03T03:53:40Z dddddd joined #lisp 2018-02-03T03:53:51Z fikka joined #lisp 2018-02-03T03:54:15Z pierpa: http://www.xanalys.com 2018-02-03T03:56:22Z voidlily quit (Ping timeout: 256 seconds) 2018-02-03T03:58:46Z _6pedrosa9_ joined #lisp 2018-02-03T03:59:35Z rme: If you can get $3000/yr/copy for 200 or 300 copies, you'd be doing OK. You won't be earning big money, but that would be enough for a sustainable little business. 2018-02-03T04:00:18Z _iviv_ joined #lisp 2018-02-03T04:00:19Z shka joined #lisp 2018-02-03T04:00:53Z rme: But this isn't #lisp-business. 2018-02-03T04:01:26Z pjb: rme: that said if the business sells free-software implementation, it remains in the charter AFAIK. 2018-02-03T04:04:12Z _6pedrosa9_ quit (Read error: Connection reset by peer) 2018-02-03T04:05:47Z JuanDaugherty: .6 - .9 million USD is big money to me 2018-02-03T04:06:46Z JuanDaugherty: and there ain't no damn miss ann and mr charlie lisp channel 2018-02-03T04:07:42Z rme: For one person, sure, but that'd be enough for three people to do fairly well. 2018-02-03T04:07:45Z pierpa: it's big money for a single person business. Not for a company 2018-02-03T04:08:05Z JuanDaugherty: that's why your class is currently lost, unreasonable expectations 2018-02-03T04:08:30Z rme: My class? 2018-02-03T04:08:45Z quazimodo quit (Ping timeout: 264 seconds) 2018-02-03T04:08:48Z JuanDaugherty: presuming you are a worker and not a firm 2018-02-03T04:10:25Z _6pedrosa9_ joined #lisp 2018-02-03T04:10:51Z aeth: With that kind of yearly money, you'd get... what? 4 employees? 2018-02-03T04:12:15Z JuanDaugherty: so a firm in aspiration, the usual thing 2018-02-03T04:13:08Z JuanDaugherty: i wouldn't get no damn employees, ever. contractors at most 2018-02-03T04:13:25Z ahungry joined #lisp 2018-02-03T04:23:09Z bkst quit (Ping timeout: 264 seconds) 2018-02-03T04:23:41Z bkst joined #lisp 2018-02-03T04:23:42Z _iviv_ quit (Ping timeout: 256 seconds) 2018-02-03T04:24:57Z JuanDaugherty: aka 'a class conscious peer worker' 2018-02-03T04:25:35Z fikka quit (Ping timeout: 248 seconds) 2018-02-03T04:25:59Z nowhere_man joined #lisp 2018-02-03T04:26:11Z atrus7 joined #lisp 2018-02-03T04:26:24Z shrdlu68 quit (Read error: Connection reset by peer) 2018-02-03T04:28:48Z voidlily joined #lisp 2018-02-03T04:29:17Z nowhereman_ quit (Ping timeout: 276 seconds) 2018-02-03T04:30:27Z schoppenhauer quit (Ping timeout: 240 seconds) 2018-02-03T04:32:45Z schoppenhauer joined #lisp 2018-02-03T04:34:00Z arescorpio joined #lisp 2018-02-03T04:35:08Z fikka joined #lisp 2018-02-03T04:36:44Z ckonstanski quit (Remote host closed the connection) 2018-02-03T04:37:18Z atrus7 quit (Ping timeout: 240 seconds) 2018-02-03T04:42:58Z pjb: JuanDaugherty: 0.9 million USD is barely 4 engineer.year. 2018-02-03T04:43:10Z pjb: JuanDaugherty: it's peanuts for a corporation. 2018-02-03T04:43:52Z pjb: JuanDaugherty: remove taxes, overhead, shareholders' share, I'm not even sure you can pay 2 engineers with that… 2018-02-03T04:43:55Z JuanDaugherty: ok 2018-02-03T04:44:28Z dieggsy quit (Changing host) 2018-02-03T04:44:28Z dieggsy joined #lisp 2018-02-03T04:44:38Z pjb: And contractors are not cheaper than employeers. The advantage of contractor is that you don't have to pay them when you don't have work for them. 2018-02-03T04:45:00Z pjb: s/eers/ees/ 2018-02-03T04:45:25Z JuanDaugherty: right, it's a clean tx 2018-02-03T04:46:32Z wxie joined #lisp 2018-02-03T04:49:32Z pjb: JuanDaugherty: this is why startup work on a noodle-basis at first… 2018-02-03T04:49:35Z JuanDaugherty: which is why the major firms virtually all supplement their wage slaves with contractors 2018-02-03T04:50:07Z pjb: Yes, to adapt the work load, (and also, to benefit from better and rarer competencies). 2018-02-03T04:50:59Z wxie: Hi, are you self-employeed? 2018-02-03T04:51:06Z pjb: Yes. 2018-02-03T04:51:33Z wxie: From the very beginning? 2018-02-03T04:51:48Z pjb: One could say that. Since a long time. 2018-02-03T04:52:18Z wxie: Cool, do you hire anybody else? 2018-02-03T04:52:49Z pjb: Nope. Never had a project big enough to warrant it. 2018-02-03T04:53:24Z loke: pjb: WHat kind of buffer do you have? In the sense that if you stopped getting contracts tomorrow, how long would you last before having to look for wage-slavery? 2018-02-03T04:53:33Z wxie: How did you get your first project? 2018-02-03T04:53:56Z JuanDaugherty: however to directly deal with free labor would be like tolerating the striking of a white man, so they virtually all deal with front firms that actually hire the contractors 2018-02-03T04:54:06Z pjb: loke: of course it's variable. From a few months to almost one year, depending on the previous project… 2018-02-03T04:54:37Z loke: I see. 2018-02-03T04:54:44Z pjb: wxie: well, it was so long ago, I don't know if it would still be meaningful. Basically, at that time, there were so few programmers, that just announcing you were one, you'd get calls. 2018-02-03T04:55:17Z loke: That means I have enough buffer in cash (about a year or two on current burn-rate) to actually go ahead and do what you're doing. 2018-02-03T04:55:32Z wxie: pjb: Thanks. Did they offer you a position? 2018-02-03T04:55:40Z JuanDaugherty: and even in 2018 said firms, which uniformly add nothing to the labor they resell, in general, operate at unknown markups 2018-02-03T04:55:44Z pjb: JuanDaugherty: And foremost, to deal with the details of the hiring process. Only programmers can hire programmers; customers rarely are in the programming business. 2018-02-03T04:56:13Z pjb: wxie: it happens some times. But it's not worth it, since being employed is usually being paid less… 2018-02-03T04:57:09Z pjb: JuanDaugherty: it's not the worst: you may be at the end of a long chain of subcontractors… 2018-02-03T04:57:23Z JuanDaugherty: the firms that hire contract labor are almost always either as their main line of biz or defacto in IT 2018-02-03T04:57:38Z JuanDaugherty: in this time virtually every firm is more or less 2018-02-03T04:58:25Z JuanDaugherty: uh, that may be one thing that's changed somewhat, more parties than 3, 4 at most 2018-02-03T04:58:26Z pjb: For example, a bank wouldn't care hiring programmers. Instead they contract with a company to furnish the programmers. This company may be lazy and hire head hunters to find them, and so on. 2018-02-03T04:58:28Z wxie: pjb: ok. 2018-02-03T04:58:54Z loke: pjb: Actually, many banks have their own programmers. Some banks have more than others. 2018-02-03T04:59:19Z loke: pjb: Certain banks have more well-staffed development teams than major banking software makers. 2018-02-03T04:59:23Z pjb: Also for the bank, if they need to change the work load, or need to replace a programmer, it's simplier for them to delegate the HR problems to the contracted company. 2018-02-03T04:59:39Z saki quit (Quit: saki) 2018-02-03T04:59:48Z aeth: pjb: Do you ever use Common Lisp professionally? 2018-02-03T04:59:53Z JuanDaugherty: 4 or 5 party deals used to be fairly common 2018-02-03T05:00:12Z pjb: Of course, a company that realize that software is the core of their know-how would want to have the development done in-house… 2018-02-03T05:00:15Z saki joined #lisp 2018-02-03T05:00:18Z _iviv_ joined #lisp 2018-02-03T05:00:19Z pjb: But they're not often that smart. 2018-02-03T05:00:31Z pjb: aeth: it occurs. 2018-02-03T05:00:37Z wxie: pjb: Do you negotiate with your customer for using GNU GPL, etc.? 2018-02-03T05:00:54Z JuanDaugherty: no they do realize it 2018-02-03T05:01:12Z pjb: wxie: yes: it's excluded. 2018-02-03T05:01:17Z JuanDaugherty: but wage slaves just don't perform that well 2018-02-03T05:01:36Z JuanDaugherty: and of course they're gonna be burnt out for the next crop 2018-02-03T05:01:51Z JuanDaugherty: in 5-10 y generations 2018-02-03T05:02:06Z pjb: wxie: in general, you can use MIT or BSD -like license, but if you want to contribute back, you have to go thru their legal departments, and you never hear back from them. 2018-02-03T05:02:40Z JuanDaugherty: there is in fact no #lisp-business but this ain't it either 2018-02-03T05:02:45Z pjb: wxie: in any case, it's always case-by-case. It depends on a lot of factors. 2018-02-03T05:02:57Z wxie: pjb: sure 2018-02-03T05:04:33Z wxie: If you choose GNU GPL, will they pay less comparing to non-free license? 2018-02-03T05:04:55Z beach: Good morning everyone! 2018-02-03T05:04:56Z pjb: wxie: first, the software is usually owned by the customer. 2018-02-03T05:05:35Z pjb: wxie: if you remain the owner of the software, then you can license it as you wish. Very few (ie. none) customers are aware enough of the licensing question to care. 2018-02-03T05:06:30Z pjb: wxie: GPL is worth more to the user, since they could resell it if they wanted. 2018-02-03T05:06:40Z wxie: pjb: Understand. 2018-02-03T05:06:57Z wxie: pjb: Good luck in 2018 for you. 2018-02-03T05:07:02Z pjb: wxie: basically, if you sell a proprietary license to your software, you can sell cheap a non-exclusive license, but then you can sell copies to their competition! 2018-02-03T05:07:12Z pjb: wxie: Thanks 2018-02-03T05:07:45Z fikka quit (Ping timeout: 248 seconds) 2018-02-03T05:08:04Z jdtcookie joined #lisp 2018-02-03T05:10:24Z wxie: pjb: I do not have any software to sell, and would never sell any under non-free license. 2018-02-03T05:10:35Z fikka joined #lisp 2018-02-03T05:11:19Z _6pedrosa9_ quit (Remote host closed the connection) 2018-02-03T05:12:00Z wxie: pjb: Maybe we can think over a time-bounded free license: if the customer owns the software, she should agree that you can publish it under free license after a certain time. 2018-02-03T05:12:23Z Oladon quit (Quit: Leaving.) 2018-02-03T05:13:33Z _6pedrosa9_ joined #lisp 2018-02-03T05:14:52Z BitPuffin joined #lisp 2018-02-03T05:18:48Z damke_ joined #lisp 2018-02-03T05:20:45Z damke quit (Ping timeout: 264 seconds) 2018-02-03T05:20:56Z wxie quit (Ping timeout: 256 seconds) 2018-02-03T05:24:21Z nullman quit (Ping timeout: 264 seconds) 2018-02-03T05:24:33Z nullman joined #lisp 2018-02-03T05:26:59Z borei: hi all 2018-02-03T05:27:57Z beach: Hello borei. 2018-02-03T05:28:34Z Xach: Shinmera: Thanks. I didn't realize that's how it works. The example in the readme didn't drive it home for me. 2018-02-03T05:28:57Z borei: read some perfomance reports in regards to matrix multiplication and CPU performance. found that what i got now is 1% of possible performance 2018-02-03T05:29:29Z borei: there is LINPACK tests that show >100GFlops on i7 type CPUs 2018-02-03T05:29:56Z borei: so my question would be - is such performance not reachable using lisp ? 2018-02-03T05:29:56Z beach: borei: I think you are working in a highly competitive domain. A lot of smart people with a lot of money have worked on this problem for a very long time. 2018-02-03T05:30:09Z borei: unless you are using CFFI bindings to the library ? 2018-02-03T05:30:27Z nowhere_man quit (Ping timeout: 240 seconds) 2018-02-03T05:31:35Z khisanth_ quit (Ping timeout: 240 seconds) 2018-02-03T05:32:05Z beach: borei: I don't think such performance is reachable using only the standardized features of any language, Common Lisp included. 2018-02-03T05:32:59Z borei: how are they getting such numbers 2018-02-03T05:33:21Z beach: I don't know. 2018-02-03T05:33:30Z beach: But you would need both threads and SIMD instructions at least. 2018-02-03T05:33:31Z zaquest joined #lisp 2018-02-03T05:33:31Z borei: x100 it's too much, way too much 2018-02-03T05:34:00Z beach: And you would need good algorithms. Not the naive one you are using. 2018-02-03T05:34:02Z borei: with threads i can x4 (at least on mine computer) 2018-02-03T05:34:28Z borei: you can't go better then O(n^2.8) 2018-02-03T05:34:53Z beach: Like I said, you have chosen a very competitive domain. You have a lot of reading to do if you want to compete. 2018-02-03T05:35:49Z smurfrobot joined #lisp 2018-02-03T05:36:11Z borei: yeah, that is for sure 2018-02-03T05:38:13Z nowhere_man joined #lisp 2018-02-03T05:40:47Z sjl quit (Ping timeout: 276 seconds) 2018-02-03T05:41:04Z _6pedrosa9_ quit (Remote host closed the connection) 2018-02-03T05:43:06Z _6pedrosa9_ joined #lisp 2018-02-03T05:43:13Z pierpa: btw, wikipedia says the best known algorithm for matrix multiplication is O(n^2.3728639) 2018-02-03T05:44:38Z pjb: It's worth implementing it, it looks like. (/ (expt 1000 2.3728639) (expt 1000 3)) #| --> 0.013139899 |# 2018-02-03T05:45:08Z khisanth_ joined #lisp 2018-02-03T05:45:31Z anon_ joined #lisp 2018-02-03T05:45:38Z beach: Bigger difference than I had expected. 2018-02-03T05:45:54Z rme: IIRC, the magnitude of the constant factor is so high for the O(n^2.4) algorithm that it is totally impractical. 2018-02-03T05:46:04Z pierpa: yes, true 2018-02-03T05:46:10Z pjb: rme: it all depends on your N. 2018-02-03T05:46:33Z fikka quit (Ping timeout: 256 seconds) 2018-02-03T05:46:38Z pjb: Of course, if you're doing 4x4 it's probably not worth it. But for 1000 or 1000000, I'd bet any overhead is worth it. 2018-02-03T05:49:19Z rme: Strassen's algorithm, which is O(n^2.8) IIRC, is actually worth it for relatively small matrices. But I'm remembering this from quite a while ago. 2018-02-03T05:50:06Z _6pedrosa9_ quit (Remote host closed the connection) 2018-02-03T05:50:26Z pierpa: I heard Prof Romani (whose algorithm was for a period of time, in the '80s the best known) talk about this topic. 2018-02-03T05:51:10Z nika joined #lisp 2018-02-03T05:51:16Z pierpa: his opinion was that algorithms asyntotically faster than Strassen are not usable in practice 2018-02-03T05:51:24Z pierpa: *asymptotically 2018-02-03T05:51:25Z beach: rme: You know moore33, right? 2018-02-03T05:51:32Z rme: yes indeed 2018-02-03T05:51:44Z rme: I've been in touch with him already. 2018-02-03T05:51:48Z beach: Ah, OK. 2018-02-03T05:52:04Z rme: We all had lunch at your place a couple of years ago. 2018-02-03T05:52:05Z pjb: Well, "However, the constant coefficient hidden by the Big O notation is so large that these algorithms are only worthwhile for matrices that are too large to handle on present-day computers." so perhaps we'll have to wait a little ;-) 2018-02-03T05:52:16Z _6pedrosa9_ joined #lisp 2018-02-03T05:52:36Z beach: rme: Yes, I seem to remember something like that. 2018-02-03T05:54:02Z rme: It was a very good lunch. 2018-02-03T05:54:08Z beach: Heh, thanks! 2018-02-03T05:55:11Z Bike quit (Quit: Lost terminal) 2018-02-03T05:55:41Z fikka joined #lisp 2018-02-03T06:01:37Z damke joined #lisp 2018-02-03T06:03:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-03T06:11:13Z arescorpio quit (Excess Flood) 2018-02-03T06:11:29Z pierpa quit (Quit: Page closed) 2018-02-03T06:11:32Z smurfrobot quit (Remote host closed the connection) 2018-02-03T06:11:58Z groovy2shoes quit (Ping timeout: 252 seconds) 2018-02-03T06:13:57Z Kyo91 joined #lisp 2018-02-03T06:20:23Z nowhereman_ joined #lisp 2018-02-03T06:20:25Z nowhere_man quit (Ping timeout: 260 seconds) 2018-02-03T06:23:04Z LocaMocha joined #lisp 2018-02-03T06:24:39Z groovy2shoes joined #lisp 2018-02-03T06:25:50Z ahungry quit (Remote host closed the connection) 2018-02-03T06:27:30Z asarch quit (Quit: Leaving) 2018-02-03T06:29:21Z terpri quit (Ping timeout: 248 seconds) 2018-02-03T06:30:11Z fikka quit (Ping timeout: 276 seconds) 2018-02-03T06:30:18Z dieggsy quit (Ping timeout: 240 seconds) 2018-02-03T06:31:11Z LocaMocha is now known as Sauvin 2018-02-03T06:31:32Z fikka joined #lisp 2018-02-03T06:34:36Z jstypo quit (Ping timeout: 256 seconds) 2018-02-03T06:36:29Z smurfrobot joined #lisp 2018-02-03T06:44:45Z damke quit (Ping timeout: 264 seconds) 2018-02-03T06:45:23Z _6pedrosa9_ quit (Remote host closed the connection) 2018-02-03T06:47:26Z smurfrobot quit (Remote host closed the connection) 2018-02-03T06:47:34Z _6pedrosa9_ joined #lisp 2018-02-03T06:49:36Z vlatkoB joined #lisp 2018-02-03T06:49:58Z jstypo joined #lisp 2018-02-03T06:54:35Z Chream quit (Ping timeout: 268 seconds) 2018-02-03T07:01:29Z raynold quit (Quit: Connection closed for inactivity) 2018-02-03T07:02:04Z Pixel_Outlaw quit (Quit: Leaving) 2018-02-03T07:05:37Z fikka quit (Ping timeout: 248 seconds) 2018-02-03T07:08:26Z Shinmera: Xach: Yeah, I realise that should be clarified. I can also see a point to your attempted use-case, but I don't know if it would lead to more or less confusion in the long run. 2018-02-03T07:09:57Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2018-02-03T07:10:41Z red-dot joined #lisp 2018-02-03T07:11:35Z _6pedrosa9_ quit (Remote host closed the connection) 2018-02-03T07:12:00Z aindilis joined #lisp 2018-02-03T07:12:15Z fikka joined #lisp 2018-02-03T07:13:45Z _6pedrosa9_ joined #lisp 2018-02-03T07:13:57Z borei quit (Ping timeout: 240 seconds) 2018-02-03T07:14:45Z varjag joined #lisp 2018-02-03T07:17:46Z _6pedrosa9_ quit (Remote host closed the connection) 2018-02-03T07:19:56Z _6pedrosa9_ joined #lisp 2018-02-03T07:20:14Z varjag quit (Ping timeout: 276 seconds) 2018-02-03T07:20:44Z damke joined #lisp 2018-02-03T07:24:16Z Murii joined #lisp 2018-02-03T07:24:58Z _mjl joined #lisp 2018-02-03T07:25:53Z JuanDaugherty quit (Ping timeout: 248 seconds) 2018-02-03T07:36:22Z shka quit (Ping timeout: 256 seconds) 2018-02-03T07:39:33Z krwq quit (Remote host closed the connection) 2018-02-03T07:40:16Z smurfrobot joined #lisp 2018-02-03T07:41:22Z dddddd quit (Remote host closed the connection) 2018-02-03T07:46:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-03T07:52:03Z fikka joined #lisp 2018-02-03T07:55:30Z safe joined #lisp 2018-02-03T08:03:17Z smurfrobot quit (Remote host closed the connection) 2018-02-03T08:05:20Z _6pedrosa9_ quit (Remote host closed the connection) 2018-02-03T08:07:31Z _6pedrosa9_ joined #lisp 2018-02-03T08:08:09Z orivej quit (Ping timeout: 264 seconds) 2018-02-03T08:19:18Z nowhereman_ quit (Ping timeout: 240 seconds) 2018-02-03T08:23:07Z smurfrobot joined #lisp 2018-02-03T08:26:02Z terpri joined #lisp 2018-02-03T08:26:32Z fikka quit (Ping timeout: 276 seconds) 2018-02-03T08:27:58Z fikka joined #lisp 2018-02-03T08:32:20Z terpri quit (Ping timeout: 256 seconds) 2018-02-03T08:34:11Z pvaneynd joined #lisp 2018-02-03T08:38:18Z loginoob joined #lisp 2018-02-03T08:39:37Z loginoob: I don't know lisp and javascript and i heard someone in my office saying js is a lot like lisp. Is it true?if it is then how? 2018-02-03T08:39:47Z Shinmera: It's not. 2018-02-03T08:40:03Z Shinmera: But everyone wishes it was, so I can understand the indulgence in delusions. 2018-02-03T08:40:20Z loginoob: Can you explain me in simple way how 2018-02-03T08:40:51Z loginoob: By simple i mean not using any js or lisp terminology 2018-02-03T08:40:53Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-03T08:41:00Z loginoob: If it's possible 2018-02-03T08:41:25Z Shinmera: Okey: JS is a horrible mess of a language that was born out of a mistake. Common Lisp is a carefully crafted language designed by a committee of experienced and intelligent people. 2018-02-03T08:41:37Z beach: I don't know JavaScript, but I think I have heard that its object system is prototype based as opposed to that of Common Lisp that is class based. 2018-02-03T08:42:32Z loginoob: Ok 2018-02-03T08:43:10Z Shinmera: People like to think that JS is like Lisp because it has closures, but almost every language nowadays has closures, so really that's not an argument. 2018-02-03T08:43:27Z beach: And I don't think JavaScript is homoiconic. 2018-02-03T08:43:43Z Shinmera: It is not. 2018-02-03T08:44:02Z beach: What about things like rational numbers? Does JavaScript have them? 2018-02-03T08:44:08Z loginoob: Yes i have read that word before homoiconic. What does it mean 2018-02-03T08:44:08Z Shinmera: JS only has floats. 2018-02-03T08:44:10Z Shinmera: Not even integers. 2018-02-03T08:44:41Z beach: loginoob: https://en.wikipedia.org/wiki/Homoiconicity 2018-02-03T08:45:04Z beach: Shinmera: I see. 2018-02-03T08:45:25Z beach: loginoob: There appears to be quite a lot of differences. 2018-02-03T08:45:54Z loginoob: Thank you for the explanation and time 2018-02-03T08:46:48Z beach: Anytime. 2018-02-03T08:46:56Z loginoob: I am new to programming and i trying to learn haskell first and then i will learn lisp 2018-02-03T08:47:04Z beach: Good luck. 2018-02-03T08:47:08Z loginoob: Ty 2018-02-03T08:47:19Z beach: Ywlcm 2018-02-03T08:49:13Z jackdaniel quit (Remote host closed the connection) 2018-02-03T08:49:13Z uint quit (Remote host closed the connection) 2018-02-03T08:49:13Z TeMPOraL quit (Quit: WeeChat 1.9.1) 2018-02-03T08:50:18Z loginoob: Code can be treated as data. Is this ex correct of former?We can add a functionality to emacs by writing lisp macros. 2018-02-03T08:50:46Z beach: loginoob: Emacs is written in Emacs Lisp. This channel is dedicated to Common Lisp. 2018-02-03T08:51:11Z alexmlw joined #lisp 2018-02-03T08:51:19Z beach: loginoob: Common Lisp macros provide a mechanism for syntactic abstractions that is absent in most other languages. 2018-02-03T08:51:30Z loginoob: But is the above example correct for code can be treated as data 2018-02-03T08:51:54Z beach: Common Lisp macros manipulate code as data, yes. 2018-02-03T08:52:20Z loginoob: Nice 2018-02-03T08:52:21Z beach: But most functionality is provided not by macros but by functions, classes, etc. 2018-02-03T08:53:04Z loginoob: Ok 2018-02-03T08:53:20Z Karl_Dscc joined #lisp 2018-02-03T08:53:51Z beach: Macros are used when new syntax is desired. One can view macros as a way of programming the compiler to recognize new special forms. 2018-02-03T08:54:34Z nullman quit (Ping timeout: 256 seconds) 2018-02-03T08:55:16Z nullman joined #lisp 2018-02-03T08:55:38Z beach: A "special form" is a form that is typically fixed in most languages, such as WHILE or FOR or IF. In other words, it has an evaluation rule that is different from that of a function call, so it can't be programmed as a function. 2018-02-03T08:56:13Z beach: In Common Lisp, macros make it possible to create new operators that have a specific evaluation rule. 2018-02-03T08:57:29Z beach: So in most languages, it would be impossible to create a new operator like for instance IFNOT that reverses the order of the THEN and ELSE branches. But in Common Lisp it is trivial to create such a thing. 2018-02-03T08:58:30Z beach: loginoob: Also, some languages such as C claim to have macros, but those macros are text transformers, making it very hard to create robust and correct macros. 2018-02-03T08:59:32Z beach: Common Lisp macros work on code as S-expressions which is how Common Lisp defines the internal representation of code. 2018-02-03T09:00:24Z damke_ joined #lisp 2018-02-03T09:01:03Z loginoob: Why does "one can view macros as" take me to google maps showing my location? 2018-02-03T09:01:48Z fikka quit (Ping timeout: 256 seconds) 2018-02-03T09:02:09Z damke quit (Ping timeout: 264 seconds) 2018-02-03T09:04:49Z loginoob: Did i ask a stupid question 2018-02-03T09:07:40Z fikka joined #lisp 2018-02-03T09:07:53Z mishoo joined #lisp 2018-02-03T09:08:45Z eschatologist quit (Ping timeout: 264 seconds) 2018-02-03T09:09:16Z smurfrobot quit (Remote host closed the connection) 2018-02-03T09:11:47Z jackdaniel joined #lisp 2018-02-03T09:12:15Z fikka quit (Ping timeout: 256 seconds) 2018-02-03T09:12:26Z beach: loginoob: It was off topic. 2018-02-03T09:17:37Z fikka joined #lisp 2018-02-03T09:19:50Z aeth: Lisp has syntax made from s-expressions (with lists made from conses; macros follow directly from this), symbols, a read-eval-print-loop, garbage collection, closures, the numeric tower, etc. 2018-02-03T09:20:29Z aeth: Some things like REPLs, GC, and closures are in most languages now so they're not really notable features anymore. 2018-02-03T09:22:20Z fikka quit (Ping timeout: 256 seconds) 2018-02-03T09:23:18Z aeth: A lot of other things are still (afaik) rare outside of Lisp, e.g. the numerical tower. https://en.wikipedia.org/wiki/Numerical_tower 2018-02-03T09:24:12Z aeth: That's what people were talking about when they said JS just has (double) floats and doesn't have rational numbers. 2018-02-03T09:26:04Z d4ryus1 is now known as d4ryus 2018-02-03T09:26:26Z aeth: In CL (/ 4 3) is 4/3, compared with 4 / 3 producing 1 (e.g. Python 2) or 1.3333333333333333 (most scripting languages, including JavaScript) 2018-02-03T09:27:55Z fikka joined #lisp 2018-02-03T09:30:15Z terpri joined #lisp 2018-02-03T09:30:31Z smurfrobot joined #lisp 2018-02-03T09:32:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-03T09:32:45Z JuanDaugherty joined #lisp 2018-02-03T09:33:26Z loginoob: only fractions with denominator which has power of 2 can be stored finitely in binary form ? 2018-02-03T09:34:05Z beach: Any particular rational number can be stored finitely. 2018-02-03T09:34:13Z aeth: loginoob: I think you're thinking about floating point. 2018-02-03T09:34:20Z loginoob: Yes 2018-02-03T09:34:53Z Shinmera: rational numbers require finite storage. irrational numbers require infinite storage. 2018-02-03T09:35:04Z loginoob: Then why not every language says 0.1+0.2 /= 0.3 2018-02-03T09:35:21Z z3t0 joined #lisp 2018-02-03T09:35:22Z beach: loginoob: That's a very different question. 2018-02-03T09:35:27Z loginoob: Ok 2018-02-03T09:35:40Z beach: loginoob: Usually, languages store those numbers as floating point binary. 2018-02-03T09:35:51Z beach: loginoob: That is true for Common Lisp as well. 2018-02-03T09:36:28Z beach: Since 0.1 and 0.2 do not have exact representations in binary floating point, the sum will not be exactly 0.3. 2018-02-03T09:37:07Z loginoob: Ok 2018-02-03T09:37:22Z beach: loginoob: When we say "rational numbers" in relation to Common Lisp, we mean numbers that are stored as such, with exact values, so that 1/3 * 3 = 1 exactly as an integer. 2018-02-03T09:37:33Z aeth: You can express any rational, as long as you're willing to store it as arbitrarily long data. e.g. (/ (expt 2 320) (1+ (expt 2 320))) produces a very long rational number in CL. Try to convert it to a double float and you'll just get 1.0d0 because it's too big for the finite representation of double float. 2018-02-03T09:37:45Z aeth: Afaik, a rational is just two bignums. 2018-02-03T09:37:54Z aeth: (Well, in this case.) 2018-02-03T09:38:02Z fikka joined #lisp 2018-02-03T09:38:05Z Shinmera: A rational is two integers, which may or may not be bignums. 2018-02-03T09:38:21Z aeth: Yes. 2018-02-03T09:39:59Z z3t0 quit (Ping timeout: 276 seconds) 2018-02-03T09:42:50Z fikka quit (Ping timeout: 260 seconds) 2018-02-03T09:43:10Z smurfrobot quit (Remote host closed the connection) 2018-02-03T09:48:10Z fikka joined #lisp 2018-02-03T09:52:18Z loginoob quit (Ping timeout: 240 seconds) 2018-02-03T09:52:48Z fikka quit (Ping timeout: 240 seconds) 2018-02-03T09:55:29Z pvaneynd_ joined #lisp 2018-02-03T09:58:16Z fikka joined #lisp 2018-02-03T09:58:18Z pvaneynd quit (Ping timeout: 240 seconds) 2018-02-03T09:59:08Z loginoob joined #lisp 2018-02-03T10:01:35Z jackdaniel quit (Remote host closed the connection) 2018-02-03T10:03:08Z fikka quit (Ping timeout: 256 seconds) 2018-02-03T10:04:17Z jackdaniel joined #lisp 2018-02-03T10:04:41Z groovy2shoes quit (Ping timeout: 276 seconds) 2018-02-03T10:08:32Z fikka joined #lisp 2018-02-03T10:10:55Z raydeejay joined #lisp 2018-02-03T10:12:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-03T10:14:44Z orivej joined #lisp 2018-02-03T10:16:47Z shrdlu68 joined #lisp 2018-02-03T10:18:38Z fikka joined #lisp 2018-02-03T10:18:59Z loginoob quit (Ping timeout: 276 seconds) 2018-02-03T10:19:25Z _6pedrosa9_ quit (Remote host closed the connection) 2018-02-03T10:19:53Z random-nick joined #lisp 2018-02-03T10:20:49Z damke joined #lisp 2018-02-03T10:22:31Z _6pedrosa9_ joined #lisp 2018-02-03T10:22:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-03T10:23:26Z razzy joined #lisp 2018-02-03T10:23:29Z fikka quit (Ping timeout: 248 seconds) 2018-02-03T10:25:06Z damke_ joined #lisp 2018-02-03T10:26:38Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2018-02-03T10:27:21Z damke quit (Ping timeout: 264 seconds) 2018-02-03T10:30:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-03T10:36:37Z safe quit (Read error: Connection reset by peer) 2018-02-03T10:38:44Z fikka joined #lisp 2018-02-03T10:41:16Z porky11 joined #lisp 2018-02-03T10:42:10Z porky11: hi 2018-02-03T10:43:28Z hhdave joined #lisp 2018-02-03T10:43:30Z fikka quit (Ping timeout: 260 seconds) 2018-02-03T10:45:02Z _6pedrosa9_ quit (Remote host closed the connection) 2018-02-03T10:45:06Z JuanDaugherty: yello 2018-02-03T10:46:53Z _6pedrosa9_ joined #lisp 2018-02-03T10:47:28Z hhdave quit (Read error: Connection reset by peer) 2018-02-03T10:49:13Z fikka joined #lisp 2018-02-03T10:53:01Z pagnol joined #lisp 2018-02-03T10:54:13Z wxie joined #lisp 2018-02-03T10:54:28Z fikka quit (Ping timeout: 268 seconds) 2018-02-03T10:54:52Z hhdave joined #lisp 2018-02-03T10:57:16Z vyzo quit (Quit: Leaving.) 2018-02-03T10:57:26Z vyzo joined #lisp 2018-02-03T10:59:28Z fikka joined #lisp 2018-02-03T10:59:48Z _6pedrosa9_ quit (Remote host closed the connection) 2018-02-03T11:00:35Z _6pedrosa9_ joined #lisp 2018-02-03T11:02:45Z damke_ joined #lisp 2018-02-03T11:04:01Z fikka quit (Ping timeout: 248 seconds) 2018-02-03T11:08:35Z nullman quit (Ping timeout: 260 seconds) 2018-02-03T11:09:40Z fikka joined #lisp 2018-02-03T11:10:09Z nullman joined #lisp 2018-02-03T11:12:05Z msb quit (Read error: Connection reset by peer) 2018-02-03T11:14:07Z fikka quit (Ping timeout: 248 seconds) 2018-02-03T11:14:52Z _6pedrosa9_ quit (Remote host closed the connection) 2018-02-03T11:15:23Z msb joined #lisp 2018-02-03T11:16:39Z _6pedrosa9_ joined #lisp 2018-02-03T11:19:04Z wxie quit (Remote host closed the connection) 2018-02-03T11:22:17Z python476 joined #lisp 2018-02-03T11:22:46Z phoe: hey 2018-02-03T11:26:27Z orivej quit (Ping timeout: 240 seconds) 2018-02-03T11:26:44Z JuanDaugherty: ftr, there are a number of famous relations between two integers, so it's not just, it's them and that relation 2018-02-03T11:29:12Z markong joined #lisp 2018-02-03T11:29:31Z fikka joined #lisp 2018-02-03T11:34:13Z _6pedrosa9_1 joined #lisp 2018-02-03T11:34:22Z _mjl quit (Ping timeout: 256 seconds) 2018-02-03T11:34:25Z fikka quit (Ping timeout: 248 seconds) 2018-02-03T11:34:51Z _6pedrosa9_1 quit (Read error: Connection reset by peer) 2018-02-03T11:37:19Z _6pedrosa9_ quit (Ping timeout: 256 seconds) 2018-02-03T11:38:14Z _6pedrosa9_1 joined #lisp 2018-02-03T11:42:44Z cuso4 quit (Ping timeout: 256 seconds) 2018-02-03T11:43:29Z hiroaki quit (Ping timeout: 248 seconds) 2018-02-03T11:44:01Z Shinmera: Xach: I updated the readme with an additional note about it. Hopefully it's clearer now. 2018-02-03T11:49:27Z cuso4 joined #lisp 2018-02-03T11:49:52Z fikka joined #lisp 2018-02-03T11:49:55Z varjag joined #lisp 2018-02-03T11:50:03Z shka joined #lisp 2018-02-03T11:54:57Z fikka quit (Ping timeout: 264 seconds) 2018-02-03T12:00:35Z _6pedrosa9_1 quit (Remote host closed the connection) 2018-02-03T12:00:47Z fikka joined #lisp 2018-02-03T12:02:13Z damke joined #lisp 2018-02-03T12:02:40Z _6pedrosa9_ joined #lisp 2018-02-03T12:04:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-03T12:05:38Z attila_lendvai joined #lisp 2018-02-03T12:05:38Z attila_lendvai quit (Changing host) 2018-02-03T12:05:38Z attila_lendvai joined #lisp 2018-02-03T12:07:20Z _6pedrosa9_ quit (Remote host closed the connection) 2018-02-03T12:08:58Z _iviv_ quit (Remote host closed the connection) 2018-02-03T12:09:39Z _6pedrosa9_ joined #lisp 2018-02-03T12:11:25Z _6pedrosa9_ quit (Remote host closed the connection) 2018-02-03T12:11:38Z scymtym quit (Ping timeout: 256 seconds) 2018-02-03T12:13:37Z _6pedrosa9_ joined #lisp 2018-02-03T12:17:18Z nirved joined #lisp 2018-02-03T12:17:21Z _6pedrosa9_ quit (Remote host closed the connection) 2018-02-03T12:18:09Z EvW1 joined #lisp 2018-02-03T12:20:08Z nowhereman_ joined #lisp 2018-02-03T12:20:48Z shifty quit (Ping timeout: 240 seconds) 2018-02-03T12:24:31Z shrdlu68 quit (Ping timeout: 248 seconds) 2018-02-03T12:25:30Z pvaneynd joined #lisp 2018-02-03T12:26:09Z fittestbits1 left #lisp 2018-02-03T12:29:38Z pvaneynd_ quit (Ping timeout: 276 seconds) 2018-02-03T12:30:15Z nowhere_man joined #lisp 2018-02-03T12:31:35Z nowhereman_ quit (Ping timeout: 276 seconds) 2018-02-03T12:33:52Z fikka quit (Ping timeout: 256 seconds) 2018-02-03T12:36:48Z scymtym joined #lisp 2018-02-03T12:36:56Z shrdlu68 joined #lisp 2018-02-03T12:37:07Z SAL9000_ is now known as SAL9000 2018-02-03T12:39:30Z fikka joined #lisp 2018-02-03T12:43:48Z Murii quit (Ping timeout: 240 seconds) 2018-02-03T12:44:38Z fikka quit (Ping timeout: 265 seconds) 2018-02-03T12:46:39Z Xach: tusen tack 2018-02-03T12:49:36Z fikka joined #lisp 2018-02-03T12:54:23Z fikka quit (Ping timeout: 248 seconds) 2018-02-03T12:54:55Z Bike joined #lisp 2018-02-03T12:58:52Z pvaneynd_ joined #lisp 2018-02-03T13:01:48Z pvaneynd quit (Ping timeout: 240 seconds) 2018-02-03T13:07:30Z eschatologist joined #lisp 2018-02-03T13:09:12Z red-dot joined #lisp 2018-02-03T13:09:42Z fikka joined #lisp 2018-02-03T13:12:32Z EvW1 quit (Ping timeout: 252 seconds) 2018-02-03T13:14:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-03T13:16:09Z quotation_ joined #lisp 2018-02-03T13:16:12Z _mjl joined #lisp 2018-02-03T13:16:27Z Shinmera: Thanks for the feedback :) 2018-02-03T13:17:06Z quotation_ quit (Client Quit) 2018-02-03T13:17:16Z quotation joined #lisp 2018-02-03T13:20:07Z Xach: Shinmera: why is restore needed? 2018-02-03T13:20:12Z EvW joined #lisp 2018-02-03T13:20:24Z Xach: Shinmera: not mechanically, but theoretically 2018-02-03T13:21:19Z Shinmera: Without it it won't know which identifier to use. If it used a default one, your application would clash with others. 2018-02-03T13:21:44Z hhdave quit (Quit: hhdave) 2018-02-03T13:21:54Z Xach: Oh. I was using keys as namespaces. 2018-02-03T13:23:45Z damke quit (Ping timeout: 264 seconds) 2018-02-03T13:23:57Z Shinmera: The idea is that you use (restore :awesome-xach-app) and someone else would use (restore :my-thingy). If you need separate configurations for separate parts of your project you can also use symbols like (restore 'awesome-xach-app:global) (restore 'awesome-xach-app:secrets) or what. 2018-02-03T13:24:08Z nullniverse quit (Read error: Connection reset by peer) 2018-02-03T13:24:26Z Shinmera: Colleen: look up ubiquitous designator-pathname 2018-02-03T13:24:26Z Colleen: Generic ubiquitous:designator-pathname https://shinmera.github.io/ubiquitous#GENERIC%20UBIQUITOUS%3ADESIGNATOR-PATHNAME 2018-02-03T13:24:30Z damke joined #lisp 2018-02-03T13:24:32Z Xach: the designator package doesn't matter? 2018-02-03T13:24:45Z fittestbits joined #lisp 2018-02-03T13:25:15Z Shinmera: If it's a keyword it doesn't. If it's CL, it's an error. If it's anything else, the package is used as a directory name. 2018-02-03T13:25:50Z Karl_Dscc quit (Remote host closed the connection) 2018-02-03T13:26:13Z Shinmera: The above docstring should illustrate it quite clearly I think 2018-02-03T13:27:27Z Xach: so restore sets some global state that affects value operations? 2018-02-03T13:28:08Z Shinmera: Well, it sets the *storage* among other things, so yes. 2018-02-03T13:28:13Z Shinmera: Colleen: look up ubiquitous restore 2018-02-03T13:28:13Z Colleen: Generic ubiquitous:restore https://shinmera.github.io/ubiquitous#GENERIC%20UBIQUITOUS%3ARESTORE 2018-02-03T13:28:33Z Xach: So it has to be called before every use of value to make sure you're in the right context? 2018-02-03T13:28:37Z hhdave joined #lisp 2018-02-03T13:29:51Z Shinmera: If, in your lisp image, you're the only one using ubiquitous, you can just call RESTORE at load and executable startup time. That's all. 2018-02-03T13:30:00Z fikka joined #lisp 2018-02-03T13:30:22Z Xach: Well, you mentioned separate parts of my project - those could live in the same image, right? 2018-02-03T13:30:35Z Xach: the ...:global and ...:secrets part 2018-02-03T13:30:57Z Shinmera: Yes. In that case you would use WITH-STORAGE (keeping different storage objects in separate variables for instance) or WITH-LOCAL-STORAGE around the value calls. 2018-02-03T13:31:29Z Shinmera: Err, actually WITH-STORAGE is the wrong thing in this case 2018-02-03T13:31:52Z Shinmera: But if you want to avoid excessive reloading you'd keep the storage in global variables and use that as the :storage argument to WITH-LOCAL-STORAGE 2018-02-03T13:32:05Z jdtcookie quit (Ping timeout: 260 seconds) 2018-02-03T13:33:00Z marvin2 joined #lisp 2018-02-03T13:33:15Z Xach: And you wouldn't want to have it be part of a library without being careful 2018-02-03T13:33:29Z marvin3 quit (Ping timeout: 256 seconds) 2018-02-03T13:33:41Z Xach: documenting and guarding against messing with the library user's storage state 2018-02-03T13:34:14Z Shinmera: If you use with-local-storage in a library you'll be fine unless someone else purposefully uses the same designator as you. 2018-02-03T13:34:47Z Shinmera: Though I'm having a hard time imagining a library that uses ubiquitous... 2018-02-03T13:35:17Z fikka quit (Ping timeout: 276 seconds) 2018-02-03T13:35:22Z phf joined #lisp 2018-02-03T13:35:27Z Tobbi joined #lisp 2018-02-03T13:39:29Z phf left #lisp 2018-02-03T13:43:02Z dddddd joined #lisp 2018-02-03T13:44:48Z jstypo quit (Ping timeout: 240 seconds) 2018-02-03T13:45:45Z fisxoj joined #lisp 2018-02-03T13:45:48Z EvW quit (Ping timeout: 240 seconds) 2018-02-03T13:50:17Z fikka joined #lisp 2018-02-03T13:54:50Z dieggsy joined #lisp 2018-02-03T13:55:09Z fikka quit (Ping timeout: 268 seconds) 2018-02-03T13:58:47Z jstypo joined #lisp 2018-02-03T14:01:56Z dieggsy quit (Read error: Connection reset by peer) 2018-02-03T14:06:46Z random-nick quit (Remote host closed the connection) 2018-02-03T14:07:35Z theBlackDragon quit (Remote host closed the connection) 2018-02-03T14:08:20Z varjag quit (Read error: Connection reset by peer) 2018-02-03T14:08:29Z varjag joined #lisp 2018-02-03T14:09:38Z fikka joined #lisp 2018-02-03T14:10:02Z random-nick joined #lisp 2018-02-03T14:10:05Z orivej joined #lisp 2018-02-03T14:10:51Z dieggsy joined #lisp 2018-02-03T14:11:32Z porky11 quit (Remote host closed the connection) 2018-02-03T14:14:10Z fikka quit (Ping timeout: 240 seconds) 2018-02-03T14:15:10Z brendyn quit (Ping timeout: 240 seconds) 2018-02-03T14:15:18Z varjag quit (Ping timeout: 256 seconds) 2018-02-03T14:15:35Z pagnol quit (Ping timeout: 276 seconds) 2018-02-03T14:16:53Z fikka joined #lisp 2018-02-03T14:18:56Z jmercouris joined #lisp 2018-02-03T14:19:16Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2018-02-03T14:25:57Z varjag joined #lisp 2018-02-03T14:28:20Z terpri quit (Ping timeout: 256 seconds) 2018-02-03T14:28:20Z xrash quit (Ping timeout: 256 seconds) 2018-02-03T14:30:33Z smurfrobot joined #lisp 2018-02-03T14:32:59Z angavrilov joined #lisp 2018-02-03T14:35:30Z kajo quit (Quit: WeeChat 2.0.1) 2018-02-03T14:40:54Z kajo joined #lisp 2018-02-03T14:41:41Z jason_m joined #lisp 2018-02-03T14:42:25Z dieggsy quit (Remote host closed the connection) 2018-02-03T14:49:25Z razzy quit (Remote host closed the connection) 2018-02-03T14:50:39Z fikka quit (Ping timeout: 248 seconds) 2018-02-03T14:52:49Z hhdave quit (Ping timeout: 256 seconds) 2018-02-03T14:53:20Z hhdave joined #lisp 2018-02-03T14:53:45Z damke quit (Ping timeout: 264 seconds) 2018-02-03T14:54:53Z damke joined #lisp 2018-02-03T14:57:36Z fikka joined #lisp 2018-02-03T14:57:48Z hhdave quit (Ping timeout: 256 seconds) 2018-02-03T14:58:04Z smurfrobot quit (Remote host closed the connection) 2018-02-03T14:58:26Z hhdave joined #lisp 2018-02-03T14:59:45Z damke quit (Ping timeout: 264 seconds) 2018-02-03T15:06:00Z jfb4 quit (Ping timeout: 260 seconds) 2018-02-03T15:06:00Z openthesky joined #lisp 2018-02-03T15:06:04Z damke joined #lisp 2018-02-03T15:07:32Z jfb4 joined #lisp 2018-02-03T15:08:12Z hiroaki joined #lisp 2018-02-03T15:09:00Z fisxoj quit (Quit: fisxoj) 2018-02-03T15:12:20Z smurfrobot joined #lisp 2018-02-03T15:12:55Z LiamH joined #lisp 2018-02-03T15:13:35Z ebzzry quit (Ping timeout: 248 seconds) 2018-02-03T15:13:54Z FreeBirdLjj joined #lisp 2018-02-03T15:14:26Z froggey quit (Remote host closed the connection) 2018-02-03T15:15:56Z python476 quit (Ping timeout: 268 seconds) 2018-02-03T15:16:48Z _mjl quit (Ping timeout: 240 seconds) 2018-02-03T15:17:02Z froggey joined #lisp 2018-02-03T15:20:45Z damke quit (Ping timeout: 264 seconds) 2018-02-03T15:21:38Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-03T15:22:23Z damke joined #lisp 2018-02-03T15:23:00Z attila_lendvai joined #lisp 2018-02-03T15:23:00Z attila_lendvai quit (Changing host) 2018-02-03T15:23:00Z attila_lendvai joined #lisp 2018-02-03T15:24:40Z nowhereman_ joined #lisp 2018-02-03T15:26:25Z fikka quit (Ping timeout: 248 seconds) 2018-02-03T15:28:01Z nowhere_man quit (Ping timeout: 248 seconds) 2018-02-03T15:28:49Z smurfrobot quit (Remote host closed the connection) 2018-02-03T15:29:00Z pvaneynd joined #lisp 2018-02-03T15:32:19Z fikka joined #lisp 2018-02-03T15:32:56Z pvaneynd_ quit (Ping timeout: 276 seconds) 2018-02-03T15:34:26Z Murii joined #lisp 2018-02-03T15:40:21Z dieggsy joined #lisp 2018-02-03T15:40:22Z pagnol joined #lisp 2018-02-03T15:43:28Z openthesky quit (Ping timeout: 265 seconds) 2018-02-03T15:44:12Z drewc_ joined #lisp 2018-02-03T15:44:27Z orivej quit (Ping timeout: 240 seconds) 2018-02-03T15:46:27Z drewc quit (Ping timeout: 240 seconds) 2018-02-03T15:50:55Z ft joined #lisp 2018-02-03T16:01:57Z guaqua quit (Remote host closed the connection) 2018-02-03T16:02:45Z JuanDaugherty quit (Ping timeout: 264 seconds) 2018-02-03T16:03:24Z pagnol quit (Ping timeout: 252 seconds) 2018-02-03T16:04:40Z zacts quit (Quit: WeeChat 1.9.1) 2018-02-03T16:05:21Z fikka quit (Ping timeout: 248 seconds) 2018-02-03T16:06:15Z fikka joined #lisp 2018-02-03T16:07:01Z zacts joined #lisp 2018-02-03T16:07:45Z Xach: Shinmera: https://gist.github.com/xach/5e623744fa4777159719619c9eabb4d5 - is that to be expected? 2018-02-03T16:08:33Z pagnol joined #lisp 2018-02-03T16:08:34Z Shinmera: Yes. 2018-02-03T16:08:50Z Shinmera: That's the same snippet as yesterday though, isn't it? 2018-02-03T16:09:14Z Xach: Sorry, the first comment 2018-02-03T16:09:43Z Xach: https://gist.github.com/xach/5e623744fa4777159719619c9eabb4d5#gistcomment-2340548 2018-02-03T16:09:45Z wallmonitorcable joined #lisp 2018-02-03T16:09:52Z Shinmera: Oh-- I missed that, my bad 2018-02-03T16:10:05Z wallmonitorcable: Lisp is this popular? 2018-02-03T16:10:17Z beach: wallmonitorcable: Yes. 2018-02-03T16:10:39Z Shinmera: Xach: Yes. 2018-02-03T16:10:41Z wallmonitorcable: I like what people have said about Lisp, but then when I looked at the actual syntax of some example programs, it just looks weird to me. 2018-02-03T16:10:56Z beach: wallmonitorcable: Sorry to hear that. 2018-02-03T16:10:59Z Shinmera: That's because you're not used to it. 2018-02-03T16:11:22Z groovy2shoes joined #lisp 2018-02-03T16:11:32Z jackdaniel: wallmonitorcable: look at non-latin based alphabet 2018-02-03T16:11:32Z Shinmera: Xach: Though the pathname representation is unfortunate on SBCL. 2018-02-03T16:11:54Z Shinmera: And perhaps it should be a note instead. 2018-02-03T16:11:56Z wallmonitorcable: At least these: https://en.wikipedia.org/wiki/Lisp_(programming_language)#Examples 2018-02-03T16:11:56Z jackdaniel: (given you use latin-based one) - it looks weird, no? 2018-02-03T16:11:57Z beach: Vietnamese looks weird at first, but when you know it, you see that it is much simpler than most western languages. 2018-02-03T16:13:23Z beach: wallmonitorcable: If you have any questions, feel free to ask them. But there is no point in trying to convince #lisp participants that it looks weird. 2018-02-03T16:13:26Z pjb: wallmonitorcable: 1- there is no lisp (as a programming language) syntax. 2- what you see are S-exp = symbolic expression = data, not programs. 3- you can implement your own programming language syntax for lisp. Originally, M-expressions were defined for that. see: https://www.informatimago.com/develop/lisp/com/informatimago/small-cl-pgms/m-expression/index.html 2018-02-03T16:13:33Z scymtym: Shinmera: UIOP:NATIVE-NAMESTRING may be more appropriate when presenting pathnames to users 2018-02-03T16:13:34Z jackdaniel: usually in natural language you say: "add one and two" (not "one plus two"), so s-expressions are closer to natural language eiter 2018-02-03T16:13:42Z jackdaniel: (+ 1 2) vs (1 + 2) 2018-02-03T16:13:59Z Shinmera: scymtym: Yeah. I'll change it to just NAMESTRING though, as I don't want to depend on UIOP in Ubiquitous 2018-02-03T16:14:03Z jackdaniel: either* 2018-02-03T16:14:26Z Shinmera: Hrm 2018-02-03T16:14:36Z scymtym: Shinmera: that may signal an error 2018-02-03T16:14:40Z pjb: wallmonitorcable: but: 4- since we use lisp to manipulate programs, notably in macros, it is more useful to keep the programs represented as data than as code. Also, if you cover it with some program syntax, you will have more difficulty in macros to see the correspondance between source code and the data you manipulate and generate in macros. 2018-02-03T16:14:41Z Shinmera: there's no standard condition subclass that is useful for "notes" 2018-02-03T16:14:43Z Shinmera: right? 2018-02-03T16:14:55Z pjb: wallmonitorcable: and this is the reason why lispers keep writing data, instead of writing code. 2018-02-03T16:15:08Z Shinmera: What I'm signalling isn't severe enough for a warning, but isn't about style either, so style-warning seems inappropriate. 2018-02-03T16:15:28Z Xach: Shinmera: why should I have to know about this situation at all? 2018-02-03T16:15:38Z Xach: Shinmera: isn't it normal to create these all the time? 2018-02-03T16:16:00Z Shinmera: You might want to know about it if you want to run something special for a fresh system. 2018-02-03T16:16:10Z Shinmera: Where a configuration file does not yet exist. 2018-02-03T16:16:29Z Xach: What would that tell me? 2018-02-03T16:16:33Z Karl_Dscc joined #lisp 2018-02-03T16:16:39Z Xach: How might I change my behavior? 2018-02-03T16:16:49Z Shinmera: You might decide to, say, run a setup wizard. 2018-02-03T16:17:06Z Xach: To do what? 2018-02-03T16:17:20Z Shinmera: Gather the proper initial configuration for the system 2018-02-03T16:17:38Z Xach: So the procedure would be to handle the warning and do initialization? 2018-02-03T16:17:45Z Shinmera: For instance. 2018-02-03T16:18:07Z wallmonitorcable: Hmm... 2018-02-03T16:18:09Z Shinmera: Though, again, since it's not really a problem as you note, having the condition be a warning seems too severe 2018-02-03T16:18:29Z ckonstanski joined #lisp 2018-02-03T16:18:54Z Xach: Shinmera: one option would be to try to retrieve critical entries and initialize if absent...it seems like knowing the underlying storage system state is not something I want to mess with, much. 2018-02-03T16:18:55Z pjb: wallmonitorcable: https://codeshare.io/5wO0Yp Notice how the first sexp represents data. Notice how the second sexp has exactly the same structure, but seems to represent code. 2018-02-03T16:19:12Z Xach: Or maybe a configuration-exists-p? I'm not sure... 2018-02-03T16:19:21Z wallmonitorcable: If it weren't for the fact that Lisp is one of the earliest programming languages, I would claim that I think it seems "different for the sake of being different", but PHP/C/JS/etc. seems much more "straight-forward" still, for somebody who never has programmed in their life. At least it seems that way to me. 2018-02-03T16:19:26Z pjb: wallmonitorcable: notice also that you could define functions named person, name, surname and age, and the first sexp which was data, now can be interpred as code! 2018-02-03T16:19:31Z pjb: wallmonitorcable: this is the magic of lisp. 2018-02-03T16:19:41Z Shinmera: Xach: Sure, there's other ways to do the same thing. I just see it as a potentially useful piece of information. 2018-02-03T16:19:49Z Xach: wallmonitorcable: what seems "natural" is generally a condition of what you learn first. 2018-02-03T16:20:09Z wallmonitorcable: pjb: That URL seems to be empty? 2018-02-03T16:20:13Z wallmonitorcable: Xach: I suppose. 2018-02-03T16:20:29Z wallmonitorcable: Oh. It loaded afterwards. 2018-02-03T16:20:38Z Shinmera: wallmonitorcable: I'm quite sure people from different countries have very different ideas about which natural languages are "straight forward" 2018-02-03T16:20:38Z Xach: wallmonitorcable: if someone has never programmed in their life, lisp is probably as natural as anything else. 2018-02-03T16:21:02Z beach: "natural" :) 2018-02-03T16:21:30Z pjb: wallmonitorcable: ok. 2018-02-03T16:22:29Z ckonstanski: Programmers must be adaptable. Any programmer who clings to what they learned first is a crappy programmer indeed. (:two-cents) 2018-02-03T16:22:31Z smurfrobot joined #lisp 2018-02-03T16:22:42Z Shinmera: Xach: I think for now I'll change it from being a warning to just being a condition. How does that sound? 2018-02-03T16:23:17Z beach: ckonstanski: Unfortunately, crappy programmers are the norm in the software industry. 2018-02-03T16:23:21Z pjb: wallmonitorcable: notice that the actual lisp source code, is not the textual representation, but the data structures, the cons cells and lisp atoms represented in those diagrams. 2018-02-03T16:23:36Z pjb: wallmonitorcable: the actual lisp source text could be very different. 2018-02-03T16:23:36Z wallmonitorcable: I guess what feels so frustrating to me is that if I were to become rich tomorrow, and I hired some Lisp expert and had a Lisp machine doing important work, I couldn't "glance at" or vet the code because it uses a completely different philosophy (from what I can gather) to what I'm used to. Many languages that I don't know still have some sort of obvious "structure" which seems to abstracted away in Lisp. I'm not saying that Lisp is bad -- I'm 2018-02-03T16:23:37Z wallmonitorcable: merely fascinated with how different and "exotic" programming languages exist and are still in use after many decades. 2018-02-03T16:24:09Z Xach: wallmonitorcable: I think that is just superificial unfamiliarity that goes away very quickly with study. 2018-02-03T16:24:18Z pjb: wallmonitorcable: if you were rich, you'd get yourself a lisp teacher to know the language of the rich men (like, eg. Paul Graham). 2018-02-03T16:24:28Z terpri joined #lisp 2018-02-03T16:24:31Z wallmonitorcable: I suppose. 2018-02-03T16:24:31Z Shinmera: Haskell, Caml & co. are also very different to C & co and both are in wide use today. 2018-02-03T16:24:43Z beach: wallmonitorcable: A warning: if you decide to learn it, there is a big risk that you won't want to go back to your previous languages. 2018-02-03T16:24:55Z ckonstanski: Ain't that the truth 2018-02-03T16:25:12Z wallmonitorcable: :-) 2018-02-03T16:26:08Z beach: wallmonitorcable: That said, if you DO decide you want to learn Common Lisp, then we can give you some advice about the programming tools and some books to read. We can also give you feedback on your code. 2018-02-03T16:26:47Z ckonstanski: My first book was Practical Common Lisp. As a beginner I found it incredibly helpful. And it's free online. 2018-02-03T16:27:34Z wallmonitorcable: Well, as much as I can find code beautiful, I've mostly ceased trying to find beauty in (practical) code because of the enormous difficulties of actually making the code in any language actually generate money in the end, so that takes up 99.99999% of my focus/time/energy. I'll admit I'm very familiar with PHP (or my little subset of it, anyway) and while it's almost universally hated, I find that I can theoretically do "anything" with it, but it 2018-02-03T16:27:34Z wallmonitorcable: doesn't matter as the money issue by far overshadows my urge to achieve "perfect code beauty". 2018-02-03T16:28:11Z varjag quit (Ping timeout: 276 seconds) 2018-02-03T16:28:27Z varjag joined #lisp 2018-02-03T16:28:37Z Shinmera: I write code that is both not something I hate to look at, and works. 2018-02-03T16:28:58Z Shinmera: But hey. If you can stand PHP, and money is all you care for, good for you 2018-02-03T16:30:00Z pagnol quit (Ping timeout: 260 seconds) 2018-02-03T16:30:05Z wallmonitorcable: My point was that I don't even make any money with PHP. :/ 2018-02-03T16:30:57Z thallia quit (Ping timeout: 248 seconds) 2018-02-03T16:31:03Z Shinmera: Fortunately business practises are outside of the scope of this channel. 2018-02-03T16:31:04Z ckonstanski: https://medium.com/@ChallengeRocket/top-10-of-programming-languages-with-the-highest-salaries-in-2017-4390f468256e 2018-02-03T16:31:27Z damke_ joined #lisp 2018-02-03T16:31:40Z ckonstanski: Who knows if they even looked at any lisps (like clojure which is used a lot at Apple). 2018-02-03T16:31:59Z jmercouris: wallmonitorcable: you won't make any money as a lisp developer, go learn a popular language 2018-02-03T16:32:43Z ckonstanski: Be sure to choose something that is webscale. 2018-02-03T16:32:45Z damke quit (Ping timeout: 264 seconds) 2018-02-03T16:32:56Z jmercouris: ckonstanski: like mongodb? 2018-02-03T16:33:02Z ckonstanski: (boom) 2018-02-03T16:33:04Z thallia joined #lisp 2018-02-03T16:33:25Z wallmonitorcable: I like the idea of a "Lisp machine"; dedicated hardware to run only Lisp programs; no bloated and insecure OS and stuff like that. 2018-02-03T16:33:43Z wallmonitorcable: Not sure if any of those are used still, though. 2018-02-03T16:34:00Z Shinmera: A lisp machine still has an os 2018-02-03T16:34:08Z beach: wallmonitorcable: You can run Lisp on a bare metal PC. Much faster than dedicated hardware. 2018-02-03T16:34:12Z Xach: the lisp machines that companies actually used had a pretty big and extensive OS that some people complained about. 2018-02-03T16:34:21Z Xach: (because it was so big) 2018-02-03T16:34:38Z ckonstanski: I have not made a study of lisp machines. In my uninformed mind I think that they existed because commodity pc hardware was not powerful enough to run lisp back in the day. Now that it is, there's no market for it. 2018-02-03T16:34:48Z varjag quit (Remote host closed the connection) 2018-02-03T16:34:55Z pjb: wallmonitorcable: That said, there are existance proofs, it's possible to make money with lisp, and even a lot of money. 2018-02-03T16:35:10Z pjb: wallmonitorcable: http://franz.com/success 2018-02-03T16:35:10Z jmercouris: Sure, that's true, but highly improbable 2018-02-03T16:35:18Z varjag joined #lisp 2018-02-03T16:35:18Z Bike: i don't think there were a lot of commodity PCs when lisp machines were big 2018-02-03T16:35:26Z beach: ckonstanski: Correct, but that has changed. And nowadays any widely used processor can run Lisp very well. 2018-02-03T16:35:54Z ckonstanski: Or you can get a job where you have a certain amount of freedom in language selection, like in a position where you mostly work alone and write smallish programs. I've snuck a lot of lisp into the workplace this way. 2018-02-03T16:37:27Z thallia quit (Ping timeout: 240 seconds) 2018-02-03T16:37:48Z ckonstanski: If you learn clojure (I feel dirty now) it's even easier to sneak in. The packaged runnable is indistinguishable from java (a JAR). 2018-02-03T16:38:18Z Karl_Dscc quit (Ping timeout: 240 seconds) 2018-02-03T16:38:25Z thallia joined #lisp 2018-02-03T16:39:34Z wallmonitorcable: Well, it gives me some what of a cozy feeling just to know that Lisp is still being actively used by people. I like it when old technology and ideas are still in use. Especially if they are superior to some "modern replacement". I can't stand modern computers in general, likely due to being jaded from both Windows and FreeBSD/Linux and how bloated and insecure and inane they are, so I often like to look back to early computer systems where they 2018-02-03T16:39:35Z wallmonitorcable: had no choice but to be smart about things. 2018-02-03T16:42:14Z jmercouris: let's not romanticize the past 2018-02-03T16:42:22Z jmercouris: I would not enjoy installing old versions of ubuntu for example 2018-02-03T16:42:32Z jmercouris: nor did I enjoy the absolutely terrible hardware support, update issues, etc 2018-02-03T16:42:35Z varjag quit (Ping timeout: 240 seconds) 2018-02-03T16:42:45Z shrdlu68 quit (Ping timeout: 256 seconds) 2018-02-03T16:42:49Z wallmonitorcable: jmercouris: Ubuntu is the Linux garbage I complain about? Not old? 2018-02-03T16:42:56Z jmercouris: hardware of the past was not "better", it just did less things, anyways, this isn't really on topic 2018-02-03T16:43:07Z wallmonitorcable: Alright... 2018-02-03T16:43:09Z wallmonitorcable left #lisp 2018-02-03T16:44:24Z pjb: Well, the problem is that if you're connected to the Internet, you better not run old systems, for security reasons. 2018-02-03T16:44:35Z pjb: Otherwise, if you can isolate your computer, you may have all the fun you want. 2018-02-03T16:44:48Z ckonstanski: Pivoting back to lisp: we value open-source because it is all about choices. If you choose to delve into lisp, there is help to be had, both here and in a growing body of excellent reading material. 2018-02-03T16:45:29Z theBlackDragon joined #lisp 2018-02-03T16:45:30Z jmercouris: ckonstanski: the user left 2018-02-03T16:45:39Z PinealGlandOptic joined #lisp 2018-02-03T16:46:15Z sjl joined #lisp 2018-02-03T16:47:57Z quotation quit (Quit: Connection closed for inactivity) 2018-02-03T16:50:01Z shrdlu68 joined #lisp 2018-02-03T16:50:40Z Oladon joined #lisp 2018-02-03T16:52:02Z Rawriful joined #lisp 2018-02-03T16:52:43Z guaqua joined #lisp 2018-02-03T16:53:58Z kuneco joined #lisp 2018-02-03T16:54:37Z smurfrobot quit (Remote host closed the connection) 2018-02-03T16:59:13Z Rawriful quit (Quit: WeeChat 1.4) 2018-02-03T17:04:56Z Rawriful joined #lisp 2018-02-03T17:05:39Z azahi quit (Changing host) 2018-02-03T17:05:39Z azahi joined #lisp 2018-02-03T17:08:19Z Arcaelyx joined #lisp 2018-02-03T17:08:56Z elazul joined #lisp 2018-02-03T17:11:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-03T17:13:53Z JuanDaugherty joined #lisp 2018-02-03T17:14:05Z JuanDaugherty quit (Client Quit) 2018-02-03T17:15:23Z damke_ joined #lisp 2018-02-03T17:18:18Z smurfrobot joined #lisp 2018-02-03T17:19:08Z pagnol joined #lisp 2018-02-03T17:26:38Z damke_ quit (Ping timeout: 252 seconds) 2018-02-03T17:27:00Z damke joined #lisp 2018-02-03T17:27:27Z pagnol quit (Ping timeout: 248 seconds) 2018-02-03T17:29:17Z khrbt left #lisp 2018-02-03T17:31:52Z raynold joined #lisp 2018-02-03T17:32:04Z ineiros quit (Read error: Connection reset by peer) 2018-02-03T17:34:39Z openthesky joined #lisp 2018-02-03T17:38:51Z makomo quit (Ping timeout: 256 seconds) 2018-02-03T17:39:03Z pythosnek joined #lisp 2018-02-03T17:40:32Z pythosnek left #lisp 2018-02-03T17:43:08Z jason_m quit (Ping timeout: 252 seconds) 2018-02-03T17:43:14Z smurfrobot quit (Remote host closed the connection) 2018-02-03T17:43:37Z FreeBirdLjj quit 2018-02-03T17:43:58Z FreeBirdLjj joined #lisp 2018-02-03T17:57:41Z jason_m joined #lisp 2018-02-03T17:59:01Z pvaneynd_ joined #lisp 2018-02-03T18:02:18Z pvaneynd quit (Ping timeout: 240 seconds) 2018-02-03T18:04:16Z milanj quit (Quit: This computer has gone to sleep) 2018-02-03T18:07:59Z scymtym quit (Ping timeout: 265 seconds) 2018-02-03T18:09:02Z mishoo_ joined #lisp 2018-02-03T18:11:04Z mishoo quit (Ping timeout: 268 seconds) 2018-02-03T18:11:04Z smurfrobot joined #lisp 2018-02-03T18:12:33Z orivej joined #lisp 2018-02-03T18:16:08Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-03T18:22:46Z PinealGlandOptic quit (Quit: leaving) 2018-02-03T18:35:30Z pagnol joined #lisp 2018-02-03T18:36:07Z pvaneynd_ quit (Remote host closed the connection) 2018-02-03T18:36:37Z pvaneynd joined #lisp 2018-02-03T18:37:37Z sabrac joined #lisp 2018-02-03T18:37:42Z nika quit (Quit: Leaving...) 2018-02-03T18:39:45Z BitPuffin quit (Remote host closed the connection) 2018-02-03T18:40:48Z pvaneynd quit (Ping timeout: 240 seconds) 2018-02-03T18:44:03Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-03T18:46:08Z Pixel_Outlaw joined #lisp 2018-02-03T18:52:47Z smurfrobot joined #lisp 2018-02-03T18:53:33Z trittweiler joined #lisp 2018-02-03T18:53:51Z turkja quit (Ping timeout: 248 seconds) 2018-02-03T18:55:33Z varjag joined #lisp 2018-02-03T18:56:57Z scymtym joined #lisp 2018-02-03T18:59:33Z pvaneynd joined #lisp 2018-02-03T19:04:03Z pvaneynd quit (Ping timeout: 265 seconds) 2018-02-03T19:04:50Z sabrac: Is there a way to correctly conditionally compile methods depending on whether a library is loaded? 2018-02-03T19:14:13Z _death: assuming your code is also in a system, you can have a system that depends on both, or use asdf-system-connections 2018-02-03T19:14:52Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-03T19:16:19Z whoman joined #lisp 2018-02-03T19:18:14Z oleo: (member "bla" (asdf:already-loaded-systems)) ? 2018-02-03T19:19:04Z oleo: #+(member "bla" (asdf:already-loaded-systems)) ? 2018-02-03T19:20:06Z zotan quit (Quit: ZNC 1.6.5+deb1 - http://znc.in) 2018-02-03T19:21:53Z zotan joined #lisp 2018-02-03T19:22:59Z oleo: no wait 2018-02-03T19:23:10Z oleo: #+(member "bla" (asdf:already-loaded-systems) :test #'equal) 2018-02-03T19:23:12Z oleo: and/or 2018-02-03T19:23:37Z oleo: #+(find "bla" (asdf:already-loaded-systems) :test #'equal) 2018-02-03T19:23:52Z rk[ghost] joined #lisp 2018-02-03T19:24:04Z _death: this isn't how #+ works.. 2018-02-03T19:24:50Z rk[ghost]: i found 'postmodern', but before i play around.. i thought i would just ask.. any preferences on cl library for interfacing with postgresql? 2018-02-03T19:26:28Z oleo: #+(asdf:require-system "bla") 2018-02-03T19:26:39Z shifty joined #lisp 2018-02-03T19:27:24Z sabrac: rk[ghost]: Hello. I am the new maintainer of postmodern, so possibly opinionated. 2018-02-03T19:28:28Z Xach: rk[ghost]: postmodern is v. good 2018-02-03T19:29:30Z rk[ghost]: sabrac: well, that is good enough for me. as i imagine if i have specific questions, you'll have reliable answers ;P 2018-02-03T19:29:34Z rk[ghost]: Xach: aye aye. 2018-02-03T19:29:37Z sabrac: I am in the process of updating postmodern to handle a lot of the newer postgresql features if you intend on using those 2018-02-03T19:29:45Z rk[ghost]: i don't. 2018-02-03T19:29:52Z rk[ghost]: to be honest, i am not really familiar with postgres 2018-02-03T19:30:01Z rk[ghost]: i tend to keep a 5-ft pole away from sql 2018-02-03T19:30:27Z rk[ghost]: however, a friend wants to learn databases, and i figure it is probably about time i learn postgres as it seems like the best open source SQL db 2018-02-03T19:32:51Z phoe: "nobody ever got fired for choosing postgres" 2018-02-03T19:32:56Z phoe: ~ old internet proverb 2018-02-03T19:34:10Z rk[ghost]: phoe: wait, the internet is old? :P 2018-02-03T19:34:24Z sabrac: I have some postmodern examples at https://sites.google.com/site/sabraonthehill/postmodern-examples, but it will not teach you sql. 2018-02-03T19:34:36Z rk[ghost]: sabrac: thanks. 2018-02-03T19:34:58Z rk[ghost]: i am familiar (although in my past) with MySQL and i have done SQLlite for a couple of toys. 2018-02-03T19:35:23Z trittweiler quit (Ping timeout: 276 seconds) 2018-02-03T19:35:56Z rk[ghost]: although, inner/outer joins and all that jazz completely escapes me, i recall how to do general queries (maybe) and how to design the tables themselves. 2018-02-03T19:36:28Z rk[ghost]: i appreciate the linkage. 2018-02-03T19:36:35Z rk[ghost]: that'll get me rolling along:) 2018-02-03T19:36:57Z rk[ghost]: although, i have a feeling my friend with want to use C# or java... X) 2018-02-03T19:37:15Z Murii quit (Quit: WeeChat 1.4) 2018-02-03T19:37:56Z Arcaelyx joined #lisp 2018-02-03T19:40:40Z random-nick quit (Remote host closed the connection) 2018-02-03T19:55:44Z ckonstanski: I have only used clsql. I'm interested in postmodern, but I've written too many apps that had to connect to multiple databases of differing types (within the same app). That's where clsql shines because it supports many database engines. 2018-02-03T20:00:29Z attila_lendvai: there's also hu.dwim.rdbms although it only has one thoroughly tested backend, which is for postgres. oracle has also been used in production by another team 2018-02-03T20:03:12Z warweasle joined #lisp 2018-02-03T20:03:21Z damke quit (Ping timeout: 264 seconds) 2018-02-03T20:04:17Z smurfrobot quit (Remote host closed the connection) 2018-02-03T20:05:34Z damke joined #lisp 2018-02-03T20:17:55Z milanj joined #lisp 2018-02-03T20:21:19Z fikka quit (Ping timeout: 248 seconds) 2018-02-03T20:25:26Z random-nick joined #lisp 2018-02-03T20:26:45Z fikka joined #lisp 2018-02-03T20:27:23Z attila_lendvai: so, how do I touch a file? is there anything simpler than a with-open-file for writing? 2018-02-03T20:28:26Z phoe: attila_lendvai: I don't think so 2018-02-03T20:28:34Z phoe: with-open-file :if-does-not-exist :create 2018-02-03T20:29:57Z phoe: and possibly :if-exists :error 2018-02-03T20:30:40Z attila_lendvai: didn't you mean :direction :output :if-exists :append :if-does-not-exist :error (it assumes the file exists and needs to be touch'd) 2018-02-03T20:31:56Z fikka quit (Ping timeout: 276 seconds) 2018-02-03T20:37:48Z fikka joined #lisp 2018-02-03T20:37:53Z warweasle quit (Ping timeout: 248 seconds) 2018-02-03T20:40:43Z vlatkoB quit (Remote host closed the connection) 2018-02-03T20:41:17Z knicklux joined #lisp 2018-02-03T20:42:00Z emacsomancer joined #lisp 2018-02-03T20:42:58Z phoe: attila_lendvai: possibly 2018-02-03T20:43:07Z phoe: I haven't used w-o-f in a while 2018-02-03T20:45:39Z attila_lendvai: damn. w-o-f :direction :append doesn't update the file-write-date 2018-02-03T20:45:55Z oleo: :supersede ? 2018-02-03T20:46:24Z oleo: :overwrite ? 2018-02-03T20:46:29Z attila_lendvai: I need the contents to remain intact. I only want to update the last modified time 2018-02-03T20:48:04Z ckonstanski: (uffi:run-shell-command "touch /the/file") 2018-02-03T20:48:45Z ckonstanski: Uses /bin/sh as the shell I think. Careful on systems that actually use /bin/sh as opposed to symlinking it to /bin/bash. 2018-02-03T20:49:12Z attila_lendvai: I'd be ashamed if I put that code into CFFI 2018-02-03T20:49:51Z attila_lendvai: ...or any other public code under my name 2018-02-03T20:53:04Z jack_rabbit quit (Ping timeout: 252 seconds) 2018-02-03T20:53:05Z knicklux quit (Quit: Leaving) 2018-02-03T20:53:48Z mlf joined #lisp 2018-02-03T20:54:49Z openthesky quit (Quit: Leaving.) 2018-02-03T20:54:56Z jack_rabbit joined #lisp 2018-02-03T20:56:27Z attila_lendvai: this is incredibly annoying... I can't even find a kludge to do it without leaving the standard. there's not even (setf file-length)... 2018-02-03T21:01:53Z jason_m quit (Ping timeout: 248 seconds) 2018-02-03T21:01:53Z fikka quit (Ping timeout: 268 seconds) 2018-02-03T21:02:51Z random-nick quit (Remote host closed the connection) 2018-02-03T21:03:54Z fdund joined #lisp 2018-02-03T21:05:09Z attila_lendvai: I ended up using UIOP's with-staging-pathname and copy the file contents to a new file. *shakes head* 2018-02-03T21:05:27Z pierpa joined #lisp 2018-02-03T21:05:44Z cuso4 quit (Ping timeout: 276 seconds) 2018-02-03T21:06:08Z random-nick joined #lisp 2018-02-03T21:09:07Z dtornabene joined #lisp 2018-02-03T21:13:02Z ckonstanski: Maybe you hate the idea of (uffi:run-shell-command) but looking at its implementation might provide some ideas. 2018-02-03T21:13:37Z Bike: does it not just run touch 2018-02-03T21:17:44Z fikka joined #lisp 2018-02-03T21:19:07Z emacsomancer quit (Remote host closed the connection) 2018-02-03T21:19:12Z attila_lendvai: yes, I hate the idea of exec'ing a binary for something as simple as touch'ing a file. I hate it, and I also want it to be on record... :) 2018-02-03T21:20:26Z pjb: If you have uffi, then you can implement anything using syscalls. 2018-02-03T21:22:04Z Bike: so you'd want to call uhhhhh futimens(2) 2018-02-03T21:22:08Z Bike: that's what touch is doing, anyway 2018-02-03T21:22:21Z attila_lendvai: syscalls, except when you're on windows... I don't want to go down on that road. it's much more bumpy than a spurious copy-file 2018-02-03T21:22:30Z Bike: probably 2018-02-03T21:22:39Z fikka quit (Ping timeout: 248 seconds) 2018-02-03T21:25:19Z pjb: attila_lendvai: you can also call MS-Windows functions. Just use #+windows #-windows ;-) 2018-02-03T21:25:48Z ryanwatkins joined #lisp 2018-02-03T21:26:19Z rme: ccl::%utimes for unix is a lot simpler than the one for Windows... 2018-02-03T21:26:20Z attila_lendvai: sure. and if my leg hurts, I might as well just cut it off, right? :) 2018-02-03T21:26:53Z pjb: attila_lendvai: not necessarily, your phatom leg might hurt as well… 2018-02-03T21:28:01Z attila_lendvai groans :) 2018-02-03T21:32:00Z emacsomancer joined #lisp 2018-02-03T21:32:51Z angavrilov quit (Remote host closed the connection) 2018-02-03T21:35:17Z makomo joined #lisp 2018-02-03T21:38:02Z fikka joined #lisp 2018-02-03T21:42:58Z fikka quit (Ping timeout: 256 seconds) 2018-02-03T21:48:27Z fikka joined #lisp 2018-02-03T21:48:40Z shifty quit (Ping timeout: 240 seconds) 2018-02-03T21:52:48Z fikka quit (Ping timeout: 240 seconds) 2018-02-03T21:58:30Z fikka joined #lisp 2018-02-03T22:00:39Z fisxoj joined #lisp 2018-02-03T22:03:11Z fikka quit (Ping timeout: 248 seconds) 2018-02-03T22:03:56Z fikka joined #lisp 2018-02-03T22:09:48Z damke_ joined #lisp 2018-02-03T22:09:57Z damke quit (Ping timeout: 264 seconds) 2018-02-03T22:14:09Z shka quit (Ping timeout: 264 seconds) 2018-02-03T22:19:08Z pvaneynd joined #lisp 2018-02-03T22:20:38Z pvaneynd_ joined #lisp 2018-02-03T22:21:57Z ryanwatkins quit (Ping timeout: 264 seconds) 2018-02-03T22:22:21Z hhdave quit (Quit: hhdave) 2018-02-03T22:23:18Z pvaneynd quit (Ping timeout: 240 seconds) 2018-02-03T22:23:52Z asarch joined #lisp 2018-02-03T22:25:05Z pvaneynd_ quit (Ping timeout: 248 seconds) 2018-02-03T22:27:27Z zmt00 quit (Ping timeout: 240 seconds) 2018-02-03T22:28:17Z AxelAlex joined #lisp 2018-02-03T22:28:43Z zmt00 joined #lisp 2018-02-03T22:31:00Z Karl_Dscc joined #lisp 2018-02-03T22:32:10Z klltkr joined #lisp 2018-02-03T22:34:19Z crsc quit (Remote host closed the connection) 2018-02-03T22:36:03Z crsc joined #lisp 2018-02-03T22:36:55Z smurfrobot joined #lisp 2018-02-03T22:37:41Z smurfrobot quit (Remote host closed the connection) 2018-02-03T22:39:14Z milanj quit (Quit: This computer has gone to sleep) 2018-02-03T22:45:10Z z3t0 joined #lisp 2018-02-03T22:50:27Z EvW joined #lisp 2018-02-03T22:50:31Z EvW quit (Client Quit) 2018-02-03T22:50:46Z EvW1 joined #lisp 2018-02-03T22:56:29Z fisxoj quit (Quit: fisxoj) 2018-02-03T22:58:40Z mishoo_ quit (Ping timeout: 248 seconds) 2018-02-03T22:59:32Z jason_m joined #lisp 2018-02-03T23:00:18Z fdund quit (Quit: .) 2018-02-03T23:03:10Z damke joined #lisp 2018-02-03T23:05:08Z parjanya quit (Read error: Connection reset by peer) 2018-02-03T23:05:15Z jmercouris quit (Ping timeout: 256 seconds) 2018-02-03T23:05:30Z pvaneynd joined #lisp 2018-02-03T23:05:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-03T23:06:07Z random-nick quit (Ping timeout: 248 seconds) 2018-02-03T23:10:06Z pvaneynd quit (Ping timeout: 256 seconds) 2018-02-03T23:12:21Z klltkr quit (Ping timeout: 264 seconds) 2018-02-03T23:17:46Z warweasle joined #lisp 2018-02-03T23:18:14Z zooey quit (Ping timeout: 255 seconds) 2018-02-03T23:18:43Z attila_lendvai quit (Quit: Leaving.) 2018-02-03T23:25:14Z dtornabene quit (Quit: Leaving) 2018-02-03T23:26:17Z zooey joined #lisp 2018-02-03T23:27:21Z smurfrobot joined #lisp 2018-02-03T23:30:19Z z3t0 quit (Remote host closed the connection) 2018-02-03T23:31:27Z z3t0 joined #lisp 2018-02-03T23:34:50Z z3t0 quit (Remote host closed the connection) 2018-02-03T23:35:20Z z3t0 joined #lisp 2018-02-03T23:37:10Z asarch quit (Quit: Leaving) 2018-02-03T23:38:01Z manualcrank joined #lisp 2018-02-03T23:39:34Z elazul quit (Ping timeout: 256 seconds) 2018-02-03T23:40:31Z porky11 joined #lisp 2018-02-03T23:48:53Z jason_m quit (Ping timeout: 276 seconds) 2018-02-03T23:49:03Z smurfrobot quit (Remote host closed the connection) 2018-02-03T23:49:39Z smurfrobot joined #lisp 2018-02-03T23:51:20Z Achylles joined #lisp 2018-02-03T23:53:48Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-03T23:56:25Z borei joined #lisp 2018-02-03T23:56:35Z emaczen joined #lisp 2018-02-03T23:56:41Z milanj joined #lisp 2018-02-03T23:57:41Z Achylles quit (Quit: Leaving) 2018-02-03T23:59:15Z nirved quit (Quit: Leaving) 2018-02-04T00:00:01Z kozy quit (Remote host closed the connection) 2018-02-04T00:00:43Z kozy joined #lisp 2018-02-04T00:01:31Z smurfrobot joined #lisp 2018-02-04T00:01:59Z shrdlu68 quit (Quit: Lost terminal) 2018-02-04T00:05:56Z smurfrobot quit (Ping timeout: 252 seconds) 2018-02-04T00:06:37Z wxie joined #lisp 2018-02-04T00:06:51Z openthesky joined #lisp 2018-02-04T00:06:57Z warweasle quit (Ping timeout: 248 seconds) 2018-02-04T00:10:07Z orivej quit (Ping timeout: 248 seconds) 2018-02-04T00:12:17Z hiroaki quit (Ping timeout: 248 seconds) 2018-02-04T00:17:18Z whoman quit (Ping timeout: 240 seconds) 2018-02-04T00:26:43Z turkja joined #lisp 2018-02-04T00:27:12Z sjl quit (Ping timeout: 248 seconds) 2018-02-04T00:30:24Z Karl_Dscc quit (Remote host closed the connection) 2018-02-04T00:34:10Z fikka quit (Ping timeout: 260 seconds) 2018-02-04T00:36:12Z damke_ joined #lisp 2018-02-04T00:37:27Z orivej joined #lisp 2018-02-04T00:37:33Z damke quit (Ping timeout: 264 seconds) 2018-02-04T00:39:08Z sjl joined #lisp 2018-02-04T00:39:10Z fikka joined #lisp 2018-02-04T00:44:08Z fikka quit (Ping timeout: 276 seconds) 2018-02-04T00:45:33Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2018-02-04T00:46:12Z xrash joined #lisp 2018-02-04T00:47:14Z smurfrobot joined #lisp 2018-02-04T00:47:40Z jdtcookie joined #lisp 2018-02-04T00:49:56Z Pixel_Outlaw quit (Quit: Leaving) 2018-02-04T00:51:40Z wxie quit (Ping timeout: 256 seconds) 2018-02-04T00:56:48Z openthesky quit (Quit: Leaving.) 2018-02-04T00:59:27Z fikka joined #lisp 2018-02-04T01:01:10Z Rawriful quit (Ping timeout: 256 seconds) 2018-02-04T01:01:52Z ebzzry joined #lisp 2018-02-04T01:09:47Z sjl quit (Ping timeout: 268 seconds) 2018-02-04T01:15:47Z sjl joined #lisp 2018-02-04T01:18:09Z red-dot joined #lisp 2018-02-04T01:18:24Z pillton: Xach: The twitter link found in the "Planet Lisp is back on twitter" article is wrong. 2018-02-04T01:21:30Z sjl quit (Ping timeout: 268 seconds) 2018-02-04T01:29:19Z pierpa quit (Quit: Page closed) 2018-02-04T01:29:48Z smurfrobot quit (Remote host closed the connection) 2018-02-04T01:34:25Z PinealGlandOptic joined #lisp 2018-02-04T01:34:44Z fikka quit (Ping timeout: 256 seconds) 2018-02-04T01:35:08Z sjl joined #lisp 2018-02-04T01:36:57Z arescorpio joined #lisp 2018-02-04T01:40:16Z fikka joined #lisp 2018-02-04T01:44:56Z fikka quit (Ping timeout: 268 seconds) 2018-02-04T01:45:14Z EvW1 quit (Ping timeout: 276 seconds) 2018-02-04T01:49:08Z fisxoj joined #lisp 2018-02-04T01:50:26Z fikka joined #lisp 2018-02-04T01:51:49Z Xach: pillton: oh nuts. 2018-02-04T01:53:06Z Xach: it will be updated in a while 2018-02-04T01:53:23Z smurfrobot joined #lisp 2018-02-04T01:53:23Z zooey quit (Remote host closed the connection) 2018-02-04T01:53:59Z zooey joined #lisp 2018-02-04T01:54:04Z z3t0 quit (Remote host closed the connection) 2018-02-04T01:54:12Z cuso4 joined #lisp 2018-02-04T01:54:31Z z3t0 joined #lisp 2018-02-04T01:54:52Z warweasle joined #lisp 2018-02-04T01:55:25Z fikka quit (Ping timeout: 268 seconds) 2018-02-04T01:58:55Z z3t0_ joined #lisp 2018-02-04T01:59:29Z z3t0 quit (Read error: Connection reset by peer) 2018-02-04T02:00:46Z fikka joined #lisp 2018-02-04T02:03:52Z p_l: Ehhh 2018-02-04T02:04:29Z p_l: Never expected it, but sometimes I'm pining for DISASSEMBLE on a lisp machine... For teaching new people about computation 2018-02-04T02:04:44Z Bike: how would that help? 2018-02-04T02:05:19Z fikka quit (Ping timeout: 248 seconds) 2018-02-04T02:05:45Z p_l: Bike: simpler assembly that more directly maps to what the code looks like 2018-02-04T02:06:12Z Bike: it's still linear, isn't it? 2018-02-04T02:06:17Z p_l: Yes 2018-02-04T02:06:36Z p_l: But it helps when telling how code maps to actual evaluation 2018-02-04T02:10:28Z fikka joined #lisp 2018-02-04T02:12:57Z whoman joined #lisp 2018-02-04T02:15:32Z fikka quit (Ping timeout: 256 seconds) 2018-02-04T02:16:33Z pagnol quit (Ping timeout: 248 seconds) 2018-02-04T02:19:45Z markong quit (Ping timeout: 248 seconds) 2018-02-04T02:20:48Z fikka joined #lisp 2018-02-04T02:21:38Z cuso4 quit (Ping timeout: 276 seconds) 2018-02-04T02:23:47Z orivej quit (Ping timeout: 268 seconds) 2018-02-04T02:24:28Z z3t0_ quit (Remote host closed the connection) 2018-02-04T02:24:48Z z3t0 joined #lisp 2018-02-04T02:26:11Z fikka quit (Ping timeout: 276 seconds) 2018-02-04T02:30:43Z fikka joined #lisp 2018-02-04T02:30:54Z zooey quit (Remote host closed the connection) 2018-02-04T02:31:32Z zooey joined #lisp 2018-02-04T02:32:07Z smurfrobot quit (Remote host closed the connection) 2018-02-04T02:36:07Z fikka quit (Ping timeout: 268 seconds) 2018-02-04T02:36:08Z d4ryus1 joined #lisp 2018-02-04T02:39:50Z d4ryus quit (Ping timeout: 276 seconds) 2018-02-04T02:40:27Z jason_m joined #lisp 2018-02-04T02:40:31Z orivej joined #lisp 2018-02-04T02:41:42Z Chream joined #lisp 2018-02-04T02:50:59Z z3t0 quit (Remote host closed the connection) 2018-02-04T02:51:02Z fikka joined #lisp 2018-02-04T02:51:26Z z3t0 joined #lisp 2018-02-04T02:55:46Z fikka quit (Ping timeout: 256 seconds) 2018-02-04T02:55:48Z z3t0 quit (Ping timeout: 240 seconds) 2018-02-04T03:00:24Z damke joined #lisp 2018-02-04T03:01:24Z Chream quit (Ping timeout: 268 seconds) 2018-02-04T03:01:27Z fikka joined #lisp 2018-02-04T03:02:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-04T03:06:18Z jason_m quit (Ping timeout: 240 seconds) 2018-02-04T03:06:24Z fikka quit (Ping timeout: 256 seconds) 2018-02-04T03:09:00Z smurfrobot joined #lisp 2018-02-04T03:11:32Z fikka joined #lisp 2018-02-04T03:16:36Z fikka quit (Ping timeout: 256 seconds) 2018-02-04T03:18:04Z dieggsy quit (Ping timeout: 252 seconds) 2018-02-04T03:21:54Z fikka joined #lisp 2018-02-04T03:23:58Z Arcaelyx quit (Quit: Textual IRC Client: www.textualapp.com) 2018-02-04T03:24:06Z LiamH quit (Quit: Leaving.) 2018-02-04T03:26:38Z fikka quit (Ping timeout: 276 seconds) 2018-02-04T03:26:48Z sjl quit (Ping timeout: 240 seconds) 2018-02-04T03:29:04Z porky11 quit (Quit: Leaving) 2018-02-04T03:31:13Z aeth: p_l: Have you tried CLISP? Its disassemble shows byte code instructions. 2018-02-04T03:32:12Z fikka joined #lisp 2018-02-04T03:32:35Z aeth: (defun foo (x) (1+ x)) (disassemble #'foo) ; only three instructions in CLISP, but 12 in SBCL 2018-02-04T03:33:15Z sjl joined #lisp 2018-02-04T03:34:41Z aeth: Alternatively, you could use disassemble on a machine with a simpler to understand instruction set, rather than x86 with its Turing-complete MOV. 2018-02-04T03:36:33Z fikka quit (Ping timeout: 248 seconds) 2018-02-04T03:38:13Z Bike: mov is turing complete because it has indirections and indexing, which are pretty common on other processors as well. 2018-02-04T03:38:23Z Bike: also, you have to put a jump in there. 2018-02-04T03:39:37Z aeth: Okay, that was a bad example of why x86 is bad. (It's an entertaining fact, though.) 2018-02-04T03:40:32Z nika joined #lisp 2018-02-04T03:41:50Z fikka joined #lisp 2018-02-04T03:42:15Z p_l: x86 is funky because it has turing-complete *pagetable* 2018-02-04T03:43:34Z Bike: yeah, i got nothing for that. 2018-02-04T03:43:51Z Bike: probably not going to be apparent from a disassembly, tho. 2018-02-04T03:44:21Z jason_m joined #lisp 2018-02-04T03:46:46Z fikka quit (Ping timeout: 256 seconds) 2018-02-04T03:47:32Z aeth: I think that's implementation-specific. 2018-02-04T03:47:45Z damke quit (Ping timeout: 264 seconds) 2018-02-04T03:48:28Z damke joined #lisp 2018-02-04T03:52:16Z fikka joined #lisp 2018-02-04T03:56:22Z marvin2 left #lisp 2018-02-04T03:58:11Z z3t0 joined #lisp 2018-02-04T04:01:33Z drewc_ is now known as drewc 2018-02-04T04:03:46Z warweasle quit (Quit: Leaving) 2018-02-04T04:03:55Z z3t0 quit (Remote host closed the connection) 2018-02-04T04:04:30Z z3t0 joined #lisp 2018-02-04T04:07:26Z ebzzry: Xach: thanks for l1sp.org 2018-02-04T04:09:14Z z3t0 quit (Ping timeout: 268 seconds) 2018-02-04T04:10:35Z beach: Good morning everyone! 2018-02-04T04:12:47Z jason_m quit (Ping timeout: 276 seconds) 2018-02-04T04:14:28Z smokeink joined #lisp 2018-02-04T04:18:38Z dddddd quit (Remote host closed the connection) 2018-02-04T04:21:12Z pvaneynd joined #lisp 2018-02-04T04:25:52Z pvaneynd quit (Ping timeout: 256 seconds) 2018-02-04T04:26:41Z __main__ quit (Read error: Connection reset by peer) 2018-02-04T04:27:27Z _main_ joined #lisp 2018-02-04T04:29:15Z schoppenhauer quit (Ping timeout: 260 seconds) 2018-02-04T04:29:48Z fikka quit (Ping timeout: 240 seconds) 2018-02-04T04:30:47Z _main_ is now known as __main__ 2018-02-04T04:31:06Z schoppenhauer joined #lisp 2018-02-04T04:32:51Z brendyn joined #lisp 2018-02-04T04:35:50Z fikka joined #lisp 2018-02-04T04:40:33Z fikka quit (Ping timeout: 248 seconds) 2018-02-04T04:44:10Z fikka joined #lisp 2018-02-04T04:44:24Z z3t0 joined #lisp 2018-02-04T04:46:51Z arescorpio quit (Excess Flood) 2018-02-04T04:49:06Z z3t0 quit (Ping timeout: 256 seconds) 2018-02-04T05:03:21Z iqubic: Morning Beach. 2018-02-04T05:03:38Z iqubic: I'm struggling with ERC and trying to get logging to work correctly. 2018-02-04T05:05:46Z beach: What do you want to log? 2018-02-04T05:07:09Z zooey quit (Remote host closed the connection) 2018-02-04T05:07:45Z zooey joined #lisp 2018-02-04T05:12:23Z zooey quit (Ping timeout: 255 seconds) 2018-02-04T05:13:46Z zooey joined #lisp 2018-02-04T05:17:53Z fikka quit (Ping timeout: 248 seconds) 2018-02-04T05:18:23Z iqubic: All of my irc conversations done on ERC. 2018-02-04T05:19:04Z iqubic: ERC is an emacs IRC client. 2018-02-04T05:19:12Z p_l ponders if there's somewhere one could do PhD in AI without essentially doing matrix math and stats only :/ 2018-02-04T05:22:42Z rme: When I am cranky, I say that it seems like AI / machine learning nowadays is mostly a matter of solving y = mx + b. 2018-02-04T05:24:52Z beach: iqubic: You can get the logs here: wget -N http://tunes.org/~nef/logs/lisp/yy.mm.dd 2018-02-04T05:31:25Z p_l: rme: what is sold under machine learning is kinda exactly that... though usually people who reach for machine learning could just as well hire a competent statistician, excuse me, "Data Scientist" 2018-02-04T05:32:20Z epony quit (Quit: QUIT) 2018-02-04T05:32:49Z White_Flame: well, so far AI has been algorithms, symbolic logic, and applied statistics 2018-02-04T05:32:58Z White_Flame: what else would you expect AI to be? :-P 2018-02-04T05:33:20Z borei quit (Quit: Leaving.) 2018-02-04T05:33:47Z fikka joined #lisp 2018-02-04T05:38:16Z p_l: a good meld of those :) 2018-02-04T05:38:39Z fikka quit (Ping timeout: 248 seconds) 2018-02-04T05:38:41Z p_l: I need to track down the papers, but I've seen some interesting work on meshing together "nice" and "scruffy" AI 2018-02-04T05:39:09Z sjl: ugh, prog1 not passing through multiple values bites me again 2018-02-04T05:48:59Z White_Flame: p_l: problem is, nobody has really melded them yet 2018-02-04T05:49:11Z Vicfred joined #lisp 2018-02-04T05:50:35Z p_l: White_Flame: as I said, there is some interesting research out there, just not as "visible" as "write a classifier after a tutorial of Python and TensorFlow" 2018-02-04T05:50:50Z White_Flame: right 2018-02-04T05:51:15Z White_Flame: I've been spending a fair amount of time reading old old Lisp inference source code 2018-02-04T05:51:28Z epony joined #lisp 2018-02-04T05:51:47Z White_Flame: lots of interesting paths to discover that never caught on, but have their own strengths 2018-02-04T05:52:04Z p_l: there's also intelligent agents, which is something that might be of interest 2018-02-04T05:52:15Z White_Flame: that's one problem with the AI field in general; everybody focuses on their pet aspects, and won't work with anybody who believes a different aspect is most important 2018-02-04T05:52:38Z p_l: also, fun thing: a big name in "large scale server ops", kubernetes, is essentially an blackboard architecture from good old AI 2018-02-04T05:52:52Z White_Flame: and everybody believes that their one secret sauce is the magic to AI if it could only be developed far enough 2018-02-04T05:53:42Z White_Flame: huh, I never considered blackboards to be "AI" related 2018-02-04T05:54:02Z fikka joined #lisp 2018-02-04T05:54:07Z p_l: well, given enough computronium, AIXI should converge on "general intelligence", but it's probably prudent to shoot anybody who tries 2018-02-04T05:54:12Z p_l: (I might have butchered the acronym) 2018-02-04T05:57:52Z p_l: White_Flame: well, IIRC the basic explanation (it's been 4 years, and even then we didn't really go into blackboard systems) you have "blackboard" that serves as common model of what you're working on, and various "experts" that use said data, and change it, working towards solution 2018-02-04T05:58:38Z beach: clhs multiple-value-prog1 2018-02-04T05:58:38Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/s_mult_1.htm 2018-02-04T05:58:57Z fikka quit (Ping timeout: 248 seconds) 2018-02-04T05:58:59Z beach: sjl: Can I assume you know about that one ↑ ? 2018-02-04T06:01:15Z damke_ joined #lisp 2018-02-04T06:02:09Z sjl quit (Ping timeout: 248 seconds) 2018-02-04T06:03:21Z damke quit (Ping timeout: 264 seconds) 2018-02-04T06:04:13Z p_l continues search for avenues to PhD 2018-02-04T06:06:32Z foom2 joined #lisp 2018-02-04T06:06:39Z stux|RC-- joined #lisp 2018-02-04T06:07:06Z live__ joined #lisp 2018-02-04T06:07:26Z pjb` joined #lisp 2018-02-04T06:07:36Z devlaf_ joined #lisp 2018-02-04T06:07:42Z alms_clozure_ joined #lisp 2018-02-04T06:07:58Z d4gg4d__ joined #lisp 2018-02-04T06:08:19Z gendl__ joined #lisp 2018-02-04T06:08:22Z banjiewen_ joined #lisp 2018-02-04T06:08:31Z jyc_ joined #lisp 2018-02-04T06:08:36Z kilimanjaro_ joined #lisp 2018-02-04T06:08:40Z rann_ joined #lisp 2018-02-04T06:09:39Z angular_mike_ joined #lisp 2018-02-04T06:09:53Z lacedaemon joined #lisp 2018-02-04T06:09:53Z ChanServ has set mode +o lacedaemon 2018-02-04T06:09:54Z MightyJoe joined #lisp 2018-02-04T06:10:36Z GuilOooo_ joined #lisp 2018-02-04T06:11:03Z abbe_ joined #lisp 2018-02-04T06:11:16Z phoe_ joined #lisp 2018-02-04T06:13:55Z leo_song_ joined #lisp 2018-02-04T06:13:56Z Methos_ joined #lisp 2018-02-04T06:14:01Z larsen- joined #lisp 2018-02-04T06:14:11Z azahi_ joined #lisp 2018-02-04T06:14:14Z tokenrov1 joined #lisp 2018-02-04T06:14:26Z fikka joined #lisp 2018-02-04T06:14:33Z brucem_ joined #lisp 2018-02-04T06:15:31Z oleo quit (*.net *.split) 2018-02-04T06:15:32Z GGMethos quit (*.net *.split) 2018-02-04T06:15:32Z azahi quit (*.net *.split) 2018-02-04T06:15:32Z brucem quit (*.net *.split) 2018-02-04T06:15:32Z angular_mike quit (*.net *.split) 2018-02-04T06:15:33Z kilimanjaro quit (*.net *.split) 2018-02-04T06:15:34Z pjb quit (*.net *.split) 2018-02-04T06:15:34Z cyraxjoe quit (*.net *.split) 2018-02-04T06:15:34Z foom quit (*.net *.split) 2018-02-04T06:15:35Z Intensity quit (*.net *.split) 2018-02-04T06:15:37Z fe[nl]ix quit (*.net *.split) 2018-02-04T06:15:37Z jyc quit (*.net *.split) 2018-02-04T06:15:38Z alms_clozure quit (*.net *.split) 2018-02-04T06:15:38Z stux|RC-only quit (*.net *.split) 2018-02-04T06:15:39Z devlaf quit (*.net *.split) 2018-02-04T06:15:39Z rann quit (*.net *.split) 2018-02-04T06:15:40Z d4gg4d_ quit (*.net *.split) 2018-02-04T06:15:40Z gendl quit (*.net *.split) 2018-02-04T06:15:40Z leo_song quit (*.net *.split) 2018-02-04T06:15:40Z abbe quit (*.net *.split) 2018-02-04T06:15:40Z mathrick quit (*.net *.split) 2018-02-04T06:15:41Z dxtr quit (*.net *.split) 2018-02-04T06:15:41Z GuilOooo quit (*.net *.split) 2018-02-04T06:15:41Z Oddity quit (*.net *.split) 2018-02-04T06:15:41Z convexferret quit (*.net *.split) 2018-02-04T06:15:42Z nhandler quit (*.net *.split) 2018-02-04T06:15:43Z phoe quit (*.net *.split) 2018-02-04T06:15:43Z banjiewen quit (*.net *.split) 2018-02-04T06:15:43Z AeroNotix quit (*.net *.split) 2018-02-04T06:15:44Z tokenrove quit (*.net *.split) 2018-02-04T06:15:44Z larsen quit (*.net *.split) 2018-02-04T06:15:45Z azahi_ is now known as azahi 2018-02-04T06:15:46Z kilimanjaro_ is now known as kilimanjaro 2018-02-04T06:15:47Z devlaf_ is now known as devlaf 2018-02-04T06:15:48Z alms_clozure_ is now known as alms_clozure 2018-02-04T06:15:48Z d4gg4d__ is now known as d4gg4d_ 2018-02-04T06:15:48Z gendl__ is now known as gendl 2018-02-04T06:15:50Z rann_ is now known as rann 2018-02-04T06:15:50Z jyc_ is now known as jyc 2018-02-04T06:15:55Z banjiewen_ is now known as banjiewen 2018-02-04T06:17:01Z AeroNotix joined #lisp 2018-02-04T06:17:49Z nhandler joined #lisp 2018-02-04T06:17:57Z thallia quit (Ping timeout: 240 seconds) 2018-02-04T06:18:27Z jackdaniel quit (Ping timeout: 240 seconds) 2018-02-04T06:19:32Z fikka quit (Ping timeout: 276 seconds) 2018-02-04T06:20:21Z jackdaniel joined #lisp 2018-02-04T06:20:25Z thallia joined #lisp 2018-02-04T06:22:30Z mathrick joined #lisp 2018-02-04T06:24:50Z fikka joined #lisp 2018-02-04T06:29:50Z fikka quit (Ping timeout: 256 seconds) 2018-02-04T06:34:40Z fikka joined #lisp 2018-02-04T06:35:45Z jstypo quit (Read error: Connection reset by peer) 2018-02-04T06:39:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-04T06:39:34Z z3t0 joined #lisp 2018-02-04T06:43:12Z smurfrobot quit (Remote host closed the connection) 2018-02-04T06:43:35Z z3t0 quit (Ping timeout: 240 seconds) 2018-02-04T06:43:40Z milanj quit (Quit: This computer has gone to sleep) 2018-02-04T06:45:10Z fikka joined #lisp 2018-02-04T06:47:04Z smokeink quit (Remote host closed the connection) 2018-02-04T06:48:00Z smokeink joined #lisp 2018-02-04T06:49:29Z z3t0 joined #lisp 2018-02-04T06:49:50Z fikka quit (Ping timeout: 260 seconds) 2018-02-04T06:53:53Z z3t0 quit (Ping timeout: 256 seconds) 2018-02-04T06:54:01Z jstypo joined #lisp 2018-02-04T06:54:57Z orivej quit (Ping timeout: 248 seconds) 2018-02-04T06:55:13Z fikka joined #lisp 2018-02-04T07:00:00Z fikka quit (Ping timeout: 256 seconds) 2018-02-04T07:00:32Z BitPuffin joined #lisp 2018-02-04T07:01:32Z z3t0 joined #lisp 2018-02-04T07:03:37Z cuso4 joined #lisp 2018-02-04T07:05:19Z fikka joined #lisp 2018-02-04T07:05:57Z z3t0 quit (Ping timeout: 240 seconds) 2018-02-04T07:09:18Z specbot quit (Ping timeout: 240 seconds) 2018-02-04T07:10:12Z fikka quit (Ping timeout: 256 seconds) 2018-02-04T07:11:35Z cuso4 quit (Ping timeout: 240 seconds) 2018-02-04T07:14:53Z smurfrobot joined #lisp 2018-02-04T07:15:34Z fikka joined #lisp 2018-02-04T07:20:31Z fikka quit (Ping timeout: 248 seconds) 2018-02-04T07:21:03Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-04T07:25:23Z z3t0 joined #lisp 2018-02-04T07:29:25Z fiddlerwoaroof_: Is there anyway to detach the inferior-lisp from emacs? 2018-02-04T07:29:35Z z3t0 quit (Ping timeout: 240 seconds) 2018-02-04T07:29:59Z fiddlerwoaroof_ is now known as fiddlerwoaroof 2018-02-04T07:30:25Z vlatkoB joined #lisp 2018-02-04T07:30:40Z fiddlerwoaroof: I want to restart emacs without stopping the lisp process running under it 2018-02-04T07:31:18Z White_Flame: presumably it's attached via unix pipes, not sure you can fiddle those easily 2018-02-04T07:31:19Z pvaneynd joined #lisp 2018-02-04T07:32:37Z milanj joined #lisp 2018-02-04T07:32:41Z fiddlerwoaroof: Hmm, I'd imagine you could just close *standard-input*, *standard-output* and, essentially, daemonize 2018-02-04T07:33:09Z pvaneynd quit (Remote host closed the connection) 2018-02-04T07:33:25Z fiddlerwoaroof: But that probably has issues in a multi-threaded environment, even if it's theoretically possible 2018-02-04T07:35:39Z fikka joined #lisp 2018-02-04T07:38:08Z Murii joined #lisp 2018-02-04T07:40:15Z fikka quit (Ping timeout: 248 seconds) 2018-02-04T07:41:20Z pvaneynd joined #lisp 2018-02-04T07:53:17Z z3t0 joined #lisp 2018-02-04T07:55:59Z fikka joined #lisp 2018-02-04T07:57:57Z z3t0 quit (Ping timeout: 264 seconds) 2018-02-04T08:00:31Z fikka quit (Ping timeout: 248 seconds) 2018-02-04T08:04:28Z ykm joined #lisp 2018-02-04T08:08:32Z smokeink quit (Remote host closed the connection) 2018-02-04T08:09:15Z smokeink joined #lisp 2018-02-04T08:09:26Z ykm quit (Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org) 2018-02-04T08:10:42Z ykm joined #lisp 2018-02-04T08:12:45Z ykm quit (Client Quit) 2018-02-04T08:13:45Z ykm joined #lisp 2018-02-04T08:15:58Z ykm quit (Client Quit) 2018-02-04T08:16:08Z convexferret joined #lisp 2018-02-04T08:16:15Z fikka joined #lisp 2018-02-04T08:16:44Z lambda-p joined #lisp 2018-02-04T08:16:53Z stylewarning: Does anyone have opinions about using #. in print functions? 2018-02-04T08:17:11Z Shinmera: What do you mean? 2018-02-04T08:18:18Z stylewarning: Shinmera: I want to make objects print readably, but I want to be conservative about read macros 2018-02-04T08:18:55Z Shinmera: Any reason why they should be readable? 2018-02-04T08:19:30Z beach: Oh, so you want to make #. part of the printed representation, as opposed to just using it in the code for the print function? 2018-02-04T08:19:38Z solyd joined #lisp 2018-02-04T08:19:56Z beach: Otherwise, I don't see a problem. 2018-02-04T08:20:49Z fikka quit (Ping timeout: 248 seconds) 2018-02-04T08:21:05Z stylewarning: beach: yes that's right 2018-02-04T08:21:58Z beach: That would be... unusual. 2018-02-04T08:22:00Z stylewarning: Shinmera: Right now CL-ALGEBRAIC-DATA-TYPE prints defined data using a list representation, which isn't right 2018-02-04T08:23:18Z stylewarning: example: (defdata maybe (just t) nothing), then (list (just 5) nothing) ==> ((JUST 5) NOTHING) 2018-02-04T08:23:58Z Shinmera: That tells me your data is just lists in which case the standard print/read syntax is okey? 2018-02-04T08:23:59Z stylewarning: It looks sort of nice but is ultimately confusing because the results are not actually lists 2018-02-04T08:24:12Z jackdaniel: beach: not that unusual, if you print arrays readably on sbcl you have #.… representation 2018-02-04T08:24:20Z stylewarning: (type-of (just 5)) ==> JUST 2018-02-04T08:24:38Z Shinmera: Oh, right 2018-02-04T08:24:57Z beach: jackdaniel: I didn't know that. Thanks. 2018-02-04T08:25:34Z stylewarning: So I think I should print #.(just 5) if *print-readably* is t 2018-02-04T08:26:26Z Shinmera: Don't forget to make them fasl-dumpable 2018-02-04T08:26:31Z stylewarning: Yep, right. 2018-02-04T08:26:43Z stylewarning: good ol' MAKE-LOAD-FORM 2018-02-04T08:27:53Z Oladon quit (Quit: Leaving.) 2018-02-04T08:28:09Z Shinmera: Seems ok to me then. 2018-02-04T08:29:25Z smokeink quit (Remote host closed the connection) 2018-02-04T08:30:47Z smokeink joined #lisp 2018-02-04T08:36:33Z fikka joined #lisp 2018-02-04T08:36:48Z PinealGlandOptic quit (Quit: leaving) 2018-02-04T08:39:17Z _mjl joined #lisp 2018-02-04T08:39:29Z turkja quit (Ping timeout: 248 seconds) 2018-02-04T08:40:10Z makomo quit (Quit: WeeChat 1.9.1) 2018-02-04T08:40:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-04T08:44:09Z damke_ quit (Ping timeout: 264 seconds) 2018-02-04T08:45:57Z damke_ joined #lisp 2018-02-04T08:46:59Z fikka joined #lisp 2018-02-04T08:47:49Z fisxoj quit (Quit: fisxoj) 2018-02-04T08:51:35Z froggey quit (Ping timeout: 240 seconds) 2018-02-04T08:51:43Z fikka quit (Ping timeout: 248 seconds) 2018-02-04T08:53:20Z z3t0 joined #lisp 2018-02-04T08:57:32Z sz0 joined #lisp 2018-02-04T08:57:37Z z3t0 quit (Ping timeout: 248 seconds) 2018-02-04T08:59:35Z mingus quit (Ping timeout: 240 seconds) 2018-02-04T09:01:54Z mingus joined #lisp 2018-02-04T09:02:09Z damke_ quit (Ping timeout: 264 seconds) 2018-02-04T09:02:10Z damke joined #lisp 2018-02-04T09:05:45Z terpri quit (Ping timeout: 264 seconds) 2018-02-04T09:06:36Z z3t0 joined #lisp 2018-02-04T09:07:01Z fikka joined #lisp 2018-02-04T09:11:05Z z3t0 quit (Ping timeout: 240 seconds) 2018-02-04T09:11:59Z fikka quit (Ping timeout: 248 seconds) 2018-02-04T09:12:03Z mishoo_ joined #lisp 2018-02-04T09:12:14Z Karl_Dscc joined #lisp 2018-02-04T09:12:55Z phoe_: SBCL system area pointers also use the #. notation 2018-02-04T09:17:32Z pagnol joined #lisp 2018-02-04T09:27:21Z fikka joined #lisp 2018-02-04T09:27:36Z uint joined #lisp 2018-02-04T09:29:18Z loli quit (Ping timeout: 240 seconds) 2018-02-04T09:31:25Z z3t0 joined #lisp 2018-02-04T09:31:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-04T09:36:21Z z3t0 quit (Ping timeout: 264 seconds) 2018-02-04T09:37:47Z fikka joined #lisp 2018-02-04T09:37:51Z shka joined #lisp 2018-02-04T09:38:26Z loli joined #lisp 2018-02-04T09:42:25Z fikka quit (Ping timeout: 248 seconds) 2018-02-04T09:46:39Z nullman quit (Ping timeout: 248 seconds) 2018-02-04T09:48:12Z fikka joined #lisp 2018-02-04T09:48:25Z solyd quit (Ping timeout: 256 seconds) 2018-02-04T09:50:45Z nyef quit (Ping timeout: 264 seconds) 2018-02-04T09:52:33Z fikka quit (Ping timeout: 248 seconds) 2018-02-04T09:53:06Z milanj quit (Quit: This computer has gone to sleep) 2018-02-04T09:53:56Z live__ quit (Quit: Leaving) 2018-02-04T09:54:37Z oleo joined #lisp 2018-02-04T09:54:46Z shifty joined #lisp 2018-02-04T09:55:01Z z3t0 joined #lisp 2018-02-04T09:56:38Z solyd joined #lisp 2018-02-04T09:57:50Z fikka joined #lisp 2018-02-04T09:59:04Z smokeink quit (Read error: Connection reset by peer) 2018-02-04T09:59:27Z z3t0 quit (Ping timeout: 248 seconds) 2018-02-04T10:01:06Z beach: So, it doesn't seem like a good idea for a text editor to INTERN symbols that it sees in the buffer. 2018-02-04T10:01:25Z beach: Therefor, indentation can not be based on EQL-specialized generic functions. 2018-02-04T10:02:05Z beach: Instead, it is probably better to use a pair of strings, one for the package name and one for the symbol name. 2018-02-04T10:02:10Z phoe_: beach: where do you intern them? 2018-02-04T10:02:28Z phoe_: You can do a trick and use a thing like a temporary package for each buffer. 2018-02-04T10:02:34Z fikka quit (Ping timeout: 265 seconds) 2018-02-04T10:02:42Z phoe_: Delete the package after the buffer is closed. This will automatically unintern all symbols from it. 2018-02-04T10:02:54Z beach: phoe_: that wouldn't make it possible to use EQL-specialized generic functions. 2018-02-04T10:03:03Z fikka joined #lisp 2018-02-04T10:03:15Z beach: Because the specialization would be a symbol with a particular package. 2018-02-04T10:03:25Z phoe_: Hmmm. I see. 2018-02-04T10:04:34Z smurfrobot joined #lisp 2018-02-04T10:05:38Z phoe_: An idea would be to extend your CLOS to have a custom EQUAL-specialized dispatch aside from just EQL, but that is a very silly idea. 2018-02-04T10:06:15Z phoe_: Because that would no longer be blazing-fast or trivial. 2018-02-04T10:06:29Z beach: Hard to say. 2018-02-04T10:06:31Z phoe_: An upside is, EQUAL comparisons are neither. 2018-02-04T10:06:51Z phoe_: Since, no matter what you do, you'll need to compare the strings char by char. 2018-02-04T10:07:07Z beach: Sure, but there are good data structures for that. 2018-02-04T10:07:32Z beach: So, as long as I have a well defined protocol, I can always optimize the implementation later. 2018-02-04T10:07:32Z phoe_: Yep. I just wonder how you could "wrap" that comparison. 2018-02-04T10:07:37Z z3t0 joined #lisp 2018-02-04T10:08:08Z phoe_: Having custom EQUAL specializers would be weird and very non-standard, but would be consistent with your heavy usage of CLOS. 2018-02-04T10:08:35Z beach: Sure. But EQUAL might be too general in this particular case. 2018-02-04T10:08:43Z phoe_: Fine, STRING=. 2018-02-04T10:08:53Z phoe_: Even weirder. (: 2018-02-04T10:09:04Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-04T10:09:32Z phoe_: In the next Common Lisp CDR: custom EQL-like GF specializers... 2018-02-04T10:09:34Z beach: I think I'll start with a solution without generic functions. 2018-02-04T10:09:46Z phoe_: That could be good. 2018-02-04T10:10:11Z phoe_: Maybe make it work in any way first, and then think of how you'd like it to look in the final code of yours. 2018-02-04T10:10:19Z phoe_: And then just bridge the two together somehow. 2018-02-04T10:10:49Z beach: Yeah, this is not a public library (at least not yet), so I am free to modify the code as I please. 2018-02-04T10:12:27Z z3t0 quit (Ping timeout: 268 seconds) 2018-02-04T10:14:57Z shka: phoe_: same? ;-) 2018-02-04T10:15:35Z phoe_: shka: same? 2018-02-04T10:15:54Z shka: (degeneric same (a b)) 2018-02-04T10:16:54Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2018-02-04T10:18:55Z jdtcookie quit (Quit: Leaving) 2018-02-04T10:19:12Z phoe_: shka: so you basically want to reinvent #'equal? 2018-02-04T10:19:29Z shka: i didn't 2018-02-04T10:19:39Z shka: but perhaps it should be done 2018-02-04T10:20:31Z phoe_: beach: another crazy idea I had is to craft a hash function from strings to fixnums. 2018-02-04T10:20:46Z shka: sxhash? 2018-02-04T10:21:31Z phoe_: shka: SXHASH depends on a concept of "similarity" which is not strictly specified 2018-02-04T10:21:35Z z3t0 joined #lisp 2018-02-04T10:21:36Z shka: wtf? 2018-02-04T10:21:42Z phoe_: clhs sxhash 2018-02-04T10:22:00Z phoe_: ...bot, where are you 2018-02-04T10:22:12Z shka: phoe_: all sxhash guaranteens is that it is a correct hashing function 2018-02-04T10:22:15Z phoe_: http://www.lispworks.com/documentation/lw61/CLHS/Body/f_sxhash.htm 2018-02-04T10:22:33Z shka: i don't know what that would achieve 2018-02-04T10:23:48Z phoe_: "For any two objects, x and y, both of which are (...) strings, (...), and which are similar, (sxhash x) and (sxhash y) yield the same mathematical value." 2018-02-04T10:24:07Z shka: and what else you would expect? 2018-02-04T10:24:15Z phoe_: and similarity is defined as http://www.lispworks.com/documentation/lw61/CLHS/Body/03_bdbb.htm 2018-02-04T10:25:18Z phoe_: so it seems like sxhash could work. 2018-02-04T10:25:48Z z3t0 quit (Ping timeout: 240 seconds) 2018-02-04T10:25:51Z shka: phoe_: i don't know what you are trying to do, just don't go full retard and do not forget about hash collisions 2018-02-04T10:25:56Z minion quit (Remote host closed the connection) 2018-02-04T10:26:18Z phoe_: I know about hash collisions. I'm just thinking right now. 2018-02-04T10:26:58Z minion joined #lisp 2018-02-04T10:26:58Z specbot joined #lisp 2018-02-04T10:27:21Z phoe_: clhs sxhash 2018-02-04T10:27:21Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_sxhash.htm 2018-02-04T10:27:39Z phoe_: specbot is back. 2018-02-04T10:29:18Z Shinmera: There's also ::clhs foo if specbot is away (but Colleen is still around) 2018-02-04T10:29:43Z phoe_: ::clhs sxhash 2018-02-04T10:29:43Z Colleen: Clhs: function sxhash http://www.lispworks.com/documentation/HyperSpec/Body/f_sxhash.htm 2018-02-04T10:29:53Z phoe_: Shinmera: thanks, good to know. 2018-02-04T10:30:21Z mlf quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-04T10:32:45Z cuso4 joined #lisp 2018-02-04T10:35:49Z z3t0 joined #lisp 2018-02-04T10:40:15Z z3t0 quit (Ping timeout: 260 seconds) 2018-02-04T10:44:05Z lambda-p quit (Ping timeout: 240 seconds) 2018-02-04T10:49:03Z shifty quit (Remote host closed the connection) 2018-02-04T10:51:58Z z3t0 joined #lisp 2018-02-04T10:52:16Z pvaneynd_ joined #lisp 2018-02-04T10:54:46Z pvaneynd quit (Ping timeout: 265 seconds) 2018-02-04T10:55:15Z pvaneynd_ quit (Read error: Connection reset by peer) 2018-02-04T10:55:21Z pvaneynd joined #lisp 2018-02-04T10:55:44Z fikka quit (Ping timeout: 256 seconds) 2018-02-04T10:56:33Z z3t0 quit (Ping timeout: 248 seconds) 2018-02-04T10:57:52Z orivej joined #lisp 2018-02-04T11:00:43Z fikka joined #lisp 2018-02-04T11:01:11Z damke_ joined #lisp 2018-02-04T11:02:45Z damke quit (Ping timeout: 264 seconds) 2018-02-04T11:02:55Z terpri joined #lisp 2018-02-04T11:04:39Z z3t0 joined #lisp 2018-02-04T11:05:22Z sz0 quit (Quit: Connection closed for inactivity) 2018-02-04T11:07:51Z Karl_Dscc quit (Remote host closed the connection) 2018-02-04T11:09:19Z z3t0 quit (Ping timeout: 248 seconds) 2018-02-04T11:14:48Z random-nick joined #lisp 2018-02-04T11:23:21Z markong joined #lisp 2018-02-04T11:25:07Z Oddity joined #lisp 2018-02-04T11:25:38Z orivej quit (Ping timeout: 256 seconds) 2018-02-04T11:26:54Z scymtym quit (Ping timeout: 256 seconds) 2018-02-04T11:27:27Z z3t0 joined #lisp 2018-02-04T11:28:44Z Kevslinger quit (Quit: Connection closed for inactivity) 2018-02-04T11:31:45Z z3t0 quit (Ping timeout: 248 seconds) 2018-02-04T11:32:05Z randomstrangerb quit (Ping timeout: 240 seconds) 2018-02-04T11:33:21Z randomstrangerb joined #lisp 2018-02-04T11:42:24Z z3t0 joined #lisp 2018-02-04T11:45:48Z smurfrobot joined #lisp 2018-02-04T11:46:39Z z3t0 quit (Ping timeout: 248 seconds) 2018-02-04T11:47:47Z scymtym joined #lisp 2018-02-04T11:47:52Z cuso4 quit (Ping timeout: 256 seconds) 2018-02-04T11:48:06Z nirved joined #lisp 2018-02-04T11:50:45Z smurfrobot quit (Ping timeout: 264 seconds) 2018-02-04T11:53:11Z smurfrobot joined #lisp 2018-02-04T11:57:51Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-04T11:59:03Z ebzzry quit (Quit: WeeChat 1.9.1) 2018-02-04T12:06:32Z cuso4 joined #lisp 2018-02-04T12:14:17Z milanj joined #lisp 2018-02-04T12:18:07Z dcluna quit (Ping timeout: 248 seconds) 2018-02-04T12:19:02Z smurfrobot joined #lisp 2018-02-04T12:19:03Z dcluna joined #lisp 2018-02-04T12:23:45Z smurfrobot quit (Ping timeout: 264 seconds) 2018-02-04T12:25:54Z alexmlw quit (Remote host closed the connection) 2018-02-04T12:27:31Z alexmlw joined #lisp 2018-02-04T12:29:05Z alexmlw quit (Remote host closed the connection) 2018-02-04T12:32:48Z cuso4 quit (Ping timeout: 240 seconds) 2018-02-04T12:34:00Z _mjl quit (Ping timeout: 260 seconds) 2018-02-04T12:38:29Z Rawriful joined #lisp 2018-02-04T12:40:15Z puchacz joined #lisp 2018-02-04T12:44:41Z z3t0 joined #lisp 2018-02-04T12:45:27Z solyd quit (Ping timeout: 265 seconds) 2018-02-04T12:46:46Z solyd joined #lisp 2018-02-04T12:49:19Z z3t0 quit (Ping timeout: 265 seconds) 2018-02-04T12:52:26Z z3t0 joined #lisp 2018-02-04T12:53:53Z fikka quit (Ping timeout: 248 seconds) 2018-02-04T12:57:00Z z3t0 quit (Ping timeout: 256 seconds) 2018-02-04T12:59:06Z N31k joined #lisp 2018-02-04T13:02:59Z fikka joined #lisp 2018-02-04T13:05:20Z z3t0 joined #lisp 2018-02-04T13:09:57Z z3t0 quit (Ping timeout: 264 seconds) 2018-02-04T13:10:33Z Ukari joined #lisp 2018-02-04T13:13:11Z red-dot joined #lisp 2018-02-04T13:18:00Z smurfrobot joined #lisp 2018-02-04T13:23:21Z dddddd_ joined #lisp 2018-02-04T13:29:06Z dieggsy joined #lisp 2018-02-04T13:32:05Z dieggsy quit (Client Quit) 2018-02-04T13:35:16Z dieggsy joined #lisp 2018-02-04T13:39:02Z randomstrangerb quit (Ping timeout: 268 seconds) 2018-02-04T13:40:04Z random-nick quit (Ping timeout: 256 seconds) 2018-02-04T13:40:05Z makomo joined #lisp 2018-02-04T13:40:18Z randomstrangerb joined #lisp 2018-02-04T13:40:33Z flazh quit (Quit: flazh) 2018-02-04T13:40:41Z dieggsy quit (Remote host closed the connection) 2018-02-04T13:41:59Z dieggsy joined #lisp 2018-02-04T13:43:27Z nullman joined #lisp 2018-02-04T13:43:49Z dddddd_ is now known as dddddd 2018-02-04T13:50:42Z xrash quit (Ping timeout: 256 seconds) 2018-02-04T13:50:57Z brendyn quit (Ping timeout: 248 seconds) 2018-02-04T13:54:54Z margeas joined #lisp 2018-02-04T13:55:04Z markong quit (Read error: Connection reset by peer) 2018-02-04T13:55:18Z pjb` is now known as pjb 2018-02-04T14:00:02Z raynold quit (Quit: Connection closed for inactivity) 2018-02-04T14:00:37Z smurfrobot quit (Remote host closed the connection) 2018-02-04T14:04:32Z dieggsy quit (Quit: ERC (IRC client for Emacs 27.0.50)) 2018-02-04T14:08:42Z puchacz_ joined #lisp 2018-02-04T14:09:15Z puchacz quit (Ping timeout: 268 seconds) 2018-02-04T14:13:56Z Ukari quit (Quit: bye bye) 2018-02-04T14:13:58Z dieggsy joined #lisp 2018-02-04T14:14:14Z N31k quit (Read error: Connection reset by peer) 2018-02-04T14:15:21Z margeas quit (Ping timeout: 264 seconds) 2018-02-04T14:18:45Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2018-02-04T14:19:04Z random-nick joined #lisp 2018-02-04T14:20:47Z FreeBirdLjj joined #lisp 2018-02-04T14:28:58Z cuso4 joined #lisp 2018-02-04T14:30:03Z Kevslinger joined #lisp 2018-02-04T14:33:14Z dddddd_ joined #lisp 2018-02-04T14:33:20Z dddddd quit (Ping timeout: 256 seconds) 2018-02-04T14:34:28Z gabot quit (Ping timeout: 256 seconds) 2018-02-04T14:37:35Z dddddd_ is now known as dddddd 2018-02-04T14:38:09Z N31k joined #lisp 2018-02-04T14:39:50Z dieggsy quit (Quit: ERC (IRC client for Emacs 27.0.50)) 2018-02-04T14:50:37Z SaganMan joined #lisp 2018-02-04T14:57:53Z hiroaki joined #lisp 2018-02-04T15:00:40Z rumbler31 joined #lisp 2018-02-04T15:01:21Z solyd quit (Quit: solyd) 2018-02-04T15:02:14Z dddddd quit (Ping timeout: 256 seconds) 2018-02-04T15:03:39Z zaquest quit (Read error: Connection reset by peer) 2018-02-04T15:05:18Z dddddd joined #lisp 2018-02-04T15:06:41Z gabot joined #lisp 2018-02-04T15:06:51Z nyef joined #lisp 2018-02-04T15:08:11Z zooey quit (Ping timeout: 255 seconds) 2018-02-04T15:11:09Z solyd joined #lisp 2018-02-04T15:13:17Z zooey joined #lisp 2018-02-04T15:14:19Z _mjl joined #lisp 2018-02-04T15:20:33Z shka quit (Quit: Konversation terminated!) 2018-02-04T15:21:48Z z3t0 joined #lisp 2018-02-04T15:23:56Z zooey quit (Ping timeout: 255 seconds) 2018-02-04T15:24:45Z SaganMan quit (Quit: WeeChat 1.6) 2018-02-04T15:24:49Z Rawriful quit (Ping timeout: 248 seconds) 2018-02-04T15:24:53Z shka joined #lisp 2018-02-04T15:26:36Z z3t0 quit (Ping timeout: 256 seconds) 2018-02-04T15:27:56Z zooey joined #lisp 2018-02-04T15:31:45Z fikka quit (Ping timeout: 248 seconds) 2018-02-04T15:36:00Z asarch joined #lisp 2018-02-04T15:38:34Z Rawriful joined #lisp 2018-02-04T15:38:51Z dieggsy joined #lisp 2018-02-04T15:39:55Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-04T15:40:07Z zooey quit (Remote host closed the connection) 2018-02-04T15:40:28Z zooey joined #lisp 2018-02-04T15:44:18Z Karl_Dscc joined #lisp 2018-02-04T15:46:53Z orivej joined #lisp 2018-02-04T15:47:46Z zooey quit (Remote host closed the connection) 2018-02-04T15:48:01Z zooey joined #lisp 2018-02-04T15:48:14Z fikka joined #lisp 2018-02-04T15:51:39Z saemcro quit (Quit: leaving) 2018-02-04T15:52:10Z drewc quit (Ping timeout: 240 seconds) 2018-02-04T15:52:57Z klixto joined #lisp 2018-02-04T15:53:03Z fikka quit (Ping timeout: 248 seconds) 2018-02-04T15:59:01Z scottj quit (Quit: leaving) 2018-02-04T16:01:16Z smurfrobot joined #lisp 2018-02-04T16:03:37Z froggey joined #lisp 2018-02-04T16:04:37Z z3t0 joined #lisp 2018-02-04T16:06:21Z smurfrobot quit (Ping timeout: 264 seconds) 2018-02-04T16:06:30Z fikka joined #lisp 2018-02-04T16:08:33Z twouhm joined #lisp 2018-02-04T16:08:57Z z3t0 quit (Ping timeout: 240 seconds) 2018-02-04T16:10:23Z dieggsy quit (Quit: ERC (IRC client for Emacs 27.0.50)) 2018-02-04T16:11:04Z FreeBirdLjj joined #lisp 2018-02-04T16:14:05Z sz0 joined #lisp 2018-02-04T16:15:27Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-04T16:15:32Z drewc joined #lisp 2018-02-04T16:16:20Z asarch quit (Ping timeout: 256 seconds) 2018-02-04T16:18:17Z pvaneynd quit (Remote host closed the connection) 2018-02-04T16:19:40Z z3t0 joined #lisp 2018-02-04T16:20:47Z fikka quit (Ping timeout: 248 seconds) 2018-02-04T16:21:12Z dieggsy joined #lisp 2018-02-04T16:23:31Z fikka joined #lisp 2018-02-04T16:23:33Z AX31_A13X joined #lisp 2018-02-04T16:23:48Z z3t0 quit (Ping timeout: 240 seconds) 2018-02-04T16:25:18Z alexmlw joined #lisp 2018-02-04T16:25:28Z zaquest joined #lisp 2018-02-04T16:26:06Z AxelAlex quit (Ping timeout: 256 seconds) 2018-02-04T16:28:25Z nsrahmad joined #lisp 2018-02-04T16:33:28Z void_pointer joined #lisp 2018-02-04T16:39:13Z z3t0 joined #lisp 2018-02-04T16:40:25Z elazul joined #lisp 2018-02-04T16:41:20Z nsrahmad quit (Quit: Leaving) 2018-02-04T16:43:40Z _mjl quit (Ping timeout: 260 seconds) 2018-02-04T16:43:44Z z3t0 quit (Ping timeout: 265 seconds) 2018-02-04T16:44:48Z orivej quit (Ping timeout: 256 seconds) 2018-02-04T16:46:16Z Murii quit (Quit: WeeChat 1.4) 2018-02-04T16:46:18Z moei joined #lisp 2018-02-04T16:47:32Z Murii joined #lisp 2018-02-04T16:48:56Z pagnol_ joined #lisp 2018-02-04T16:50:53Z warweasle joined #lisp 2018-02-04T16:52:25Z pagnol quit (Ping timeout: 260 seconds) 2018-02-04T16:53:18Z asarch joined #lisp 2018-02-04T17:02:47Z pagnol_ is now known as pagnol 2018-02-04T17:08:36Z klixto quit (Quit: Konversation terminated!) 2018-02-04T17:08:45Z hph^ joined #lisp 2018-02-04T17:14:28Z solyd quit (Quit: solyd) 2018-02-04T17:15:41Z milanj quit (Read error: Connection reset by peer) 2018-02-04T17:16:09Z milanj joined #lisp 2018-02-04T17:16:45Z hhdave joined #lisp 2018-02-04T17:17:04Z milanj quit (Read error: Connection reset by peer) 2018-02-04T17:17:24Z milanj joined #lisp 2018-02-04T17:19:48Z randomstrangerb quit (Ping timeout: 268 seconds) 2018-02-04T17:21:03Z randomstrangerb joined #lisp 2018-02-04T17:22:03Z milanj quit (Read error: Connection reset by peer) 2018-02-04T17:24:12Z Oladon joined #lisp 2018-02-04T17:28:35Z hph^ quit (Ping timeout: 240 seconds) 2018-02-04T17:31:56Z _mjl joined #lisp 2018-02-04T17:39:58Z epony quit (Quit: QUIT) 2018-02-04T17:49:28Z scymtym quit (Ping timeout: 265 seconds) 2018-02-04T17:50:45Z Ukari joined #lisp 2018-02-04T17:51:12Z Ukari quit (Client Quit) 2018-02-04T17:53:25Z jason_m joined #lisp 2018-02-04T17:57:47Z nowhere_man joined #lisp 2018-02-04T17:58:39Z nowhereman_ quit (Ping timeout: 268 seconds) 2018-02-04T18:01:07Z puchacz joined #lisp 2018-02-04T18:01:25Z puchacz_ quit (Ping timeout: 256 seconds) 2018-02-04T18:02:44Z smurfrobot joined #lisp 2018-02-04T18:05:50Z pagnol quit (Ping timeout: 256 seconds) 2018-02-04T18:06:35Z puchacz_ joined #lisp 2018-02-04T18:07:21Z puchacz quit (Ping timeout: 265 seconds) 2018-02-04T18:07:27Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-04T18:08:44Z hhdave quit (Quit: hhdave) 2018-02-04T18:11:54Z warweasle quit (Quit: Leaving) 2018-02-04T18:20:08Z sjl joined #lisp 2018-02-04T18:21:16Z Arcaelyx joined #lisp 2018-02-04T18:21:42Z BitPuffin quit (Remote host closed the connection) 2018-02-04T18:22:04Z Ven`` joined #lisp 2018-02-04T18:23:27Z sz0 quit (Quit: Connection closed for inactivity) 2018-02-04T18:26:49Z z3t0 joined #lisp 2018-02-04T18:29:42Z alexmlw quit (Quit: alexmlw) 2018-02-04T18:31:27Z z3t0 quit (Ping timeout: 248 seconds) 2018-02-04T18:33:35Z asarch: This is my book: https://github.com/asarch/lisp 2018-02-04T18:33:41Z asarch: What do you think? 2018-02-04T18:35:00Z EvW joined #lisp 2018-02-04T18:35:44Z orivej joined #lisp 2018-02-04T18:37:33Z varjag joined #lisp 2018-02-04T18:42:19Z makomo: asarch: hard to call it a book :-) 2018-02-04T18:42:29Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-04T18:45:18Z Arcaelyx quit (Ping timeout: 240 seconds) 2018-02-04T18:45:18Z nowhere_man quit (Read error: Connection reset by peer) 2018-02-04T18:45:25Z nowhereman joined #lisp 2018-02-04T18:45:57Z Arcaelyx_ joined #lisp 2018-02-04T18:46:06Z pjb: asarch: like greek atoms, lisp atoms can be divised: (ldb (byte 3 4) 123456) #| --> 4 |# (aref #(1 2 3 4 5) 2) #| --> 3 |# etc. 2018-02-04T18:46:15Z pjb: asarch: ie. you need to correctly define atoms. 2018-02-04T18:46:34Z pjb: (aref "ATOM?" 1) #| --> #\T |# 2018-02-04T18:47:01Z pjb: asarch: #(3 4) = 3+4i complex numbers are nice too. 2018-02-04T18:47:31Z pjb: symbols are symbols, they can represent anything. This is the power of lisp. 2018-02-04T18:48:26Z pjb: function names are symbol (or lists of the form (setf foo)); variable names are symbols, macro names are symbols, special operator names are symbols, but also: tags, class names, type names, and my brother-in-law. 2018-02-04T18:49:00Z z3t0 joined #lisp 2018-02-04T18:49:09Z pjb: asarch: dynamic/lexical is orthogonal to local/global (only CL provides operators to create only dynamic global, but it's trivial to implement lexical globals using deine-symbol-macro). 2018-02-04T18:49:49Z pjb: asarch: perhaps you'd want to read the tutorials at http://cliki.net/Online+Tutorial first? 2018-02-04T18:53:01Z ckonstanski quit (Remote host closed the connection) 2018-02-04T18:53:26Z z3t0 quit (Ping timeout: 256 seconds) 2018-02-04T18:59:48Z asarch: D'oh! 2018-02-04T18:59:49Z asarch: Ok 2018-02-04T18:59:54Z asarch: I will :-( 2018-02-04T19:00:20Z asarch: I read in the "Gentle Introduction to..." book that you cannot actually divide an atom 2018-02-04T19:00:42Z asarch: makomo, actually only have a few chapters :-P 2018-02-04T19:00:58Z python476 joined #lisp 2018-02-04T19:01:24Z asarch: "Brother-in-Law" <- lol :-D 2018-02-04T19:03:14Z grublet joined #lisp 2018-02-04T19:04:00Z asarch: They should call that function "fision" 2018-02-04T19:06:46Z void_pointer quit (Remote host closed the connection) 2018-02-04T19:07:20Z void_pointer joined #lisp 2018-02-04T19:08:30Z N31k quit (Read error: Connection reset by peer) 2018-02-04T19:10:24Z z3t0 joined #lisp 2018-02-04T19:12:42Z klltkr joined #lisp 2018-02-04T19:12:49Z twouhm quit (Ping timeout: 260 seconds) 2018-02-04T19:13:42Z scymtym joined #lisp 2018-02-04T19:14:40Z pjb: asarch: originally, lisp only had conses, integer, floating-points and symbols. 2018-02-04T19:14:48Z z3t0 quit (Ping timeout: 240 seconds) 2018-02-04T19:15:08Z pjb: asarch: in that environment, conses were not atomic, since you could split the car and the cdr, but the other were atomic. 2018-02-04T19:15:16Z pjb: For a long time, atom = symbol, basically. 2018-02-04T19:15:57Z pjb: asarch: however, vectors and other structured objects were introduced later. They are not atomic. But they're not CONS cells, so they're still called ATOMs, because (defun atom (x) (not (consp x))). 2018-02-04T19:20:18Z randomstrangerb quit (Ping timeout: 240 seconds) 2018-02-04T19:21:33Z randomstrangerb joined #lisp 2018-02-04T19:25:32Z nika quit (Quit: Leaving...) 2018-02-04T19:25:54Z _mjl quit (Remote host closed the connection) 2018-02-04T19:27:38Z smurfrobot joined #lisp 2018-02-04T19:27:49Z Arcaelyx_ quit (Read error: Connection reset by peer) 2018-02-04T19:28:11Z random-nick quit (Read error: Connection reset by peer) 2018-02-04T19:29:40Z Arcaelyx joined #lisp 2018-02-04T19:29:50Z raynold joined #lisp 2018-02-04T19:31:18Z AX31_A13X quit (Ping timeout: 240 seconds) 2018-02-04T19:32:24Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-04T19:33:42Z fisxoj joined #lisp 2018-02-04T19:33:59Z d4ryus1 is now known as d4ryus 2018-02-04T19:34:51Z libreman quit (Ping timeout: 268 seconds) 2018-02-04T19:48:27Z DeadTrickster_ quit (Quit: Leaving) 2018-02-04T19:48:46Z libreman joined #lisp 2018-02-04T19:48:55Z DeadTrickster joined #lisp 2018-02-04T19:53:47Z fourier joined #lisp 2018-02-04T19:53:47Z fourier quit (Changing host) 2018-02-04T19:53:47Z fourier joined #lisp 2018-02-04T19:55:18Z fikka quit (Ping timeout: 240 seconds) 2018-02-04T19:58:54Z phoe_ quit (Ping timeout: 268 seconds) 2018-02-04T19:59:53Z vaporatorius__ joined #lisp 2018-02-04T20:00:08Z vap1 quit (Ping timeout: 255 seconds) 2018-02-04T20:00:58Z damke joined #lisp 2018-02-04T20:01:02Z Baggers joined #lisp 2018-02-04T20:03:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-04T20:04:17Z jmercouris joined #lisp 2018-02-04T20:04:55Z elazul quit (Ping timeout: 260 seconds) 2018-02-04T20:07:04Z nowhereman quit (Disconnected by services) 2018-02-04T20:07:23Z elazul joined #lisp 2018-02-04T20:07:27Z ozzloy quit (Ping timeout: 240 seconds) 2018-02-04T20:07:29Z nowhere_man joined #lisp 2018-02-04T20:09:17Z random-nick joined #lisp 2018-02-04T20:09:21Z vlatkoB quit (Remote host closed the connection) 2018-02-04T20:11:21Z fikka joined #lisp 2018-02-04T20:11:33Z phoe joined #lisp 2018-02-04T20:12:25Z pierpa joined #lisp 2018-02-04T20:16:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-04T20:16:31Z attila_lendvai joined #lisp 2018-02-04T20:16:31Z attila_lendvai quit (Changing host) 2018-02-04T20:16:31Z attila_lendvai joined #lisp 2018-02-04T20:18:41Z cuso4 quit (Ping timeout: 276 seconds) 2018-02-04T20:19:11Z pilfink joined #lisp 2018-02-04T20:21:46Z fikka joined #lisp 2018-02-04T20:24:24Z klixto joined #lisp 2018-02-04T20:26:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-04T20:27:32Z N31k joined #lisp 2018-02-04T20:28:11Z pagnol joined #lisp 2018-02-04T20:31:52Z fikka joined #lisp 2018-02-04T20:32:49Z ckonstanski joined #lisp 2018-02-04T20:34:59Z python476 quit (Ping timeout: 256 seconds) 2018-02-04T20:36:47Z fikka quit (Ping timeout: 248 seconds) 2018-02-04T20:43:18Z jason_m quit (Ping timeout: 240 seconds) 2018-02-04T20:43:45Z jmercouris quit (Ping timeout: 248 seconds) 2018-02-04T20:43:56Z N31k quit (Ping timeout: 256 seconds) 2018-02-04T20:48:18Z randomstrangerb quit (Ping timeout: 265 seconds) 2018-02-04T20:49:32Z randomstrangerb joined #lisp 2018-02-04T20:52:02Z fikka joined #lisp 2018-02-04T20:52:18Z pagnol quit (Ping timeout: 256 seconds) 2018-02-04T20:56:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-04T21:01:10Z pagnol joined #lisp 2018-02-04T21:02:11Z z3t0 joined #lisp 2018-02-04T21:02:23Z fikka joined #lisp 2018-02-04T21:07:06Z z3t0_ joined #lisp 2018-02-04T21:07:06Z z3t0 quit (Read error: Connection reset by peer) 2018-02-04T21:07:21Z fikka quit (Ping timeout: 268 seconds) 2018-02-04T21:08:42Z z3t0 joined #lisp 2018-02-04T21:08:43Z z3t0_ quit (Read error: Connection reset by peer) 2018-02-04T21:09:22Z Oladon quit (Quit: Leaving.) 2018-02-04T21:14:57Z asarch: Wow! 2018-02-04T21:15:00Z asarch: Thank you pjb 2018-02-04T21:15:05Z asarch: Thank you very much :-) 2018-02-04T21:18:00Z fikka joined #lisp 2018-02-04T21:19:23Z Murii quit (Quit: WeeChat 1.4) 2018-02-04T21:26:34Z elazul quit (Quit: leaving) 2018-02-04T21:33:55Z fikka quit (Ping timeout: 256 seconds) 2018-02-04T21:38:47Z zooey quit (Ping timeout: 255 seconds) 2018-02-04T21:39:44Z zooey joined #lisp 2018-02-04T21:39:56Z fikka joined #lisp 2018-02-04T21:43:01Z puchacz joined #lisp 2018-02-04T21:43:07Z puchacz_ quit (Ping timeout: 268 seconds) 2018-02-04T21:45:15Z fikka quit (Ping timeout: 260 seconds) 2018-02-04T21:46:51Z pagnol_ joined #lisp 2018-02-04T21:47:10Z warweasle joined #lisp 2018-02-04T21:49:35Z pagnol quit (Ping timeout: 240 seconds) 2018-02-04T21:50:05Z fikka joined #lisp 2018-02-04T21:56:20Z fourier quit (Ping timeout: 260 seconds) 2018-02-04T21:59:00Z pilfink quit (Quit: ERC (IRC client for Emacs 26.0.91)) 2018-02-04T21:59:15Z oystewh joined #lisp 2018-02-04T21:59:21Z nowhereman_ joined #lisp 2018-02-04T21:59:50Z jason_m joined #lisp 2018-02-04T22:01:56Z cpt_nemo quit (Quit: leaving) 2018-02-04T22:02:45Z nowhere_man quit (Ping timeout: 260 seconds) 2018-02-04T22:05:11Z mlf joined #lisp 2018-02-04T22:08:07Z smurfrobot joined #lisp 2018-02-04T22:08:56Z z3t0 quit (Remote host closed the connection) 2018-02-04T22:13:16Z jason_m quit (Ping timeout: 252 seconds) 2018-02-04T22:13:38Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-02-04T22:20:43Z rumbler31 quit (Remote host closed the connection) 2018-02-04T22:20:54Z cpt_nemo joined #lisp 2018-02-04T22:25:32Z fisxoj quit (Quit: fisxoj) 2018-02-04T22:27:14Z plertrood joined #lisp 2018-02-04T22:28:06Z plertrood: Is there a way I can get a list of all classes that have been defined with a given metaclass? 2018-02-04T22:28:40Z void_pointer quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2018-02-04T22:29:10Z Bike: i guess you could look through all subclasses of standard-object, but i don't recommend that 2018-02-04T22:29:19Z Bike: you could have your metaclass keep track of it, of course 2018-02-04T22:29:53Z plertrood: Yeah, thats the way I am doing it at the minute. 2018-02-04T22:29:53Z Shinmera: Generally there's no way to directly enumerate the instances of any class. 2018-02-04T22:30:01Z plertrood: The metaclass keeping track of it. 2018-02-04T22:30:27Z plertrood: I'm sure I read in AMOP that there was a way to do this.. but damned if I can find it.. 2018-02-04T22:30:50Z Bike: i don't think so. that would basically mean a class tracking all of its instances 2018-02-04T22:31:02Z Bike: which would be a sort of expensive thing to do by default 2018-02-04T22:31:06Z Shinmera: You could potentially do something with make-instances-obsolete & update-instance-fore-redefined-class, but I think the latter is only called lazily, which means when an instance is accessed. 2018-02-04T22:31:28Z Shinmera: *for 2018-02-04T22:31:55Z plertrood: Ok, thanks. 2018-02-04T22:32:28Z pillton: mop validate-superclass 2018-02-04T22:32:29Z specbot: http://metamodular.com/CLOS-MOP/validate-superclass.html 2018-02-04T22:33:08Z pillton: What about an after method on that generic function? 2018-02-04T22:33:50Z Bike: you could just do it on initialize-instance 2018-02-04T22:33:52Z puchacz quit (Quit: Konversation terminated!) 2018-02-04T22:34:19Z plertrood: If it is the one i am thinking about, then validate superclass only gets called once an instance of that class is instantiated. 2018-02-04T22:34:31Z plertrood: Not when the class is defined. 2018-02-04T22:34:45Z Shinmera: a class is an instance of its metaclass 2018-02-04T22:34:49Z Ven`` joined #lisp 2018-02-04T22:35:09Z pillton: mop ensure-class-using-class 2018-02-04T22:35:09Z specbot: http://metamodular.com/CLOS-MOP/ensure-class-using-class.html 2018-02-04T22:35:27Z plertrood: I found it works with initialize-instance and reinitialize-instance. 2018-02-04T22:35:49Z Bike: it seems like the straightforward place to put it, yeah. 2018-02-04T22:36:13Z smurfrobot quit (Remote host closed the connection) 2018-02-04T22:37:26Z plertrood: It did surprise me that validate-superclass wasn't being called when I compiled a class with that metaclass. 2018-02-04T22:37:41Z plertrood: It seemed to do it in CCL, but not in SBCL.. 2018-02-04T22:39:24Z warweasle quit (Quit: Leaving) 2018-02-04T22:41:03Z random-nick quit (Read error: Connection reset by peer) 2018-02-04T22:45:38Z cpt_nemo quit (Quit: leaving) 2018-02-04T22:45:47Z cpt_nemo joined #lisp 2018-02-04T22:47:20Z pagnol_ is now known as pagnol 2018-02-04T22:48:15Z tessier quit (Ping timeout: 260 seconds) 2018-02-04T22:48:28Z Ven`` quit (Ping timeout: 256 seconds) 2018-02-04T22:49:44Z tessier joined #lisp 2018-02-04T22:49:44Z tessier quit (Changing host) 2018-02-04T22:49:44Z tessier joined #lisp 2018-02-04T22:52:33Z dddddd quit (Ping timeout: 264 seconds) 2018-02-04T22:52:33Z dieggsy quit (Remote host closed the connection) 2018-02-04T22:52:34Z dddddd_ joined #lisp 2018-02-04T22:52:46Z dddddd_ is now known as dddddd 2018-02-04T22:54:16Z shka quit (Ping timeout: 256 seconds) 2018-02-04T22:57:15Z Rawriful quit (Quit: WeeChat 1.4) 2018-02-04T22:57:46Z cpt_nemo quit (Quit: leaving) 2018-02-04T22:57:57Z cpt_nemo joined #lisp 2018-02-04T22:57:59Z nirved quit (Quit: Leaving) 2018-02-04T22:58:55Z Karl_Dscc quit (Remote host closed the connection) 2018-02-04T23:00:52Z damke_ joined #lisp 2018-02-04T23:02:45Z damke quit (Ping timeout: 264 seconds) 2018-02-04T23:05:32Z cgay left #lisp 2018-02-04T23:14:14Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2018-02-04T23:35:31Z pillton quit (Ping timeout: 248 seconds) 2018-02-04T23:41:52Z AntiSpamMeta quit (Read error: Connection reset by peer) 2018-02-04T23:42:17Z AntiSpamMeta joined #lisp 2018-02-04T23:49:30Z krwq joined #lisp 2018-02-04T23:57:11Z xrash joined #lisp 2018-02-04T23:58:15Z mishoo_ quit (Ping timeout: 260 seconds) 2018-02-04T23:59:18Z plertrood quit (Ping timeout: 256 seconds) 2018-02-04T23:59:18Z Oladon joined #lisp 2018-02-05T00:03:31Z fikka quit (Ping timeout: 256 seconds) 2018-02-05T00:04:37Z smurfrobot joined #lisp 2018-02-05T00:07:40Z epony joined #lisp 2018-02-05T00:10:59Z JenElizabeth joined #lisp 2018-02-05T00:17:08Z asarch quit (Quit: Leaving) 2018-02-05T00:19:06Z fikka joined #lisp 2018-02-05T00:21:13Z rumbler31 joined #lisp 2018-02-05T00:23:04Z Kaisyu joined #lisp 2018-02-05T00:23:44Z damke joined #lisp 2018-02-05T00:23:48Z fikka quit (Ping timeout: 256 seconds) 2018-02-05T00:24:01Z Pixel_Outlaw joined #lisp 2018-02-05T00:24:06Z openthesky joined #lisp 2018-02-05T00:25:30Z rumbler31 quit (Ping timeout: 256 seconds) 2018-02-05T00:26:09Z damke_ quit (Ping timeout: 264 seconds) 2018-02-05T00:26:15Z hiroaki quit (Ping timeout: 260 seconds) 2018-02-05T00:29:27Z fikka joined #lisp 2018-02-05T00:30:33Z klixto quit (Quit: Konversation terminated!) 2018-02-05T00:31:36Z cmatei quit (Ping timeout: 265 seconds) 2018-02-05T00:33:48Z fikka quit (Ping timeout: 240 seconds) 2018-02-05T00:33:55Z dieggsy joined #lisp 2018-02-05T00:39:36Z fikka joined #lisp 2018-02-05T00:42:07Z quazimodo joined #lisp 2018-02-05T00:43:04Z smurfrobot quit (Remote host closed the connection) 2018-02-05T00:44:15Z fikka quit (Ping timeout: 248 seconds) 2018-02-05T00:51:11Z smurfrobot joined #lisp 2018-02-05T00:51:25Z billitch joined #lisp 2018-02-05T00:52:48Z Baggers quit (Remote host closed the connection) 2018-02-05T00:53:47Z brendyn joined #lisp 2018-02-05T00:54:35Z billitch: so when is ELS again ? 2018-02-05T00:55:00Z pjb: https://www.european-lisp-symposium.org 2018-02-05T00:56:09Z smurfrobot quit (Ping timeout: 264 seconds) 2018-02-05T00:58:21Z billitch: is there no access to common-lisp.net Subversion repositories ? 2018-02-05T00:58:33Z red-dot joined #lisp 2018-02-05T00:58:41Z orivej quit (Ping timeout: 248 seconds) 2018-02-05T00:59:06Z billitch: svn co svn://common-lisp.net/project/cl-irc/svn/ 2018-02-05T00:59:06Z billitch: svn: E170013: Unable to connect to a repository at URL 'svn://common-lisp.net/project/cl-irc/svn' 2018-02-05T00:59:09Z billitch: svn: E000111: Can't connect to host 'common-lisp.net': Connection refused 2018-02-05T00:59:43Z fikka joined #lisp 2018-02-05T01:03:46Z smurfrobot joined #lisp 2018-02-05T01:04:33Z fikka quit (Ping timeout: 264 seconds) 2018-02-05T01:06:24Z pjb: billitch: AFAIK, they switched to git a long time ago. 2018-02-05T01:06:57Z Chream joined #lisp 2018-02-05T01:15:11Z billitch: pjb: yes but the cl-uri page on common-lisp.net still references subversion and the WebSVN has content 2018-02-05T01:15:48Z billitch: are there CL reader replacements out there ? 2018-02-05T01:15:55Z billitch: specifically for sbcl 2018-02-05T01:16:34Z pmc_ joined #lisp 2018-02-05T01:17:32Z pmc_: I tried this on CLISP and SBCL: (pprint (macroexpand-1 '(dotimes (x 5) (print x)))) but everything is printed on one line. Is there another way to pretty print a macro? 2018-02-05T01:19:14Z pjb: pmc_: (setf *print-right-margin* 20) 2018-02-05T01:19:49Z pjb: or 80, you see… 2018-02-05T01:19:53Z pmc_: wow. much better. thanks! 2018-02-05T01:19:58Z fikka joined #lisp 2018-02-05T01:20:19Z pjb: billitch: There's com.informatimago.common-lisp.lisp-reader.reader 2018-02-05T01:22:43Z orivej joined #lisp 2018-02-05T01:24:52Z fikka quit (Ping timeout: 256 seconds) 2018-02-05T01:25:19Z emaczen: How can I make (hunchentoot:define-easy-handler ((gensym) :uri ...)) accept (gensym)? 2018-02-05T01:26:17Z pjb: emaczen: by modifying the source of this macro. 2018-02-05T01:26:46Z pjb: emaczen: or in general, by writing a macro to expand to the form you want. 2018-02-05T01:26:48Z EvW quit (Ping timeout: 240 seconds) 2018-02-05T01:27:04Z pjb: (defmacro foo () `(hunchentoot:define-easy-handler (,(gensym) :uri ...))) (foo) 2018-02-05T01:30:27Z fikka joined #lisp 2018-02-05T01:31:54Z Arcaelyx quit (Read error: Connection reset by peer) 2018-02-05T01:33:39Z emaczen: pjb: I have this form inside of a function, and I really just want a different value everytime the function is called... 2018-02-05T01:34:07Z Arcaelyx joined #lisp 2018-02-05T01:34:56Z fikka quit (Ping timeout: 252 seconds) 2018-02-05T01:35:46Z borei joined #lisp 2018-02-05T01:35:54Z borei: hi all ! 2018-02-05T01:35:57Z smurfrobot quit (Remote host closed the connection) 2018-02-05T01:36:53Z borei: is it possible to have array of arrays 2018-02-05T01:37:03Z borei: not 2-dimensional array 2018-02-05T01:37:04Z borei: but 2018-02-05T01:37:10Z borei: (defparameter m (make-array '(100) :element-type '(simple-array double-float (4)))) 2018-02-05T01:37:11Z borei: ? 2018-02-05T01:37:50Z pjb: Sure. 2018-02-05T01:37:56Z borei: hmm 2018-02-05T01:38:10Z pjb: Notably when the elements are not all of the same size, this is what you'd do. 2018-02-05T01:38:12Z borei: why then (type-of (aref m 0)) 2018-02-05T01:38:15Z borei: BIT ? 2018-02-05T01:38:35Z pjb: Because you didn't initialize the slots, so this is not conforming! 2018-02-05T01:38:57Z quazimodo quit (Ping timeout: 240 seconds) 2018-02-05T01:39:02Z borei: doesn't clear 2018-02-05T01:39:29Z pjb: If you don't give a :initial-element or :initial-contents, then the slots are not initialized, and you are forbiddent to read them! 2018-02-05T01:39:35Z pjb: (aref m 0) is invalid in that case! 2018-02-05T01:39:42Z borei: got it ! 2018-02-05T01:39:55Z pjb: Alternatively, you can (setf (aref m i) …) for all i. 2018-02-05T01:40:21Z pjb: A nice trick to initialize those arrays, is to use map-into with a 0-ary function. 2018-02-05T01:40:37Z Zhivago: Almost as exciting as C :) 2018-02-05T01:41:01Z pjb: (map-into (make-array '(3)) (lambda () (make-array 4 :element-type 'double-float :initial-element 42.3d4))) #| --> #(#(423000.0D0 423000.0D0 423000.0D0 423000.0D0) #(423000.0D0 423000.0D0 423000.0D0 423000.0D0) #(423000.0D0 423000.0D0 423000.0D0 423000.0D0)) |# 2018-02-05T01:41:46Z pjb: Compare with: (make-array '(3) :initial-element (make-array 4 :element-type 'double-float :initial-element 42.3d4)) #| --> #(#1=#(423000.0D0 423000.0D0 423000.0D0 423000.0D0) #1# #1#) |# 2018-02-05T01:42:33Z pjb: You may of course use closures too: (map-into (make-array '(3)) (let ((i 0.0d0)) (lambda () (make-array 4 :element-type 'double-float :initial-element (incf i 1.0d0))))) #| --> #(#(1.0D0 1.0D0 1.0D0 1.0D0) #(2.0D0 2.0D0 2.0D0 2.0D0) #(3.0D0 3.0D0 3.0D0 3.0D0)) |# 2018-02-05T01:42:35Z pjb: etc. 2018-02-05T01:43:34Z pierpa: can write simply (make-array 3 ...) 2018-02-05T01:44:33Z xrash quit (Ping timeout: 248 seconds) 2018-02-05T01:45:03Z arescorpio joined #lisp 2018-02-05T01:45:44Z arescorpio quit (Max SendQ exceeded) 2018-02-05T01:46:27Z randomstrangerb quit (Ping timeout: 240 seconds) 2018-02-05T01:47:19Z xrash joined #lisp 2018-02-05T01:47:40Z randomstrangerb joined #lisp 2018-02-05T01:50:30Z fikka joined #lisp 2018-02-05T01:52:06Z smurfrobot joined #lisp 2018-02-05T01:54:02Z smurfrobot quit (Read error: Connection reset by peer) 2018-02-05T01:55:18Z fikka quit (Ping timeout: 240 seconds) 2018-02-05T01:55:50Z dieggsy quit (Ping timeout: 252 seconds) 2018-02-05T01:56:55Z nowhere_man joined #lisp 2018-02-05T02:00:32Z nowhereman_ quit (Ping timeout: 265 seconds) 2018-02-05T02:00:55Z fikka joined #lisp 2018-02-05T02:01:57Z orivej quit (Ping timeout: 240 seconds) 2018-02-05T02:02:35Z quazimodo joined #lisp 2018-02-05T02:03:12Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2018-02-05T02:03:30Z arescorpio joined #lisp 2018-02-05T02:04:21Z attila_lendvai quit (Quit: Leaving.) 2018-02-05T02:05:47Z fikka quit (Ping timeout: 276 seconds) 2018-02-05T02:07:46Z fiddlerwoaroof: Did quicklisp or ASDF recently change the way it handles symlinks? 2018-02-05T02:08:44Z fiddlerwoaroof: I've been symlinking libraries into ~/quicklisp/local-projects for a while now and, lately, recent versions of sbcl seem to ignore them 2018-02-05T02:13:00Z smokeink joined #lisp 2018-02-05T02:15:59Z krwq: is there an alist equivalent for this example? (defparameter *x* nil) (pushnew 'test (getf *x* :foo)) (pushnew 'test (getf *x* :foo)) (pushnew 'test2 (getf *x* :foo)) *x* => (:FOO (TEST2 TEST)) 2018-02-05T02:15:59Z borei quit (Read error: Connection reset by peer) 2018-02-05T02:19:46Z Timzi joined #lisp 2018-02-05T02:20:57Z fikka joined #lisp 2018-02-05T02:21:57Z pagnol quit (Ping timeout: 240 seconds) 2018-02-05T02:24:24Z Ven`` joined #lisp 2018-02-05T02:25:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-05T02:28:45Z Ven`` quit (Ping timeout: 260 seconds) 2018-02-05T02:31:03Z warweasle joined #lisp 2018-02-05T02:31:22Z fikka joined #lisp 2018-02-05T02:35:21Z d4ryus1 joined #lisp 2018-02-05T02:35:31Z pmc_ quit (Quit: Leaving) 2018-02-05T02:35:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-05T02:39:07Z d4ryus quit (Ping timeout: 268 seconds) 2018-02-05T02:40:29Z pjb: krwq: com.informatimago.common-lisp.cesarum.list:aget 2018-02-05T02:41:07Z pjb: (let ((a '())) (pushnew 'test (aget a :foo)) (pushnew 'test (aget a :foo)) (pushnew 'test2 (aget a :foo)) (aget a :foo)) #| --> (test2 test) |# 2018-02-05T02:41:25Z fikka joined #lisp 2018-02-05T02:41:32Z krwq: thanks pjb! I thought there was something inside cl but assoc didn't work for me - this looks good though :) thank you! 2018-02-05T02:46:09Z fikka quit (Ping timeout: 256 seconds) 2018-02-05T02:46:26Z deng_cn joined #lisp 2018-02-05T02:46:29Z Timzi: when I'm using the (time form) macro to get a runtime of something, how do I capture that info? Describe says it's printed out to *TRACE-OUTPUT*, how do I get to that? 2018-02-05T02:49:00Z pierpa: (let ((*trace-output* (make-string-output-stream))) (time (+ 1 1)) (get-output-stream-string *trace-output*)) 2018-02-05T02:49:18Z dieggsy joined #lisp 2018-02-05T02:49:47Z pierpa: which you can a write a macro for, if you need it more than once. 2018-02-05T02:51:39Z fikka joined #lisp 2018-02-05T02:52:46Z Timzi: cool, thanks! still trying to grok the common lisp streams 2018-02-05T02:53:24Z pierpa: good look. (They are not complex, anyway) 2018-02-05T02:53:41Z pierpa: oops. "Good luck" 2018-02-05T02:54:11Z Timzi: :) 2018-02-05T02:56:14Z fikka quit (Ping timeout: 256 seconds) 2018-02-05T02:57:26Z pjb: (with-output-to-string (*trace-output*) (time foo)) 2018-02-05T02:57:33Z pjb: pierpa: there's already a macro for that in CL! 2018-02-05T02:58:07Z pierpa: duh! I must dust of some cobwebs! 2018-02-05T02:58:16Z pierpa: *off 2018-02-05T03:00:47Z damke_ joined #lisp 2018-02-05T03:01:44Z fikka joined #lisp 2018-02-05T03:03:21Z damke quit (Ping timeout: 264 seconds) 2018-02-05T03:03:46Z yangby joined #lisp 2018-02-05T03:06:26Z fikka quit (Ping timeout: 256 seconds) 2018-02-05T03:11:10Z beach quit (Ping timeout: 240 seconds) 2018-02-05T03:12:00Z fikka joined #lisp 2018-02-05T03:13:30Z Timzi: oh nice, glad I stuck around, helping me out here 2018-02-05T03:16:45Z fikka quit (Ping timeout: 256 seconds) 2018-02-05T03:20:23Z beach joined #lisp 2018-02-05T03:21:08Z beach: Good morning everyone! 2018-02-05T03:22:00Z fikka joined #lisp 2018-02-05T03:25:18Z red-dot joined #lisp 2018-02-05T03:26:50Z fikka quit (Ping timeout: 256 seconds) 2018-02-05T03:32:17Z fikka joined #lisp 2018-02-05T03:37:33Z fikka quit (Ping timeout: 264 seconds) 2018-02-05T03:37:46Z krwq quit (Remote host closed the connection) 2018-02-05T03:41:03Z deng_cn quit (Read error: Connection reset by peer) 2018-02-05T03:42:43Z fikka joined #lisp 2018-02-05T03:42:48Z iqubic: Morning Beach. 2018-02-05T03:43:04Z deng_cn joined #lisp 2018-02-05T03:43:24Z BitPuffin joined #lisp 2018-02-05T03:44:28Z groovy2shoes quit (Quit: moritura te saluto) 2018-02-05T03:47:50Z fikka quit (Ping timeout: 276 seconds) 2018-02-05T03:52:20Z fikka joined #lisp 2018-02-05T03:54:21Z smokeink quit (Ping timeout: 268 seconds) 2018-02-05T03:56:59Z fikka quit (Ping timeout: 256 seconds) 2018-02-05T04:02:35Z warweasle quit (Quit: Leaving) 2018-02-05T04:02:47Z fikka joined #lisp 2018-02-05T04:05:44Z rippa joined #lisp 2018-02-05T04:07:27Z fikka quit (Ping timeout: 248 seconds) 2018-02-05T04:12:10Z klltkr quit (Ping timeout: 256 seconds) 2018-02-05T04:17:26Z Timzi left #lisp 2018-02-05T04:20:57Z arescorpio quit (Excess Flood) 2018-02-05T04:22:49Z fikka joined #lisp 2018-02-05T04:23:14Z makomo: morning beach :-) 2018-02-05T04:25:51Z dddddd quit (Remote host closed the connection) 2018-02-05T04:28:08Z fikka quit (Ping timeout: 276 seconds) 2018-02-05T04:28:36Z schoppenhauer quit (Ping timeout: 256 seconds) 2018-02-05T04:30:18Z schoppenhauer joined #lisp 2018-02-05T04:30:44Z brucem_ quit (Ping timeout: 276 seconds) 2018-02-05T04:31:13Z solyd joined #lisp 2018-02-05T04:31:46Z pierpa quit (Quit: Page closed) 2018-02-05T04:31:48Z quazimodo quit (Ping timeout: 240 seconds) 2018-02-05T04:32:29Z Ven`` joined #lisp 2018-02-05T04:33:52Z quazimodo joined #lisp 2018-02-05T04:37:09Z Pixel_Outlaw quit (Quit: Leaving) 2018-02-05T04:38:57Z dieggsy quit (Remote host closed the connection) 2018-02-05T04:39:04Z quazimodo quit (Ping timeout: 265 seconds) 2018-02-05T04:39:39Z solyd quit (Quit: solyd) 2018-02-05T04:39:57Z dieggsy joined #lisp 2018-02-05T04:43:00Z fisxoj joined #lisp 2018-02-05T04:43:08Z fikka joined #lisp 2018-02-05T04:44:03Z fisxoj quit (Client Quit) 2018-02-05T04:44:23Z Ven`` quit (Ping timeout: 276 seconds) 2018-02-05T04:45:52Z quazimodo joined #lisp 2018-02-05T04:48:10Z fikka quit (Ping timeout: 260 seconds) 2018-02-05T04:50:36Z ckonstanski quit (Read error: Connection reset by peer) 2018-02-05T04:53:18Z dieggsy quit (Remote host closed the connection) 2018-02-05T04:53:35Z fikka joined #lisp 2018-02-05T04:55:33Z quazimodo quit (Ping timeout: 264 seconds) 2018-02-05T04:58:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-05T05:00:02Z shka joined #lisp 2018-02-05T05:00:02Z damke joined #lisp 2018-02-05T05:01:50Z quazimodo joined #lisp 2018-02-05T05:02:00Z Vicfred quit (Quit: Leaving) 2018-02-05T05:02:09Z damke_ quit (Ping timeout: 264 seconds) 2018-02-05T05:02:24Z Arcaelyx_ joined #lisp 2018-02-05T05:03:29Z Arcaelyx quit (Ping timeout: 248 seconds) 2018-02-05T05:03:38Z fikka joined #lisp 2018-02-05T05:07:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-05T05:09:38Z groovy2shoes joined #lisp 2018-02-05T05:10:14Z dieggsy joined #lisp 2018-02-05T05:12:50Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2018-02-05T05:13:24Z Bike quit (Quit: Lost terminal) 2018-02-05T05:16:26Z cuso4 joined #lisp 2018-02-05T05:19:29Z smokeink joined #lisp 2018-02-05T05:21:18Z cuso4 quit (Ping timeout: 268 seconds) 2018-02-05T05:23:07Z randomstrangerb quit (Ping timeout: 256 seconds) 2018-02-05T05:23:45Z fikka joined #lisp 2018-02-05T05:24:24Z randomstrangerb joined #lisp 2018-02-05T05:25:46Z saki quit (Read error: Connection reset by peer) 2018-02-05T05:26:13Z SuperJen joined #lisp 2018-02-05T05:27:34Z red-dot joined #lisp 2018-02-05T05:28:40Z fikka quit (Ping timeout: 256 seconds) 2018-02-05T05:29:18Z cuso4 joined #lisp 2018-02-05T05:29:57Z JenElizabeth quit (Ping timeout: 240 seconds) 2018-02-05T05:30:05Z quazimodo quit (Ping timeout: 240 seconds) 2018-02-05T05:32:09Z quazimodo joined #lisp 2018-02-05T05:34:10Z fikka joined #lisp 2018-02-05T05:39:21Z fikka quit (Ping timeout: 264 seconds) 2018-02-05T05:41:45Z quazimodo quit (Ping timeout: 265 seconds) 2018-02-05T05:42:21Z damke quit (Ping timeout: 265 seconds) 2018-02-05T05:43:14Z quazimodo joined #lisp 2018-02-05T05:48:26Z quazimodo quit (Ping timeout: 268 seconds) 2018-02-05T05:48:53Z quazimodo joined #lisp 2018-02-05T05:51:15Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-02-05T05:54:15Z fikka joined #lisp 2018-02-05T05:58:26Z pvaneynd joined #lisp 2018-02-05T05:58:57Z fikka quit (Ping timeout: 248 seconds) 2018-02-05T06:02:07Z Oladon quit (Quit: Leaving.) 2018-02-05T06:03:05Z quazimodo quit (Ping timeout: 240 seconds) 2018-02-05T06:05:02Z quazimodo joined #lisp 2018-02-05T06:10:27Z cuso4 quit (Ping timeout: 240 seconds) 2018-02-05T06:13:10Z cuso4 joined #lisp 2018-02-05T06:14:32Z fikka joined #lisp 2018-02-05T06:14:46Z damke joined #lisp 2018-02-05T06:19:33Z fikka quit (Ping timeout: 264 seconds) 2018-02-05T06:33:15Z Arcaelyx_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-05T06:33:19Z chens joined #lisp 2018-02-05T06:33:57Z azrazalea quit (Ping timeout: 256 seconds) 2018-02-05T06:34:53Z fikka joined #lisp 2018-02-05T06:35:57Z jstypo quit (Read error: Connection reset by peer) 2018-02-05T06:39:29Z fikka quit (Ping timeout: 248 seconds) 2018-02-05T06:39:35Z azrazalea joined #lisp 2018-02-05T06:41:42Z Karl_Dscc joined #lisp 2018-02-05T06:43:11Z Chream quit (Ping timeout: 248 seconds) 2018-02-05T06:45:14Z deng_cn quit (Read error: Connection reset by peer) 2018-02-05T06:47:29Z deng_cn joined #lisp 2018-02-05T06:50:39Z SaganMan joined #lisp 2018-02-05T06:53:35Z nullman quit (Ping timeout: 260 seconds) 2018-02-05T06:54:16Z nullman joined #lisp 2018-02-05T06:54:43Z SaganMan quit (Client Quit) 2018-02-05T06:55:09Z fikka joined #lisp 2018-02-05T06:57:54Z dieggsy quit (Quit: sleep) 2018-02-05T06:59:35Z pvaneynd quit (Read error: Connection reset by peer) 2018-02-05T06:59:53Z pvaneynd joined #lisp 2018-02-05T07:00:14Z fikka quit (Ping timeout: 276 seconds) 2018-02-05T07:00:29Z hajovonta joined #lisp 2018-02-05T07:00:44Z wigust joined #lisp 2018-02-05T07:02:02Z shka quit (Ping timeout: 256 seconds) 2018-02-05T07:03:37Z vlatkoB joined #lisp 2018-02-05T07:04:07Z pvaneynd_ joined #lisp 2018-02-05T07:04:18Z pvaneynd quit (Ping timeout: 240 seconds) 2018-02-05T07:06:42Z damke_ joined #lisp 2018-02-05T07:07:40Z emacsoma` joined #lisp 2018-02-05T07:08:45Z damke quit (Ping timeout: 264 seconds) 2018-02-05T07:08:45Z emacsomancer quit (Ping timeout: 264 seconds) 2018-02-05T07:11:45Z N31k joined #lisp 2018-02-05T07:12:57Z emacsoma` quit (Ping timeout: 265 seconds) 2018-02-05T07:13:15Z mishoo_ joined #lisp 2018-02-05T07:13:27Z Karl_Dscc quit (Remote host closed the connection) 2018-02-05T07:15:30Z fikka joined #lisp 2018-02-05T07:19:59Z fikka quit (Ping timeout: 248 seconds) 2018-02-05T07:22:25Z fikka joined #lisp 2018-02-05T07:23:45Z flamebeard joined #lisp 2018-02-05T07:26:48Z fikka quit (Ping timeout: 240 seconds) 2018-02-05T07:32:33Z fikka joined #lisp 2018-02-05T07:32:57Z borei joined #lisp 2018-02-05T07:36:40Z fikka quit (Ping timeout: 240 seconds) 2018-02-05T07:38:24Z oleo quit (Quit: Leaving) 2018-02-05T07:40:29Z tkhoa2711 joined #lisp 2018-02-05T07:42:39Z tkhoa2711 quit (Client Quit) 2018-02-05T07:45:35Z cuso4 quit (Ping timeout: 248 seconds) 2018-02-05T07:50:12Z saki joined #lisp 2018-02-05T07:50:15Z hiroaki joined #lisp 2018-02-05T07:57:31Z N31k quit (Quit: Leaving) 2018-02-05T08:01:32Z Cymew joined #lisp 2018-02-05T08:08:44Z pvaneynd_ quit (Read error: Connection reset by peer) 2018-02-05T08:08:50Z pvaneynd joined #lisp 2018-02-05T08:09:36Z Chream joined #lisp 2018-02-05T08:13:19Z chens quit (Remote host closed the connection) 2018-02-05T08:15:48Z Cymew quit (Remote host closed the connection) 2018-02-05T08:19:48Z jfb4 quit (Ping timeout: 256 seconds) 2018-02-05T08:21:45Z jfb4 joined #lisp 2018-02-05T08:22:10Z Cymew joined #lisp 2018-02-05T08:26:43Z Cymew quit (Ping timeout: 265 seconds) 2018-02-05T08:28:04Z Cymew joined #lisp 2018-02-05T08:28:47Z cuso4 joined #lisp 2018-02-05T08:28:55Z mlf quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-05T08:32:42Z Cymew quit (Ping timeout: 256 seconds) 2018-02-05T08:40:00Z python476 joined #lisp 2018-02-05T08:40:12Z Cymew joined #lisp 2018-02-05T08:41:10Z deng_cn quit (Read error: Connection reset by peer) 2018-02-05T08:44:40Z Cymew quit (Ping timeout: 252 seconds) 2018-02-05T08:46:09Z Cymew joined #lisp 2018-02-05T08:47:59Z Chream quit (Ping timeout: 248 seconds) 2018-02-05T08:50:14Z raynold: ahh it's a wonderful day 2018-02-05T08:50:26Z Cthulhux: hooray Monday 2018-02-05T08:50:32Z Cymew quit (Ping timeout: 255 seconds) 2018-02-05T08:51:31Z varjag joined #lisp 2018-02-05T08:51:44Z deng_cn joined #lisp 2018-02-05T08:52:09Z Cymew joined #lisp 2018-02-05T08:55:56Z Cymew quit (Remote host closed the connection) 2018-02-05T08:56:03Z Cymew joined #lisp 2018-02-05T08:58:12Z Chream joined #lisp 2018-02-05T08:58:21Z nirved joined #lisp 2018-02-05T08:58:33Z damke joined #lisp 2018-02-05T09:00:04Z cuso4 quit (Ping timeout: 252 seconds) 2018-02-05T09:00:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-05T09:01:42Z damke_ joined #lisp 2018-02-05T09:03:22Z fikka joined #lisp 2018-02-05T09:03:44Z damke quit (Ping timeout: 252 seconds) 2018-02-05T09:04:30Z hhdave joined #lisp 2018-02-05T09:05:50Z hajovonta: hi 2018-02-05T09:06:09Z beach: Hello hajovonta. 2018-02-05T09:06:18Z hajovonta: hi beach! 2018-02-05T09:07:45Z fikka quit (Ping timeout: 260 seconds) 2018-02-05T09:12:44Z fikka joined #lisp 2018-02-05T09:13:58Z deng_cn1 joined #lisp 2018-02-05T09:14:04Z deng_cn quit (Ping timeout: 256 seconds) 2018-02-05T09:14:04Z deng_cn1 is now known as deng_cn 2018-02-05T09:17:02Z fikka quit (Ping timeout: 256 seconds) 2018-02-05T09:19:40Z pvaneynd quit (Quit: Leaving...) 2018-02-05T09:22:07Z fikka joined #lisp 2018-02-05T09:23:26Z samebchase joined #lisp 2018-02-05T09:26:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-05T09:27:43Z lambda-p joined #lisp 2018-02-05T09:28:42Z lambda-p quit (Client Quit) 2018-02-05T09:28:50Z lambda-p joined #lisp 2018-02-05T09:28:50Z lambda-p quit (Client Quit) 2018-02-05T09:29:02Z cuso4 joined #lisp 2018-02-05T09:29:28Z lambda-p joined #lisp 2018-02-05T09:30:51Z lonjil quit (Read error: Connection reset by peer) 2018-02-05T09:31:32Z fikka joined #lisp 2018-02-05T09:36:36Z fikka quit (Ping timeout: 268 seconds) 2018-02-05T09:40:51Z fikka joined #lisp 2018-02-05T09:42:25Z gabriel_laddel quit (Ping timeout: 248 seconds) 2018-02-05T09:42:35Z deng_cn quit (Read error: Connection reset by peer) 2018-02-05T09:43:26Z klixto joined #lisp 2018-02-05T09:44:23Z deng_cn joined #lisp 2018-02-05T09:45:30Z fikka quit (Ping timeout: 265 seconds) 2018-02-05T09:49:25Z solyd joined #lisp 2018-02-05T09:50:15Z fikka joined #lisp 2018-02-05T09:51:35Z jfb4 quit (Ping timeout: 240 seconds) 2018-02-05T09:52:51Z jameser joined #lisp 2018-02-05T09:53:53Z jfb4 joined #lisp 2018-02-05T09:54:40Z fikka quit (Ping timeout: 240 seconds) 2018-02-05T09:56:07Z random-nick joined #lisp 2018-02-05T09:58:06Z lambda-p quit (Remote host closed the connection) 2018-02-05T09:58:27Z lnostdal joined #lisp 2018-02-05T09:59:34Z fikka joined #lisp 2018-02-05T10:01:20Z pagnol joined #lisp 2018-02-05T10:03:28Z solyd quit (Quit: solyd) 2018-02-05T10:03:40Z fikka quit (Ping timeout: 240 seconds) 2018-02-05T10:03:48Z jfb4 quit (Ping timeout: 240 seconds) 2018-02-05T10:04:30Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-05T10:05:38Z jfb4 joined #lisp 2018-02-05T10:05:46Z solyd joined #lisp 2018-02-05T10:07:10Z python476 quit (Ping timeout: 252 seconds) 2018-02-05T10:08:51Z fikka joined #lisp 2018-02-05T10:13:45Z Chream quit (Read error: Connection reset by peer) 2018-02-05T10:13:56Z fikka quit (Ping timeout: 276 seconds) 2018-02-05T10:14:42Z cmatei joined #lisp 2018-02-05T10:15:14Z jfb4 quit (Ping timeout: 276 seconds) 2018-02-05T10:16:24Z jfb4 joined #lisp 2018-02-05T10:18:22Z fikka joined #lisp 2018-02-05T10:18:49Z Chream joined #lisp 2018-02-05T10:21:09Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2018-02-05T10:22:05Z rumbler31 joined #lisp 2018-02-05T10:22:25Z jfb4 quit (Ping timeout: 260 seconds) 2018-02-05T10:22:55Z attila_lendvai joined #lisp 2018-02-05T10:24:07Z jfb4 joined #lisp 2018-02-05T10:24:28Z scymtym quit (Ping timeout: 256 seconds) 2018-02-05T10:26:30Z rumbler31 quit (Ping timeout: 260 seconds) 2018-02-05T10:26:30Z fikka quit (Ping timeout: 260 seconds) 2018-02-05T10:29:00Z jfb4 quit (Ping timeout: 256 seconds) 2018-02-05T10:30:18Z WorldControl joined #lisp 2018-02-05T10:30:44Z jfb4 joined #lisp 2018-02-05T10:31:23Z fikka joined #lisp 2018-02-05T10:32:01Z red-dot joined #lisp 2018-02-05T10:33:21Z lambda-p joined #lisp 2018-02-05T10:35:08Z ebzzry joined #lisp 2018-02-05T10:35:09Z SuperJen quit (Ping timeout: 264 seconds) 2018-02-05T10:35:45Z ebzzry: Aside from the computer language benchmarks game, are there are benchmarks between SBCL and GHC? 2018-02-05T10:36:25Z fikka quit (Ping timeout: 260 seconds) 2018-02-05T10:40:50Z fikka joined #lisp 2018-02-05T10:41:36Z scymtym joined #lisp 2018-02-05T10:45:18Z fikka quit (Ping timeout: 240 seconds) 2018-02-05T10:47:01Z wswsw joined #lisp 2018-02-05T10:47:02Z wswsw quit (Client Quit) 2018-02-05T10:49:18Z jackdaniel: I didn't know GHC can compile Lisp code (because I'm sure SBCL can't compile Haskell code :-) 2018-02-05T10:49:59Z beach: Yeah, the two would be very hard to compare. 2018-02-05T10:50:16Z fikka joined #lisp 2018-02-05T10:51:37Z beach: I logged in to EasyChair today, and it seems ELS2018 has not yet been registered, or am I missing something? 2018-02-05T10:52:49Z lambda-p quit (Remote host closed the connection) 2018-02-05T10:53:03Z phoe: beach: you could ask on the mailing list. 2018-02-05T10:53:12Z beach: I suppose I could. 2018-02-05T10:53:15Z beach: There is no rush. 2018-02-05T10:53:17Z scymtym_ joined #lisp 2018-02-05T10:53:28Z beach: I'll ask my favorite coauthor on Wednesday. 2018-02-05T10:54:15Z p_l: would a drakma replacement that depended on C library be welcome, if the dependency was designed to be factored out later without changes to user applications? 2018-02-05T10:55:33Z fikka quit (Ping timeout: 264 seconds) 2018-02-05T10:56:20Z solyd quit (Quit: solyd) 2018-02-05T10:57:18Z scymtym quit (Ping timeout: 240 seconds) 2018-02-05T10:58:01Z Shinmera: p_l: Why not wait with releasing it until you've factored it out? 2018-02-05T10:58:56Z p_l: Shinmera: Want to iterate more on APIs 2018-02-05T10:59:33Z p_l: it's one thing to be drop-in for drakma, but the extra features have to be checked out 2018-02-05T10:59:49Z fikka joined #lisp 2018-02-05T11:01:10Z damke joined #lisp 2018-02-05T11:01:12Z beach: I know nothing about drakma, but what is wrong with it that it needs to be replaced? 2018-02-05T11:01:53Z solyd joined #lisp 2018-02-05T11:02:15Z Shinmera: There's two issues I'm aware of: 1) it's slow 2) it doesn't properly handle unicode filenames in multipart requests 2018-02-05T11:03:15Z Shinmera: 2) doesn't need replacement, "just" a fix 2018-02-05T11:03:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-05T11:03:25Z beach: Right. 2018-02-05T11:03:32Z p_l: there's also HTTP/2 2018-02-05T11:03:40Z Cthulhux: 1) wouldn't need a replacement either 2018-02-05T11:03:41Z cuso4 quit (Ping timeout: 256 seconds) 2018-02-05T11:03:44Z p_l: some APIs to handle SSL better 2018-02-05T11:03:54Z Cthulhux: "just" a more sophisticated fix 2018-02-05T11:04:01Z Shinmera: Cthulhux: It would need a significant rewrite to the point of practically being a replacement. 2018-02-05T11:04:27Z fikka quit (Ping timeout: 256 seconds) 2018-02-05T11:05:00Z p_l: But I don't want to break code that depends on Drakma to have a bunch of new features 2018-02-05T11:05:25Z Cthulhux: given that HTTP moves rather slowly, there is probably no need for a hyperactive development around that either 2018-02-05T11:05:28Z p_l: tbqh, I want to have two packages: drakma-compat-api, and actual implementation 2018-02-05T11:06:19Z p_l: Cthulhux: Yes, HTTP/2 *recently* solidified. And requires *significant* redo because the whole model changed significantly 2018-02-05T11:07:35Z Cthulhux: ha, so we'll get a "drakma/2" and then dormant development until http/3 :D 2018-02-05T11:07:39Z beach: p_l: Are you saying that a rewrite that depends on a C library would require significantly less work than a rewrite that doesn't? 2018-02-05T11:07:47Z p_l: beach: yes 2018-02-05T11:07:57Z p_l: in terms of getting to place that works for people 2018-02-05T11:08:37Z beach: But it would be possible to design the protocols such that the C library could eventually be replaced? 2018-02-05T11:09:00Z p_l: I have a bunch of "short coding things" that I'd love to do in CL, but they usually end up differently because there's a lack of necessary libs which are *not* short undertakings, even for the bare minimum of features 2018-02-05T11:09:03Z p_l: beach: that's the idea 2018-02-05T11:09:20Z fikka joined #lisp 2018-02-05T11:09:27Z p_l: even that it would be easy for Joe Random Hacker later on to swap implementation when they need some custom tweaks 2018-02-05T11:11:59Z JenElizabeth joined #lisp 2018-02-05T11:13:22Z Shinmera: One thing that's still somewhat higher on my todo is bindings for bearssl so that we can finally have an easily shippable SSL implementation that doesn't depend on openssl 2018-02-05T11:13:39Z lnostdal quit (Remote host closed the connection) 2018-02-05T11:13:46Z fikka quit (Ping timeout: 256 seconds) 2018-02-05T11:13:54Z deng_cn quit (Read error: Connection reset by peer) 2018-02-05T11:13:56Z lnostdal joined #lisp 2018-02-05T11:14:18Z Cthulhux: what makes bearssl better than libressl? 2018-02-05T11:14:49Z Shinmera: I don't know too much about libressl, but bearssl has zero dependencies and no malloc/free calls, and other things about it that are very promising. 2018-02-05T11:15:14Z p_l: Shinmera: in scope of similar ideas was to replace current cl+ssl with pluggable implementations 2018-02-05T11:15:52Z p_l: libressl is possibly cleaned up but with arseholes in charge who don't really care about devs outside of OpenBSD 2018-02-05T11:16:09Z Shinmera: Particularly the no deps thing is very interesting to me since that means I can just ship it easily myself. 2018-02-05T11:16:16Z deng_cn joined #lisp 2018-02-05T11:16:28Z lambda-p joined #lisp 2018-02-05T11:16:42Z lambda-p quit (Client Quit) 2018-02-05T11:16:48Z p_l: Shinmera: it could be possibly bundled into one C file that could be compiled by ASDF in presence of compiler and easily precompiled for others (like SQLite is) 2018-02-05T11:16:56Z Shinmera: Yes. 2018-02-05T11:17:07Z p_l: that's a good thing to have 2018-02-05T11:17:57Z p_l: ideally, I'd like to have some common libs (some ediware) replaced with options that are "pluggable" in terms of implementation 2018-02-05T11:18:10Z solyd quit (Quit: solyd) 2018-02-05T11:18:16Z Cthulhux: "ediware" is nice. 2018-02-05T11:18:25Z p_l: it is 2018-02-05T11:18:47Z Shinmera: I'd be fine if the pluggability was simply implemented by offering alternative packages that offer the same interface otherwise, so all you had to do was either replace the :use, or s/r whatever: 2018-02-05T11:18:52Z lambda-p joined #lisp 2018-02-05T11:19:08Z Shinmera: That's what I do for the compatibility interfaces in Parachute. 2018-02-05T11:19:25Z p_l: Shinmera: I was thinking that, + maybe a compat package that provides "classic" package names 2018-02-05T11:19:34Z p_l: so you can just replace a line in your ASDF deps and voila 2018-02-05T11:20:41Z vaporatorius__ quit (Ping timeout: 256 seconds) 2018-02-05T11:23:34Z vaporatorius__ joined #lisp 2018-02-05T11:25:04Z vaporatorius__ quit (Remote host closed the connection) 2018-02-05T11:30:09Z p_l: so if someone likes the challenge, or runs on OpenBSD, they could use libressl 2018-02-05T11:34:45Z jfb4 quit (Ping timeout: 260 seconds) 2018-02-05T11:35:45Z grublet quit (Ping timeout: 264 seconds) 2018-02-05T11:36:30Z jfb4 joined #lisp 2018-02-05T11:37:25Z phs^ joined #lisp 2018-02-05T11:37:26Z phs^ quit (Max SendQ exceeded) 2018-02-05T11:38:35Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2018-02-05T11:43:01Z ebzzry: jackdaniel: :) 2018-02-05T11:44:22Z deng_cn quit (Read error: Connection reset by peer) 2018-02-05T11:46:35Z deng_cn joined #lisp 2018-02-05T11:51:27Z Bike joined #lisp 2018-02-05T11:53:11Z m00natic joined #lisp 2018-02-05T11:56:30Z SuperJen joined #lisp 2018-02-05T11:56:48Z schweers quit (Ping timeout: 240 seconds) 2018-02-05T12:00:06Z JenElizabeth quit (Ping timeout: 256 seconds) 2018-02-05T12:03:11Z drcode quit (Ping timeout: 256 seconds) 2018-02-05T12:08:26Z raynold quit (Quit: Connection closed for inactivity) 2018-02-05T12:12:23Z schweers joined #lisp 2018-02-05T12:12:47Z EvW1 joined #lisp 2018-02-05T12:15:08Z deng_cn quit (Read error: Connection reset by peer) 2018-02-05T12:16:15Z klixto quit (Quit: Konversation terminated!) 2018-02-05T12:17:18Z deng_cn joined #lisp 2018-02-05T12:18:44Z klixto joined #lisp 2018-02-05T12:19:22Z antismap quit (Ping timeout: 256 seconds) 2018-02-05T12:19:34Z orivej joined #lisp 2018-02-05T12:21:21Z saki quit (Ping timeout: 264 seconds) 2018-02-05T12:21:56Z saki joined #lisp 2018-02-05T12:23:36Z antismap joined #lisp 2018-02-05T12:24:57Z dddddd joined #lisp 2018-02-05T12:25:18Z nowhere_man quit (Ping timeout: 240 seconds) 2018-02-05T12:34:14Z yangby quit (Quit: Go out for a walk and buy a drink.) 2018-02-05T12:35:32Z solyd joined #lisp 2018-02-05T12:39:21Z solyd quit (Client Quit) 2018-02-05T12:40:10Z red-dot joined #lisp 2018-02-05T12:43:57Z fikka joined #lisp 2018-02-05T12:47:25Z deng_cn1 joined #lisp 2018-02-05T12:47:27Z deng_cn quit (Ping timeout: 248 seconds) 2018-02-05T12:47:35Z deng_cn1 is now known as deng_cn 2018-02-05T12:51:39Z Denommus joined #lisp 2018-02-05T12:54:33Z openthesky quit (Remote host closed the connection) 2018-02-05T12:55:12Z Tobbi quit (Ping timeout: 256 seconds) 2018-02-05T13:08:15Z damke_ joined #lisp 2018-02-05T13:09:07Z python476 joined #lisp 2018-02-05T13:10:33Z damke quit (Ping timeout: 264 seconds) 2018-02-05T13:13:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-05T13:14:31Z damke_ joined #lisp 2018-02-05T13:14:45Z randomstrangerb quit (Ping timeout: 264 seconds) 2018-02-05T13:16:01Z randomstrangerb joined #lisp 2018-02-05T13:16:51Z cuso4 joined #lisp 2018-02-05T13:17:02Z vap1 joined #lisp 2018-02-05T13:18:05Z vaporatorius joined #lisp 2018-02-05T13:20:10Z damke joined #lisp 2018-02-05T13:21:01Z heurist` joined #lisp 2018-02-05T13:22:31Z heurist quit (Ping timeout: 256 seconds) 2018-02-05T13:23:09Z damke_ quit (Ping timeout: 263 seconds) 2018-02-05T13:23:35Z drcode joined #lisp 2018-02-05T13:23:46Z damke_ joined #lisp 2018-02-05T13:25:44Z porky11 joined #lisp 2018-02-05T13:26:45Z damke quit (Ping timeout: 264 seconds) 2018-02-05T13:28:06Z quotation joined #lisp 2018-02-05T13:31:10Z Tobbi joined #lisp 2018-02-05T13:32:45Z Bike is now known as Bicyclidine 2018-02-05T13:40:48Z Chream quit (Ping timeout: 268 seconds) 2018-02-05T13:42:10Z fikka quit (Ping timeout: 240 seconds) 2018-02-05T13:42:28Z solyd joined #lisp 2018-02-05T13:45:38Z mathi_aihtam joined #lisp 2018-02-05T13:45:40Z mathi_aihtam quit (Remote host closed the connection) 2018-02-05T13:57:18Z EvW1 quit (Ping timeout: 240 seconds) 2018-02-05T13:57:30Z Denommus quit (Quit: restarting Emacs) 2018-02-05T13:58:58Z jstypo joined #lisp 2018-02-05T14:01:04Z Cymew quit (Remote host closed the connection) 2018-02-05T14:01:36Z solyd quit (Quit: solyd) 2018-02-05T14:03:24Z solyd joined #lisp 2018-02-05T14:04:01Z solyd quit (Client Quit) 2018-02-05T14:06:14Z solyd joined #lisp 2018-02-05T14:07:23Z Cymew joined #lisp 2018-02-05T14:09:24Z cuso4: Have anyone here worked with vulkan and lisp? 2018-02-05T14:10:11Z phoe: cuso4: you might want to ask around #lispgames - they're much closer to the GPU than #lisp 2018-02-05T14:10:21Z LiamH joined #lisp 2018-02-05T14:10:32Z cuso4: Oooh, sorry, didnt know of that channel 2018-02-05T14:10:33Z cuso4: thanks 2018-02-05T14:11:44Z Cymew quit (Ping timeout: 252 seconds) 2018-02-05T14:12:40Z ghard joined #lisp 2018-02-05T14:13:16Z Cymew joined #lisp 2018-02-05T14:14:12Z asarch joined #lisp 2018-02-05T14:15:04Z deng_cn quit (Read error: Connection reset by peer) 2018-02-05T14:17:08Z deng_cn joined #lisp 2018-02-05T14:17:35Z Cymew quit (Ping timeout: 248 seconds) 2018-02-05T14:26:32Z papachan joined #lisp 2018-02-05T14:28:05Z milanj joined #lisp 2018-02-05T14:29:56Z Bike joined #lisp 2018-02-05T14:33:11Z Cymew joined #lisp 2018-02-05T14:36:45Z orivej quit (Ping timeout: 256 seconds) 2018-02-05T14:37:53Z Cymew quit (Ping timeout: 256 seconds) 2018-02-05T14:38:57Z oleo joined #lisp 2018-02-05T14:39:13Z Cymew joined #lisp 2018-02-05T14:41:02Z Okami joined #lisp 2018-02-05T14:42:20Z phoe: cuso4: no problem! 2018-02-05T14:43:27Z Cymew quit (Ping timeout: 240 seconds) 2018-02-05T14:43:27Z pagnol quit (Ping timeout: 240 seconds) 2018-02-05T14:45:10Z Cymew joined #lisp 2018-02-05T14:45:33Z deng_cn quit (Read error: Connection reset by peer) 2018-02-05T14:47:49Z deng_cn joined #lisp 2018-02-05T14:49:59Z Cymew quit (Ping timeout: 256 seconds) 2018-02-05T14:51:11Z Cymew joined #lisp 2018-02-05T14:55:27Z Cymew quit (Ping timeout: 248 seconds) 2018-02-05T14:57:07Z Cymew joined #lisp 2018-02-05T14:58:24Z shrdlu68 joined #lisp 2018-02-05T14:59:30Z Okami quit (Quit: leaving) 2018-02-05T14:59:47Z rumbler31 joined #lisp 2018-02-05T15:00:39Z saki quit (Quit: saki) 2018-02-05T15:00:46Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2018-02-05T15:01:26Z Cymew quit (Ping timeout: 256 seconds) 2018-02-05T15:03:02Z Cymew joined #lisp 2018-02-05T15:04:04Z saki joined #lisp 2018-02-05T15:05:03Z Timzi joined #lisp 2018-02-05T15:07:05Z Cymew quit (Ping timeout: 240 seconds) 2018-02-05T15:08:08Z sjl quit (Quit: WeeChat 1.9.1) 2018-02-05T15:09:14Z Cymew joined #lisp 2018-02-05T15:12:46Z klixto quit (Quit: Konversation terminated!) 2018-02-05T15:13:07Z bigos joined #lisp 2018-02-05T15:13:37Z Cymew quit (Ping timeout: 248 seconds) 2018-02-05T15:15:10Z Cymew joined #lisp 2018-02-05T15:15:32Z deng_cn quit (Read error: Connection reset by peer) 2018-02-05T15:17:43Z deng_cn joined #lisp 2018-02-05T15:18:00Z dyelar joined #lisp 2018-02-05T15:19:01Z nowhereman_ joined #lisp 2018-02-05T15:19:27Z Cymew quit (Ping timeout: 240 seconds) 2018-02-05T15:20:30Z nowhereman_ quit (Client Quit) 2018-02-05T15:20:38Z nowhereman_ joined #lisp 2018-02-05T15:21:21Z Cymew joined #lisp 2018-02-05T15:23:47Z smokeink quit (Ping timeout: 256 seconds) 2018-02-05T15:26:03Z Cymew quit (Ping timeout: 256 seconds) 2018-02-05T15:27:19Z larsen- is now known as larsen 2018-02-05T15:32:26Z aindilis quit (Read error: Connection reset by peer) 2018-02-05T15:32:39Z lambda-p quit (Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org) 2018-02-05T15:32:51Z cuso4 quit (Ping timeout: 256 seconds) 2018-02-05T15:33:53Z brendyn quit (Ping timeout: 248 seconds) 2018-02-05T15:34:53Z compro joined #lisp 2018-02-05T15:35:30Z aindilis joined #lisp 2018-02-05T15:41:24Z wigust quit (Quit: ZNC 1.6.5 - http://znc.in) 2018-02-05T15:42:38Z nsrahmad joined #lisp 2018-02-05T15:46:06Z deng_cn quit (Read error: Connection reset by peer) 2018-02-05T15:46:14Z jmercouris joined #lisp 2018-02-05T15:46:23Z jmercouris: Hey everyone, just made my first blog post on /r/programming : https://www.reddit.com/r/programming/comments/7vfkoe/tabs_suck_use_buffers_next_browser/ 2018-02-05T15:46:52Z jmercouris: I'm thinking about making more technical articles in the future, any feedback/upvotes welcome 2018-02-05T15:48:09Z deng_cn joined #lisp 2018-02-05T15:49:50Z fikka joined #lisp 2018-02-05T15:50:24Z nsrahmad quit (Quit: Leaving) 2018-02-05T15:50:37Z nsrahmad joined #lisp 2018-02-05T15:52:15Z cuso4 joined #lisp 2018-02-05T15:52:17Z Arcaelyx joined #lisp 2018-02-05T15:54:55Z fikka quit (Ping timeout: 260 seconds) 2018-02-05T15:56:04Z jackdaniel: I'd name it: tabs are OK and buffers are even better 2018-02-05T15:56:20Z jmercouris: Well, it's too late to change the name now, but thank you for the feedback 2018-02-05T15:56:27Z jmercouris: can you elaborate on why you think that would be better? 2018-02-05T15:56:47Z jackdaniel: I don't necessarily agree with the statement, but I wouldn't put negative message there 2018-02-05T15:56:51Z jackdaniel: that "something sucks" 2018-02-05T15:57:22Z jackdaniel: "I am very good" is better than "he sucks, pick me" if you know what I mean 2018-02-05T15:57:50Z jmercouris: I can see that point of view yeah, to briefly explain my reasoning, I wanted to make it a provocative/eye catching title 2018-02-05T15:58:00Z Arcaelyx_ joined #lisp 2018-02-05T15:58:14Z jmercouris: As I try out a few more technical articles, like exploratory case study articles, this shouldn't be a problem I don't htink 2018-02-05T15:58:38Z jmercouris: anyways, thank you for the feedback 2018-02-05T15:58:52Z dlowe: Something provocative can "increase engagement" but isn't persuasive. 2018-02-05T15:59:19Z jmercouris: yeah, it's best to convince the other individual that the idea is theirs for maximum engagement 2018-02-05T15:59:25Z jmercouris: and agreement, you are correct 2018-02-05T15:59:44Z Arcaelyx quit (Ping timeout: 276 seconds) 2018-02-05T15:59:49Z jmercouris: my goal though was to make it to the top of /r/programming to give it some visibility, so that those who are interested in the project may discover it 2018-02-05T16:00:48Z jmercouris: I feel like there is a lot of room for growth here, I just need to figure out how to reach those who would be interested, and would benefit from using a productiivty browser 2018-02-05T16:00:58Z jmercouris: this will get easier as I make it more user friendly, but now it's a bit tough 2018-02-05T16:01:46Z jmercouris: anyways though, all good lessons, I assume you as users represent a good demographic for people on /r/programming, so I will keep thse things in mind 2018-02-05T16:03:23Z nsrahmad quit (Quit: Leaving) 2018-02-05T16:03:31Z Cymew joined #lisp 2018-02-05T16:08:05Z Cymew quit (Ping timeout: 240 seconds) 2018-02-05T16:08:45Z jfb4 quit (Ping timeout: 264 seconds) 2018-02-05T16:08:47Z hhdave quit (Quit: hhdave) 2018-02-05T16:09:37Z Cymew joined #lisp 2018-02-05T16:10:31Z jfb4 joined #lisp 2018-02-05T16:10:46Z fikka joined #lisp 2018-02-05T16:12:40Z Chream joined #lisp 2018-02-05T16:13:12Z flamebeard quit (Quit: Leaving) 2018-02-05T16:13:53Z compro quit (Ping timeout: 248 seconds) 2018-02-05T16:14:06Z Cymew quit (Ping timeout: 256 seconds) 2018-02-05T16:15:21Z fikka quit (Ping timeout: 256 seconds) 2018-02-05T16:15:37Z Cymew joined #lisp 2018-02-05T16:16:55Z deng_cn quit (Read error: Connection reset by peer) 2018-02-05T16:18:16Z Arcaelyx_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-05T16:19:03Z deng_cn joined #lisp 2018-02-05T16:19:25Z nowhere_man joined #lisp 2018-02-05T16:19:31Z drewc_ joined #lisp 2018-02-05T16:20:23Z Cymew quit (Ping timeout: 265 seconds) 2018-02-05T16:22:31Z Cymew joined #lisp 2018-02-05T16:22:55Z drewc quit (Ping timeout: 260 seconds) 2018-02-05T16:23:10Z nowhereman_ quit (Ping timeout: 256 seconds) 2018-02-05T16:25:49Z compro joined #lisp 2018-02-05T16:27:09Z Cymew quit (Ping timeout: 265 seconds) 2018-02-05T16:29:01Z hajovonta quit (Remote host closed the connection) 2018-02-05T16:29:12Z pagnol joined #lisp 2018-02-05T16:30:25Z randomstrangerb quit (Ping timeout: 248 seconds) 2018-02-05T16:31:39Z randomstrangerb joined #lisp 2018-02-05T16:34:25Z Cymew joined #lisp 2018-02-05T16:35:34Z attila_lendvai quit (Quit: Leaving.) 2018-02-05T16:37:20Z hiroaki quit (Ping timeout: 256 seconds) 2018-02-05T16:37:59Z fikka joined #lisp 2018-02-05T16:38:55Z Cymew quit (Ping timeout: 248 seconds) 2018-02-05T16:39:29Z borei quit (Ping timeout: 248 seconds) 2018-02-05T16:40:23Z Cymew joined #lisp 2018-02-05T16:40:33Z shrdlu68 quit (Ping timeout: 264 seconds) 2018-02-05T16:42:45Z fikka quit (Ping timeout: 260 seconds) 2018-02-05T16:45:08Z Cymew quit (Ping timeout: 256 seconds) 2018-02-05T16:45:30Z billitch: p_l: about a drakma replacement 2018-02-05T16:46:27Z Cymew joined #lisp 2018-02-05T16:46:55Z billitch: have you taken a look at https://github.com/RailsOnLisp/thot 2018-02-05T16:48:04Z billitch: ? 2018-02-05T16:49:58Z hiroaki joined #lisp 2018-02-05T16:51:21Z Cymew quit (Ping timeout: 268 seconds) 2018-02-05T16:52:08Z p_l: first I've seen it 2018-02-05T16:52:31Z Cymew joined #lisp 2018-02-05T16:52:38Z Shinmera: billitch: What does an HTTP server have to do with drakma 2018-02-05T16:52:46Z Shinmera: drakma is a client. 2018-02-05T16:52:57Z billitch: I thought toot 2018-02-05T16:53:35Z billitch: I would write it about the same style. 2018-02-05T16:54:04Z billitch: select or epoll, threaded or unthreaded 2018-02-05T16:54:26Z billitch: backed with http://github.com/cffi-posix 2018-02-05T16:55:05Z p_l: I was actually thinking of using nghttp2 in HTTP2 path while reusing Drakma code (initially) for HTTP1 path 2018-02-05T16:55:32Z billitch: about the same interface as hunchentoot 2018-02-05T16:56:57Z abbe_ is now known as abbe 2018-02-05T16:57:05Z Cymew quit (Ping timeout: 248 seconds) 2018-02-05T16:58:13Z dtornabene joined #lisp 2018-02-05T16:58:21Z Cymew joined #lisp 2018-02-05T17:00:53Z rme: If you use CCL at all, please fill out my little survey at https://goo.gl/forms/xy3oRIazSIo46iCL2 if you are willing to do so (and thanks if you've already filled it out). I'll be closing the survey soon. 2018-02-05T17:05:54Z Cymew quit (Ping timeout: 252 seconds) 2018-02-05T17:10:04Z Bike: What's it for? 2018-02-05T17:10:38Z ebzzry quit (Ping timeout: 256 seconds) 2018-02-05T17:11:07Z rme: I just want to get an idea of what OS and cpu combinations people use. This is partly because I am wondering how much longer I should support 32-bit x86. 2018-02-05T17:11:30Z jmercouris: If you want to know how many people are using it, abruptly drop support and see how many emails you get 2018-02-05T17:12:07Z Shinmera: Ah, the ASDF method 2018-02-05T17:12:10Z Shinmera: :^) 2018-02-05T17:13:17Z rme: By "support 32-bit x86" I mean "support in future releases". The current version isn't going to stop working all of a sudden. 2018-02-05T17:13:22Z jasom: jmercouris: actually at one place I worked we sort of did that. We didn't stop supporting it, but we stopped shipping it, with a note to call us if you want it. 2018-02-05T17:13:36Z jackdaniel: I've filled the survey 2018-02-05T17:13:51Z drewc_ is now known as drewc 2018-02-05T17:13:52Z jasom: jmercouris: apparently there are still dev shops using solaris as of 2017 2018-02-05T17:14:00Z Cymew joined #lisp 2018-02-05T17:14:15Z jmercouris: jasom: That's something isn't it :D 2018-02-05T17:14:25Z jmercouris: We'll probably ship cobol to mars at this rate 2018-02-05T17:14:35Z orivej joined #lisp 2018-02-05T17:14:38Z jasom: and not newfangled x64 open solaris, but good old fashioned sparc 2018-02-05T17:15:01Z jmercouris: do they literally forge themselves new CPUS? or are they hoarding a stockpile of them do you think? 2018-02-05T17:15:28Z jasom: I don't know, but we started buying workstations off of ebay so we could run tests... 2018-02-05T17:15:29Z rme: One survey respondent said that he was still using ccl on a PowerPC Mac running OS X 10.5.7. 2018-02-05T17:16:04Z jmercouris: I think I know who that might be 2018-02-05T17:16:20Z jmercouris: there was someone on #lisp a few weeks ago asking about it getting an implementation running on a very old version of OSX 2018-02-05T17:16:21Z jasom booted up his G4 a couple months ago because his wife's christmas card list was in an appleworks DB... 2018-02-05T17:16:32Z rippa joined #lisp 2018-02-05T17:16:49Z deng_cn quit (Read error: Connection reset by peer) 2018-02-05T17:17:02Z jasom: there is literally no software that can import an appleworks DB, you need to export from appleworks to open it :( 2018-02-05T17:17:21Z jasom: but that's way OT now for #lisp 2018-02-05T17:17:54Z schweers quit (Ping timeout: 265 seconds) 2018-02-05T17:18:26Z fourier joined #lisp 2018-02-05T17:18:42Z Cymew quit (Ping timeout: 256 seconds) 2018-02-05T17:18:53Z deng_cn joined #lisp 2018-02-05T17:19:39Z shrdlu68 joined #lisp 2018-02-05T17:20:08Z pjb: jasom: what about LibreOffice? https://discussions.apple.com/thread/7766612 2018-02-05T17:20:22Z jasom: pjb: it opened it up as gibberish 2018-02-05T17:20:55Z jasom: as a word-processor document; I could find some of the data in the noise, but... 2018-02-05T17:32:23Z Denommus joined #lisp 2018-02-05T17:33:26Z epony quit (Quit: QUIT) 2018-02-05T17:36:46Z solyd quit (Quit: solyd) 2018-02-05T17:39:50Z zooey quit (Ping timeout: 255 seconds) 2018-02-05T17:40:12Z cuso4 quit (Read error: Connection reset by peer) 2018-02-05T17:41:40Z fourier quit (Remote host closed the connection) 2018-02-05T17:42:19Z zooey joined #lisp 2018-02-05T17:42:22Z fourier joined #lisp 2018-02-05T17:44:04Z randomstrangerb quit (Ping timeout: 256 seconds) 2018-02-05T17:45:05Z solyd joined #lisp 2018-02-05T17:45:18Z randomstrangerb joined #lisp 2018-02-05T17:47:14Z dieggsy joined #lisp 2018-02-05T17:47:28Z aindilis quit (Ping timeout: 268 seconds) 2018-02-05T17:47:36Z deng_cn quit (Read error: Connection reset by peer) 2018-02-05T17:48:13Z dieggsy quit (Client Quit) 2018-02-05T17:49:09Z dieggsy joined #lisp 2018-02-05T17:49:46Z deng_cn joined #lisp 2018-02-05T17:52:05Z angelo|2 quit (Ping timeout: 240 seconds) 2018-02-05T17:53:39Z warweasle joined #lisp 2018-02-05T17:56:28Z mejja joined #lisp 2018-02-05T18:00:03Z solyd quit (Quit: solyd) 2018-02-05T18:00:03Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-05T18:00:39Z shka joined #lisp 2018-02-05T18:02:41Z angelo|2 joined #lisp 2018-02-05T18:03:15Z nowhere_man quit (Ping timeout: 260 seconds) 2018-02-05T18:04:48Z khisanth_ quit (Ping timeout: 240 seconds) 2018-02-05T18:04:51Z Kaisyu quit (Quit: Connection closed for inactivity) 2018-02-05T18:07:17Z pjb: jasom: yes, if it's a database file, the probability its format being supported is lower than for a word processor file. 2018-02-05T18:08:31Z raynold joined #lisp 2018-02-05T18:09:32Z pjb: jasom: that said, it's often rather easy to reverse-engineer file formats. I recently did that for a MIDI sysex dump. While it may look puzzling at first, if you let pass a couple of nights over it, you can often find the clue. 2018-02-05T18:10:13Z pjb: That is, if you use lisp to do it: it's very easy to experiment and try systematically various options. 2018-02-05T18:10:16Z randomstrangerb quit (Ping timeout: 256 seconds) 2018-02-05T18:11:33Z randomstrangerb joined #lisp 2018-02-05T18:11:46Z nowhere_man joined #lisp 2018-02-05T18:15:48Z fikka joined #lisp 2018-02-05T18:18:32Z khisanth_ joined #lisp 2018-02-05T18:18:51Z m00natic quit (Remote host closed the connection) 2018-02-05T18:21:23Z fikka quit (Ping timeout: 268 seconds) 2018-02-05T18:21:59Z dvdmuckle quit (Quit: Bouncer Surgery) 2018-02-05T18:22:10Z epony joined #lisp 2018-02-05T18:23:28Z fourier quit (Changing host) 2018-02-05T18:23:28Z fourier joined #lisp 2018-02-05T18:24:21Z dvdmuckle joined #lisp 2018-02-05T18:24:32Z billitch: Is there any way to prevent slime from touching *standard-output* 2018-02-05T18:24:34Z billitch: ? 2018-02-05T18:25:01Z fourier: how to reach maintainers of osicat? want to get my pull request in 2018-02-05T18:25:37Z phoe: billitch: I don't think so. 2018-02-05T18:26:03Z phoe: You can do a trick, though, and make a new thread, and from that thread, fetch the value of *standard-output* - it should be the console output that you are looking for. 2018-02-05T18:27:20Z Shinmera: I think if you avoid loading the slime-repl (and thus slime-fancy). 2018-02-05T18:27:45Z JenElizabeth joined #lisp 2018-02-05T18:27:49Z billitch: actually slime is fine, i want to disable the Lisp reader on stdin and stdout 2018-02-05T18:29:55Z stacksmith: G'day! Is there any portable way to get at lambda-lists of type declarations? like sb-introspect:deftype-lambda-list? 2018-02-05T18:30:23Z SuperJen quit (Ping timeout: 248 seconds) 2018-02-05T18:30:33Z billitch: stacksmith: (defmacro deftype ...) ? 2018-02-05T18:31:05Z stacksmith: Existing types? 2018-02-05T18:32:19Z stacksmith: I've been trying to figure out how swank does it, but all that accomplished is making me feel like a moron. 2018-02-05T18:34:12Z billitch: what are you trying to do ? 2018-02-05T18:34:56Z Xach: fourier: comments on github may work 2018-02-05T18:35:10Z Bike: swank-backend:type-specifier-arglist seems to be what swank does. 2018-02-05T18:35:20Z Shinmera: stacksmith: grepping swank sources for deftype-lambda-list only shows sbcl as having it 2018-02-05T18:35:22Z hiroaki quit (Ping timeout: 252 seconds) 2018-02-05T18:35:54Z warweasle quit (Quit: Leaving) 2018-02-05T18:36:05Z Shinmera: So either other implementations don't offer that or the Slime people haven't implemented it for them. 2018-02-05T18:36:58Z Bike: there's certainly no requirement for implementations to save it. for the semantics you only need the function 2018-02-05T18:37:28Z varjag joined #lisp 2018-02-05T18:39:01Z fourier: Xach: yep i've added a comment now. besides osicat itself fails on clisp and ecl on travis on amaster branch. 2018-02-05T18:42:14Z scymtym_ quit (Ping timeout: 276 seconds) 2018-02-05T18:42:16Z stacksmith: Interesting. Is anyone here using slime with anything other than SBCL? Could you check that typing "(declare (type (integer " in REPL does not show the type lambda-list? 2018-02-05T18:42:40Z Bike: swank also has a default set that works on any implementations 2018-02-05T18:43:19Z phoe: right, you'd need to make a custom DEFTYPE first and check against that 2018-02-05T18:43:21Z ckonstanski joined #lisp 2018-02-05T18:43:58Z stacksmith: I am interested in pulling existing types' lambda-lists... 2018-02-05T18:44:06Z Bike: Why? 2018-02-05T18:45:06Z phoe: like, standard types? 2018-02-05T18:47:47Z compro` joined #lisp 2018-02-05T18:48:47Z deng_cn quit (Read error: Connection reset by peer) 2018-02-05T18:50:37Z xrash quit (Ping timeout: 256 seconds) 2018-02-05T18:50:50Z hiroaki joined #lisp 2018-02-05T18:50:51Z deng_cn joined #lisp 2018-02-05T18:51:27Z stacksmith: To perform some verification of lisp code... 2018-02-05T18:51:27Z compro quit (Ping timeout: 240 seconds) 2018-02-05T18:53:02Z phoe: stacksmith: I don't get it 2018-02-05T18:53:14Z phoe: why do you need lambda lists of standard Lisp types? 2018-02-05T18:53:18Z xrash joined #lisp 2018-02-05T18:53:56Z phoe: you won't be able to do full verification in general case anyway, because of SATISFIES that is able of arbitrary computation 2018-02-05T18:54:19Z stacksmith: To see if forms conform to the structural description provided by lambda-lists. 2018-02-05T18:54:54Z Bike: i'm not sure what that means 2018-02-05T18:55:03Z Bike: phoe: satisfies has a pretty simple lambda list 2018-02-05T18:55:17Z Bike: stacksmith: you mean you want to look at type declarations and decide if they're valid? 2018-02-05T18:55:40Z phoe: oh, you don't want to check types, you want to see if a thing is a valid type specifier 2018-02-05T18:56:12Z Karl_Dscc joined #lisp 2018-02-05T18:59:10Z surya joined #lisp 2018-02-05T18:59:20Z stacksmith: I need to detect structural defects with forms, without any semantics. Just that required parameters are there, keywords are not out-of-whack, etc. A lint of sorts. 2018-02-05T19:00:00Z Bike: i see. i'm not sure if that can be done portably. i don't think ccl even saves the lambda list. 2018-02-05T19:00:10Z ft quit (Ping timeout: 240 seconds) 2018-02-05T19:00:13Z Bike: doesn't expand a typexpand either, i don't think 2018-02-05T19:01:15Z stacksmith: Bike: thanks that is helpful. 2018-02-05T19:02:40Z Bike: really, i'd think it would be pretty tricky in general since macro expansions can of course involve arbitrary code execution. 2018-02-05T19:03:27Z shrdlu68: I'm doing some micro-optimization and wondering - is #'= optimal for comparing bits for equivalence? 2018-02-05T19:03:46Z Shinmera: It's optimal if it knows the types. 2018-02-05T19:03:55Z shrdlu68: ^I mean equality. 2018-02-05T19:03:56Z stacksmith: Bike: True enough. I don't need an absolute assurance, just elimination of obvious errors. 2018-02-05T19:04:30Z shrdlu68: Cool. It's really surprising the difference type declarations make. 2018-02-05T19:06:43Z surya_ joined #lisp 2018-02-05T19:07:25Z quotation quit (Quit: Connection closed for inactivity) 2018-02-05T19:08:50Z shrdlu68: Holy Cthulhu! Inlining reduces time by ~10s. 2018-02-05T19:10:19Z stacksmith: Is it logical to assume that standard CL type declarations in conforming implementations must have similar-enough lambda-lists? Is there anything wrong with extracting lambda-lists for all standard types and using them with any implementation? 2018-02-05T19:10:31Z honix joined #lisp 2018-02-05T19:10:43Z WorldControl quit (Ping timeout: 268 seconds) 2018-02-05T19:12:23Z Bike: the standard cl types have defined lambda lists. that's why swank has a database of them that works on all implementations, as aforementioned. 2018-02-05T19:12:56Z stacksmith: Bike: where is swank's database? 2018-02-05T19:13:05Z surya_ quit (Ping timeout: 240 seconds) 2018-02-05T19:13:50Z surya quit (Ping timeout: 260 seconds) 2018-02-05T19:13:52Z Bike: swank-backend::*type-specifier-arglists*, defined in backend.lisp 2018-02-05T19:14:25Z Bike: there actually aren't that many standard compound types, as you can see 2018-02-05T19:15:22Z stacksmith: Bike: thanks. 2018-02-05T19:20:31Z terpri quit (Ping timeout: 248 seconds) 2018-02-05T19:20:50Z nowhere_man quit (Ping timeout: 260 seconds) 2018-02-05T19:29:26Z Cymew joined #lisp 2018-02-05T19:29:31Z billitch: Common Lisp : even the FIFOs are wrong 2018-02-05T19:30:56Z billitch: stacksmith: have you taken a look at common lisp type checkers ? i know Qi/Shen has one 2018-02-05T19:33:47Z Intensity joined #lisp 2018-02-05T19:34:15Z Cymew quit (Ping timeout: 260 seconds) 2018-02-05T19:37:32Z sukaeto: jmercouris: FWIW, there are extensions for the most popular browsers that give you that functionality. For example, I've been pretty happy with this one in Chrome: https://chrome.google.com/webstore/detail/quick-tabs/jnjfeinjfmenlddahdjdmgpbokiacbbb?hl=en 2018-02-05T19:38:31Z jmercouris: sukaeto: that's pretty cool 2018-02-05T19:38:41Z honix quit (Quit: Page closed) 2018-02-05T19:38:54Z jmercouris: I'm doing an article soon that has no equivalency 2018-02-05T19:38:56Z jmercouris: and that is hooks 2018-02-05T19:39:02Z stacksmith: billitch: I have not (and probably should). However I have little interest in actually checking types, reading the forms in question, or interning any symbols. Just a structural check on a source representation of a representation of lisp code. 2018-02-05T19:39:33Z stacksmith: blah, my typing is subpar. 2018-02-05T19:40:28Z billitch: stacksmith: i would use it for a generalized refactoring of CL type system 2018-02-05T19:40:48Z billitch: some kind of translation to CL2 2018-02-05T19:41:12Z billitch: with interfaces with or without multiple dispatch 2018-02-05T19:41:25Z stacksmith: not representation of representation , just representation. billitch: What are you referring to? A type-checker? 2018-02-05T19:41:32Z kdridi joined #lisp 2018-02-05T19:41:36Z billitch: the swank db 2018-02-05T19:41:41Z billitch: =) 2018-02-05T19:42:24Z stacksmith: billitch: ah. Well, there is not much there. Swank does some things that may be not so good, like &any which is not as useful as it should be... 2018-02-05T19:42:27Z billitch: i love common lisp but hate some packaging idiosyncraties 2018-02-05T19:42:29Z billitch: cies* 2018-02-05T19:43:36Z billitch: have stable core interfaces with even no variable length arguments 2018-02-05T19:43:59Z billitch: have it all context free up to a certain level of functionality 2018-02-05T19:44:23Z billitch: clojure is good at APIs it would seem 2018-02-05T19:44:40Z stacksmith: billitch: It may be hard as apply and &rest kind of work together, pretty low down... 2018-02-05T19:45:18Z billitch: stacksmith: i would give them a star 2018-02-05T19:45:31Z billitch: except for #'+ 2018-02-05T19:45:41Z Bike: ??? 2018-02-05T19:45:46Z billitch: i would also like nested directories/packages 2018-02-05T19:46:30Z billitch: and implement ls throughout to navigate the lisp image like a unix system 2018-02-05T19:46:38Z stacksmith: billitch: I've thought about many things like that, and generally after much thinking find many reasons to not do that... 2018-02-05T19:47:01Z billitch: so every variable/definition/etc is a directory 2018-02-05T19:47:19Z billitch: and linked lists become hierarchical trees/graphs 2018-02-05T19:47:19Z kdridi: Hey guys! I’m working on a small lisp interpreter in c++. With lisp-like-fully-featured language is the easiest to implement? 2018-02-05T19:47:33Z stacksmith: Scheme? 2018-02-05T19:47:38Z Bike: full features aren't easy to implement 2018-02-05T19:47:53Z stacksmith: Lisp In Small Pieces 2018-02-05T19:47:55Z Bike: also, this is a channel for a particular language, common lisp 2018-02-05T19:47:58Z Bike: maybe try ##lisp 2018-02-05T19:48:20Z kdridi: stacksmith: thx for the advice ;-) 2018-02-05T19:48:39Z kdridi: Bike: I’ll try that, thx! ;-) 2018-02-05T19:49:49Z deng_cn quit (Read error: Connection reset by peer) 2018-02-05T19:50:01Z billitch: are there scenegraph libraries in CL ? 2018-02-05T19:50:17Z stacksmith: billitch: CL syntax is a local minimum that is pretty hard to beat. Hierarchies of packages for instance introduce many ambiguous situations, some quite bizzare. 2018-02-05T19:50:52Z billitch: stacksmith: i already have hierarchical packages if i put / or . in their names 2018-02-05T19:51:15Z jackdaniel: billitch: https://github.com/borodust/cl-bodge 2018-02-05T19:51:17Z stacksmith: ? 2018-02-05T19:51:19Z billitch: I'm currently writing a VFS in common-lisp 2018-02-05T19:51:48Z billitch: and actually every value can be addressed by a hierarchical pathname 2018-02-05T19:52:05Z deng_cn joined #lisp 2018-02-05T19:52:11Z billitch: plus it seems to be a way to think and organize persistent data that almost every human is OK with 2018-02-05T19:52:51Z stacksmith: What makes it a hierarchy as opposed to a bunch of names with / or . 's in them? 2018-02-05T19:52:53Z billitch: maybe the only transcendental thing about operating systems and programming languages is they all reimplement the hierarchical file naming system as a core component 2018-02-05T19:53:10Z billitch: that and a memory management unit 2018-02-05T19:53:51Z fourier quit (Remote host closed the connection) 2018-02-05T19:54:22Z jackdaniel: you're welcome ;-) 2018-02-05T19:54:31Z krwq joined #lisp 2018-02-05T19:55:25Z billitch: many lisp students come at one point where they reimplement lisp, but very few C programmers get to a point where they just recode VFS features, unix is well accepted now i think 2018-02-05T19:55:45Z shrdlu68 quit (Ping timeout: 248 seconds) 2018-02-05T19:55:46Z billitch: only unix idiosyncracies have run a long way too 2018-02-05T19:57:00Z billitch: I've trolled the OpenBSD mailing lists in the past to advocate Common Lisp now the other way around 2018-02-05T19:57:13Z stacksmith: billitch: while I applaud your effort, unix file systems have some unbearable issues with links, searches and general fucklery... 2018-02-05T19:57:17Z billitch: please, take a look at this project : http://github.com/cffi-posix 2018-02-05T19:58:09Z billitch: stacksmith: i do not know any open source project not primarily targeting the unix/ftp/vfat filesystems as persistence database 2018-02-05T19:58:20Z billitch: as a data itself 2018-02-05T19:58:40Z stacksmith: ? 2018-02-05T19:59:20Z borodust: jackdaniel: what was it? did you summon the bodge overlord? ;p 2018-02-05T19:59:23Z billitch: we as programmers tend to underestimate the filesystem because we already attribute historical functions to it and is core to our historical understanding of computers 2018-02-05T19:59:52Z jackdaniel: I've answered your question regarding scenegraph implementation in CL 2018-02-05T20:00:29Z billitch: i would lay out every lisp function as a file and a directory with all introspection informations available 2018-02-05T20:00:46Z billitch: because it is natural to browse data using `cd` and `ls` 2018-02-05T20:01:02Z billitch: it does not have to really be on disk 2018-02-05T20:01:06Z damke joined #lisp 2018-02-05T20:01:14Z billitch: i used to have all of ~/.cache/common-lisp on a ramdisk 2018-02-05T20:02:50Z BitPuffin quit (Remote host closed the connection) 2018-02-05T20:03:24Z stacksmith: billitch: gah. Seriously, consider what it means to have a hierarchy of packages. Do packages contain other packages? Is there a search mechanism that uses the hierarchy? Is there a dynamic 'path' mechanism? what happens to symbols that collide? This is a serious tarpit. 2018-02-05T20:03:26Z random-nick quit (Read error: Connection reset by peer) 2018-02-05T20:03:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-05T20:03:58Z billitch: (defmethod ls ((pkg package)) ...) 2018-02-05T20:04:13Z billitch: there you get symbols, other packages, etc 2018-02-05T20:05:35Z billitch: cat /home/dx/package.lisp/my-package/my-function :- prints out function definition 2018-02-05T20:05:59Z jfb4 quit (Ping timeout: 256 seconds) 2018-02-05T20:06:50Z asarch quit (Quit: Leaving) 2018-02-05T20:07:24Z billitch: we early on intuited the rule that a hierarchical pathname is a slow interface because it has to be on disk but it is not true it is just an addressing scheme 2018-02-05T20:07:31Z pjb: billitch: cf. com.informatimago.common-lisp.interactive.interactive:lspack 2018-02-05T20:07:58Z jfb4 joined #lisp 2018-02-05T20:08:16Z billitch: ah I was sure I was not the first to think that way 2018-02-05T20:08:22Z billitch: pjb: thanks 2018-02-05T20:08:55Z billitch: I have this going on : https://github.com/kmx-io/remap 2018-02-05T20:09:03Z pjb: billitch: also, somebody implemented a FUSE giving access to a lisp image. So CL functions are accessible to the shell as commands found in directories corresponding to packages. 2018-02-05T20:09:19Z billitch: pjb: awesome =) 2018-02-05T20:09:24Z rumbler31: what? 2018-02-05T20:09:26Z pjb: It was a few years ago, perhaps it has bit-rotten some? 2018-02-05T20:09:44Z billitch: I want it the other way around : that all VFS be running in user land 2018-02-05T20:10:00Z billitch: and identification is done with public key crypto 2018-02-05T20:10:57Z stacksmith: billitch: what you are describing is not a hierarchy. Packages are flat. You are talking about a shell-like interface for the REPL, which can be useful but linux command semantics are rather different than lisp functions... 2018-02-05T20:11:34Z billitch: a shell is a lisp without quote 2018-02-05T20:12:04Z stacksmith: what is *print-circle* ? 2018-02-05T20:12:13Z pjb: clhs *print-circle* 2018-02-05T20:12:13Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/v_pr_cir.htm 2018-02-05T20:12:34Z billitch: stacksmith: yes but at the very least i should be able to use the same interface to list packages, functions, generics, ... 2018-02-05T20:12:54Z billitch: they are in the "running lisp image" directory 2018-02-05T20:13:03Z stacksmith: (describe ...) 2018-02-05T20:13:07Z billitch: in my utopic vfs 2018-02-05T20:14:12Z billitch: i think the only trouble is that by the time we teached hierarchical file naming systems we mostly teached slow operating systems and databases 2018-02-05T20:14:38Z billitch: and it's only default as a valid subject is that everyone is concerned with it 2018-02-05T20:15:25Z stacksmith: I mean, I think I understand what you want (and I want something similar, I think). But many of us consider filesystems a somewhat necessary evil, do not appreciate their semantics, consider graphs superior to trees, feel that Lisp should not be contaminated by the underlying OS, etc. 2018-02-05T20:16:10Z billitch: yes well i was concerned with easy representations of graphs and tried to survey what naming schemes were good, and there is mostly : Flat, and Hierarchical 2018-02-05T20:16:57Z billitch: Hierarchical completely winning over the persistent and transactional data with URL and UNIX and MS VFS 2018-02-05T20:17:03Z billitch: in term of users 2018-02-05T20:17:40Z billitch: I'm currently flat with http://github.com/thodg/facts 2018-02-05T20:19:03Z billitch: pjb: CL never rots =) 2018-02-05T20:19:16Z stacksmith: Filesystems hierarchies completely miss the mark in that there is a pretense that files are things that are inside other things. That worked for Mac Plus and a floppy to show people that 'computers are simple - store your recipes in a 'recipe' folder'. The mess with hard and symbolic links... Well, I don't want to preach. let me know when it works. 2018-02-05T20:20:02Z mason left #lisp 2018-02-05T20:20:20Z billitch: stacksmith: well I come from the Web2 crowd and they did an awesome work upon the RESTful URIs basically replacing the UNIX vfs 2018-02-05T20:20:33Z deng_cn quit (Read error: Connection reset by peer) 2018-02-05T20:20:43Z billitch: stacksmith: what's wrong with links ? 2018-02-05T20:21:19Z billitch: with REST and URI a file has a type and can be a directory 2018-02-05T20:22:31Z billitch: but in CL a symbol can have a function and data so it is more a namespace than an actual data structure 2018-02-05T20:22:37Z deng_cn joined #lisp 2018-02-05T20:22:41Z stacksmith: I stay as far away from the Web2 crowd, and will avoid Web3 crowd just as I did with Web1 crowd. With any luck I will live long enough to avoid Web4... 2018-02-05T20:22:45Z billitch: no reason it could not be hierarchical 2018-02-05T20:23:24Z billitch: there might or might not be overlap between naming and CLOS 2018-02-05T20:23:52Z billitch: no reason to support the python packages in filesystem thing 2018-02-05T20:24:25Z billitch: i tend to have lisp systems in their own directory 2018-02-05T20:25:40Z scymtym joined #lisp 2018-02-05T20:26:12Z billitch: stacksmith: I host most services on UNIX with hard and symbolic links part of the core features I use 2018-02-05T20:26:18Z billitch: it works 2018-02-05T20:26:24Z billitch: BSD and Linux 2018-02-05T20:26:30Z stacksmith: You are still not talking about hierarchies or containment or inheritance or dynamic search mechanism or anything other than calling packages "directories" for no reason. A brilliant part of Lisp is separating symbols from other things, and defining very simple rules about how symbols are found. 2018-02-05T20:26:33Z billitch: with SBCL 2018-02-05T20:26:44Z stacksmith: I mean if you have a hammer, everything is a nail. 2018-02-05T20:26:58Z billitch: CL and UNIX are big hammers =D 2018-02-05T20:27:17Z billitch: a / separated string is a very powerful hammer 2018-02-05T20:27:49Z billitch: gives order, is composable, good key for key value in a graph db 2018-02-05T20:28:14Z billitch: very smart choice by os designers if you want my opinion 2018-02-05T20:29:03Z billitch: question is why data is not more like its addressing scheme to exhibit functional programming primitives 2018-02-05T20:29:20Z stacksmith: I prefer finer tools. C is a hammer. CL can be used as a hammer, much like keyboard, with varying results. I can think of many reasons for a hierarchy of packages, but to make it more like Unix is far from any of them. 2018-02-05T20:29:42Z billitch: stacksmith: I like precise, simple, hackable hammers 2018-02-05T20:29:55Z jackdaniel: I don't think many people here are as enthusiastic as you with unix (I mean - most of us probably use Linux or Unix on daily basis, but that's far from being overjoyed how things are on these systems) 2018-02-05T20:30:19Z billitch: jackdaniel: I build all my system from sources, i486 2018-02-05T20:30:25Z stacksmith: Ditto. We put up with it. 2018-02-05T20:30:29Z billitch: all lisp packages are open source from git 2018-02-05T20:30:32Z phoe: unix is decent 2018-02-05T20:30:34Z Xach: Shinmera: Do you ever have trouble connecting to api.twitter.com for chirp stuff? I'm not getting any rate limiting errors, but my cron job keeps timing out just trying to make an SSL connection. 2018-02-05T20:30:47Z stacksmith: It's better than propriatary bullshit. 2018-02-05T20:30:49Z billitch: I think if there is a bug I have a way to fix it. 2018-02-05T20:31:37Z stacksmith: But files are an abstraction that some of us consider unfortunate, and others have proven to be unnecessary. 2018-02-05T20:31:45Z billitch: OT: we should have an SSL opt-out for everything 2018-02-05T20:32:12Z billitch: stacksmith: I agree all of my Lisp stack is flat namespacing 2018-02-05T20:32:21Z billitch: I'm afraid of scaling 2018-02-05T20:32:42Z compro` quit (Ping timeout: 252 seconds) 2018-02-05T20:33:12Z billitch: We could live try multiple versions of package with ability to roll-back loading 2018-02-05T20:33:22Z billitch: same package in different namespace 2018-02-05T20:34:29Z billitch: i'm thinking about paying a CL compiler 2018-02-05T20:34:33Z billitch: is it worth it ? 2018-02-05T20:34:44Z billitch: I mean I almost never had trouble with SBCL 2018-02-05T20:35:11Z billitch: I think most companies use LispWorks 2018-02-05T20:35:14Z stacksmith: Well, you may be confusing a package with other things... There are good reasons for packages containing symbols, and not systems. 2018-02-05T20:35:58Z billitch: well ls could come with a schematic contains-types method to only have symbols and packages 2018-02-05T20:37:14Z billitch: there would be good reasons for (contains-type # 'asdf:system) to return NIL 2018-02-05T20:39:30Z stacksmith: billitch: I have to go.. Good luck with your quest. 2018-02-05T20:40:01Z billitch: =) 2018-02-05T20:40:06Z billitch: cheers 2018-02-05T20:41:28Z random-nick joined #lisp 2018-02-05T20:41:58Z billitch: jackdaniel: what's wrong with those Unices ? 2018-02-05T20:42:24Z billitch: where's Mezzano at now ? 2018-02-05T20:43:10Z billitch: i'm wondering how they will mix persistence and multi-user permissions 2018-02-05T20:43:53Z kdridi quit (Quit: Mutter: www.mutterirc.com) 2018-02-05T20:45:24Z billitch: I'm actually surprised these big computing paradigms did not mix more by themselves 2018-02-05T20:45:42Z billitch: we all seem to use the same brand 2018-02-05T20:46:14Z billitch: of course that is what every meta grammar is about 2018-02-05T20:46:29Z billitch: self recognition first 2018-02-05T20:46:38Z fluke` quit (Read error: Connection reset by peer) 2018-02-05T20:48:12Z billitch: i'm interested in physical persistence points of meta grammars 2018-02-05T20:48:35Z billitch: would there be such an awesome domain name ? 2018-02-05T20:49:16Z fluke` joined #lisp 2018-02-05T20:50:46Z deng_cn quit (Read error: Connection reset by peer) 2018-02-05T20:50:57Z shka quit (Ping timeout: 240 seconds) 2018-02-05T20:52:49Z kdridi joined #lisp 2018-02-05T20:52:58Z deng_cn joined #lisp 2018-02-05T20:54:34Z fluke` quit (Read error: Connection reset by peer) 2018-02-05T20:55:07Z fluke` joined #lisp 2018-02-05T20:55:34Z kdridi quit (Client Quit) 2018-02-05T20:56:01Z klixto joined #lisp 2018-02-05T21:00:27Z Murii joined #lisp 2018-02-05T21:01:33Z LiamH quit (Quit: Leaving.) 2018-02-05T21:01:48Z Denommus quit (Ping timeout: 240 seconds) 2018-02-05T21:04:24Z KongWubba joined #lisp 2018-02-05T21:08:53Z jmercouris: Is there a way to have a hash have an initialized value? 2018-02-05T21:09:00Z phoe: jmercouris: what do you mean? 2018-02-05T21:09:04Z jmercouris: like if I want to have a hash of hash tables 2018-02-05T21:09:14Z phoe: jmercouris: give us a more concrete example 2018-02-05T21:09:16Z jmercouris: I want to be able to say (gethash "key" parent-hash) and already have it have a hash table that I can edit 2018-02-05T21:09:23Z phoe: uh 2018-02-05T21:09:26Z jmercouris: I know about default values 2018-02-05T21:09:33Z phoe: just (setf (gethash "key" parent-hash) (make-hash-table)) 2018-02-05T21:09:39Z phoe: and boom, you have a hash table there 2018-02-05T21:09:43Z jmercouris: Yeah, I know that 2018-02-05T21:09:51Z jmercouris: the issue is I don't want to make two branches for my code 2018-02-05T21:09:56Z jmercouris: one in in which the hash table already exists 2018-02-05T21:10:00Z jmercouris: and one in which it does not yet exist 2018-02-05T21:10:17Z phoe: write some kind of ENSURE-HASH-TABLE 2018-02-05T21:10:30Z hiroaki quit (Ping timeout: 260 seconds) 2018-02-05T21:10:32Z jmercouris: can you explain that please? 2018-02-05T21:11:14Z Bike: (defmacro ensure-gethash (key table default) `(multiple-value-bind (value presentp) (gethash key table) (if presentp value (setf (gethash key table) default)))) 2018-02-05T21:11:17Z rpg joined #lisp 2018-02-05T21:11:18Z Bike: plus gensyms 2018-02-05T21:11:39Z Bike: then just use ensure-gethash instead of gethash 2018-02-05T21:12:01Z jmercouris: Let me study your code for a second and see if I can understand it 2018-02-05T21:12:37Z Bike: it's like gethash, except that if the key wasn't already in the table, it evaluates the default and puts it in the table (and returns it) 2018-02-05T21:12:41Z jmercouris: okay i think I get it 2018-02-05T21:12:51Z shka joined #lisp 2018-02-05T21:12:54Z Bike: so you just have (ensure-gethash "key" parent-hash (make-hash-table)) 2018-02-05T21:13:12Z Bike: if "key" is already in the table, it returns the value; otherwise it makes a hash table and inserts it under "key" 2018-02-05T21:13:28Z jmercouris: right 2018-02-05T21:13:31Z stacksmith: alexandria:ensure-gethash 2018-02-05T21:13:33Z jmercouris: and it could work for any value 2018-02-05T21:13:49Z phoe: stacksmith: alexandria has it? wonderful 2018-02-05T21:13:52Z jmercouris: not just another hash table because you provide an abstract mechanism 2018-02-05T21:14:31Z jmercouris: Bike: Thank you for the code 2018-02-05T21:14:36Z jmercouris: I understand it to 2018-02-05T21:14:41Z jmercouris: maybe I can use this pattern elsewhere as well 2018-02-05T21:14:44Z stacksmith: alexandria:ensure-gethash "Like GETHASH, but if KEY is not found in the HASH-TABLE saves the DEFAULT 2018-02-05T21:14:44Z stacksmith: under key before returning it. Secondary return value is true if key was 2018-02-05T21:14:44Z stacksmith: already in the table." 2018-02-05T21:14:50Z Bike: yes, alexandria's is the same. 2018-02-05T21:14:51Z phoe: jmercouris: that's a common pattern, yes. 2018-02-05T21:14:57Z phoe: ENSURE-FOO is often seen in Lisp code. 2018-02-05T21:15:10Z jmercouris: its a good pattern, I like it 2018-02-05T21:15:18Z quazimodo quit (Ping timeout: 240 seconds) 2018-02-05T21:15:27Z jmercouris: I remember so many times in python writing convoluted branching code to ensure the existence of something 2018-02-05T21:15:39Z jmercouris: I see how it could have been replaced with a macro or function so much easier now 2018-02-05T21:16:24Z terpri joined #lisp 2018-02-05T21:16:43Z jmercouris: I might as well use alexandria since I am already using it elsewhere 2018-02-05T21:17:42Z phoe: jmercouris: the more you know, the better your Lisp 2018-02-05T21:17:44Z phoe: <3 2018-02-05T21:18:26Z dlowe: to be fair, there was probably an easy way to do it in python, too 2018-02-05T21:18:41Z jmercouris: not really, no 2018-02-05T21:18:49Z jmercouris: I always ended up writing functions for it 2018-02-05T21:19:15Z jmercouris: phoe: thanks :) 2018-02-05T21:20:02Z jmercouris: dlowe: to be fair there is a dict in python defaultdict 2018-02-05T21:20:04Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-05T21:20:14Z jmercouris: that in a convoluted roundabout way technically achieves the same results 2018-02-05T21:20:49Z jmercouris: https://docs.python.org/2/library/collections.html#defaultdict-examples 2018-02-05T21:21:10Z deng_cn quit (Read error: Connection reset by peer) 2018-02-05T21:21:16Z kdridi joined #lisp 2018-02-05T21:21:30Z rpg joined #lisp 2018-02-05T21:23:38Z deng_cn joined #lisp 2018-02-05T21:23:47Z kdridi quit (Client Quit) 2018-02-05T21:23:50Z stacksmith: There is always a way to do a given thing in any language. The questions are: how ugly is it? can you do it once and never think about it again? 2018-02-05T21:24:36Z hiroaki joined #lisp 2018-02-05T21:25:06Z stacksmith: More importantly: can you change your language to do it for you, using the same language? 2018-02-05T21:25:11Z phoe: (defmacro do-it-once-and-never-think-about-it-again (&rest shit-to-do) ...) 2018-02-05T21:25:18Z fikka joined #lisp 2018-02-05T21:26:06Z krwq: does anyone perhaps have or know some good setup for swig lispification? (i.e. constants in format +foo-bar+ etc) 2018-02-05T21:26:46Z z3t0 joined #lisp 2018-02-05T21:27:55Z jmercouris: I'm having a strange error trying to compile my code with ensure-gethash https://gist.github.com/f5cc42b6d8d663df4e387684746c8ca1 2018-02-05T21:27:57Z krwq: unless you recommend something else for generating bindings 2018-02-05T21:28:19Z dlowe: can you add features to your language without having to wait for the blessing of the language maintainers? 2018-02-05T21:28:42Z Bike: jmercouris: bad let syntax 2018-02-05T21:28:54Z jmercouris: Bike: Ah damnit yes 2018-02-05T21:28:58Z jmercouris: I've been using my own with-result macro lately 2018-02-05T21:29:09Z jmercouris: which has slightly different syntax, maybe I should make it look more like let 2018-02-05T21:29:15Z jmercouris: thank you 2018-02-05T21:29:18Z mejja quit (Quit: mejja) 2018-02-05T21:29:59Z Bike: incidentally, i'd probably abstract it a little more and (defun hook-hash (name) (ensure-gethash hook-name *available-hooks* (make-hash-table ...))) 2018-02-05T21:31:29Z jmercouris: I don't understand 2018-02-05T21:31:35Z jmercouris: can you please explain? 2018-02-05T21:31:48Z jmercouris: is "hook-name" in the function body supposed to be "name"? 2018-02-05T21:32:17Z vaporatorius__ joined #lisp 2018-02-05T21:33:04Z vaporatorius quit (Quit: Leaving) 2018-02-05T21:33:11Z Bike: er, yes. 2018-02-05T21:33:14Z vap1 quit (Quit: Leaving) 2018-02-05T21:33:20Z Bike: just a simple thing. in case you change the hash table test later or something. 2018-02-05T21:33:37Z jmercouris: Ah okay, I see 2018-02-05T21:33:39Z jmercouris: perhaps 2018-02-05T21:33:52Z vaporatorius joined #lisp 2018-02-05T21:34:00Z jmercouris: I'm generally okay with breaking api though, as I'm not even in version 1.0 yet 2018-02-05T21:34:01Z vaporatorius quit (Read error: Connection reset by peer) 2018-02-05T21:34:09Z aindilis joined #lisp 2018-02-05T21:36:04Z Bike: hings should be easy to fix once you've broken them 2018-02-05T21:36:13Z jmercouris: :D 2018-02-05T21:36:34Z jmercouris: I'm not sure if you are saying that as a suggestion, or as a sarcastic joke :D 2018-02-05T21:37:10Z Bike: no, i'm serious 2018-02-05T21:37:32Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-05T21:39:52Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-02-05T21:40:39Z jmercouris: Yeah, I imagine they will be 2018-02-05T21:40:42Z jmercouris: so no worries! 2018-02-05T21:41:14Z jmercouris: Is there a way to remove a hash key? other than just setf'ing it's value to nil? 2018-02-05T21:41:20Z jmercouris: or is that the standard way? 2018-02-05T21:41:30Z _death: clhs remhash 2018-02-05T21:41:30Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_remhas.htm 2018-02-05T21:41:47Z jmercouris: _death: thank you 2018-02-05T21:41:50Z jmercouris: I was googling but could not find 2018-02-05T21:43:06Z Murii quit (Quit: WeeChat 1.4) 2018-02-05T21:44:00Z aeth: jmercouris: Setting to NIL doesn't remove it. It makes it (values NIL T) while removing it makes it (values NIL NIL) 2018-02-05T21:44:24Z jmercouris: I see, that is useful information, thank you 2018-02-05T21:44:34Z jmercouris: so you can know if it was set before 2018-02-05T21:44:42Z jmercouris: which remhash also tells you 2018-02-05T21:44:52Z jmercouris: seems this pattern exists in CL, you can know if things have been set or not 2018-02-05T21:45:03Z jmercouris: like with optionals, and default values in args for example 2018-02-05T21:45:07Z jmercouris: that seems to be unique to CL 2018-02-05T21:45:12Z jmercouris: at least of the languages I know 2018-02-05T21:45:25Z mlf joined #lisp 2018-02-05T21:45:26Z Shinmera: Slots and variables too. 2018-02-05T21:45:39Z Bike: you need out of band signaling, yeah. nowadays there are a couple languages that use option types for it 2018-02-05T21:46:01Z Shinmera: Rust and Haskell to name two 2018-02-05T21:46:23Z jmercouris: Any that predate lisp? 2018-02-05T21:46:28Z jmercouris: or is it a lisp originating concept? 2018-02-05T21:46:45Z pierpa joined #lisp 2018-02-05T21:47:18Z jmercouris: do you guys think I should start adding tests to my program or no? 2018-02-05T21:47:33Z jmercouris: not anything GUI related, but the core functionality 2018-02-05T21:47:46Z Shinmera: Tests significantly impact development speed. 2018-02-05T21:47:48Z Bike: option types are pretty old, i think 2018-02-05T21:47:59Z jmercouris: Shinmera: You think they will slow me down? 2018-02-05T21:48:03Z aeth quit (Quit: Reconnecting) 2018-02-05T21:48:08Z jmercouris: Aka, too soon? 2018-02-05T21:48:18Z aeth joined #lisp 2018-02-05T21:48:26Z _death: tests solidify design decisions, so choose the parts you feel will remain stable 2018-02-05T21:48:30Z Shinmera: Whether it's the right time or not all depends on your confidence / decision about how fixed your test is. 2018-02-05T21:48:38Z Shinmera: *your code is 2018-02-05T21:48:48Z jmercouris: I think it is too soon 2018-02-05T21:48:50Z Shinmera: If you think your design is solid and won't change much, write tests. 2018-02-05T21:48:55Z jmercouris: I am not confident at all in my design 2018-02-05T21:49:02Z jmercouris: there is still so many things I would like to change 2018-02-05T21:49:11Z stacksmith: jmercouris: Many different opinions on that... I would just make functions you can test from REPL, and when things get out of hand, write tests. I find that I change things around too much in the beginning to bother with formal tests. 2018-02-05T21:49:11Z Timzi left #lisp 2018-02-05T21:49:12Z Tobbi quit (Ping timeout: 268 seconds) 2018-02-05T21:49:30Z Shinmera: If you have a public interface that users should use and you don't want to break compatibility -- that's a perfect indicator that they should be test-covered. 2018-02-05T21:49:33Z vlatkoB quit (Remote host closed the connection) 2018-02-05T21:49:52Z jmercouris: Shinmera: Well, there is a public interface that users use, but I don't mind breaking their compatibility in the name of progress 2018-02-05T21:50:13Z jmercouris: I'm sure linus would scream at me until he is blue in the face, but I have at most 20 real useres 2018-02-05T21:50:29Z jmercouris: and it is not that I want to make them regret using next, but that we need to improve the api, and I'm sure they'd understand 2018-02-05T21:51:12Z jmercouris: I really want to improve my interface to the GUI, this is something I've been thinking about for months and months 2018-02-05T21:51:26Z aeth: jmercouris: Certain things are pretty hard to test, too, like rendering. 2018-02-05T21:51:27Z WorldControl joined #lisp 2018-02-05T21:51:33Z jmercouris: I'm too tired to explain now though, I'll talk about it tomorrow, and hopefully someone has some good ideas 2018-02-05T21:51:44Z z3t0 quit (Remote host closed the connection) 2018-02-05T21:51:55Z jmercouris: aeth: I don't worry too much about that, I only want to test the core CL only parts 2018-02-05T21:52:44Z jmercouris: anyways, thank you all for your opinions 2018-02-05T21:53:30Z nowhere_man joined #lisp 2018-02-05T21:54:13Z WorldControl quit (Client Quit) 2018-02-05T21:54:56Z Shinmera: While all of my published projects have docs, most of them don't have tests. Which is unfortunate, but yeah. 2018-02-05T21:55:12Z Shinmera: I consider documentation vastly more important than tests. 2018-02-05T21:55:35Z Shinmera: (and people that say tests are documentation can fuck right off) 2018-02-05T21:57:36Z _death: just don't have bugs 2018-02-05T21:57:47Z Shinmera: I wouldn't dare 2018-02-05T21:58:01Z _death: then you don't need tests :) 2018-02-05T21:59:56Z jmercouris: And anyways, by definitely all code you write is bug free 2018-02-05T22:00:05Z jmercouris: the restarts you get are kind notifications from the system that you've discovered a feature 2018-02-05T22:00:28Z jmercouris: they let you know "by the way, doing action x results in this", and then you may decide whether you want that feature or not 2018-02-05T22:03:11Z _death: there are Lispy references to developing a program in a debug session.. they remind me of writing programs using debug.exe 2018-02-05T22:04:14Z stacksmith: jmercouris: have you seen https://github.com/AeroNotix/lispkit 2018-02-05T22:05:41Z stacksmith: _death: design decisions are mostly wrong in my case. Heck, more often than not I find out that the problem I am solving is not _the_ problem in the first place... 2018-02-05T22:05:58Z z3t0 joined #lisp 2018-02-05T22:06:50Z stacksmith: I've been careful to avoid making design decisions and 'listen to the wind'. When things get too complicated, I find that I was just very wrong about my model, and wind up replacing gobs of code with 10 lines... 2018-02-05T22:07:34Z Shinmera: I usually get smaller libraries done first try, but bigger systems always need at least 3 rewrites before they're adequate. 2018-02-05T22:07:49Z epony quit (Ping timeout: 256 seconds) 2018-02-05T22:08:22Z Shinmera: Radiance had, if we count previous framework iterations, 6 rewrites, most of those complete from-scratch new starts, including everything I wrote to work with it. 2018-02-05T22:08:46Z jmercouris: stacksmith: Oh have I :D 2018-02-05T22:08:57Z msb quit (Ping timeout: 256 seconds) 2018-02-05T22:09:16Z kdridi joined #lisp 2018-02-05T22:09:21Z jmercouris: I think rewrites are an unfortunate necesity 2018-02-05T22:09:30Z jmercouris: I've found myself doing several rewrites of different parts of next 2018-02-05T22:09:36Z jmercouris: I've been more happy with the code every time since 2018-02-05T22:10:04Z jmercouris: as you learn more you think "ah, I could have done it that way" and that changes the way you think 2018-02-05T22:10:13Z jmercouris: and then, you realize that there is a much better pattern 2018-02-05T22:10:18Z Shinmera: Iteration is part of any design process, and with code you need to be so detailed that there's at one point nothing else to do but to write the actual code for it, which in turn becomes part of the design process. 2018-02-05T22:10:27Z z3t0 quit (Ping timeout: 260 seconds) 2018-02-05T22:10:44Z stacksmith: The more you can actually act on the 'ah', the more likely you will come up with the right solution. 2018-02-05T22:11:13Z stacksmith: I've been involved in too many stupid projects that were done a certain way because the cost of rewriting was too high. 2018-02-05T22:11:28Z Shinmera: stacksmith: *was believed to be too high 2018-02-05T22:11:38Z Shinmera: Not estimating the amount of costs produced by the shitty code base 2018-02-05T22:12:09Z stacksmith: Well, they were not Lisp projects :) 2018-02-05T22:12:18Z Shinmera: Not to say that rewriting is always a good idea, it's often not, but it sometimes is. 2018-02-05T22:12:19Z kdridi quit (Client Quit) 2018-02-05T22:12:35Z _death: I found rewriting to be beneficial in many cases, but I guess it depends on who does it ;) 2018-02-05T22:12:45Z stacksmith: It's like optimization, except the other way around. Premature rewriting is much cheaper. 2018-02-05T22:13:05Z jmercouris: there's a lot of sunken cost fallacy in software firms 2018-02-05T22:13:20Z kdridi joined #lisp 2018-02-05T22:13:34Z Shinmera: Optimisation of any kind (cost, effort, etc included) is very hard. 2018-02-05T22:13:43Z stacksmith: The ability to explore the problem space is crucial 2018-02-05T22:13:45Z jmercouris: cost is easy to optimize 2018-02-05T22:13:47Z jmercouris: just trim features 2018-02-05T22:13:58Z Shinmera: Then you cost yourself sales ;) 2018-02-05T22:14:22Z KongWubba quit (Ping timeout: 256 seconds) 2018-02-05T22:14:40Z xrash quit (Ping timeout: 265 seconds) 2018-02-05T22:15:06Z klixto quit (Quit: Konversation terminated!) 2018-02-05T22:15:31Z jmercouris: Do you think I should have a default hook for every command? 2018-02-05T22:15:46Z jmercouris: or is that too much? 2018-02-05T22:15:52Z stacksmith: Are you talking about the browser? 2018-02-05T22:15:55Z jmercouris: yes 2018-02-05T22:16:05Z brendyn joined #lisp 2018-02-05T22:16:12Z varjag quit (Ping timeout: 256 seconds) 2018-02-05T22:16:16Z stacksmith: What would that solve? 2018-02-05T22:16:34Z kdridi quit (Client Quit) 2018-02-05T22:16:39Z jmercouris: the ability to hook into any command 2018-02-05T22:16:49Z jmercouris: as opposed to only being able to hook into wherever i IMAGINE would be useful 2018-02-05T22:17:30Z Shinmera: Don't see why not. Not like it's going to be performance crucial 2018-02-05T22:17:48Z JenElizabeth quit (Ping timeout: 240 seconds) 2018-02-05T22:17:51Z jmercouris: makes sense, yeah 2018-02-05T22:18:08Z _death: unless you have commands like self-insert-command ;) 2018-02-05T22:18:15Z jmercouris: no, I don't have such commands 2018-02-05T22:18:27Z jmercouris: luckily not 2018-02-05T22:18:32Z stacksmith: Only if it makes sense. In some cases you need to guarantee that some commands do exactly what they always do... 2018-02-05T22:19:11Z Chream quit (Ping timeout: 248 seconds) 2018-02-05T22:19:29Z _death: but then it seems more like an advice facility 2018-02-05T22:21:06Z jmercouris: well, it kind of is like that 2018-02-05T22:21:35Z Shinmera: Eh, it's more about making the interface pluggable. 2018-02-05T22:21:53Z Bike: I thought this was already emacs like so you can just redefine all the key bindings/actual interface. 2018-02-05T22:22:06Z deng_cn quit (Read error: Connection reset by peer) 2018-02-05T22:22:25Z shka quit (Ping timeout: 248 seconds) 2018-02-05T22:23:01Z pillton joined #lisp 2018-02-05T22:23:21Z jmercouris: you could redefine whatever you like, but maybe you just want to do something really trivial 2018-02-05T22:23:29Z jmercouris: like save the pages you visit to a log file or something 2018-02-05T22:23:50Z jmercouris: idk, you could (add-hook :set-url write-to-log) 2018-02-05T22:24:00Z jmercouris: everytime you visit a url, then go ahead and write something to the log 2018-02-05T22:24:24Z deng_cn joined #lisp 2018-02-05T22:24:24Z jmercouris: that's a bad example, because there already is history, but yeah 2018-02-05T22:24:41Z stacksmith: Something about that bugs me. 2018-02-05T22:25:05Z stacksmith: Then you need a way to remove your hooks, seach hooks, and otherwise manage them... 2018-02-05T22:25:08Z jmercouris: well, here's the real reason I wanted to implement hooks 2018-02-05T22:25:16Z jmercouris: I wanted to implement hydra 2018-02-05T22:25:22Z jmercouris: like the emacs plugin 2018-02-05T22:25:51Z jmercouris: I already have spent time thinking about all those faculties, and they noe exist in my program 2018-02-05T22:25:58Z jmercouris: s/noe/now 2018-02-05T22:26:24Z stacksmith: jmercouris: With all due respect to emacs, I would be careful using it as a shining beacon of a scalable user-interface... 2018-02-05T22:26:43Z jmercouris: I understand, it is a terrible design 2018-02-05T22:27:00Z stacksmith: I didn't want to use those words... 2018-02-05T22:27:02Z jmercouris: I have all the time reasons to be angry at it, but I don't think hooks is one of them 2018-02-05T22:27:15Z Shinmera: Hooks are fine. 2018-02-05T22:27:21Z jmercouris: AeroNotix: also expressed similar thoughts the other day :D 2018-02-05T22:27:54Z razzy joined #lisp 2018-02-05T22:27:54Z jmercouris: it was about passing global context around 2018-02-05T22:28:02Z z3t0 joined #lisp 2018-02-05T22:28:03Z stacksmith: Well, the entire problem of a pile-up of features from various sources is an issue. The interaction of hooks along with their sequence makes for very painful bugs. 2018-02-05T22:28:23Z jmercouris: yeah, we talked about that as well 2018-02-05T22:28:23Z Karl_Dscc quit (Remote host closed the connection) 2018-02-05T22:28:33Z jmercouris: if I am feeling really ambitious I can do a :depends-on type thing for each hook 2018-02-05T22:28:37Z jmercouris: and make an execution order 2018-02-05T22:28:43Z jmercouris: as long as there are no cycles of course 2018-02-05T22:28:58Z Shinmera: DAGs, DAGs everywhere 2018-02-05T22:28:59Z jmercouris: I'm not there yet, I'm just doing simple things for now 2018-02-05T22:29:10Z jmercouris: Shinmera: DAG? 2018-02-05T22:29:10Z stacksmith: But for tasks that are entirely unrelated to others, like your *on-page-visit* hook is useful. 2018-02-05T22:29:16Z jmercouris: directed asynchronous graph? 2018-02-05T22:29:17Z Shinmera: jmercouris: Directed Acyclic Graph 2018-02-05T22:29:21Z jmercouris: ayclic, right 2018-02-05T22:29:25Z stacksmith: yup. 2018-02-05T22:29:49Z jmercouris: again though, one step at a time 2018-02-05T22:29:53Z jmercouris: it took forever to just get here 2018-02-05T22:29:55Z Shinmera: Deeds, an event system I wrote, allows priority between event handlers via a dependency scheme. 2018-02-05T22:30:28Z jmercouris: https://github.com/Shinmera/deeds 2018-02-05T22:30:32Z jmercouris: looks pretty interesting 2018-02-05T22:30:37Z Shinmera: The use case hasn't come up often yet, but where it did it was neat. 2018-02-05T22:30:46Z stacksmith: Things like that make me shudder and think of make... 2018-02-05T22:31:02Z djinni` quit (Quit: Leaving) 2018-02-05T22:31:02Z jmercouris: Well, this a potential use case 2018-02-05T22:31:13Z Shinmera: stacksmith: What else would you suggest 2018-02-05T22:31:13Z jmercouris: So many difficult questions about how to architect my program 2018-02-05T22:31:16Z _death: any kind of plan 2018-02-05T22:31:25Z jmercouris: _death: What do you mean? 2018-02-05T22:31:30Z stacksmith: and prolog, and other things that work in mysterious ways, when they do work... 2018-02-05T22:31:37Z jmercouris: Do I have a plan for future releases or? 2018-02-05T22:31:51Z stacksmith: Shinmera: no disrespect. Just fear! 2018-02-05T22:32:47Z _death: jmercouris: plans may be modeled as dags.. usual plan for make is the plan of building a system 2018-02-05T22:32:55Z hhdave joined #lisp 2018-02-05T22:32:59Z z3t0 quit (Ping timeout: 276 seconds) 2018-02-05T22:33:10Z jmercouris: I wish I had someone who was a CL professional to just say "here, don't do that, that's a stupid design, do this" 2018-02-05T22:33:27Z Shinmera: People here could if they had time and motivation to :) 2018-02-05T22:33:29Z jmercouris: I kind of do, via this channel, but it involves me thinking first of many stupid designs and then asking people their opinions 2018-02-05T22:33:45Z jmercouris: Well yeah, people enjoying telling me why I am wrong :D 2018-02-05T22:33:58Z jmercouris: so that is my way of getting expert insight, but yeah 2018-02-05T22:34:11Z jmercouris: _death: ah I see 2018-02-05T22:34:17Z Shinmera: I meant for things that aren't distillable to a code snippet or a simple question 2018-02-05T22:34:18Z _death: jmercouris: making stupid designs is one path to forming opinions about what's stupid ;) 2018-02-05T22:34:20Z stacksmith: But then again, people will say you are wrong regardless... 2018-02-05T22:34:38Z jmercouris: _death: I must be an expert on all things stupid then 2018-02-05T22:34:59Z djinni` joined #lisp 2018-02-05T22:35:00Z jmercouris: feels like all design decisions for next have been wrong so far 2018-02-05T22:35:19Z jmercouris: perhaps thats because I set out to make emacs as browser, maybe I should have just set out to make emacs like UI as a browser 2018-02-05T22:35:21Z stacksmith: Probably true! I am on rewrite #32. 2018-02-05T22:36:17Z Shinmera: jmercouris: If I understand this is also your first Lisp project, yeah? 2018-02-05T22:36:22Z Shinmera: That probably has a lot to do with it. 2018-02-05T22:36:23Z jmercouris: Yes, it is 2018-02-05T22:36:30Z jmercouris: yeah, but I am not a new engineer 2018-02-05T22:36:31Z rpg joined #lisp 2018-02-05T22:36:37Z jmercouris: sure feels like it though 2018-02-05T22:36:50Z mishoo_ quit (Ping timeout: 260 seconds) 2018-02-05T22:36:51Z jmercouris: lisp is a good way to completely destroy one's self esteem and ego 2018-02-05T22:36:54Z Shinmera: Lisp's flexibility makes it all the harder to find the global optimum 2018-02-05T22:37:10Z makomo: jmercouris: and then rebuild it! 2018-02-05T22:37:12Z jmercouris: it's like being born again or something 2018-02-05T22:37:16Z makomo: haha 2018-02-05T22:38:04Z jmercouris: Shinmera: The only way to motivate people and to make sure they have time is if they have money mostly 2018-02-05T22:38:20Z jmercouris: or if you are just somehow a super passionate leader that can convince people of something, or you can trade social capital or some other such asset 2018-02-05T22:38:38Z jmercouris: like if I was the leader of the WWF or something, I'm sure people would be more open to working on some project 2018-02-05T22:39:08Z jmercouris: actually, even if you are employeeing people via cash, you still have to make them passionate about a project 2018-02-05T22:39:11Z Shinmera: The World Wildlife Fund? 2018-02-05T22:39:21Z jmercouris: yeah, I was just picking a random non-profit with good support 2018-02-05T22:39:46Z jmercouris: maybe a more appropriate one would have been the FSF 2018-02-05T22:39:54Z _death: Shinmera: as clothing helps in covering a wart, so do programming languages help in covering deficiencies in programs, the process of writing them, and the persons involved.. Lisp is more like water (maybe murky water ;), intimate and personal, leaving the programmer naked with quirks, creativity, deficiencies, ups and downs, for all the world to see 2018-02-05T22:40:48Z nowhere_man quit (Quit: Konversation terminated!) 2018-02-05T22:40:59Z nowhere_man joined #lisp 2018-02-05T22:41:30Z rumbler31 quit (Ping timeout: 260 seconds) 2018-02-05T22:42:08Z markong joined #lisp 2018-02-05T22:42:51Z randomstrangerb quit (Ping timeout: 268 seconds) 2018-02-05T22:44:08Z randomstrangerb joined #lisp 2018-02-05T22:45:22Z hhdave quit (Quit: hhdave) 2018-02-05T22:47:48Z vibs29 quit (Ping timeout: 256 seconds) 2018-02-05T22:47:50Z jmercouris: Alright, I already see that I need to do the dependencies 2018-02-05T22:47:54Z z3t0 joined #lisp 2018-02-05T22:47:55Z z3t0 quit (Remote host closed the connection) 2018-02-05T22:48:02Z jmercouris: I already tried to write some hook code that depending on something else 2018-02-05T22:48:02Z z3t0 joined #lisp 2018-02-05T22:48:13Z _death: this suggests that you don't want hooks 2018-02-05T22:48:15Z jmercouris: yes, I could have chained them in one long function, but package maintainers from different packages will not expect that 2018-02-05T22:48:25Z stacksmith: Occam's razor. 2018-02-05T22:48:28Z jmercouris: why don't I want hooks exactly? 2018-02-05T22:48:38Z jmercouris: how might a user hook into the functionality then otherwise? 2018-02-05T22:48:51Z jmercouris: I see no other magical mechanism, unless they are to override every single function in some sort of chain 2018-02-05T22:48:53Z JenElizabeth joined #lisp 2018-02-05T22:49:25Z z3t0 quit (Remote host closed the connection) 2018-02-05T22:49:26Z vibs29 joined #lisp 2018-02-05T22:49:26Z stacksmith: Have you considered generic functions? 2018-02-05T22:49:50Z jmercouris: Can you expand upon that 2018-02-05T22:49:51Z z3t0 joined #lisp 2018-02-05T22:50:07Z stacksmith: Well, it's another 'hook' mechanism. Built in. 2018-02-05T22:50:38Z jmercouris: Turning everything into a method is not a solution 2018-02-05T22:50:50Z jmercouris: unless I'm not understanding what you mean 2018-02-05T22:50:57Z stacksmith: If there is a class you expose, say 'browser', an advanced user can subclass it and make modifications - minor or major. 2018-02-05T22:50:59Z jmercouris: I know about :before and :after in methods 2018-02-05T22:51:15Z stacksmith: And yes, it allows chaining to existing methods. 2018-02-05T22:51:44Z jmercouris: I'm not sure I agree with you, but thank you for the suggestion 2018-02-05T22:51:44Z stacksmith: At a certain point, the best 'extension system' for a Lisp project is Lisp. 2018-02-05T22:51:50Z quazimodo joined #lisp 2018-02-05T22:51:56Z jmercouris: well, maybe 2018-02-05T22:52:07Z jmercouris: you may be right, I might strip the hook functionality out later in favor of your design 2018-02-05T22:52:23Z stacksmith: If you think about it, you have to do a lot of work to 'jail' the user. 2018-02-05T22:52:32Z jmercouris: I don't care to 'jail' the user 2018-02-05T22:52:47Z jmercouris: that's not the point, I just want them to be able to hook into any point in my program 2018-02-05T22:52:49Z stacksmith: Including writing complicated systems to make sure that the limited functionality does not interfere with other parts of itself. 2018-02-05T22:52:57Z jmercouris: and my program doesn't consist entirely of defmethod 2018-02-05T22:52:58Z stacksmith: I don't mean in a derogatory way. 2018-02-05T22:53:04Z _death: hooks tends to be just a simple mechanism where the hook functions are usually independent of each other.. for more elaborate mechanisms there's advice (say in emacs, where they have depth) or indeed generic functions, or event systems like Shinmera's 2018-02-05T22:53:19Z nowhere_man quit (Ping timeout: 248 seconds) 2018-02-05T22:53:47Z jmercouris: stacksmith: You seem to have a lot of ideas, why don't you make some PRS ;) 2018-02-05T22:53:57Z stacksmith: By jail I mean limit to something reasonable perhaps. Providing a set of hooks is a way of limiting the user to those hooks instead of rewriting... 2018-02-05T22:54:10Z z3t0 quit (Ping timeout: 256 seconds) 2018-02-05T22:54:26Z sjl joined #lisp 2018-02-05T22:54:48Z stacksmith: jmercouris: I've been doing a lot of rewrites! not worthy of pull-requests if that 2018-02-05T22:55:04Z stacksmith: what you mean by PRS? 2018-02-05T22:55:14Z jmercouris: PRs = pull requests 2018-02-05T22:55:41Z jmercouris: I'm just saying, you have some opinions, if you think you can do it better, I would be glad to accept your code 2018-02-05T22:56:05Z jmercouris: I'm not a good developer, at least not in Lisp, I know that, so I'm always interested in other takes 2018-02-05T22:56:23Z stacksmith: OK - I really do not mean to be negative! 2018-02-05T22:56:29Z Bike quit (Ping timeout: 260 seconds) 2018-02-05T22:56:55Z jmercouris: It is hard to convey intent and emotion over text, I'm not upset 2018-02-05T22:57:17Z jmercouris: It was just a friendly suggestion, if you are interested, I am open to PRs, and always looking for contributors, that is all 2018-02-05T22:57:29Z stacksmith: Got it. 2018-02-05T22:58:03Z smasta joined #lisp 2018-02-05T22:58:09Z stacksmith: I've been breaking my brain with my own code... I'll take a look when I get a chance. 2018-02-05T22:58:46Z jmercouris: Don't worry about it, if you like it you find the time, if you don't, I won't be offended, I understand that our own projects are always most interesting 2018-02-05T22:58:59Z shrdlu68 joined #lisp 2018-02-05T22:59:17Z jmercouris: does anyone know of a Common Lisp toolkit for lemmatization? 2018-02-05T22:59:43Z jmercouris: I found a porter-stemming implementaiton already, but now I'm looking for lemmatization to do a more sohpisticated semantic matching 2018-02-05T22:59:59Z quazimodo quit (Read error: Connection reset by peer) 2018-02-05T23:00:22Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-05T23:00:52Z jmercouris: I see this: https://github.com/eslick/cl-langutils looks pretty abandoned though 2018-02-05T23:03:34Z shrdlu68: The with clause seems to reject some typespecs. 2018-02-05T23:03:56Z brucem joined #lisp 2018-02-05T23:04:39Z shrdlu68: i.e (loop with n fixnum = 0...) works but (loop with n (unsigned-byte 64) = 0...) doesn't work. 2018-02-05T23:05:16Z _death: of-type 2018-02-05T23:05:45Z damke quit (Ping timeout: 265 seconds) 2018-02-05T23:05:55Z shrdlu68: So the latter case only works with of-type? 2018-02-05T23:06:12Z Chream joined #lisp 2018-02-05T23:06:15Z _death: yes.. fixnum is a special case 2018-02-05T23:06:28Z _death: clhs loop 2018-02-05T23:06:28Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_loop.htm 2018-02-05T23:06:33Z shrdlu68: I see, thanks! 2018-02-05T23:07:25Z damke joined #lisp 2018-02-05T23:07:58Z random-nick quit (Remote host closed the connection) 2018-02-05T23:09:44Z Tobbi joined #lisp 2018-02-05T23:10:32Z Chream quit (Ping timeout: 260 seconds) 2018-02-05T23:11:05Z EvW joined #lisp 2018-02-05T23:12:18Z groovy2shoes quit (Quit: moritura te saluto) 2018-02-05T23:12:40Z phoe: shrdlu68: if the type specifier is a symbol then you can use the shorthand notation 2018-02-05T23:12:46Z phoe: otherwise you must use OF-TYPE 2018-02-05T23:12:59Z phoe: (loop repeat 3 with var vector = #(1 2 3) do (print var)) 2018-02-05T23:15:25Z shrdlu68: Applies to deftyped types too. 2018-02-05T23:15:27Z _death: phoe: are you sure about that 2018-02-05T23:22:14Z phoe: _death: http://www.lispworks.com/documentation/lw51/CLHS/Body/m_loop.htm 2018-02-05T23:22:31Z phoe: "simple-type-spec::= fixnum | float | t | nil" 2018-02-05T23:22:38Z phoe: yep, I am wrong 2018-02-05T23:22:41Z deng_cn quit (Read error: Connection reset by peer) 2018-02-05T23:23:19Z phoe: ...why the hell is NIL a viable type there 2018-02-05T23:23:40Z pjb quit (Ping timeout: 240 seconds) 2018-02-05T23:23:52Z _death: clhs 6.1.1.7 2018-02-05T23:23:52Z specbot: Destructuring: http://www.lispworks.com/reference/HyperSpec/Body/06_aag.htm 2018-02-05T23:24:27Z _death: seems "backwards compatibility" 2018-02-05T23:24:54Z _death: fixnum/float declarations should also be discouraged 2018-02-05T23:25:07Z deng_cn joined #lisp 2018-02-05T23:25:12Z phoe: so all that remains is T 2018-02-05T23:25:17Z phoe: which is pointless to write since it's implied 2018-02-05T23:25:22Z _death: correct 2018-02-05T23:25:32Z phoe: so OF-TYPE is the only actually useful way of denoting var types 2018-02-05T23:25:54Z phoe: ...geez, I types "actually useful" and immediately though of #'ARRAY-ACTUAL-USEFULNESS 2018-02-05T23:25:57Z phoe: time to go to sleep 2018-02-05T23:28:02Z jmercouris quit (Ping timeout: 256 seconds) 2018-02-05T23:29:40Z paule32 quit (Ping timeout: 240 seconds) 2018-02-05T23:29:54Z Cymew joined #lisp 2018-02-05T23:30:09Z _death: incidentally, I don't think I've seen destructuring typespecs used.. 2018-02-05T23:31:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-05T23:33:49Z Kaisyu joined #lisp 2018-02-05T23:34:39Z Cymew quit (Ping timeout: 268 seconds) 2018-02-05T23:36:57Z jfb4 quit (Ping timeout: 240 seconds) 2018-02-05T23:38:05Z fikka joined #lisp 2018-02-05T23:39:00Z jfb4 joined #lisp 2018-02-05T23:41:37Z rumbler31 joined #lisp 2018-02-05T23:43:36Z rumbler31 quit (Read error: Connection reset by peer) 2018-02-05T23:44:08Z quazimodo joined #lisp 2018-02-05T23:44:35Z fikka quit (Ping timeout: 240 seconds) 2018-02-05T23:50:52Z pjb joined #lisp 2018-02-05T23:51:32Z Cymew joined #lisp 2018-02-05T23:51:59Z stacksmith: Hey, is anyone using defconstant? I keep trying every so often but it always ends with tears. 2018-02-05T23:53:18Z smasta quit (Ping timeout: 240 seconds) 2018-02-05T23:53:31Z quotation joined #lisp 2018-02-05T23:53:32Z python476 quit (Ping timeout: 256 seconds) 2018-02-05T23:53:34Z _death: it's mainly for numbers 2018-02-05T23:54:19Z _death: alexandria has define-constant which may work better for your needs, as it takes a :test argument 2018-02-05T23:54:27Z stacksmith: I invariably get into a shit-state with slime with restarts and babble about redefining... 2018-02-05T23:55:40Z stacksmith: I suppose nothing to do with emacs, just a million restarts screwing up my windows and making me feel less hopeful about life. 2018-02-05T23:56:03Z Cymew quit (Ping timeout: 256 seconds) 2018-02-05T23:57:32Z stacksmith: _death - does alexandria use the test to avoid setting if it's already same? 2018-02-05T23:58:45Z _death: stacksmith: yes, it allows you to define what "same" means.. in CL parlance, and defconstant, "same" is EQL 2018-02-05T23:58:45Z quazimodo quit (Read error: Connection reset by peer) 2018-02-05T23:59:34Z stacksmith: Thanks 2018-02-06T00:00:02Z quazimodo joined #lisp 2018-02-06T00:00:07Z varjag joined #lisp 2018-02-06T00:00:21Z fikka joined #lisp 2018-02-06T00:03:54Z Cymew joined #lisp 2018-02-06T00:04:02Z _death: personally I just use defvar (earmuffs and all) for the more complex values 2018-02-06T00:04:17Z varjag quit (Ping timeout: 248 seconds) 2018-02-06T00:05:22Z fikka quit (Ping timeout: 260 seconds) 2018-02-06T00:07:30Z xrash joined #lisp 2018-02-06T00:08:04Z Bicyclidine is now known as Bike 2018-02-06T00:08:32Z Cymew quit (Ping timeout: 248 seconds) 2018-02-06T00:09:27Z shrdlu68 quit (Ping timeout: 260 seconds) 2018-02-06T00:09:52Z Cymew joined #lisp 2018-02-06T00:11:20Z lnostdal quit (Ping timeout: 255 seconds) 2018-02-06T00:13:05Z quazimodo quit (Ping timeout: 260 seconds) 2018-02-06T00:13:22Z dieggsy quit (Read error: Connection reset by peer) 2018-02-06T00:14:38Z Cymew quit (Ping timeout: 256 seconds) 2018-02-06T00:15:25Z stacksmith: _death: premature optimization aside, constants lead to much tighter code with sbcl... 2018-02-06T00:15:54Z Cymew joined #lisp 2018-02-06T00:16:00Z lnostdal joined #lisp 2018-02-06T00:19:13Z nirved quit (Quit: Leaving) 2018-02-06T00:19:48Z Xach: stacksmith: if you're optimizing for sbcl, defglobal might be preferable. 2018-02-06T00:20:38Z fikka joined #lisp 2018-02-06T00:20:45Z Cymew quit (Ping timeout: 265 seconds) 2018-02-06T00:21:50Z stacksmith: Xach: what package is defglobal? 2018-02-06T00:22:17Z Xach: stacksmith: sb-ext 2018-02-06T00:22:41Z orivej quit (Ping timeout: 256 seconds) 2018-02-06T00:23:03Z stacksmith: Ah, that's kind of nice. 2018-02-06T00:24:02Z deng_cn quit (Read error: Connection reset by peer) 2018-02-06T00:24:08Z pjb quit (Ping timeout: 276 seconds) 2018-02-06T00:24:25Z fisxoj joined #lisp 2018-02-06T00:24:45Z stacksmith: Although defconstant is portable.. Xach: why do you find it preferable? 2018-02-06T00:25:15Z ft joined #lisp 2018-02-06T00:25:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-06T00:25:49Z deng_cn joined #lisp 2018-02-06T00:26:41Z dieggsy joined #lisp 2018-02-06T00:27:34Z Bike: you can set globals as much as you please, sso no redefinition complaints 2018-02-06T00:28:18Z Bike: but it (probably) lets the compiler use a known location, so it should be about as fast as a constant for things that can't be inlined into the actual code, like compound structures 2018-02-06T00:29:46Z stacksmith: thanks. 2018-02-06T00:37:04Z pillton: I'm struggling to understand this optimization. Can you give an example where that optimization is useful? Why is it different then (let ((x *var*)) ...)? 2018-02-06T00:37:13Z warweasle joined #lisp 2018-02-06T00:38:00Z Bike: *var* being a global special? 2018-02-06T00:39:39Z pillton: Yeah. 2018-02-06T00:40:24Z pillton: It obviously eliminates the need to specify a lexical environment. 2018-02-06T00:40:27Z Bike: reading a special binding might be more complicated. 2018-02-06T00:40:59Z fikka joined #lisp 2018-02-06T00:42:21Z Oladon joined #lisp 2018-02-06T00:42:28Z ksool quit (Read error: Connection reset by peer) 2018-02-06T00:42:54Z FreeBirdLjj joined #lisp 2018-02-06T00:45:45Z fikka quit (Ping timeout: 260 seconds) 2018-02-06T00:46:15Z pierpa: a local lexical variable is just a memory location at a fixed address. A special requires access to a symbol value slot, i.e. one indirection, one more memory access. 2018-02-06T00:46:36Z ebzzry joined #lisp 2018-02-06T00:46:55Z markong quit (Ping timeout: 260 seconds) 2018-02-06T00:47:16Z pierpa: (assuming the usual implementation strategies) 2018-02-06T00:47:22Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-06T00:47:39Z pillton: But why go to the trouble of defglobal if you can just do (let ((x *var*)) ..) ? 2018-02-06T00:48:00Z Bike: because it's not as efficient, we said 2018-02-06T00:48:06Z Bike: might also want to set the global sometimes, if not in this case 2018-02-06T00:49:20Z smasta joined #lisp 2018-02-06T00:49:31Z stacksmith: pillton: sbcl encodes constants as immediates. And more complicated forms, like ash or ldb benefit as well. 2018-02-06T00:50:28Z pillton: I know, but the discussion started with constants which aren't eql. 2018-02-06T00:50:48Z stacksmith: ah, missed that. 2018-02-06T00:51:06Z Bike: also defglobal wouldn't allow anything to be immediate. 2018-02-06T00:51:26Z fikka joined #lisp 2018-02-06T00:51:40Z stacksmith: Or did I? Are we really talking about constants that aren 2018-02-06T00:51:44Z stacksmith: t eql? 2018-02-06T00:52:01Z Bike: you brought it up, so we can be talking about whatever you like 2018-02-06T00:52:24Z stacksmith: I know, but I was corrected by pilton... :) 2018-02-06T00:54:08Z stacksmith: Looking at sbcl's defconstant... That's a whole lot of code! 2018-02-06T00:54:24Z deng_cn quit (Read error: Connection reset by peer) 2018-02-06T00:54:50Z Bike: eh, it's mostly comments and errors 2018-02-06T00:55:01Z stacksmith: true 2018-02-06T00:55:28Z Bike: it boils down to setting the symbol-value and setting the info db entry for the variable to :constant 2018-02-06T00:56:01Z fikka quit (Ping timeout: 248 seconds) 2018-02-06T00:56:09Z deng_cn joined #lisp 2018-02-06T00:56:55Z SuperJen joined #lisp 2018-02-06T00:57:04Z orivej joined #lisp 2018-02-06T00:57:10Z stacksmith: I've never looked at the info stuff... Looks kind of interesting... 2018-02-06T00:57:29Z Bike: as far as i know it's a schmancy global hash table, or table of tables 2018-02-06T00:58:39Z randomstrangerb quit (Ping timeout: 248 seconds) 2018-02-06T00:59:05Z iqubic: What does "?\:" mean? Or "?\C-w"? 2018-02-06T00:59:10Z iqubic: In lisp I mean. 2018-02-06T01:00:15Z Bike: that's elisp syntax for characters. 2018-02-06T01:00:29Z iqubic: Oh, I thought it was a general lisp thing. 2018-02-06T01:00:32Z JenElizabeth quit (Ping timeout: 256 seconds) 2018-02-06T01:00:46Z iqubic: I'm not sure if this is the right place to ask my question then. 2018-02-06T01:01:04Z iqubic: Is there a version of that syntax for the elisp char ESC? 2018-02-06T01:01:39Z fikka joined #lisp 2018-02-06T01:01:55Z Bike: i think #emacs would be the place to ask. 2018-02-06T01:06:12Z fikka quit (Ping timeout: 256 seconds) 2018-02-06T01:07:00Z porky11: hi 2018-02-06T01:09:08Z porky11: I'm working on a language in lisp, which is possible to use without brackets and is intended to be used as programming lanugage or language for speaking/writing 2018-02-06T01:09:09Z rumbler31 joined #lisp 2018-02-06T01:10:48Z porky11: the parser of the fundamental grammar into sexpressions and functions/macros to simplify the declaration of how to expand everything, already is defined https://gitlab.com/porky11/setlang 2018-02-06T01:11:17Z rumbler31 quit (Read error: Connection reset by peer) 2018-02-06T01:11:38Z fikka joined #lisp 2018-02-06T01:11:41Z porky11: the language was intendet to be based on set theory, but I'm not sure, if that's a good approach even for programming language 2018-02-06T01:11:49Z ckonstanski quit (Remote host closed the connection) 2018-02-06T01:11:54Z rumbler31 joined #lisp 2018-02-06T01:11:54Z porky11: maybe soneone is interested 2018-02-06T01:13:22Z Zhivago: The only interesting question here is -- how do you delimit variadic invocations? 2018-02-06T01:14:36Z porky11: Zhivago: that is probably the most important aspect of the garmmar, 2018-02-06T01:16:24Z fikka quit (Ping timeout: 256 seconds) 2018-02-06T01:16:41Z porky11: there are words, that represend functions, which implicitely open parentheses, and words, that represent objects/sets, which implicitely close parentheses, 2018-02-06T01:17:04Z White_Flame: (+ 1 1) becomes PLUS BEGIN ONE ONE END? 2018-02-06T01:17:56Z porky11: White_Flame, you wouldn't need the END probably, but something like begin yes 2018-02-06T01:18:10Z porky11: here some small example for lisp https://gist.github.com/porky11/2bb359f62d96822e8c25b1a3b2fc14f2 2018-02-06T01:18:19Z White_Flame: so like PLUS START-MY-LIST ONE ONE-WHICH-IS-LAST 2018-02-06T01:18:45Z White_Flame: code without documentation doesn't get your design across 2018-02-06T01:19:26Z porky11: that's just a working example, documentation is somewhere different, but most of it are just unfinished drafts 2018-02-06T01:19:40Z White_Flame: I don't know what the example's intent is 2018-02-06T01:20:01Z White_Flame: I don't know where to expect its boundaries of parameter lists to be indicated 2018-02-06T01:20:08Z White_Flame: it's literally a foreign language 2018-02-06T01:20:49Z porky11: for examle to sum multiple objects, you would write, when having the identity function `id` `sum id 1 id 2 3 2018-02-06T01:21:24Z porky11: and the 3 implicitely closes parentheses again 2018-02-06T01:21:32Z White_Flame: would that be (+ 1 2 3), or (+ 1 (+ 2 3)) or what? impossible to know just from the output example 2018-02-06T01:21:42Z fikka joined #lisp 2018-02-06T01:21:57Z porky11: that would be (+ 1 2 3) 2018-02-06T01:22:07Z White_Flame: I mean, YOU know all about how it works, but nobody else does ;) 2018-02-06T01:22:10Z porky11: or with parentheses (+ (id 1) (id 2) 3) 2018-02-06T01:22:30Z White_Flame: so yeah, link it directly to something we do know, like that 2018-02-06T01:24:17Z porky11: for math this concept is not perfect, but for natural language things, this seems useful in many cases 2018-02-06T01:24:37Z White_Flame: it's basically a reversal of "add 1 and two and three." 2018-02-06T01:25:04Z porky11: yes 2018-02-06T01:25:06Z White_Flame: prefix instead of infix to indicate something more is coming along as well 2018-02-06T01:25:23Z porky11: but there is also some limited support of infix 2018-02-06T01:25:27Z White_Flame: so as far as I'm concerned, it's still semantically equivalent 2018-02-06T01:25:28Z deng_cn quit (Read error: Connection reset by peer) 2018-02-06T01:26:05Z White_Flame: I do like end delimiters, because there's only 1 to deal with, instead of per-element delimiters, like commas in most other languages' lists 2018-02-06T01:26:06Z porky11: didn't think yet, if it is useful for math 2018-02-06T01:26:36Z fikka quit (Ping timeout: 256 seconds) 2018-02-06T01:27:20Z stacksmith: porky11: not to bee an asshole, but why? 2018-02-06T01:27:21Z porky11: example for something similar to `do from a to b go` => (do (from a) (to b) go) 2018-02-06T01:27:31Z deng_cn joined #lisp 2018-02-06T01:28:45Z porky11: stacksmith: the main idea was to create a simple speakable langauge 2018-02-06T01:29:14Z porky11: but now I'm experimenting, if it is usable as programming language, too 2018-02-06T01:30:00Z porky11: White_Flame: What do you mean by end delimiters? Just closing brackets? 2018-02-06T01:30:46Z stacksmith: Forth is pretty usable, although it becomes convoluted. by optimizing away braces, you lose clarity. 2018-02-06T01:30:49Z White_Flame: yes, (1 2 3 4 5) vs "1, 2, 3, 4, 5" or "1 and 2 and 3 and 4 and 5" where the latter 2 delimit the list on every element 2018-02-06T01:31:14Z stacksmith: You could say 'open' and 'close' or 'start' 'end' and keep Lisp. 2018-02-06T01:31:34Z White_Flame: yep, "plus with 1 2 3 4 5 done" 2018-02-06T01:31:44Z White_Flame: vs "foo 1" where it's non-variadic 2018-02-06T01:32:01Z fikka joined #lisp 2018-02-06T01:32:17Z stacksmith: White_Flame: isn't it cleaner as 'start 1 2 3 4 5 end'? 2018-02-06T01:32:28Z White_Flame: depends on what's "natural language" for you 2018-02-06T01:32:30Z fisxoj quit (Remote host closed the connection) 2018-02-06T01:32:52Z porky11: it's even already possible to define something like that 2018-02-06T01:32:52Z White_Flame: my example was giving a function name, and then saying that we're going to be using it with a list of parameters 2018-02-06T01:33:10Z White_Flame: as opposed to "plus id 1 id 2 id 3 id 4 5" 2018-02-06T01:35:09Z porky11: by natural language I mean a language, which can be used to speak or write texts 2018-02-06T01:35:44Z White_Flame: right, does "function with blah blah blah done" sound more natural to you than "function start blah blah blah end" 2018-02-06T01:36:03Z White_Flame: that's just human-level feelies, not actual language semantics 2018-02-06T01:36:56Z fikka quit (Ping timeout: 276 seconds) 2018-02-06T01:37:06Z White_Flame: but in any case, all programming languages are about tracking very specific operations & data paths. Natural language is all about communicating within assumption & implied context, so they're never going to mesh well 2018-02-06T01:37:07Z porky11: also keyword arguments work like functions 2018-02-06T01:38:29Z porky11: would also be nice, if it's just usable as a language for a game, where you can tell computer players what to do 2018-02-06T01:39:11Z DeadTrickster quit (Ping timeout: 256 seconds) 2018-02-06T01:39:59Z White_Flame: I think there's many lessons to be learned from SQL and COBOL, both of which were intended to be "like natural english" 2018-02-06T01:40:22Z White_Flame: and both of which ended up still being specific, fiddly, engineering tasks to write, just like any programming language 2018-02-06T01:41:07Z Zhivago: I'm not sure about never -- natural language presumes a dialogue between intelligent agents. 2018-02-06T01:41:09Z porky11: they are pretty stupid languages, expecially SQL just seems like a complicated version of the underlying logic 2018-02-06T01:41:35Z pagnol quit (Quit: Ex-Chat) 2018-02-06T01:41:38Z Zhivago: As we move toward negotiating with intelligent agents rather than specifying dumb machines, natural language will probably come to dominate programming. 2018-02-06T01:41:58Z White_Flame: Zhivago: right, if we get machine agents to understand English, then we won't have a mesh of programming language & natural language. We'll just have natural language :) 2018-02-06T01:42:29Z fikka joined #lisp 2018-02-06T01:42:37Z White_Flame picks up his mouse: "Computer?" 2018-02-06T01:43:43Z DeadTrickster joined #lisp 2018-02-06T01:46:52Z fikka quit (Ping timeout: 256 seconds) 2018-02-06T01:47:24Z porky11: Just uploaded the small README to the repo 2018-02-06T01:49:36Z fisxoj joined #lisp 2018-02-06T01:52:02Z fikka joined #lisp 2018-02-06T01:52:22Z Arcaelyx joined #lisp 2018-02-06T01:54:16Z fisxoj quit (Client Quit) 2018-02-06T01:55:34Z deng_cn quit (Read error: Connection reset by peer) 2018-02-06T01:56:38Z fikka quit (Ping timeout: 256 seconds) 2018-02-06T01:58:18Z antgreen joined #lisp 2018-02-06T02:00:36Z porky11: good night 2018-02-06T02:01:03Z porky11 quit (Quit: Leaving) 2018-02-06T02:01:36Z grublet joined #lisp 2018-02-06T02:01:48Z rme: Summary results from my Clozure CL platform survey: https://lists.clozure.com/pipermail/openmcl-devel/2018-February/011797.html 2018-02-06T02:02:21Z Cymew joined #lisp 2018-02-06T02:02:28Z fikka joined #lisp 2018-02-06T02:03:48Z welle joined #lisp 2018-02-06T02:06:25Z welle: Hi, newbie to Lisp here. There are some instructions for running nEXT Browser in Linux, and they work when I run them one after another in a SBCL repl. When I put them in a progn statement and try to compile them to a binary with save-lisp-and-die, it returns a thread error. Help? 2018-02-06T02:06:55Z fikka quit (Ping timeout: 248 seconds) 2018-02-06T02:06:55Z Cymew quit (Ping timeout: 248 seconds) 2018-02-06T02:07:18Z pierpa quit (Quit: Page closed) 2018-02-06T02:07:52Z EvW quit (Ping timeout: 260 seconds) 2018-02-06T02:09:00Z Bike: you shouldn't save-lisp-and-die from slime, it doesn't work well if multiple threads are running 2018-02-06T02:09:15Z DeadTrickster_ joined #lisp 2018-02-06T02:10:30Z deng_cn joined #lisp 2018-02-06T02:10:32Z DeadTrickster quit (Read error: Connection reset by peer) 2018-02-06T02:11:12Z DeadTrickster__ joined #lisp 2018-02-06T02:11:33Z welle: How should I go about compiling an executable from a list of sequential commands? 2018-02-06T02:12:16Z welle: At the moment, I'm using the SBCL repl in bash 2018-02-06T02:13:21Z grublet quit (Quit: Leaving) 2018-02-06T02:14:00Z Bike: that's not the usual mode of interacting with lisp. does nEXT not have build instructions? 2018-02-06T02:14:23Z arescorpio joined #lisp 2018-02-06T02:14:27Z DeadTrickster_ quit (Ping timeout: 240 seconds) 2018-02-06T02:15:02Z DeadTrickster_ joined #lisp 2018-02-06T02:15:48Z welle: No, it currently has to be built from source on Linux. I want to use it for browsing so I learn Emacs-style keybinds. 2018-02-06T02:15:51Z quazimodo joined #lisp 2018-02-06T02:16:15Z fisxoj joined #lisp 2018-02-06T02:17:05Z DeadTrickster__ quit (Ping timeout: 248 seconds) 2018-02-06T02:17:07Z White_Flame: save-lisp-and-die should be given the instructions to start up the system post-restore 2018-02-06T02:17:11Z bigos quit (Remote host closed the connection) 2018-02-06T02:17:18Z deng_cn quit (Ping timeout: 240 seconds) 2018-02-06T02:17:23Z Bike: hum. jmercourius is around here sometimes, they could probably help more specifically 2018-02-06T02:17:26Z White_Flame: you shouldn't try to save a running system wiht threads, open files/sockets/etc, because that's not meaningful to capture 2018-02-06T02:17:48Z Bike: i think the usual practice with save lisp and die is to write a script system that gets the system into the state you want it to start up in. 2018-02-06T02:17:52Z Bike: a script* 2018-02-06T02:18:37Z Bike: http://sbcl.org/manual/index.html#Function-sb_002dext_003asave_002dlisp_002dand_002ddie here's the docs. i think basically you want to specify the filename, :executable t, and :toplevel set to whatever function should run when the browser starts. 2018-02-06T02:18:52Z welle: yeah 2018-02-06T02:19:01Z White_Flame: :toplevel should be what starts the browser, specifically 2018-02-06T02:22:31Z fikka joined #lisp 2018-02-06T02:22:55Z welle: I wrote (sb-ext:save-lisp-and-die "nEXT-Browser" :toplevel #'(progn(require :asdf)(asdf:load-asd "/home/welle/next/next/next.asd")(ql:quickload :next/gtk)(next:start)) :executable t) 2018-02-06T02:23:13Z quotation quit (Quit: Connection closed for inactivity) 2018-02-06T02:23:25Z Bike: that's not a function. 2018-02-06T02:23:27Z brendyn quit (Ping timeout: 240 seconds) 2018-02-06T02:23:30Z Bike: #'(progn ...) is invalid. 2018-02-06T02:23:54Z Tobbi quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-06T02:24:24Z Bike: write a file like this: (require :asdf) (asdf:load-asd "~/next/next.asd") (ql:quickload :next/gtk) (sb-ext:save-lisp-and-die "nEXT-Browser" :executable t :toplevel #'next:start) 2018-02-06T02:24:30Z welle: Do I need to do (defun start-browser () (progn(require :asdf)(asdf:load-asd "/home/welle/next/next/next.asd")(ql:quickload :next/gtk))) ? 2018-02-06T02:24:46Z welle: ok 2018-02-06T02:24:47Z Bike: then load the file. like sbcl --load script.lisp, i think. 2018-02-06T02:24:58Z welle: thanks, I'll give it a shot 2018-02-06T02:25:19Z jason_m joined #lisp 2018-02-06T02:26:24Z milanj quit (Quit: This computer has gone to sleep) 2018-02-06T02:27:14Z fikka quit (Ping timeout: 256 seconds) 2018-02-06T02:28:53Z Oladon quit (Quit: Leaving.) 2018-02-06T02:30:02Z welle: Bike: It appears to have created a file, but it flashes a screen and dies when I double-click on it. 2018-02-06T02:30:11Z welle: Do I need to do something with roswell? 2018-02-06T02:30:55Z Bike: beats me. 2018-02-06T02:31:05Z Bike: with save-lisp-and-die the program will end as soon as the toplevel function returns. 2018-02-06T02:31:16Z welle: oh 2018-02-06T02:31:25Z Bike: it's possible next:start is written to just start the system, but expects the system to remain up afterward. i wouldn't know. 2018-02-06T02:31:50Z welle: Still very useful to know! Thanks a lot! 2018-02-06T02:32:57Z fikka joined #lisp 2018-02-06T02:34:39Z d4ryus2 joined #lisp 2018-02-06T02:34:59Z deng_cn joined #lisp 2018-02-06T02:37:21Z deng_cn quit (Read error: Connection reset by peer) 2018-02-06T02:37:35Z fikka quit (Ping timeout: 240 seconds) 2018-02-06T02:38:25Z d4ryus1 quit (Ping timeout: 268 seconds) 2018-02-06T02:43:02Z fikka joined #lisp 2018-02-06T02:48:04Z fikka quit (Ping timeout: 256 seconds) 2018-02-06T02:48:20Z warweasle quit (Quit: Leaving) 2018-02-06T02:52:58Z fikka joined #lisp 2018-02-06T02:58:09Z fikka quit (Ping timeout: 268 seconds) 2018-02-06T03:01:24Z damke_ joined #lisp 2018-02-06T03:02:11Z deng_cn joined #lisp 2018-02-06T03:03:57Z damke quit (Ping timeout: 264 seconds) 2018-02-06T03:13:15Z fikka joined #lisp 2018-02-06T03:15:29Z Oladon joined #lisp 2018-02-06T03:17:00Z My_Hearing joined #lisp 2018-02-06T03:17:53Z fikka quit (Ping timeout: 248 seconds) 2018-02-06T03:18:10Z Mon_Ouie quit (Ping timeout: 240 seconds) 2018-02-06T03:22:21Z dddddd quit (Remote host closed the connection) 2018-02-06T03:25:46Z deng_cn quit (Read error: Connection reset by peer) 2018-02-06T03:26:29Z jameser joined #lisp 2018-02-06T03:33:10Z ebzzry quit (Ping timeout: 260 seconds) 2018-02-06T03:33:39Z fikka joined #lisp 2018-02-06T03:36:32Z emacsomancer joined #lisp 2018-02-06T03:38:46Z rpg joined #lisp 2018-02-06T03:38:52Z fikka quit (Ping timeout: 260 seconds) 2018-02-06T03:45:14Z deng_cn joined #lisp 2018-02-06T03:48:30Z msb joined #lisp 2018-02-06T03:48:47Z jason_m quit (Ping timeout: 260 seconds) 2018-02-06T03:49:37Z fisxoj quit (Ping timeout: 265 seconds) 2018-02-06T03:51:04Z welle quit (Ping timeout: 260 seconds) 2018-02-06T03:53:53Z fikka joined #lisp 2018-02-06T03:56:01Z deng_cn quit (Read error: Connection reset by peer) 2018-02-06T03:58:15Z deng_cn joined #lisp 2018-02-06T03:58:25Z fikka quit (Ping timeout: 248 seconds) 2018-02-06T03:59:29Z rpg quit (Ping timeout: 248 seconds) 2018-02-06T04:00:41Z varjag joined #lisp 2018-02-06T04:05:16Z varjag quit (Ping timeout: 256 seconds) 2018-02-06T04:09:19Z rpg joined #lisp 2018-02-06T04:14:18Z fikka joined #lisp 2018-02-06T04:17:22Z Oladon quit (Quit: Leaving.) 2018-02-06T04:19:07Z fikka quit (Ping timeout: 260 seconds) 2018-02-06T04:21:44Z rpg quit (Quit: Textual IRC Client: www.textualapp.com) 2018-02-06T04:23:15Z dtornabene quit (Ping timeout: 268 seconds) 2018-02-06T04:27:19Z schoppenhauer quit (Ping timeout: 265 seconds) 2018-02-06T04:27:52Z smasta quit (Ping timeout: 260 seconds) 2018-02-06T04:28:49Z schoppenhauer joined #lisp 2018-02-06T04:34:33Z fikka joined #lisp 2018-02-06T04:39:32Z fikka quit (Ping timeout: 260 seconds) 2018-02-06T04:40:44Z asarch joined #lisp 2018-02-06T04:54:52Z fikka joined #lisp 2018-02-06T04:59:03Z varjag joined #lisp 2018-02-06T04:59:57Z fikka quit (Ping timeout: 260 seconds) 2018-02-06T05:02:01Z deng_cn quit (Read error: Connection reset by peer) 2018-02-06T05:02:29Z Bike quit (Quit: Lost terminal) 2018-02-06T05:03:16Z deng_cn joined #lisp 2018-02-06T05:03:27Z varjag quit (Ping timeout: 248 seconds) 2018-02-06T05:15:08Z fikka joined #lisp 2018-02-06T05:17:53Z arescorpio quit (Excess Flood) 2018-02-06T05:18:34Z Jk joined #lisp 2018-02-06T05:18:58Z Jk is now known as Guest84451 2018-02-06T05:19:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-06T05:23:17Z BitPuffin joined #lisp 2018-02-06T05:25:35Z Guest84451 quit (Ping timeout: 260 seconds) 2018-02-06T05:25:38Z fikka joined #lisp 2018-02-06T05:28:08Z rumbler31 quit (Remote host closed the connection) 2018-02-06T05:28:08Z python476 joined #lisp 2018-02-06T05:28:39Z asarch quit (Quit: Leaving) 2018-02-06T05:30:08Z fikka quit (Ping timeout: 256 seconds) 2018-02-06T05:33:26Z krwq: How do you create an int and get pointer to it with cffi? I've tried this: (cffi:with-foreign-object (user-data :int) (setf user-data 123) (cffi:mem-aptr user-data :int 0)) but it gives me a value and not a pointer to that value 2018-02-06T05:35:42Z fikka joined #lisp 2018-02-06T05:39:20Z orivej quit (Ping timeout: 256 seconds) 2018-02-06T05:39:36Z pillton: user-data is the pointer. 2018-02-06T05:40:47Z fikka quit (Ping timeout: 260 seconds) 2018-02-06T05:45:48Z pillton: You want (setf (cffi:mem-ref user-data 0) 123). 2018-02-06T05:46:09Z pillton: Sorry. (setf (cffi:mem-ref user-data :int) 123). 2018-02-06T05:46:45Z krwq: thanks pillton - so what does mem-aptr do then and why didn't it complain about type when setfing? 2018-02-06T05:47:50Z pillton: The value bound to user-data is a system area pointer i.e. it is an object representing an address in memory. 2018-02-06T05:48:00Z pillton: The setf is just changing the binding of the variable user-data. 2018-02-06T05:48:49Z pillton: The call to cffi:mem-aptr should have signalled an error though. 2018-02-06T05:51:43Z pillton: (cffi:mem-aptr user-data :int 1) <=> (cffi:inc-pointer user-data (* 1 (cffi:foreign-type-size :int))) 2018-02-06T05:52:36Z aeth: Could someone make a C->CL compiler in CL using CFFI? Or does CFFI not let you do everything that C can do? 2018-02-06T05:53:23Z aeth: As in, compile C programs to programs that use C's data structures via CFFI. 2018-02-06T05:54:38Z loke: aeth: You could. 2018-02-06T05:54:44Z loke: aeth: No one has done so though. 2018-02-06T05:55:29Z aeth: Would it be more efficient than other C->CL approaches? Afaik, Mezzano (or was it another LispOS?) uses a C->CL compiler for Doom. 2018-02-06T05:55:51Z fikka joined #lisp 2018-02-06T05:56:01Z pillton: aeth: You should look at the design of COM. 2018-02-06T05:56:19Z k-hos: isn't cffis main point just calling c functions 2018-02-06T05:56:28Z krwq: thank you pillton! 2018-02-06T05:56:53Z aeth: Ah, the Mezzano Doom port used an LLVM IR to CL compiler. https://news.ycombinator.com/item?id=14120802 2018-02-06T05:58:37Z aeth: k-hos: Programming as art is all about using things in cool ways they're not supposed to be used (as long as such ways are legal and ethical) 2018-02-06T05:58:48Z borei joined #lisp 2018-02-06T05:59:00Z aeth: e.g. the C x86 mov compiler is art. 2018-02-06T06:00:25Z damke joined #lisp 2018-02-06T06:00:29Z sjl quit (Quit: WeeChat 1.9.1) 2018-02-06T06:00:40Z fikka quit (Ping timeout: 252 seconds) 2018-02-06T06:01:02Z iqubic: Is it worthwile to learn assembler? 2018-02-06T06:01:31Z k-hos: do you have a usecase for it? 2018-02-06T06:02:11Z aeth: iqubic: Imo it's worthwhile to know enough assembly that you can read the output of #'disassemble 2018-02-06T06:02:44Z iqubic: What does disassemble do? Spit out assembler code. 2018-02-06T06:02:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-06T06:02:58Z iqubic: k-hos: No. None at all. 2018-02-06T06:03:37Z k-hos: well, assuming really have none at all not even an interest in it then probably not 2018-02-06T06:03:45Z aeth: disassemble is implementation-specific (and can also be architecture specific, obviously) 2018-02-06T06:04:07Z iqubic: I see. I don't even know my architecture. LOL 2018-02-06T06:05:03Z k-hos: inconclusive 2018-02-06T06:06:59Z iqubic: What does that mean? 2018-02-06T06:08:09Z saki quit (Ping timeout: 264 seconds) 2018-02-06T06:08:11Z k-hos: I version'd your client because most say what they're built for 2018-02-06T06:08:54Z aeth: My version is ":-)" 2018-02-06T06:09:13Z aeth: Security by obscurity! 2018-02-06T06:09:18Z iqubic: Oh. I have no idea how you can version my client. 2018-02-06T06:09:20Z Kevslinger quit (Quit: Connection closed for inactivity) 2018-02-06T06:09:29Z borei left #lisp 2018-02-06T06:16:08Z fikka joined #lisp 2018-02-06T06:20:33Z oleo quit (Quit: Leaving) 2018-02-06T06:20:35Z fikka quit (Ping timeout: 240 seconds) 2018-02-06T06:21:07Z rme: I think "git worktree" might be just the ticket for me 2018-02-06T06:26:35Z fikka joined #lisp 2018-02-06T06:28:20Z saki joined #lisp 2018-02-06T06:28:21Z shka joined #lisp 2018-02-06T06:31:31Z dieggsy quit (Remote host closed the connection) 2018-02-06T06:31:32Z fikka quit (Ping timeout: 260 seconds) 2018-02-06T06:32:34Z deng_cn quit (Read error: Connection reset by peer) 2018-02-06T06:34:09Z Karl_Dscc joined #lisp 2018-02-06T06:34:10Z python476 quit (Ping timeout: 256 seconds) 2018-02-06T06:34:46Z deng_cn joined #lisp 2018-02-06T06:35:12Z nosaj88 joined #lisp 2018-02-06T06:36:14Z jstypo quit (Read error: Connection reset by peer) 2018-02-06T06:38:55Z krwq quit (Ping timeout: 248 seconds) 2018-02-06T06:39:17Z beach: Good morning everyone! 2018-02-06T06:40:26Z vlatkoB joined #lisp 2018-02-06T06:43:29Z Karl_Dscc quit (Ping timeout: 256 seconds) 2018-02-06T06:44:01Z nosaj88 quit (Quit: Leaving) 2018-02-06T06:46:15Z hiroaki quit (Ping timeout: 260 seconds) 2018-02-06T06:46:35Z fikka joined #lisp 2018-02-06T06:51:22Z fikka quit (Ping timeout: 260 seconds) 2018-02-06T06:52:29Z phoe: Hey beach! 2018-02-06T06:53:00Z jstypo joined #lisp 2018-02-06T06:56:38Z Karl_Dscc joined #lisp 2018-02-06T07:00:15Z nosaj88 joined #lisp 2018-02-06T07:00:47Z nosaj88 quit (Remote host closed the connection) 2018-02-06T07:01:10Z nosaj88 joined #lisp 2018-02-06T07:05:51Z nosaj88 quit (Client Quit) 2018-02-06T07:06:54Z fikka joined #lisp 2018-02-06T07:10:59Z quazimodo quit (Ping timeout: 268 seconds) 2018-02-06T07:11:37Z Arcaelyx_ joined #lisp 2018-02-06T07:11:47Z Arcaelyx quit (Ping timeout: 260 seconds) 2018-02-06T07:11:55Z fikka quit (Ping timeout: 260 seconds) 2018-02-06T07:12:09Z SuperJen quit (Remote host closed the connection) 2018-02-06T07:12:22Z flamebeard joined #lisp 2018-02-06T07:16:47Z Karl_Dscc quit (Remote host closed the connection) 2018-02-06T07:16:55Z igemnace joined #lisp 2018-02-06T07:17:20Z fikka joined #lisp 2018-02-06T07:19:45Z nosaj88 joined #lisp 2018-02-06T07:20:40Z oldtopman joined #lisp 2018-02-06T07:21:22Z nosaj88 quit (Client Quit) 2018-02-06T07:21:37Z Arcaelyx_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-06T07:22:17Z fikka quit (Ping timeout: 260 seconds) 2018-02-06T07:32:23Z deng_cn quit (Read error: Connection reset by peer) 2018-02-06T07:34:38Z deng_cn joined #lisp 2018-02-06T07:35:22Z scymtym quit (Ping timeout: 256 seconds) 2018-02-06T07:37:21Z fikka joined #lisp 2018-02-06T07:42:07Z fikka quit (Ping timeout: 260 seconds) 2018-02-06T07:42:24Z makomo: morning! 2018-02-06T07:43:22Z beach: Hello makomo. 2018-02-06T07:50:22Z varjag joined #lisp 2018-02-06T07:57:38Z fikka joined #lisp 2018-02-06T07:57:51Z shka quit (Ping timeout: 268 seconds) 2018-02-06T07:59:03Z hiroaki joined #lisp 2018-02-06T08:00:27Z shka joined #lisp 2018-02-06T08:02:42Z fikka quit (Ping timeout: 256 seconds) 2018-02-06T08:03:13Z deng_cn quit (Read error: Connection reset by peer) 2018-02-06T08:03:44Z Cymew joined #lisp 2018-02-06T08:05:19Z deng_cn joined #lisp 2018-02-06T08:08:07Z fikka joined #lisp 2018-02-06T08:08:59Z ebzzry joined #lisp 2018-02-06T08:09:14Z lnostdal quit (Ping timeout: 255 seconds) 2018-02-06T08:13:02Z fikka quit (Ping timeout: 260 seconds) 2018-02-06T08:19:42Z angelo|2 quit (Ping timeout: 256 seconds) 2018-02-06T08:20:37Z shka quit (Ping timeout: 260 seconds) 2018-02-06T08:21:05Z nosaj88 joined #lisp 2018-02-06T08:22:06Z angelo|2 joined #lisp 2018-02-06T08:22:10Z smokeink joined #lisp 2018-02-06T08:23:29Z shrdlu68 joined #lisp 2018-02-06T08:27:01Z igemnace_ joined #lisp 2018-02-06T08:27:30Z igemnace quit (Ping timeout: 256 seconds) 2018-02-06T08:28:09Z fikka joined #lisp 2018-02-06T08:30:52Z mlf quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-06T08:32:52Z fikka quit (Ping timeout: 260 seconds) 2018-02-06T08:33:20Z deng_cn quit (Read error: Connection reset by peer) 2018-02-06T08:35:42Z deng_cn joined #lisp 2018-02-06T08:35:58Z mishoo_ joined #lisp 2018-02-06T08:36:21Z xantoz quit (Ping timeout: 263 seconds) 2018-02-06T08:36:41Z milanj joined #lisp 2018-02-06T08:37:31Z schweers joined #lisp 2018-02-06T08:39:16Z scymtym joined #lisp 2018-02-06T08:40:08Z xantoz joined #lisp 2018-02-06T08:41:54Z nirved joined #lisp 2018-02-06T08:46:55Z rabbit joined #lisp 2018-02-06T08:47:14Z fluke` quit (Remote host closed the connection) 2018-02-06T08:47:43Z razzy quit (Remote host closed the connection) 2018-02-06T08:47:54Z Mandus quit (Ping timeout: 256 seconds) 2018-02-06T08:48:26Z fikka joined #lisp 2018-02-06T08:53:45Z fikka quit (Ping timeout: 264 seconds) 2018-02-06T08:57:58Z razzy joined #lisp 2018-02-06T08:59:57Z damke_ joined #lisp 2018-02-06T09:00:34Z solyd joined #lisp 2018-02-06T09:01:55Z fluke` joined #lisp 2018-02-06T09:02:45Z damke quit (Ping timeout: 264 seconds) 2018-02-06T09:05:46Z hhdave joined #lisp 2018-02-06T09:05:48Z jfb4 quit (Ping timeout: 240 seconds) 2018-02-06T09:06:31Z fikka joined #lisp 2018-02-06T09:07:43Z rstandy joined #lisp 2018-02-06T09:07:54Z jfb4 joined #lisp 2018-02-06T09:16:29Z hhdave quit (Ping timeout: 256 seconds) 2018-02-06T09:17:15Z vydd joined #lisp 2018-02-06T09:17:20Z vydd quit (Remote host closed the connection) 2018-02-06T09:17:47Z hhdave joined #lisp 2018-02-06T09:18:47Z vydd joined #lisp 2018-02-06T09:18:50Z vydd quit (Read error: Connection reset by peer) 2018-02-06T09:19:52Z froggey quit (Ping timeout: 268 seconds) 2018-02-06T09:27:06Z varjagg joined #lisp 2018-02-06T09:28:48Z Tobbi joined #lisp 2018-02-06T09:30:12Z smokeink quit (Remote host closed the connection) 2018-02-06T09:30:35Z smokeink joined #lisp 2018-02-06T09:31:40Z varjagg quit (Ping timeout: 256 seconds) 2018-02-06T09:37:17Z fikka quit (Ping timeout: 276 seconds) 2018-02-06T09:43:15Z klixto joined #lisp 2018-02-06T09:43:18Z jfb4 quit (Ping timeout: 268 seconds) 2018-02-06T09:43:19Z razzy quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2018-02-06T09:45:05Z jfb4 joined #lisp 2018-02-06T09:45:17Z razzy joined #lisp 2018-02-06T09:50:25Z jfb4 quit (Ping timeout: 248 seconds) 2018-02-06T09:52:23Z jfb4 joined #lisp 2018-02-06T09:53:49Z nosaj88 quit (Quit: Leaving) 2018-02-06T09:57:21Z jfb4 quit (Ping timeout: 264 seconds) 2018-02-06T09:57:29Z shrdlu68 quit (Ping timeout: 268 seconds) 2018-02-06T09:59:04Z jfb4 joined #lisp 2018-02-06T09:59:14Z shrdlu68 joined #lisp 2018-02-06T10:01:01Z AeroNotix: seems like there's a lot of interesting scroll back 2018-02-06T10:01:11Z AeroNotix: Will try to read it all 2018-02-06T10:01:36Z Shinmera: iqubic: Learning ASM is worth it, though there's not just one assembly, and they can differ significantly in details. 2018-02-06T10:02:10Z Shinmera: iqubic: I'd recommend learning a very simple RISC-like first, and then learning x86. The former because it'll be easier to get started with and get an idea of what it's about, and the latter because it's actively useful. 2018-02-06T10:02:21Z AeroNotix: iqubic: a very simple "assembly" to learn would be chip8 2018-02-06T10:02:53Z Shinmera: Or 6502. http://skilldrick.github.io/easy6502/ 2018-02-06T10:02:56Z AeroNotix: gets you into the flow of using assembly-like languages 2018-02-06T10:03:07Z AeroNotix: yeah 6502 too 2018-02-06T10:03:11Z Shinmera: MIPS is okey too 2018-02-06T10:09:48Z Mandus joined #lisp 2018-02-06T10:15:16Z aindilis quit (Read error: Connection reset by peer) 2018-02-06T10:15:31Z fikka joined #lisp 2018-02-06T10:16:36Z jfb4 quit (Ping timeout: 268 seconds) 2018-02-06T10:17:12Z random-nick joined #lisp 2018-02-06T10:17:36Z jstypo quit (Ping timeout: 248 seconds) 2018-02-06T10:17:55Z jfb4 joined #lisp 2018-02-06T10:18:18Z aindilis joined #lisp 2018-02-06T10:20:42Z pjb joined #lisp 2018-02-06T10:26:18Z jstypo joined #lisp 2018-02-06T10:29:34Z flip214: or Atmel AVR... 2018-02-06T10:29:57Z flip214: or 8031 2018-02-06T10:36:40Z jameser quit (Read error: Connection reset by peer) 2018-02-06T10:37:14Z klixto quit (Quit: Konversation terminated!) 2018-02-06T10:37:19Z jameser joined #lisp 2018-02-06T10:37:46Z klixto joined #lisp 2018-02-06T10:38:12Z markong joined #lisp 2018-02-06T10:39:55Z random-nick quit (Remote host closed the connection) 2018-02-06T10:41:54Z saki quit (Remote host closed the connection) 2018-02-06T10:42:09Z saki joined #lisp 2018-02-06T10:42:39Z random-nick joined #lisp 2018-02-06T10:47:02Z jfb4 quit (Ping timeout: 260 seconds) 2018-02-06T10:49:03Z jfb4 joined #lisp 2018-02-06T10:49:37Z fikka quit (Ping timeout: 248 seconds) 2018-02-06T10:53:04Z random-nick quit (Remote host closed the connection) 2018-02-06T10:54:33Z fikka joined #lisp 2018-02-06T10:55:24Z random-nick joined #lisp 2018-02-06T10:57:09Z random-nick quit (Remote host closed the connection) 2018-02-06T10:57:58Z igemnace_ is now known as igemnace 2018-02-06T11:00:09Z random-nick joined #lisp 2018-02-06T11:00:47Z fikka quit (Ping timeout: 248 seconds) 2018-02-06T11:00:59Z damke joined #lisp 2018-02-06T11:03:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-06T11:04:03Z fikka joined #lisp 2018-02-06T11:08:36Z Chream joined #lisp 2018-02-06T11:08:37Z fikka quit (Ping timeout: 260 seconds) 2018-02-06T11:08:38Z Devon joined #lisp 2018-02-06T11:12:21Z m00natic joined #lisp 2018-02-06T11:13:19Z fikka joined #lisp 2018-02-06T11:15:20Z rabbit quit (Remote host closed the connection) 2018-02-06T11:17:11Z MrMc joined #lisp 2018-02-06T11:19:50Z fikka quit (Ping timeout: 260 seconds) 2018-02-06T11:20:56Z orivej joined #lisp 2018-02-06T11:21:19Z fikka joined #lisp 2018-02-06T11:26:15Z fikka quit (Ping timeout: 256 seconds) 2018-02-06T11:30:34Z fikka joined #lisp 2018-02-06T11:31:29Z jameser quit (Read error: Connection reset by peer) 2018-02-06T11:33:38Z klixto quit (Read error: Connection reset by peer) 2018-02-06T11:35:19Z fikka quit (Ping timeout: 256 seconds) 2018-02-06T11:35:27Z Devon quit (Ping timeout: 240 seconds) 2018-02-06T11:37:02Z fikka joined #lisp 2018-02-06T11:40:44Z MrMc left #lisp 2018-02-06T11:41:52Z fikka quit (Ping timeout: 260 seconds) 2018-02-06T11:42:36Z antgreen quit (Remote host closed the connection) 2018-02-06T11:42:43Z EvW1 joined #lisp 2018-02-06T11:43:41Z antgreen joined #lisp 2018-02-06T11:44:25Z antgreen quit (Remote host closed the connection) 2018-02-06T11:46:22Z fikka joined #lisp 2018-02-06T11:46:23Z antgreen joined #lisp 2018-02-06T11:46:39Z nullman quit (Ping timeout: 248 seconds) 2018-02-06T11:47:11Z antgreen quit (Remote host closed the connection) 2018-02-06T11:47:31Z nullman joined #lisp 2018-02-06T11:47:33Z antgreen joined #lisp 2018-02-06T11:47:35Z python476 joined #lisp 2018-02-06T11:54:07Z fikka quit (Ping timeout: 260 seconds) 2018-02-06T11:56:01Z fikka joined #lisp 2018-02-06T12:01:17Z d4gg4d_ quit 2018-02-06T12:01:30Z d4gg4d_ joined #lisp 2018-02-06T12:03:18Z vyzo quit (Ping timeout: 252 seconds) 2018-02-06T12:05:14Z fikka quit (Ping timeout: 256 seconds) 2018-02-06T12:06:57Z EvW1 quit (Ping timeout: 260 seconds) 2018-02-06T12:08:02Z trig-ger quit 2018-02-06T12:08:17Z trig-ger joined #lisp 2018-02-06T12:10:27Z fikka joined #lisp 2018-02-06T12:13:57Z jmercouris joined #lisp 2018-02-06T12:13:59Z Chream quit (Remote host closed the connection) 2018-02-06T12:14:55Z fikka quit (Ping timeout: 248 seconds) 2018-02-06T12:15:29Z EvW joined #lisp 2018-02-06T12:16:33Z orivej quit (Ping timeout: 264 seconds) 2018-02-06T12:18:05Z __main__ quit (Read error: Connection reset by peer) 2018-02-06T12:18:32Z nowhere_man joined #lisp 2018-02-06T12:19:19Z __main__ joined #lisp 2018-02-06T12:19:43Z fikka joined #lisp 2018-02-06T12:19:55Z rvirding quit 2018-02-06T12:20:12Z rvirding joined #lisp 2018-02-06T12:22:01Z orivej joined #lisp 2018-02-06T12:22:37Z Denommus joined #lisp 2018-02-06T12:24:27Z fikka quit (Ping timeout: 260 seconds) 2018-02-06T12:28:38Z attila_lendvai joined #lisp 2018-02-06T12:28:38Z attila_lendvai quit (Changing host) 2018-02-06T12:28:38Z attila_lendvai joined #lisp 2018-02-06T12:28:42Z fikka joined #lisp 2018-02-06T12:30:56Z ebrasca joined #lisp 2018-02-06T12:31:09Z ebrasca: Good morning 2018-02-06T12:33:05Z nowhere_man quit (Ping timeout: 248 seconds) 2018-02-06T12:33:17Z nowhere_man joined #lisp 2018-02-06T12:33:47Z fikka quit (Ping timeout: 260 seconds) 2018-02-06T12:34:21Z jmercouris: good morning 2018-02-06T12:36:07Z antgreen quit (Ping timeout: 260 seconds) 2018-02-06T12:36:17Z jfb4 quit (Ping timeout: 248 seconds) 2018-02-06T12:38:01Z fikka joined #lisp 2018-02-06T12:38:24Z jfb4 joined #lisp 2018-02-06T12:38:31Z raynold quit (Quit: Connection closed for inactivity) 2018-02-06T12:41:07Z openthesky joined #lisp 2018-02-06T12:47:47Z fikka quit (Ping timeout: 260 seconds) 2018-02-06T12:49:08Z fikka joined #lisp 2018-02-06T12:49:12Z rumbler31 joined #lisp 2018-02-06T12:50:36Z jmercouris: borodust: Xach said that you apparently use quickdist to host your own quicklisp server? 2018-02-06T12:51:23Z zooey quit (Ping timeout: 255 seconds) 2018-02-06T12:53:44Z Shinmera: I do too 2018-02-06T12:54:54Z AeroNotix: I'm sure I could google this but what if your dist provides a package that's in the base quicklisp dist? 2018-02-06T12:55:12Z Shinmera: Each dist has a priority number 2018-02-06T12:55:35Z jmercouris: There's some sort of priority 2018-02-06T12:55:42Z fikka quit (Ping timeout: 268 seconds) 2018-02-06T12:55:45Z jmercouris: I forgot what the order is, but Xach has spoken about it 2018-02-06T12:56:09Z zooey joined #lisp 2018-02-06T12:56:15Z jmercouris: Shinmera: Okay, so is it okay if I bounce off my idea off of you to make sure I understand this? 2018-02-06T12:56:17Z AeroNotix: Oh right, cool 2018-02-06T12:56:25Z Shinmera: jmercouris: Don't ask to ask 2018-02-06T12:56:35Z jmercouris: Fair enough, that's a pet peeve of mine 2018-02-06T12:56:39Z AeroNotix: mine too 2018-02-06T12:56:41Z jmercouris: Anyways, here's the tentative plan 2018-02-06T12:56:51Z jmercouris: I make a repository called next-packages 2018-02-06T12:56:54Z fikka joined #lisp 2018-02-06T12:57:03Z jmercouris: people can submit packages, whatever, each package contains it's own folder per the quickdist instructions 2018-02-06T12:57:09Z AeroNotix: Xach: do you have a patreon? 2018-02-06T12:57:15Z AeroNotix: or similar 2018-02-06T12:57:19Z Shinmera: repository as in VCS or some separate system? 2018-02-06T12:57:36Z jmercouris: then, I can use quickdist to publish to my github io page at some url called like next-dist or whatever 2018-02-06T12:57:39Z Shinmera: AeroNotix: https://www.quicklisp.org/donations.html 2018-02-06T12:57:50Z AeroNotix: oh cool, there's a recurring thing 2018-02-06T12:58:09Z jmercouris: when next first loads it will do: (ql-dist:install-dist "http://url-to-next-dist.github.io/quickdist.txt") 2018-02-06T12:58:52Z AeroNotix: jmercouris: what are you trying to solve? Plugins, perchance? 2018-02-06T12:58:53Z jmercouris: then of course theoretically, assuming I exported properly, they will be able to (ql:quickload "xyz-package-from-next-trusted-repository") 2018-02-06T12:59:01Z jmercouris: AeroNotix: Packages, plugins effectively yes 2018-02-06T12:59:04Z AeroNotix: ok 2018-02-06T12:59:06Z Shinmera: jmercouris: Is next supposed to be quickloadable or only available as a binary package? 2018-02-06T12:59:18Z EvW quit (Ping timeout: 240 seconds) 2018-02-06T12:59:23Z jmercouris: Shinmera: It's available in both formats 2018-02-06T12:59:34Z Shinmera: In the former I heavily advise you not to mess with quicklisp without the user's explicit instructions to do so 2018-02-06T12:59:36Z jmercouris: I'd like both types of users to be able to benefit from plugins 2018-02-06T12:59:48Z Shinmera: In the latter I would do that before you ship a package so that it's already done. 2018-02-06T13:00:02Z AeroNotix: jmercouris: as Shinmera mentioned messing with the user's QL is no good. You can however isolate next's QL environment though 2018-02-06T13:00:17Z AeroNotix: e.g. if you install from binary and have a next-isolated QL install then everything is fair game. 2018-02-06T13:00:26Z jmercouris: Is it possible to namespace'd ql? 2018-02-06T13:00:28Z AeroNotix: and if someone installs from source/next from quicklisp then all bets are off 2018-02-06T13:00:40Z AeroNotix: jmercouris: not sure about namespaced but in Lispkit I install QL into a local dir and use that instead. 2018-02-06T13:00:43Z jmercouris: e.g. when they ql next, could they say (ql-next:quickload "some-package") 2018-02-06T13:00:44Z Shinmera: jmercouris: You can have multiple QL installations, but only one active at a time in an image. 2018-02-06T13:00:57Z jmercouris: so basically what I'm saying is impossible 2018-02-06T13:00:57Z AeroNotix: look at lispkit's makefile. There's some rules which do something similar. Should give you an idea 2018-02-06T13:01:06Z AeroNotix: I think one of the ql install funcntions takes a directory 2018-02-06T13:01:30Z madrik joined #lisp 2018-02-06T13:01:35Z jmercouris: Right 2018-02-06T13:01:56Z jmercouris: but if they are quickloading next, then they can't exactly switch to another QL installation after having quickloaded it 2018-02-06T13:01:58Z jmercouris: can they? 2018-02-06T13:02:22Z jmercouris: I don't see why not actually? 2018-02-06T13:02:33Z jmercouris: what happens if you (load quicklisp-init) twice with a different path? 2018-02-06T13:03:23Z vyzo joined #lisp 2018-02-06T13:03:43Z AeroNotix: jmercouris: it installs it into the new path iirc 2018-02-06T13:03:44Z jmercouris: AeroNotix: have you given the GTK version a spin perchance? I know you're super busy, jw 2018-02-06T13:03:58Z AeroNotix: jmercouris: no I haven't. Getting more time recently though. When I get a minute I'll run it 2018-02-06T13:04:08Z porky11 joined #lisp 2018-02-06T13:04:10Z billitch quit (Ping timeout: 256 seconds) 2018-02-06T13:04:12Z AeroNotix: if people are quickloading next they're on their own imho 2018-02-06T13:04:19Z AeroNotix: they know how to use ql, write CL etc 2018-02-06T13:04:29Z jmercouris: So maybe I only worry about it in the binary then 2018-02-06T13:04:38Z AeroNotix: but I am talking about users of binary distributions. Installing your own QL path and load plugins from that is better 2018-02-06T13:04:41Z AeroNotix: yeah exactly 2018-02-06T13:04:50Z jmercouris: because if they can QL next, they should be able to go ahead and add a new dist to install plugins etc 2018-02-06T13:04:56Z AeroNotix: yeah exactly 2018-02-06T13:05:22Z jmercouris: and at any rate, when they QL next, they can compile it, and install plugins that way as well 2018-02-06T13:05:24Z igemnace quit (Quit: WeeChat 2.0.1) 2018-02-06T13:05:28Z AeroNotix: yeah. 2018-02-06T13:06:15Z jmercouris: Is there a way to merge dists? 2018-02-06T13:06:18Z AeroNotix: https://github.com/AeroNotix/lispkit/blob/master/Makefile#L72-L84 here's what I did in lispkit. This was aimed at being able to build lispkit without needing many system dependencies but the idea remains 2018-02-06T13:06:21Z AeroNotix: merge how? 2018-02-06T13:06:26Z jmercouris: Like combine, union 2018-02-06T13:06:51Z AeroNotix: dunno 2018-02-06T13:07:04Z jmercouris: AeroNotix: How did you do compilation on Linux? 2018-02-06T13:07:59Z jmercouris: Ah i see you are using buildapp 2018-02-06T13:09:56Z AeroNotix: yeah 2018-02-06T13:10:40Z orivej quit (Ping timeout: 240 seconds) 2018-02-06T13:10:54Z jmercouris: Did you distribute any binaries for ubuntu or anything? 2018-02-06T13:11:17Z jmercouris: Also, I am trying to do split window, and I'm having a very unpleasant time trying to figure it out 2018-02-06T13:11:40Z jmercouris: on the surface it looks so deceptively simple, just a tree of views, with split horziontal and split vertical 2018-02-06T13:11:41Z AeroNotix: jmercouris: I just built the image for it and in the repo I had a PKGBUILD for archlinux 2018-02-06T13:11:57Z jmercouris: What is that? the equivalent of a deb file? 2018-02-06T13:12:16Z AeroNotix: but I included the debian tar gz maybe? I can see a target for that 2018-02-06T13:12:23Z jmercouris: Seems to be just a shell script 2018-02-06T13:12:29Z AeroNotix: PKGBUILD yeah is just archlinux aur metadata for building a package 2018-02-06T13:12:38Z jmercouris: maybe that is what I should do, just include a shellscript that creates a binary 2018-02-06T13:13:41Z AeroNotix: jmercouris: https://github.com/AeroNotix/lispkit/blob/2482dbeabc79667407dabe7765dfbffc16584b08/Makefile#L96-L106 2018-02-06T13:14:03Z AeroNotix: that's all I did 2018-02-06T13:14:14Z jmercouris: Right, I see 2018-02-06T13:14:19Z AeroNotix: https://github.com/AeroNotix/lispkit/blob/2482dbeabc79667407dabe7765dfbffc16584b08/make-image.lisp 2018-02-06T13:14:21Z AeroNotix: along with that^ 2018-02-06T13:14:34Z jmercouris: just out of curiosity 2018-02-06T13:14:40Z rumbler31 quit (Remote host closed the connection) 2018-02-06T13:14:47Z jmercouris: why did you have so much time to work on lispkit? 2018-02-06T13:15:03Z AeroNotix: burnout from day job 2018-02-06T13:15:08Z jmercouris: Oh, I see 2018-02-06T13:15:20Z jmercouris: At least something good came out of it 2018-02-06T13:15:25Z jmercouris: a lot of your source lives on in next 2018-02-06T13:15:30Z AeroNotix: plus it was something I genuinely believed needed to exist 2018-02-06T13:15:47Z jmercouris: Me too 2018-02-06T13:15:55Z AeroNotix: but then dayjob got more hectic blah blah blah 2018-02-06T13:15:56Z jmercouris: You have to #believe again :D 2018-02-06T13:16:07Z AeroNotix: I do believe. Next seems to have good ideas. I just need to play with it. 2018-02-06T13:16:11Z jmercouris: I'm at a point where i'm not sure what my next important features are 2018-02-06T13:16:25Z AeroNotix: Right now I'm kind of focusing on IRL projects. I've got a couple of cars I am working on. 2018-02-06T13:16:28Z jmercouris: part of me says "packages", another part says "multiple windows" another says 2018-02-06T13:16:35Z AeroNotix: it's good to get my head away from computer sometimes 2018-02-06T13:16:39Z jmercouris: ah nice, cars in poland are super cheap too 2018-02-06T13:16:44Z AeroNotix: for some :) 2018-02-06T13:16:51Z jmercouris: well, I guess it is all relative 2018-02-06T13:16:53Z Murii joined #lisp 2018-02-06T13:16:53Z AeroNotix: yeah 2018-02-06T13:16:55Z jmercouris: I'm comparing them to german prices 2018-02-06T13:17:03Z AeroNotix: I actually bought one of my cars from germany technically 2018-02-06T13:17:10Z AeroNotix: '98 Mini. 2018-02-06T13:17:19Z jmercouris: ah, nice! those are really cool 2018-02-06T13:17:34Z AeroNotix: yeah, dead easy to work on and really good aftermarket 2018-02-06T13:17:48Z jmercouris: plus they remind you of home I take it ;) 2018-02-06T13:18:24Z AeroNotix: https://photos.app.goo.gl/caQnubFOdFB375c33 couple of days after I bought it 2018-02-06T13:18:52Z AeroNotix: https://photos.app.goo.gl/BTEuDXN3qx8olPf63 then someone used it for their wedding 2018-02-06T13:19:16Z jmercouris: lol, I love it next to the charger 2018-02-06T13:19:32Z jmercouris: that's the difference between the us and uk personified in a single image 2018-02-06T13:19:36Z AeroNotix: https://photos.app.goo.gl/V4kTd4VtCs3wTtaI3 quick little video 2018-02-06T13:19:57Z AeroNotix: yeah it is, I love the size difference. It really does embody the different attitudes between English and American people 2018-02-06T13:19:59Z Shinmera: >> #lispcafe 2018-02-06T13:20:03Z AeroNotix: haha 2018-02-06T13:20:04Z AeroNotix: sorry 2018-02-06T13:23:45Z jmercouris quit (Ping timeout: 248 seconds) 2018-02-06T13:25:01Z Kevslinger joined #lisp 2018-02-06T13:29:30Z dddddd joined #lisp 2018-02-06T13:31:15Z AeroNotix: guess he wasn't that interested any way :) 2018-02-06T13:32:02Z AeroNotix: wow I'm quite surprised that lispkit still builds with no issues. Guess the work in QL and my effort to automate it paid off! 2018-02-06T13:34:27Z fluke` quit (Ping timeout: 260 seconds) 2018-02-06T13:36:15Z fluke` joined #lisp 2018-02-06T13:36:35Z fluke` quit (Remote host closed the connection) 2018-02-06T13:40:42Z FreeBirdLjj joined #lisp 2018-02-06T13:40:49Z jfb4 quit (Ping timeout: 248 seconds) 2018-02-06T13:43:04Z jfb4 joined #lisp 2018-02-06T13:43:37Z EvW joined #lisp 2018-02-06T13:44:01Z nowhereman_ joined #lisp 2018-02-06T13:44:50Z pagnol joined #lisp 2018-02-06T13:44:54Z AeroNotix: I do really like how with QL you depend on a distribution of systems rather than say a specific version of a system. It's like there's one version your application is pinned to, the whole dependency tree (all systems within QL) 2018-02-06T13:46:02Z porky11 quit (Quit: Leaving) 2018-02-06T13:47:52Z nowhere_man quit (Ping timeout: 260 seconds) 2018-02-06T13:48:35Z fikka quit (Ping timeout: 260 seconds) 2018-02-06T13:51:15Z fikka joined #lisp 2018-02-06T13:54:24Z Bike joined #lisp 2018-02-06T13:55:32Z jason_m joined #lisp 2018-02-06T14:02:41Z Josh_2 joined #lisp 2018-02-06T14:08:59Z jfb4 quit (Ping timeout: 276 seconds) 2018-02-06T14:09:27Z fikka quit (Ping timeout: 260 seconds) 2018-02-06T14:10:07Z jfb4 joined #lisp 2018-02-06T14:10:37Z jason_m quit (Ping timeout: 260 seconds) 2018-02-06T14:20:18Z smokeink quit (Remote host closed the connection) 2018-02-06T14:20:51Z rumbler31 joined #lisp 2018-02-06T14:32:48Z jameser joined #lisp 2018-02-06T14:35:01Z Devon joined #lisp 2018-02-06T14:39:18Z Devon quit (Ping timeout: 240 seconds) 2018-02-06T14:41:25Z kami joined #lisp 2018-02-06T14:41:34Z kami: Hello #lisp 2018-02-06T14:41:58Z beach: Hello kami. 2018-02-06T14:42:08Z AlphaAtom joined #lisp 2018-02-06T14:42:38Z AlphaAtom quit (Client Quit) 2018-02-06T14:43:35Z warweasle joined #lisp 2018-02-06T14:43:59Z AlphaAtom joined #lisp 2018-02-06T14:45:30Z Josh_2 quit (Remote host closed the connection) 2018-02-06T14:53:06Z tazjin quit 2018-02-06T14:53:27Z tazjin joined #lisp 2018-02-06T15:04:11Z Denommus quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2018-02-06T15:10:38Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-06T15:10:47Z ebzzry quit (Read error: Connection reset by peer) 2018-02-06T15:14:17Z rippa joined #lisp 2018-02-06T15:14:48Z Meow-J_ quit 2018-02-06T15:16:17Z billitch joined #lisp 2018-02-06T15:16:26Z ebzzry joined #lisp 2018-02-06T15:16:47Z Meow-J_ joined #lisp 2018-02-06T15:17:07Z openthesky quit (Ping timeout: 260 seconds) 2018-02-06T15:18:56Z oleo joined #lisp 2018-02-06T15:20:23Z orivej joined #lisp 2018-02-06T15:23:41Z flamebeard quit (Quit: Leaving) 2018-02-06T15:27:42Z jmercouris joined #lisp 2018-02-06T15:28:13Z rstandy quit (Quit: bye) 2018-02-06T15:28:14Z AlphaAtom left #lisp 2018-02-06T15:29:22Z Josh_2 joined #lisp 2018-02-06T15:30:24Z Cymew quit (Remote host closed the connection) 2018-02-06T15:30:36Z jmercouris: anyone in here interested in working on some lisp projects together or some startup? 2018-02-06T15:31:06Z ebzzry quit (Ping timeout: 268 seconds) 2018-02-06T15:32:12Z Cymew joined #lisp 2018-02-06T15:33:30Z beach: I am always interested in working with others on Common Lisp projects, but I work exclusively on free software. Also, it depends on the domain, of course. 2018-02-06T15:35:54Z adulteratedjedi quit 2018-02-06T15:36:09Z dieggsy joined #lisp 2018-02-06T15:36:25Z adulteratedjedi joined #lisp 2018-02-06T15:36:34Z shrdlu68: jmercouris: I, for one. 2018-02-06T15:38:05Z Shinmera: I am, if the projects are mine :^) 2018-02-06T15:39:52Z pjb: jmercouris: how well is it paid? 2018-02-06T15:39:56Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-06T15:41:13Z jstypo quit (Remote host closed the connection) 2018-02-06T15:41:37Z froggey joined #lisp 2018-02-06T15:45:15Z jmercouris: pjb: not paid :\ 2018-02-06T15:45:28Z jmercouris: beach: It is free software I'm interested in developing 2018-02-06T15:45:58Z jmercouris: shrdlu68: what kinds of things are you interested in? 2018-02-06T15:45:59Z dlowe: you're going to have to be more persuasive than that ;) 2018-02-06T15:46:04Z jmercouris: Shinmera: what if it *uses* one of your projects? 2018-02-06T15:46:23Z Shinmera: That'd be cool, but I don't have time to start another thing. 2018-02-06T15:46:35Z Shinmera: I'd just cheer you on and provide support in that case. 2018-02-06T15:47:06Z jmercouris: Cheerleader is definitely a useful job 2018-02-06T15:47:11Z phoe: What is the simplest way of getting millisecond-precision time in Lisp? 2018-02-06T15:47:30Z Shinmera: phoe: Hope internal-time-units-per-second is high enough on your implementation? 2018-02-06T15:47:38Z phoe: Shinmera: 1000. 2018-02-06T15:47:40Z phoe: Or more. 2018-02-06T15:47:50Z jmercouris: dlowe: alright, how do I persuade yoU? 2018-02-06T15:47:55Z phoe: So it is millisecond enough. 2018-02-06T15:48:05Z shrdlu68: jmercouris: Data encoding, compression, protocols, GOFAI, to name a few. 2018-02-06T15:48:10Z Arcaelyx joined #lisp 2018-02-06T15:48:17Z jmercouris: shrdlu68: GOFAI? 2018-02-06T15:48:30Z jmercouris: ah, just looked it up 2018-02-06T15:48:31Z Shinmera: phoe: If you need higher precision, posix gettimeofday can also help. 2018-02-06T15:48:33Z jmercouris: okay, so this project is inline 2018-02-06T15:48:42Z phoe: Shinmera: I don't. 2018-02-06T15:48:44Z jmercouris: give me a few minutes to think of a good pitch 2018-02-06T15:48:46Z dlowe: jmercouris: offering me something that will convince me to do your thing instead of my thing 2018-02-06T15:49:03Z dlowe: because everyone here has their own thing they could be doing 2018-02-06T15:49:04Z jmercouris: dlowe: this is something that can make money 2018-02-06T15:49:22Z shrdlu68 should be submitting something to contest the Hutter Prize soon. 2018-02-06T15:49:37Z jmercouris: shrdlu68: hutter prize? link? 2018-02-06T15:49:58Z shrdlu68: jmercouris: http://prize.hutter1.net/ 2018-02-06T15:50:15Z lonjil joined #lisp 2018-02-06T15:51:27Z phoe: I need a snippet that will give me internal real time in milliseconds regardless of the internal-time-units-per-second value. 2018-02-06T15:51:42Z phoe: Hmm. 2018-02-06T15:52:48Z dlowe: phoe: also, are you talking about measuring durations here or getting the time of day? 2018-02-06T15:52:58Z phoe: Durations. 2018-02-06T15:53:03Z phoe: I'll use LOCAL-TIME. 2018-02-06T15:53:04Z _death: phoe: may want to check my monotonic-time system 2018-02-06T15:53:22Z jmercouris: alright, so in a nutshell, here is the project for your consideration: a special server to share bookmarks, active tabs, favorites, stuff like that (within an organization). it'll use "machine learning" to offer smart suggestions to users 2018-02-06T15:54:31Z dlowe: phoe: Why not just do (/ (* (- b a) 1000) internal-time-units-per-second) 2018-02-06T15:54:55Z dlowe: where b and a are from (get-internal-real-time) 2018-02-06T15:55:06Z phoe: dlowe: oh. Hmm. 2018-02-06T15:55:11Z dlowe: seems a bit easier than pulling in all of local-time :p 2018-02-06T15:55:57Z jmercouris: so each client will have a local database of all the other users in the organization, and it'll serve on some localhost 2018-02-06T15:56:08Z jmercouris: then the user can query their local server, does that make sense? 2018-02-06T15:56:13Z phoe: (/ (* (- b a) 1000) 2018-02-06T15:56:13Z phoe: internal-time-units-per-second) 2018-02-06T15:56:16Z phoe: gah, sorry 2018-02-06T15:56:18Z jmercouris: it's hard to focus while I'm on the phone at the same time 2018-02-06T15:57:22Z EvW quit (Ping timeout: 260 seconds) 2018-02-06T15:57:38Z jmercouris: beach: are any of your projects monetizable? can you turn any of them into a full time job? 2018-02-06T15:58:23Z beach: jmercouris: I haven't given it any thought, because I am not interested in making money out of my projects. 2018-02-06T16:00:35Z dec0n quit (Write error: Connection reset by peer) 2018-02-06T16:00:40Z jackdaniel: "I have a problem with my project. What should I do? I know, I'll monetize it." - now developer had two problems 2018-02-06T16:01:12Z phoe: ^ 2018-02-06T16:01:38Z fikka joined #lisp 2018-02-06T16:01:58Z kami quit (Ping timeout: 256 seconds) 2018-02-06T16:02:04Z jmercouris: jackdaniel: You misunderstand 2018-02-06T16:02:10Z jmercouris: I wish to simply work on lisp full time 2018-02-06T16:03:03Z jmercouris: and an unfortunate reality of this world is that I must also eat 2018-02-06T16:03:51Z emacsoma` joined #lisp 2018-02-06T16:09:02Z emacsomancer quit (Ping timeout: 260 seconds) 2018-02-06T16:09:22Z pjb: jmercouris: we've already paid for beach's work. 2018-02-06T16:09:40Z pjb: jmercouris: eg. sicl costs me 0.002 €/year. 2018-02-06T16:09:48Z beach: pjb: You have, but not jmercouris. 2018-02-06T16:10:05Z phoe: jmercouris: find something people want, make it, offer it to them for money. 2018-02-06T16:10:07Z pjb: sure. jmercouris pays for some other projects, and we share, thanks to the internet :-) 2018-02-06T16:10:22Z beach: Probably so. 2018-02-06T16:10:31Z phoe: people don't pay you to code in something you want, people pay you to get something they want. 2018-02-06T16:10:38Z pjb: beach: that's assuming jmercouris is not USA taxpayer, because for USA projects, WE do pay too, in all kinds of charges… 2018-02-06T16:13:20Z shrdlu68: phoe: Those things are not necessarily mutually exclusive. 2018-02-06T16:13:22Z pjb: jmercouris: promote the universal inconditional revenue! 2018-02-06T16:13:48Z phoe: shrdlu68: that is correct 2018-02-06T16:13:57Z jackdaniel: I'm not against getting paid for work on something one likes. I'm just saying that "menetizing" things is a tedious task and if handled sloppily is a bad thing (embedded ads in software, shareware, you name it) 2018-02-06T16:13:57Z phoe: but they don't always go together either. 2018-02-06T16:14:06Z jackdaniel: likes to do* 2018-02-06T16:14:26Z jackdaniel: monetizing* 2018-02-06T16:14:36Z jackdaniel: huh, speaking of sloppy (writing) 2018-02-06T16:16:18Z fikka quit (Ping timeout: 252 seconds) 2018-02-06T16:16:52Z beach: jmercouris: Here is a trick that I practiced in the past. I had a job for a company where they didn't care much which language was used to get the job done. So I used Lisp (not Common Lisp though) as much as I could. 2018-02-06T16:17:34Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-06T16:17:51Z pjb: and even when they want a specific language, you can often use CL to write tools and generate the code for you. 2018-02-06T16:18:11Z pmetzger joined #lisp 2018-02-06T16:19:32Z pagnol quit (Ping timeout: 260 seconds) 2018-02-06T16:20:08Z jmercouris: beach: That's a good strategy, but I also want to have my own business 2018-02-06T16:20:11Z jmercouris: however more difficult that may be 2018-02-06T16:20:36Z jmercouris: Also, I pay some european and american taxes, depending on the thing 2018-02-06T16:20:48Z pjb: Having a business is easy: you just need to find customers. 2018-02-06T16:21:26Z jmercouris: Lol, yeah 2018-02-06T16:21:53Z shrdlu68: Finding customers is easy, you just need to... 2018-02-06T16:22:03Z dlowe: ??? 3) Profit! 2018-02-06T16:22:08Z jmercouris: I do have a strategy to find customers, I'm good at marketing, I just need to work on a product 2018-02-06T16:22:18Z jmercouris: the product I have in mind is one that can be sold, and is interesting 2018-02-06T16:22:29Z jmercouris: I was just wondering if anyone is interested in working together is all 2018-02-06T16:22:40Z phoe: jmercouris: hey 2018-02-06T16:22:45Z phoe: these are two different things 2018-02-06T16:22:52Z pjb: Sorry, I forgot an important word: Having a business is easy: you just need to find PAYING customers. 2018-02-06T16:22:53Z phoe: working together, and businessmaking together 2018-02-06T16:23:13Z jmercouris: working together on a business, how about that 2018-02-06T16:23:23Z jmercouris: working together on a business that involves software written in CL 2018-02-06T16:24:41Z jmercouris: pjb: before you do anything, you at least need a team 2018-02-06T16:24:51Z jmercouris: you can pivot and market as many times as necessary, but you need a team 2018-02-06T16:25:04Z pjb: Not in this market. If you find the paying customer, you can hire the team quickly. 2018-02-06T16:25:15Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-06T16:25:18Z surya joined #lisp 2018-02-06T16:25:55Z pjb: And this can be done progressively. Once you have 4-5 people working for you that will make enough income so you can hire a salesman to do the job of finding paying customer for you too. Then it's automatic. 2018-02-06T16:25:59Z Shinmera: jmercouris: There's already a ton of bookmark services out there. 2018-02-06T16:26:22Z shrdlu68: I must admit that that sounds rather attractive. I don't understand the business though. 2018-02-06T16:26:51Z pmetzger quit 2018-02-06T16:27:27Z jmercouris: Shinmera: well, I'm open to any other ideas, or how to switch it up 2018-02-06T16:27:27Z pjb: and yes, whatever the idea, there's already a ton of solutions out there. This is why the important thing is the paying customer. Once you have the money, you can hire the technicians to implement the customer's solution. 2018-02-06T16:27:50Z drewc quit (Ping timeout: 268 seconds) 2018-02-06T16:28:02Z jmercouris: or even just to brainstorm ideas 2018-02-06T16:28:16Z pjb: jmercouris: you don't need an idea. You need a paying customer. Then you do whatever he needs. 2018-02-06T16:28:32Z jmercouris: pjb: I'm not looking for a patron :D 2018-02-06T16:29:06Z pjb: Well, at first, it's difficult because you have a small number of paying customer, but when you have more, you can start to fuck them, like Microsoft or Apple… 2018-02-06T16:29:07Z jmercouris: Yes, you need an idea first, then you identify potential customers, then you iterate, then you sell 2018-02-06T16:29:19Z pjb: They've got half the planet has customers, so they can do whatever they want. 2018-02-06T16:29:40Z jmercouris: Let's not muddy the waters, this is not relevant to starting a business 2018-02-06T16:30:08Z pjb: jmercouris: you got it wrong. first paying customer, then idea for a solution, then you implement. Selling is done first: you don't start working without having the money in the bank). 2018-02-06T16:30:33Z Cymew quit (Remote host closed the connection) 2018-02-06T16:31:23Z pjb: or you could start by the venture capital, but then they become your boss. 2018-02-06T16:31:26Z shrdlu68: pjb: That only describes a certain subset of businesses. Like architecture, where you have to wait to get a paying client. 2018-02-06T16:31:41Z jmercouris: No, the order is: 1. Product, 2. - Customer 3. - Iterate Until 4. - 4. Conversion to Paying Customer 2018-02-06T16:32:10Z jackdaniel: I think we are drifting from Lisp topic more with each second 2018-02-06T16:32:35Z jmercouris: yes, true, so, finally, last statement, anyone who is legitimately interested in working on some sort of business or something, please pm me 2018-02-06T16:33:57Z surya quit (Ping timeout: 240 seconds) 2018-02-06T16:35:01Z Josh_2: I can change the dates in your code so that you are not effected by y2k? 2018-02-06T16:35:49Z Bike quit (Ping timeout: 260 seconds) 2018-02-06T16:36:13Z fikka joined #lisp 2018-02-06T16:36:43Z Cymew joined #lisp 2018-02-06T16:37:20Z hiroaki quit (Ping timeout: 248 seconds) 2018-02-06T16:41:18Z Cymew quit (Ping timeout: 240 seconds) 2018-02-06T16:42:42Z Cymew joined #lisp 2018-02-06T16:47:32Z Cymew quit (Ping timeout: 260 seconds) 2018-02-06T16:48:16Z FreeBirdLjj joined #lisp 2018-02-06T16:48:40Z Cymew joined #lisp 2018-02-06T16:51:59Z JenElizabeth joined #lisp 2018-02-06T16:52:05Z solyd quit (Quit: solyd) 2018-02-06T16:52:47Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-06T16:53:05Z Cymew quit (Ping timeout: 240 seconds) 2018-02-06T16:53:55Z SuperJen joined #lisp 2018-02-06T16:54:37Z drewc joined #lisp 2018-02-06T16:54:40Z Cymew joined #lisp 2018-02-06T16:55:08Z JenElizabeth quit (Remote host closed the connection) 2018-02-06T16:55:17Z LiamH joined #lisp 2018-02-06T16:56:10Z SuperJen quit (Remote host closed the connection) 2018-02-06T16:56:48Z EvW joined #lisp 2018-02-06T16:59:05Z Cymew quit (Ping timeout: 240 seconds) 2018-02-06T17:00:38Z Cymew joined #lisp 2018-02-06T17:04:52Z Bike joined #lisp 2018-02-06T17:05:11Z Cymew quit (Ping timeout: 265 seconds) 2018-02-06T17:06:37Z Cymew joined #lisp 2018-02-06T17:10:57Z Cymew quit (Ping timeout: 240 seconds) 2018-02-06T17:12:06Z Karl_Dscc joined #lisp 2018-02-06T17:12:34Z Cymew joined #lisp 2018-02-06T17:13:39Z FreeBirdLjj joined #lisp 2018-02-06T17:14:03Z schweers quit (Remote host closed the connection) 2018-02-06T17:16:49Z Cymew quit (Ping timeout: 248 seconds) 2018-02-06T17:18:27Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-06T17:18:34Z Cymew joined #lisp 2018-02-06T17:20:42Z varjag joined #lisp 2018-02-06T17:21:30Z surya joined #lisp 2018-02-06T17:21:35Z Josh_2 quit (Remote host closed the connection) 2018-02-06T17:21:58Z random-nick quit (Quit: quit) 2018-02-06T17:22:13Z random-nick joined #lisp 2018-02-06T17:22:48Z Cymew quit (Ping timeout: 240 seconds) 2018-02-06T17:24:33Z Cymew joined #lisp 2018-02-06T17:28:55Z Cymew quit (Ping timeout: 256 seconds) 2018-02-06T17:35:55Z jmercouris: Shinmera: I see you've already been working on next :D https://github.com/Shinmera/NexT 2018-02-06T17:37:42Z phoe: nah, the capitalization differs 2018-02-06T17:37:59Z jmercouris: Shinmera: I looked through your software, and the only really monetizable thing I could see was Radiance or Flow 2018-02-06T17:38:12Z jmercouris: at least, with obvious paths 2018-02-06T17:42:45Z borodust: jmercouris: yes, indeed i am, but i see Shinmera already answered all your questions :) 2018-02-06T17:43:00Z jmercouris: yep! thanks anyway though 2018-02-06T17:43:44Z m00natic quit (Remote host closed the connection) 2018-02-06T17:47:21Z borodust: no probs! ;p 2018-02-06T17:47:37Z xrash quit (Ping timeout: 260 seconds) 2018-02-06T17:52:55Z Shinmera: jmercouris: Okey, though again, I don't really care 2018-02-06T17:53:51Z surya quit (Ping timeout: 256 seconds) 2018-02-06T17:55:44Z jmercouris: well, at least now you know? *shrugs* :D 2018-02-06T17:58:27Z raynold joined #lisp 2018-02-06T17:59:16Z hhdave quit (Ping timeout: 256 seconds) 2018-02-06T18:00:05Z orivej quit (Ping timeout: 240 seconds) 2018-02-06T18:00:29Z nosaj88 joined #lisp 2018-02-06T18:01:39Z dieggsy quit (Quit: ERC (IRC client for Emacs 27.0.50)) 2018-02-06T18:04:03Z nosaj88 quit (Client Quit) 2018-02-06T18:04:29Z nowhere_man joined #lisp 2018-02-06T18:08:50Z nowhereman_ quit (Ping timeout: 276 seconds) 2018-02-06T18:11:59Z pmetzger joined #lisp 2018-02-06T18:12:03Z orivej joined #lisp 2018-02-06T18:13:34Z guicho joined #lisp 2018-02-06T18:13:40Z guicho quit (Client Quit) 2018-02-06T18:14:09Z guicho joined #lisp 2018-02-06T18:15:00Z madrik quit (Remote host closed the connection) 2018-02-06T18:37:28Z ebrasca left #lisp 2018-02-06T18:38:50Z mfiano: How would I query the pprint dispatch table to see if there is already an entry present, so that I can supply the proper priority argument with a call to SET-PPRINT-DISPATCH? 2018-02-06T18:40:13Z Bike: i don't think you can get at it 2018-02-06T18:40:15Z Shinmera: With implementation internal means. 2018-02-06T18:40:22Z Bike: pprint-dispatch just gives you the highest priority object 2018-02-06T18:41:11Z Shinmera: What you can do is remove any matching dispatcher 2018-02-06T18:41:12Z mfiano: I just discovered that since mathkit is being pulled into my image, it is causing matrices to be pretty-printed *with the wrong transposition*. 2018-02-06T18:41:14Z Shinmera: by setting the function to NIL 2018-02-06T18:41:33Z mfiano: since they are just simple-array single-float 16's 2018-02-06T18:44:02Z mfiano: How would I remove an entry? 2018-02-06T18:44:28Z Shinmera: 19:41:14 Shinmera | by setting the function to NIL 2018-02-06T18:44:40Z mfiano: That is what I am questioning how to do 2018-02-06T18:44:45Z smasta joined #lisp 2018-02-06T18:44:48Z Shinmera: set-pprint-dispatch with the function argument NIL 2018-02-06T18:44:52Z Shinmera: as it says in the clhs 2018-02-06T18:44:55Z shka joined #lisp 2018-02-06T18:45:12Z solyd joined #lisp 2018-02-06T18:45:21Z mfiano: Thanks 2018-02-06T18:46:14Z guicho quit (Quit: ERC (IRC client for Emacs 25.1.1)) 2018-02-06T18:46:59Z guicho joined #lisp 2018-02-06T18:48:27Z mfiano: That's not possible. I would need to know all the type aliases defined. Can't simply set '(simple-array single-float (16)) function to nil 2018-02-06T18:49:58Z Shinmera: Well you would similarly have to test for all type aliases to do your priority thingy, yeah? 2018-02-06T18:50:41Z Kaisyu quit (Quit: Connection closed for inactivity) 2018-02-06T18:50:50Z mfiano: I'm currently just choosing an arbitrary high integer, which works, but could always fail if someone were to do the same and that was pulled into user images transitively by quicklisp 2018-02-06T18:51:30Z Shinmera: Modifying the global pprint table is ugly anyway. 2018-02-06T18:52:10Z mfiano: Exactly but a few matrix libraries do so and conflict with my game's representation 2018-02-06T18:52:42Z mfiano: and dependencies pull them in even though they are un-used, so it messes up my image 2018-02-06T18:52:45Z EvW quit (Remote host closed the connection) 2018-02-06T18:53:04Z EvW joined #lisp 2018-02-06T18:53:04Z Shinmera: PR the libs to stop them from doing that? 2018-02-06T18:53:40Z nowhereman_ joined #lisp 2018-02-06T18:54:22Z nowhere_man quit (Ping timeout: 256 seconds) 2018-02-06T18:57:37Z fikka quit (Ping timeout: 260 seconds) 2018-02-06T18:58:09Z nowhere_man joined #lisp 2018-02-06T18:58:12Z orivej quit (Ping timeout: 260 seconds) 2018-02-06T18:58:20Z nowhereman_ quit (Ping timeout: 260 seconds) 2018-02-06T18:58:48Z Pixel_Outlaw joined #lisp 2018-02-06T19:04:28Z smasta quit (Ping timeout: 268 seconds) 2018-02-06T19:04:51Z shka: good evening 2018-02-06T19:08:34Z jmercouris: beach: Who is currently working on the OSX port of Mcclim? 2018-02-06T19:08:37Z jmercouris: just fiddlerwoaroof ? 2018-02-06T19:08:44Z jmercouris: fiddlerwoaroof: are you there? 2018-02-06T19:11:19Z d4ryus2 is now known as d4ryus 2018-02-06T19:13:27Z pagnol joined #lisp 2018-02-06T19:18:10Z beach: jmercouris: I am afraid I don't remember. But I am sure jackdaniel knows. 2018-02-06T19:19:48Z fikka joined #lisp 2018-02-06T19:20:56Z jackdaniel: last time I've heard about beagle: https://irclog.tymoon.eu/freenode/%23clim?around=1514876884#1514876884 2018-02-06T19:21:19Z jackdaniel: I'd more gladly see a SDL backend which would be portable across platforms 2018-02-06T19:21:22Z jackdaniel: instead of cocoa-based 2018-02-06T19:21:54Z smasta joined #lisp 2018-02-06T19:22:07Z jackdaniel: actually this is last mention on #clim (13th of January: https://irclog.tymoon.eu/freenode/%23clim?around=1515888729#1515888729) 2018-02-06T19:22:50Z dieggsy joined #lisp 2018-02-06T19:23:04Z jmercouris: SDL huh 2018-02-06T19:23:44Z jmercouris: so you'd like to just replace all backends with an SDL one? or just the one for OSX? 2018-02-06T19:23:45Z jackdaniel: but truth to be told we have some code for beagle backend (cocoa-based) and no code for sdl 2018-02-06T19:24:01Z BitPuffin quit (Remote host closed the connection) 2018-02-06T19:24:33Z jmercouris: brb, going to store 2018-02-06T19:24:37Z jackdaniel: why replace? I want to have a portable backend which will work on all major platforms. currently only one backend works (and it is CLX in two flavours) 2018-02-06T19:25:21Z jmercouris: well, SDL is a portable back end which works on all major platforms 2018-02-06T19:25:27Z jackdaniel: I'm also writing (mostly for fun and documentation purposes) ncurses backend, but that should be taken more as a curiousity than a work which would benefit programmers society ;-) 2018-02-06T19:25:28Z jmercouris: so why support others when SDL will do the trick just fine? 2018-02-06T19:25:39Z jackdaniel: that's why I said I'd gladly see such addition 2018-02-06T19:25:42Z jmercouris: that's basically my question 2018-02-06T19:25:47Z jmercouris: Oh okay 2018-02-06T19:25:48Z Sauvin quit (Ping timeout: 240 seconds) 2018-02-06T19:25:50Z phoe: jmercouris: because it works right npow 2018-02-06T19:25:54Z jmercouris: So theoretically anyone could make the SDL backend 2018-02-06T19:25:56Z phoe: as compared to SDL backend 2018-02-06T19:26:02Z jmercouris: since it isn't OSX specific 2018-02-06T19:26:18Z jmercouris: what is the rationale for CLX? is that legacy code? 2018-02-06T19:26:25Z phoe: which not only doesn't work, but also doesn't exist 2018-02-06T19:26:38Z jmercouris: aka did the original author mcclim implement CLX, and therefore that's what we're working with? 2018-02-06T19:26:48Z jmercouris: right, I'm asking why wasn't SDL chosen in the first place 2018-02-06T19:26:51Z jackdaniel: CLX is the only working backend. Also CLX is portable across unices 2018-02-06T19:26:54Z jmercouris: I understand this whole hindsight 20/20 thing 2018-02-06T19:26:58Z jmercouris: perhaps it didn't exist at the time, etc 2018-02-06T19:27:31Z jmercouris: If SDL existed, Is there a good reason for CLX and SDL to coexist? 2018-02-06T19:27:33Z jackdaniel: also I would be displeased if everybody would start aiming at writing 10 backends at the same time 2018-02-06T19:27:38Z jmercouris: maybe my question isn't very clear :\ 2018-02-06T19:27:48Z jackdaniel: there are so many parts of codebase which would benefit from developer work 2018-02-06T19:28:29Z jackdaniel: yes, there is a huge reason - clx is pure CL software, so you can fully start it from (say) QL 2018-02-06T19:28:42Z jackdaniel: SDL backend would be a bunch of cffi bindings depending on libraries installed on a system 2018-02-06T19:29:32Z jackdaniel: I've got to go, see you 2018-02-06T19:29:58Z jackdaniel: https://common-lisp.net/project/mcclim/involve here is FAQ 2018-02-06T19:30:21Z jmercouris: ok thx 2018-02-06T19:30:27Z jmercouris: I also have to go, german grocry stores arent open late lol 2018-02-06T19:31:24Z Rawriful joined #lisp 2018-02-06T19:31:28Z fourier joined #lisp 2018-02-06T19:33:27Z smasta quit (Ping timeout: 268 seconds) 2018-02-06T19:38:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-06T19:40:47Z fourier quit (Changing host) 2018-02-06T19:40:47Z fourier joined #lisp 2018-02-06T19:44:15Z fikka joined #lisp 2018-02-06T19:46:14Z antgreen joined #lisp 2018-02-06T19:46:16Z random-nick quit (Read error: Connection reset by peer) 2018-02-06T19:48:18Z fikka quit (Ping timeout: 240 seconds) 2018-02-06T19:52:38Z JenElizabeth joined #lisp 2018-02-06T19:53:28Z alexmlw joined #lisp 2018-02-06T19:54:57Z sjl joined #lisp 2018-02-06T19:55:14Z JenElizabeth quit (Remote host closed the connection) 2018-02-06T19:57:45Z fikka joined #lisp 2018-02-06T19:57:57Z fourier quit (Ping timeout: 240 seconds) 2018-02-06T19:59:21Z joeygibson quit (Quit: Connection closed for inactivity) 2018-02-06T20:00:24Z damke_ joined #lisp 2018-02-06T20:02:39Z fikka quit (Ping timeout: 248 seconds) 2018-02-06T20:02:45Z damke quit (Ping timeout: 264 seconds) 2018-02-06T20:02:49Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-06T20:04:09Z White_Flame quit (Remote host closed the connection) 2018-02-06T20:05:28Z White_Flame joined #lisp 2018-02-06T20:07:40Z orivej joined #lisp 2018-02-06T20:09:41Z fikka joined #lisp 2018-02-06T20:11:38Z eudoxia joined #lisp 2018-02-06T20:12:29Z attila_lendvai joined #lisp 2018-02-06T20:15:59Z random-nick joined #lisp 2018-02-06T20:18:23Z kolko joined #lisp 2018-02-06T20:20:15Z solyd quit (Quit: solyd) 2018-02-06T20:21:59Z easieste joined #lisp 2018-02-06T20:24:10Z aeth: SDL is a large, heavyweight C library. 2018-02-06T20:25:28Z easieste quit (Client Quit) 2018-02-06T20:26:10Z aeth: The ideal approach would probably be directly write to Linux, Windows, and macOS APIs (through some written-in-CL portability layer, of course) so no third party library is required (afaik). 2018-02-06T20:26:40Z aeth: That probably hasn't been done because that's a lot of work. 2018-02-06T20:27:19Z eudoxia_ joined #lisp 2018-02-06T20:29:18Z eudoxia_ quit (Client Quit) 2018-02-06T20:30:08Z eudoxia quit (Ping timeout: 256 seconds) 2018-02-06T20:35:59Z Murii quit (Quit: WeeChat 1.4) 2018-02-06T20:36:47Z scymtym quit (Ping timeout: 260 seconds) 2018-02-06T20:42:09Z LiamH quit (Quit: Leaving.) 2018-02-06T20:42:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-06T20:45:27Z shka quit (Ping timeout: 240 seconds) 2018-02-06T20:45:50Z Karl_Dscc quit (Remote host closed the connection) 2018-02-06T20:47:41Z fourier joined #lisp 2018-02-06T20:50:34Z fourier quit (Changing host) 2018-02-06T20:50:34Z fourier joined #lisp 2018-02-06T20:53:19Z antgreen quit (Ping timeout: 265 seconds) 2018-02-06T20:53:36Z Methos_ is now known as GGMethos 2018-02-06T20:57:20Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-02-06T21:02:32Z fikka joined #lisp 2018-02-06T21:04:21Z TMA: aeth: SDL is not that heavyweight (could be worse) for the OpenGL and related there is glop https://github.com/lispgames/glop 2018-02-06T21:07:21Z Shinmera: glop is broken 2018-02-06T21:09:58Z alexmlw quit (Quit: alexmlw) 2018-02-06T21:10:38Z jmercouris: how do I insert a breakpoint into a file? 2018-02-06T21:10:53Z jmercouris: I seem to recall there's a command for that, but no emacs keybinding 2018-02-06T21:11:59Z jmercouris: seems to be only (break) 2018-02-06T21:12:11Z jmercouris: I wish there was a way like in other langs where you could set a breakpoint in emacs 2018-02-06T21:12:32Z Shinmera: Write a keyboard macro that writes "(break)" at point. 2018-02-06T21:12:49Z jmercouris: I could 2018-02-06T21:12:53Z jmercouris: why not 2018-02-06T21:13:13Z jmercouris: what's the normal emacs keybinding for break? 2018-02-06T21:13:16Z jmercouris: C-c C-b? 2018-02-06T21:13:32Z dlowe: it should be able to figure out if it needs to wrap the current sexpr in a progn 2018-02-06T21:13:51Z jmercouris: dlowe: you sound like you've already done this 2018-02-06T21:13:52Z jmercouris: do you have? 2018-02-06T21:14:04Z jmercouris: s/do you have/do you have a snippet? 2018-02-06T21:14:04Z dlowe: no. it sounds hard. 2018-02-06T21:15:36Z vlatkoB quit (Remote host closed the connection) 2018-02-06T21:19:57Z guicho quit (Ping timeout: 260 seconds) 2018-02-06T21:21:31Z jmercouris: If I mouse over a function, can I see where it is invoked? 2018-02-06T21:21:40Z dyelar quit (Quit: Leaving.) 2018-02-06T21:21:55Z Shinmera: slime-who-calls 2018-02-06T21:22:21Z jmercouris: Thank you 2018-02-06T21:24:37Z mishoo_ quit (Ping timeout: 260 seconds) 2018-02-06T21:24:37Z supernets_ joined #lisp 2018-02-06T21:24:39Z supernets_: WOW GUYS THIS PARTY @ IRC.SUPERNETS.ORG #SUPERBOWL IS STILL GOING ON!! CAN YOU BELIEVE IT??? CHRONO WANTS YOU TO JOIN THE FUN COME NOW!! 2018-02-06T21:24:43Z supernets_: fikka fourier kolko random-nick attila_lendvai orivej White_Flame damke_ sjl Rawriful dieggsy pagnol Pixel_Outlaw nowhere_man EvW pmetzger raynold varjag Bike drewc emacsoma` lonjil froggey adulteratedjedi jmercouris oleo Meow-J_ billitch rippa tazjin rumbler31 jfb4 dddddd Kevslinger vyzo zooey 2018-02-06T21:24:47Z supernets_: rvirding __main__ trig-ger d4gg4d_ python476 nullman saki markong pjb aindilis Mandus shrdlu68 razzy Tobbi nirved xantoz milanj deng_cn angelo|2 oldtopman schoppenhauer msb My_Hearing d4ryus DeadTrickster_ ft brucem vibs29 djinn MightyJoe lacedaemon angular_mike_ rann kilimanjaro jyc banjiewen 2018-02-06T21:24:51Z supernets_: gendl alms_clozure devlaf stux|RC-- foom2 whoman kozy emaczen manualcrank crsc zmt00 jack_rabbit rk[ghost] zotan sabrac kuneco guaqua theBlackDragon zacts kajo fittestbits eschatologist raydeejay Kyo91 anon_ voidlily bkst earl-ducaine impulse peterhil kini tylerdmace SlashLife Xal jibanes S 2018-02-06T21:24:55Z supernets_: amSkulls iqubic Tristam giraffe itruslove jdz k-hos stacksmith Petit_Dejeuner arbv CrazyEddy kjeldahl Jach[m] CharlieBrown larme easye akkad Lord_of_Life p_l brandonz drdo gko weltung tobel swflint tokik TMA trn caffe mgsk dim broccolistem _whitelogger troydm rotty presiden bhyde tkd sbat fdfdf 2018-02-06T21:24:59Z Shinmera: I can't believe it, 2018-02-06T21:24:59Z supernets_: mepian tripty cross Posterdati dan64 nopf mnoonan dilated_dinosaur kolb ssake MrBismuth pok funnel fortitude Zhivago alandipert vertigo himmAllRight17 luis Lord_Nightmare arrsim davsebamse aijony sbryant ben3 Kaisyu7 clog whartung Patzy Blkt mjl splittist koenig mulk micro pchrist joast 2018-02-06T21:25:01Z Rawriful: mooooooods 2018-02-06T21:25:03Z supernets_: cryptomarauder hdurer[m] kammd[m] Firedancer ku cess11 em equalunique[m] hiq[m] stux|RC XachX tfb gbyers gz_ danlentz johs asedeno antoszka bailon gabiruh_ rjeli_ sigjuice flip214 cyberlard joga jself GreaseMonkey koisoke DGASAU fluxit fouric zymurgy ecraven ja-barr Colleen drot vhost- kbtr les 2018-02-06T21:25:07Z supernets_: eMBee rgrau ArthurAGleckler[ jeremyheiler _death mbrock shaftoe loke copec beaky plll[m] katco[m] salva ccl-logbot megalography dlowe |3b| mood mikaelj runejuhl philosaur sshirokov grumble Xof sthalik vert2 Tordek Cthulhux vutral deba5e12 Nikotiini askatasuna Rovanion tmc Princess17b29a parseval 2018-02-06T21:25:10Z jmercouris: Wow, this is truly unbelievable 2018-02-06T21:25:11Z supernets_: stylewarning pmden cods Xach mrSpec paratox otwieracz pankracy ircbrowse RichardPaulBck[m felideon tomaw bitch reu lxpz creat sellout lugh eagleflo rme dirb kfdenden[m] mhitchman[m] fiddlerwoaroof mtd dotc Poeticode wladz_ krator44 gilberth nimiux benny guna_ malm djh cibs spacepluk z0d DrPete 2018-02-06T21:25:15Z supernets_ left #lisp 2018-02-06T21:25:20Z pmetzger quit 2018-02-06T21:25:40Z kajo: what is happening 2018-02-06T21:25:44Z Shinmera: spam 2018-02-06T21:25:44Z Bike: spam 2018-02-06T21:25:45Z k-hos: spam bot 2018-02-06T21:25:53Z jmercouris: I didn't quite catch that guys 2018-02-06T21:25:53Z Shinmera: We're making it worse! 2018-02-06T21:25:54Z k-hos: they have been hitting a lot of channels lately 2018-02-06T21:25:59Z jmercouris: can you repeat, what is happening? 2018-02-06T21:26:02Z k-hos: spam bot 2018-02-06T21:26:08Z pagnol: spam bot 2018-02-06T21:26:10Z k-hos: pay attention 2018-02-06T21:27:01Z zacts: ugh... 2018-02-06T21:27:01Z jmercouris: Shinmera: Have you made a static site generator? 2018-02-06T21:27:15Z ChanServ has set mode +o p_l 2018-02-06T21:27:19Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-02-06T21:27:23Z Shinmera: It's called with-open-file :^) 2018-02-06T21:27:36Z jmercouris: So, no? 2018-02-06T21:27:46Z Shinmera: I don't know what you mean that to be, so I can't answer your question. 2018-02-06T21:27:54Z p_l has set mode +b *!*@223.207.190.54 2018-02-06T21:27:57Z jmercouris: You know, like Pelican, Hugo, etc 2018-02-06T21:28:02Z Shinmera: I don't know 2018-02-06T21:28:07Z jmercouris: takes some markup, some index, and makes a website 2018-02-06T21:28:17Z p_l: Damn, too slow 2018-02-06T21:28:23Z k-hos: static sites from a template 2018-02-06T21:29:00Z jmercouris: Well, now you know the definition 2018-02-06T21:29:03Z Shinmera: Well, my blog site allows you to make posts in markdown and produces cached pages. 2018-02-06T21:29:09Z Shinmera: Does that count? 2018-02-06T21:29:12Z jmercouris: Kind of 2018-02-06T21:29:18Z jmercouris: usually they are more featured than that 2018-02-06T21:29:20Z whoman: aeth, so making a kind of simple and direct media layer in pure CL ? ^_^ 2018-02-06T21:29:33Z jmercouris: "simple", "direct" 2018-02-06T21:29:35Z dlowe: I made one for myself a long time ago. It was pretty neat - it would "expand" custom html tags, so I could write my site in html and then compile it to look fancy 2018-02-06T21:29:46Z emaczen quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-06T21:30:03Z Shinmera: dlowe: That's what my template system Clip does. 2018-02-06T21:30:04Z k-hos: maybe aeth should make a simple fast multimedia layer instead 2018-02-06T21:30:20Z whoman: surely aeth will make sure its fast = 2018-02-06T21:30:24Z jmercouris: I mean, how hard could it be 2018-02-06T21:30:29Z Ven`` joined #lisp 2018-02-06T21:30:30Z jmercouris: we all agree that it is "simple" 2018-02-06T21:30:38Z dlowe: nowadays, I'd just use stencl :) 2018-02-06T21:30:43Z Shinmera: Even just doing sound portably is hard enough. 2018-02-06T21:30:58Z Shinmera: But I did it, so that's not a concern anymore 2018-02-06T21:31:12Z k-hos: I am not looking forward to using the cl bindings of portaudio 2018-02-06T21:31:17Z jmercouris: Something something batman quote hero CL community deserves 2018-02-06T21:32:48Z fourier quit (Ping timeout: 240 seconds) 2018-02-06T21:32:50Z Shinmera: jmercouris: There's other systems (like Staple) that do similar things but tailored towards specific concerns. I have not written anything that is very general, because that's just a matter of doing some HTML wrangling and writing to file, which can be done in like a single line with lQuery. 2018-02-06T21:33:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-06T21:34:10Z jmercouris: Interesting, much different approach than me 2018-02-06T21:34:20Z jmercouris: man that sounds like caveman english 2018-02-06T21:34:39Z jmercouris: I don't even know how to correct it, but you get my meaning 2018-02-06T21:34:59Z fikka joined #lisp 2018-02-06T21:35:13Z whoman: very 2018-02-06T21:35:27Z jmercouris: I'm using a templating language, that's based on (sexpr) e.g. (:body (:h1 "Some text")) and then there are vars you can set, these vars can be interpreted strings through pandoc 2018-02-06T21:35:34Z jmercouris: together these make the actual pages 2018-02-06T21:35:53Z scymtym joined #lisp 2018-02-06T21:36:23Z jmercouris: whoman: I think maybe "Interesting, a very different approach compared to mine" or something like that 2018-02-06T21:39:47Z ChanServ has set mode -o p_l 2018-02-06T21:40:08Z asarch joined #lisp 2018-02-06T21:48:12Z Ven`` quit (Ping timeout: 256 seconds) 2018-02-06T21:50:44Z nosaj88 joined #lisp 2018-02-06T21:51:04Z nosaj88 quit (Remote host closed the connection) 2018-02-06T21:52:33Z White_Flame quit (Remote host closed the connection) 2018-02-06T21:53:48Z White_Flame joined #lisp 2018-02-06T21:55:44Z zooey quit (Remote host closed the connection) 2018-02-06T21:56:30Z zooey joined #lisp 2018-02-06T21:58:33Z earl-ducaine quit (Remote host closed the connection) 2018-02-06T21:59:05Z earl-ducaine joined #lisp 2018-02-06T21:59:18Z smasta joined #lisp 2018-02-06T22:02:24Z k-hos quit (Quit: brb spaghetti) 2018-02-06T22:03:23Z vydd joined #lisp 2018-02-06T22:08:59Z k-hos joined #lisp 2018-02-06T22:12:55Z al-damiri joined #lisp 2018-02-06T22:15:01Z fikka quit (Ping timeout: 268 seconds) 2018-02-06T22:18:04Z epony joined #lisp 2018-02-06T22:21:07Z vydd quit (Quit: vydd) 2018-02-06T22:24:25Z fikka joined #lisp 2018-02-06T22:26:24Z Bike quit (Ping timeout: 260 seconds) 2018-02-06T22:30:10Z rumbler31 quit (Ping timeout: 240 seconds) 2018-02-06T22:33:23Z Karl_Dscc joined #lisp 2018-02-06T22:36:59Z quazimodo joined #lisp 2018-02-06T22:48:25Z milanj quit (Quit: This computer has gone to sleep) 2018-02-06T22:50:33Z milanj joined #lisp 2018-02-06T22:55:29Z sjl quit (Ping timeout: 248 seconds) 2018-02-06T22:55:56Z mlf joined #lisp 2018-02-06T22:59:03Z Karl_Dscc quit (Remote host closed the connection) 2018-02-06T22:59:43Z jasom: anybody know what abcl does during initialization? It takes 8 hours to run on Doppio... 2018-02-06T23:01:11Z damke joined #lisp 2018-02-06T23:02:12Z random-nick quit (Remote host closed the connection) 2018-02-06T23:02:44Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2018-02-06T23:03:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-06T23:04:31Z tylerdmace quit (Ping timeout: 248 seconds) 2018-02-06T23:06:29Z tylerdmace joined #lisp 2018-02-06T23:08:03Z phoe: jasom: are you sure you are running it on a JVM that has a compiler, not just an interpreter? 2018-02-06T23:08:52Z jasom: phoe: I know nothing about the implementation of the JVM I'm running it on, except it's several orders of magnitude slower than what I'm used to. 2018-02-06T23:10:06Z z3t0 joined #lisp 2018-02-06T23:10:25Z phoe: jasom: that is likely to be the culprit. 2018-02-06T23:10:32Z jasom: the paper claims 24x-48x slower for compute bounded tasks, and simple benchmarks prove that, but I'm seeing much bigger slowdowns for abcl. 2018-02-06T23:10:43Z phoe: check the JVM. 2018-02-06T23:10:49Z phoe off to sleep 2018-02-06T23:11:27Z jasom: kawa has near instant startup 2018-02-06T23:12:25Z openthesky joined #lisp 2018-02-06T23:12:32Z openthesky quit (Client Quit) 2018-02-06T23:18:20Z sjl joined #lisp 2018-02-06T23:21:17Z billitch quit (Ping timeout: 260 seconds) 2018-02-06T23:21:20Z milanj quit (Quit: This computer has gone to sleep) 2018-02-06T23:22:48Z billitch joined #lisp 2018-02-06T23:24:14Z moei quit (Quit: Leaving...) 2018-02-06T23:25:21Z jmercouris: way to pipe string as standard in to uiop program? is it the input arg? 2018-02-06T23:26:12Z Bike joined #lisp 2018-02-06T23:27:57Z jasom: jmercouris: (uiop:run-program "cat" :input (make-string-input-stream "Hello")) 2018-02-06T23:28:18Z jasom: jmercouris: it needs to be a stream; a string is treated as a pathname-designator 2018-02-06T23:29:27Z jmercouris: jasom: Ah okay, that makes sense 2018-02-06T23:29:29Z jmercouris: thanks 2018-02-06T23:30:22Z EvW quit (Remote host closed the connection) 2018-02-06T23:33:29Z jasom: huh, once abcl is up in doppio, it runs relatively fast; 20x slower to calculate 1000th fibonacci vs native jvm 2018-02-06T23:34:08Z EvW joined #lisp 2018-02-06T23:34:23Z dangeranger joined #lisp 2018-02-06T23:37:43Z milanj joined #lisp 2018-02-06T23:40:51Z jmercouris quit (Ping timeout: 256 seconds) 2018-02-06T23:46:15Z sjl__ joined #lisp 2018-02-06T23:49:50Z z3t0 quit (Remote host closed the connection) 2018-02-06T23:50:23Z z3t0 joined #lisp 2018-02-06T23:50:57Z sjl__ quit (Ping timeout: 248 seconds) 2018-02-06T23:52:18Z Xal quit (Ping timeout: 240 seconds) 2018-02-06T23:53:17Z Xach: Anyone happen to have Scieneer handy? 2018-02-06T23:55:17Z z3t0 quit (Ping timeout: 276 seconds) 2018-02-06T23:56:30Z Xal joined #lisp 2018-02-06T23:58:08Z nirved quit (Quit: Leaving) 2018-02-07T00:00:34Z sjl quit (Quit: WeeChat 1.9.1) 2018-02-07T00:03:21Z z3t0 joined #lisp 2018-02-07T00:03:30Z attila_lendvai quit (Quit: Leaving.) 2018-02-07T00:03:36Z lerax joined #lisp 2018-02-07T00:04:32Z lerax: There is a portable way to use threads with Common Lisp? Currently I'm using the sb-thread: package from sbcl, but this is not a nice solution because is SBCL only. 2018-02-07T00:05:37Z billitch: lerax: there is bordeaux-threads 2018-02-07T00:05:52Z lerax: thanks, I'll take a look 2018-02-07T00:06:48Z lerax: This is the official docs https://trac.common-lisp.net/bordeaux-threads/wiki/ApiDocumentation right? 2018-02-07T00:06:51Z lerax: Seems really nice 2018-02-07T00:07:17Z billitch: possibly, it has portable threads across most implementations that have them 2018-02-07T00:07:34Z lerax: great, this is what I wish. 2018-02-07T00:09:40Z billitch: I believe it is listed here https://cliki.net/Current%20recommended%20libraries 2018-02-07T00:09:59Z lerax: Great! Bookmarked. 2018-02-07T00:10:10Z billitch: seems up to date 2018-02-07T00:10:25Z Rawriful quit (Quit: WeeChat 1.4) 2018-02-07T00:10:44Z lerax: really thank you, this helped me billitch 2018-02-07T00:10:51Z billitch: i'm currently trying to replace the Sockets and OS Interface sections using CFFI 2018-02-07T00:11:09Z lerax: HMMM! This can be a nice idea. 2018-02-07T00:11:24Z billitch: had no success with IOlib on BSD 2018-02-07T00:12:18Z billitch: now i'm stuck rewriting stream classes because evented io is not supported by ansi cl streams 2018-02-07T00:13:11Z cryptomarauder quit (Ping timeout: 240 seconds) 2018-02-07T00:13:15Z kfdenden[m] quit (Ping timeout: 255 seconds) 2018-02-07T00:13:28Z billitch: it works though : http://github.com/RailsOnLisp/thot 2018-02-07T00:13:29Z CharlieBrown quit (Ping timeout: 255 seconds) 2018-02-07T00:13:36Z ArthurAGleckler[ quit (Ping timeout: 276 seconds) 2018-02-07T00:13:37Z RichardPaulBck[m quit (Ping timeout: 276 seconds) 2018-02-07T00:13:40Z dirb quit (Ping timeout: 255 seconds) 2018-02-07T00:13:40Z mhitchman[m] quit (Ping timeout: 255 seconds) 2018-02-07T00:13:41Z hdurer[m] quit (Ping timeout: 240 seconds) 2018-02-07T00:13:42Z Jach[m] quit (Ping timeout: 252 seconds) 2018-02-07T00:13:43Z hiq[m] quit (Ping timeout: 252 seconds) 2018-02-07T00:13:54Z equalunique[m] quit (Ping timeout: 265 seconds) 2018-02-07T00:13:57Z plll[m] quit (Ping timeout: 255 seconds) 2018-02-07T00:13:57Z katco[m] quit (Ping timeout: 255 seconds) 2018-02-07T00:14:14Z kammd[m] quit (Ping timeout: 276 seconds) 2018-02-07T00:14:17Z emacsomancer joined #lisp 2018-02-07T00:19:07Z rumbler31 joined #lisp 2018-02-07T00:20:04Z z3t0 quit (Remote host closed the connection) 2018-02-07T00:20:24Z openthesky joined #lisp 2018-02-07T00:20:36Z z3t0 joined #lisp 2018-02-07T00:23:52Z papachan quit (Quit: WeeChat 2.0.1) 2018-02-07T00:24:48Z z3t0 quit (Ping timeout: 240 seconds) 2018-02-07T00:26:05Z dieggsy quit (Remote host closed the connection) 2018-02-07T00:27:14Z dieggsy joined #lisp 2018-02-07T00:29:23Z makomo quit (Ping timeout: 256 seconds) 2018-02-07T00:30:12Z asarch quit (Quit: Leaving) 2018-02-07T00:42:44Z borei joined #lisp 2018-02-07T00:44:33Z Kaisyu joined #lisp 2018-02-07T00:46:35Z kammd[m] joined #lisp 2018-02-07T00:48:23Z antgreen joined #lisp 2018-02-07T00:48:45Z Tobbi quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-07T00:54:56Z emacsomancer quit (Remote host closed the connection) 2018-02-07T00:57:29Z emacsomancer joined #lisp 2018-02-07T00:58:05Z python476 quit (Ping timeout: 240 seconds) 2018-02-07T00:59:20Z ebzzry joined #lisp 2018-02-07T01:03:43Z Jach[m] joined #lisp 2018-02-07T01:03:44Z equalunique[m] joined #lisp 2018-02-07T01:03:44Z hiq[m] joined #lisp 2018-02-07T01:03:44Z hdurer[m] joined #lisp 2018-02-07T01:03:44Z RichardPaulBck[m joined #lisp 2018-02-07T01:03:44Z mhitchman[m] joined #lisp 2018-02-07T01:03:44Z CharlieBrown joined #lisp 2018-02-07T01:03:44Z kfdenden[m] joined #lisp 2018-02-07T01:03:45Z plll[m] joined #lisp 2018-02-07T01:03:45Z cryptomarauder joined #lisp 2018-02-07T01:03:51Z dirb joined #lisp 2018-02-07T01:03:51Z ArthurAGleckler[ joined #lisp 2018-02-07T01:03:52Z katco[m] joined #lisp 2018-02-07T01:07:55Z Oladon joined #lisp 2018-02-07T01:10:57Z EvW quit (Ping timeout: 260 seconds) 2018-02-07T01:15:13Z markong quit (Ping timeout: 248 seconds) 2018-02-07T01:19:50Z fikka quit (Ping timeout: 260 seconds) 2018-02-07T01:20:40Z mlf quit (Ping timeout: 240 seconds) 2018-02-07T01:22:16Z mlf joined #lisp 2018-02-07T01:27:23Z warweasle joined #lisp 2018-02-07T01:30:48Z pagnol quit (Quit: Ex-Chat) 2018-02-07T01:31:44Z Cymew joined #lisp 2018-02-07T01:35:16Z xrash joined #lisp 2018-02-07T01:36:08Z Cymew quit (Ping timeout: 256 seconds) 2018-02-07T01:40:22Z ebzzry left #lisp 2018-02-07T01:40:32Z nullman quit (Ping timeout: 256 seconds) 2018-02-07T01:41:26Z nullman joined #lisp 2018-02-07T01:44:07Z nowhereman_ joined #lisp 2018-02-07T01:45:54Z fikka joined #lisp 2018-02-07T01:46:32Z fds joined #lisp 2018-02-07T01:48:21Z nowhere_man quit (Ping timeout: 264 seconds) 2018-02-07T01:48:35Z drewc quit (Ping timeout: 240 seconds) 2018-02-07T01:50:12Z bmgxc9 joined #lisp 2018-02-07T01:51:46Z al-damiri quit (Quit: Connection closed for inactivity) 2018-02-07T01:52:22Z shrdlu68 quit (Ping timeout: 260 seconds) 2018-02-07T01:58:49Z arescorpio joined #lisp 2018-02-07T02:03:42Z aindilis quit (Remote host closed the connection) 2018-02-07T02:05:28Z Arcaelyx joined #lisp 2018-02-07T02:08:08Z Oladon quit (Quit: Leaving.) 2018-02-07T02:19:06Z openthesky quit (Quit: Leaving.) 2018-02-07T02:19:16Z openthesky joined #lisp 2018-02-07T02:32:52Z d4ryus1 joined #lisp 2018-02-07T02:35:14Z deng_cn1 joined #lisp 2018-02-07T02:35:29Z kozy quit (Remote host closed the connection) 2018-02-07T02:35:40Z deng_cn quit (Ping timeout: 260 seconds) 2018-02-07T02:35:40Z deng_cn1 is now known as deng_cn 2018-02-07T02:35:42Z kozy joined #lisp 2018-02-07T02:36:07Z d4ryus quit (Ping timeout: 260 seconds) 2018-02-07T02:41:39Z kozy quit (Remote host closed the connection) 2018-02-07T02:41:47Z kozy joined #lisp 2018-02-07T02:42:54Z kozy quit (Remote host closed the connection) 2018-02-07T02:43:32Z kozy joined #lisp 2018-02-07T02:44:19Z jameser joined #lisp 2018-02-07T02:47:43Z jameser quit (Read error: Connection reset by peer) 2018-02-07T02:48:27Z jameser joined #lisp 2018-02-07T02:52:02Z fikka quit (Ping timeout: 255 seconds) 2018-02-07T02:54:30Z katco[m] quit (Ping timeout: 248 seconds) 2018-02-07T02:54:31Z kfdenden[m] quit (Ping timeout: 248 seconds) 2018-02-07T02:54:31Z CharlieBrown quit (Ping timeout: 248 seconds) 2018-02-07T02:54:41Z ArthurAGleckler[ quit (Ping timeout: 240 seconds) 2018-02-07T02:54:41Z equalunique[m] quit (Ping timeout: 240 seconds) 2018-02-07T02:54:45Z plll[m] quit (Ping timeout: 255 seconds) 2018-02-07T02:54:48Z Jach[m] quit (Ping timeout: 260 seconds) 2018-02-07T02:54:48Z kammd[m] quit (Ping timeout: 260 seconds) 2018-02-07T02:54:48Z hiq[m] quit (Ping timeout: 256 seconds) 2018-02-07T02:54:49Z mhitchman[m] quit (Ping timeout: 240 seconds) 2018-02-07T02:54:49Z hdurer[m] quit (Ping timeout: 240 seconds) 2018-02-07T02:55:03Z RichardPaulBck[m quit (Ping timeout: 252 seconds) 2018-02-07T02:55:03Z cryptomarauder quit (Ping timeout: 252 seconds) 2018-02-07T02:55:13Z dirb quit (Ping timeout: 256 seconds) 2018-02-07T02:58:09Z fikka joined #lisp 2018-02-07T02:59:16Z jameser quit (Max SendQ exceeded) 2018-02-07T03:00:04Z jameser joined #lisp 2018-02-07T03:00:27Z damke_ joined #lisp 2018-02-07T03:01:08Z damke quit (Read error: Connection reset by peer) 2018-02-07T03:02:32Z warweasle quit (Quit: Leaving) 2018-02-07T03:02:50Z milanj quit (Quit: This computer has gone to sleep) 2018-02-07T03:03:06Z Pixel_Outlaw quit (Quit: Leaving) 2018-02-07T03:08:15Z pierpa joined #lisp 2018-02-07T03:08:26Z lerax: I have a asdf system on my quicklisp, but I have the same at ~/lisp-chat/lisp-chat.asd. There is a simple way to load it by the current path on sbcl repl instead of loading the global installed by quicklisp? (lisp-chat it's provided by the quicklisp dist) 2018-02-07T03:10:51Z pjb: symlink into ~/quicklisp/local-projects/ 2018-02-07T03:10:54Z lerax: I saw on the docs something about doing hacky things on asdf:*central-registry* 2018-02-07T03:11:15Z Bike: local-projects is usually easier. 2018-02-07T03:11:21Z pjb: Or, of course, you can just (push #P"~/lisp-chat/" asdf:*central-registry*) ; nothing hacky in it. 2018-02-07T03:11:46Z pjb: It depends on whether it's a try-it-once basis or on a more permanent basis. 2018-02-07T03:11:49Z lerax: yes, I did that... but seems that in some way the quicklisp gives preference to the version from quicklisp (ql:quickload 'lisp-chat) 2018-02-07T03:12:17Z pjb: it should not. local-projects are normally tried first. 2018-02-07T03:12:37Z Bike: you might have to, what is it, (ql:register-local-projects) first though 2018-02-07T03:12:40Z lerax: I'll try again. Maybe I mess something 2018-02-07T03:12:49Z lerax: HMMM why Bike? 2018-02-07T03:12:52Z schoppenhauer quit (Ping timeout: 268 seconds) 2018-02-07T03:13:30Z Bike: why? because that's how it works 2018-02-07T03:13:52Z lerax: ok 2018-02-07T03:14:27Z schoppenhauer joined #lisp 2018-02-07T03:14:44Z lerax: Just for curiosity, this function search for .asd files and register at system-index.txt? 2018-02-07T03:18:04Z lerax: this worked, thanks Bike, indeed I needed to call (ql:register-local-projects) first 2018-02-07T03:20:14Z Bike: i think that's what the function does, yes 2018-02-07T03:20:38Z Bike: asdf has a deep api for specifying how it searches for systems, but hardly anyone understands it so we just use central registry and a text file list and so forth 2018-02-07T03:20:41Z orivej quit (Ping timeout: 276 seconds) 2018-02-07T03:23:29Z bmgxc9 quit (Remote host closed the connection) 2018-02-07T03:29:50Z z3t0 joined #lisp 2018-02-07T03:32:47Z pillton: billitch: basic-binary-ipc works on BSD. 2018-02-07T03:32:59Z pillton: billitch: Well, FreeBSD. 2018-02-07T03:33:11Z solyd joined #lisp 2018-02-07T03:34:56Z arescorpio quit (Quit: Leaving.) 2018-02-07T03:41:14Z jibanes quit (Ping timeout: 256 seconds) 2018-02-07T03:41:50Z jibanes joined #lisp 2018-02-07T03:59:20Z sjl__ joined #lisp 2018-02-07T03:59:48Z shka joined #lisp 2018-02-07T04:03:08Z fikka quit (Ping timeout: 255 seconds) 2018-02-07T04:04:20Z sjl__ quit (Ping timeout: 255 seconds) 2018-02-07T04:05:17Z solyd quit (Quit: solyd) 2018-02-07T04:08:49Z beach: Good morning everyone! 2018-02-07T04:10:52Z damke joined #lisp 2018-02-07T04:12:18Z Bike quit (Quit: Lost terminal) 2018-02-07T04:13:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-07T04:13:51Z fikka joined #lisp 2018-02-07T04:23:03Z schoppenhauer quit (Ping timeout: 256 seconds) 2018-02-07T04:24:47Z schoppenhauer joined #lisp 2018-02-07T04:28:14Z smasta quit (Quit: WeeChat 2.0.1) 2018-02-07T04:30:52Z lerax quit (Remote host closed the connection) 2018-02-07T04:31:14Z drewc joined #lisp 2018-02-07T04:31:15Z wxie joined #lisp 2018-02-07T04:32:02Z z3t0 quit (Remote host closed the connection) 2018-02-07T04:35:36Z epony quit (Quit: QUIT) 2018-02-07T04:37:56Z iqubic: Morning beach. 2018-02-07T04:47:59Z fikka quit (Ping timeout: 256 seconds) 2018-02-07T04:52:02Z fikka joined #lisp 2018-02-07T04:56:04Z orivej joined #lisp 2018-02-07T05:07:10Z guen joined #lisp 2018-02-07T05:16:42Z kajo quit (Quit: WeeChat 2.0.1) 2018-02-07T05:17:27Z sjl__ joined #lisp 2018-02-07T05:21:01Z dddddd quit (Remote host closed the connection) 2018-02-07T05:21:42Z sjl__ quit (Ping timeout: 252 seconds) 2018-02-07T05:22:12Z ahungry joined #lisp 2018-02-07T05:25:02Z fikka quit (Ping timeout: 255 seconds) 2018-02-07T05:25:24Z wxie2 joined #lisp 2018-02-07T05:27:06Z nullman quit (Ping timeout: 265 seconds) 2018-02-07T05:27:20Z nullman joined #lisp 2018-02-07T05:27:39Z wxie quit (Ping timeout: 256 seconds) 2018-02-07T05:28:08Z ckonstanski joined #lisp 2018-02-07T05:29:05Z fikka joined #lisp 2018-02-07T05:30:29Z BitPuffin joined #lisp 2018-02-07T05:32:17Z wxie2 quit (Ping timeout: 260 seconds) 2018-02-07T05:39:08Z vlatkoB joined #lisp 2018-02-07T05:45:15Z igemnace joined #lisp 2018-02-07T05:45:48Z guen quit (Remote host closed the connection) 2018-02-07T05:46:19Z wxie joined #lisp 2018-02-07T05:51:44Z oleo quit (Quit: Leaving) 2018-02-07T05:53:52Z nullman quit (Ping timeout: 260 seconds) 2018-02-07T05:54:11Z dangeranger quit (Quit: Textual IRC Client: www.textualapp.com) 2018-02-07T05:55:25Z borei: hi all ! 2018-02-07T05:55:55Z nullman joined #lisp 2018-02-07T05:56:09Z borei: pjb: sorry dropped conversation last time (family duties) 2018-02-07T05:56:28Z beach: Hello borei. 2018-02-07T05:56:44Z kammd[m] joined #lisp 2018-02-07T05:57:06Z borei: some progress on my side - matrix multiplication :-) 2018-02-07T05:57:14Z RichardPaulBck[m joined #lisp 2018-02-07T05:57:26Z wxie quit (Ping timeout: 255 seconds) 2018-02-07T05:57:27Z borei: for 1000x1000 from ~2sec im getting ~0.8-0.83 2018-02-07T05:57:39Z borei: some improvement again 2018-02-07T05:58:36Z borei: so on one core im getting ~approx 2.5Gflops 2018-02-07T05:59:38Z borei: with 4 cores and hope that there is no overheade (there will be some) i should get 10Gflops (double-float), it's getting more or less ok 2018-02-07T06:00:24Z borei: not too much code optimization yet, but i think it's possible to squize more 2018-02-07T06:00:56Z borei: lisp question :-) 2018-02-07T06:02:00Z borei: https://pastebin.com/dHuvE2NW 2018-02-07T06:02:09Z damke quit (Ping timeout: 264 seconds) 2018-02-07T06:02:25Z borei: code is not clear, don't judge to strict 2018-02-07T06:02:32Z borei: line 11 and 12 2018-02-07T06:02:49Z fikka quit (Ping timeout: 252 seconds) 2018-02-07T06:02:56Z borei: im not happy to create arrays, because r-lane and c-lane are just pointers 2018-02-07T06:03:14Z borei: but it didn't find how to create pointers :-( 2018-02-07T06:04:11Z damke joined #lisp 2018-02-07T06:04:51Z |3b|: depending on what you mean by "pointer", all bindings in CL might qualify 2018-02-07T06:06:07Z borei: basically i'd like to say that r-lane (and c-lane) has the type (simple-array double-float (4)) 2018-02-07T06:06:28Z borei: without creating array(s) 2018-02-07T06:06:39Z |3b|: you could initialize it from elements-m1 or -m2 2018-02-07T06:06:48Z White_Flame: your (setf r-lane ...) replace the arrays you created up top 2018-02-07T06:06:58Z White_Flame: so the make-array is competely wasted 2018-02-07T06:07:03Z |3b|: (though if you are running at safety 0, you probably should verify they actually contain that type first) 2018-02-07T06:07:28Z |3b|: White_Flame: not /completely/ since it makes the type declarations correct :) 2018-02-07T06:07:31Z fikka joined #lisp 2018-02-07T06:07:36Z ahungry quit (Remote host closed the connection) 2018-02-07T06:08:01Z White_Flame: you could put the LET inside the LOOP, making the declarations valid & properly scoped, as that's where the variable is actaully used 2018-02-07T06:08:02Z |3b|: though they could easily be a literal or constant or something instead of allocating every time 2018-02-07T06:08:18Z White_Flame: at least for r-lane and c-lane 2018-02-07T06:08:22Z |3b|: yeah, that's probably a better solution there 2018-02-07T06:08:50Z |3b|: borei: also, don't put the DO in LOOP at the end of the previous clause 2018-02-07T06:09:00Z White_Flame: a definite shift from C-style languages to Lisp is that you scope variables much tighter, instead of just declaring them all up at the top of the function 2018-02-07T06:09:24Z |3b|: makes it harder to read correctly easily 2018-02-07T06:09:24Z borei: wait wait 2018-02-07T06:09:51Z White_Flame: (loop for blah blah 2018-02-07T06:09:51Z White_Flame: do (let ((r-lane ..) (c-lane ..)) 2018-02-07T06:10:05Z borei: ok 2018-02-07T06:10:05Z White_Flame: (declare (type ...r-lane c-lane)) 2018-02-07T06:10:13Z borei: within loop ? 2018-02-07T06:10:16Z White_Flame: yep 2018-02-07T06:10:18Z |3b| would just (loop for blah .. for r-lane of-type ... ) 2018-02-07T06:10:37Z White_Flame: and yeah, LOOP itself migh tbe able to iterate the arrays for you, instead of dealing with indexes manually 2018-02-07T06:10:37Z borei: let me try 2018-02-07T06:11:31Z |3b|: actually yeah, missed that they were just directly iterating a vector, was thinking FOR = rather than FOR ACROSS 2018-02-07T06:11:50Z fikka quit (Ping timeout: 255 seconds) 2018-02-07T06:13:43Z Jach[m] joined #lisp 2018-02-07T06:15:43Z |3b| would just do the whole thing on a GPU though, even with the horribly crippled double precision on consumer nvidia cards, recent midrange stuff does 50-100gflops :) 2018-02-07T06:18:20Z borei: true 2018-02-07T06:18:52Z borei: i read some paper - peak on iCore 7 > 300Gflops 2018-02-07T06:19:11Z borei: so i do some "research" how much can i squize from it using lisp 2018-02-07T06:19:35Z borei: hoping (and crossing fingers about) that compiler will use SIMD 2018-02-07T06:19:56Z |3b| suspects you would need to do it manually :( 2018-02-07T06:20:14Z borei: is it possible to do from lisp ? 2018-02-07T06:20:27Z mhitchman[m] joined #lisp 2018-02-07T06:20:27Z ArthurAGleckler[ joined #lisp 2018-02-07T06:20:47Z |3b|: depends on your definition of "possible" and "from lisp" :) 2018-02-07T06:21:08Z k-hos: from c from lisp 2018-02-07T06:21:25Z SaganMan joined #lisp 2018-02-07T06:21:27Z borei: yeah, that is what im trying to avoid 2018-02-07T06:21:38Z |3b|: CL as specified doesn't have anything like that, but most implementations have some sort of lower-level APIs that would for example let you write asm or extend the compilers 2018-02-07T06:22:18Z equalunique[m] joined #lisp 2018-02-07T06:24:35Z kfdenden[m] joined #lisp 2018-02-07T06:24:38Z |3b|: https://www.pvk.ca/Blog/2013/06/05/fresh-in-sbcl-1-dot-1-8-sse-intrinsics/ talks about some features in sbcl for example, still fairly low-level though 2018-02-07T06:24:56Z plll[m] joined #lisp 2018-02-07T06:25:23Z cryptomarauder joined #lisp 2018-02-07T06:25:31Z |3b|: (in the "write asm/extend the compiler" range, but with some of the supporting parts already done) 2018-02-07T06:25:38Z hdurer[m] joined #lisp 2018-02-07T06:25:44Z katco[m] joined #lisp 2018-02-07T06:25:48Z dirb joined #lisp 2018-02-07T06:26:33Z borei: wrapping my head - interesting reading 2018-02-07T06:26:49Z hiq[m] joined #lisp 2018-02-07T06:27:05Z python476 joined #lisp 2018-02-07T06:28:03Z CharlieBrown joined #lisp 2018-02-07T06:28:50Z |3b|: there is also the option of using something like opencl on CPU... not sure if it would be any easier, but would at least be different problems :p 2018-02-07T06:29:25Z wxie joined #lisp 2018-02-07T06:33:01Z |3b|: also, at that scale of matrix multiplies, you might want to start looking at algorithms that take better advantage of memory access patterns 2018-02-07T06:35:12Z pierpa quit (Quit: Page closed) 2018-02-07T06:36:25Z White_Flame: borei: there's some game engine stuff out there in Lisp which does on-the-fly shader interactive coding while the program runs 2018-02-07T06:38:11Z fikka joined #lisp 2018-02-07T06:39:44Z quazimodo quit (Ping timeout: 256 seconds) 2018-02-07T06:40:17Z Karl_Dscc joined #lisp 2018-02-07T06:41:41Z LocaMocha joined #lisp 2018-02-07T06:41:42Z orivej quit (Ping timeout: 260 seconds) 2018-02-07T06:42:42Z fikka quit (Ping timeout: 256 seconds) 2018-02-07T06:45:34Z SaganMan quit (Quit: WeeChat 1.6) 2018-02-07T06:47:40Z quazimodo joined #lisp 2018-02-07T06:49:29Z wxie quit (Ping timeout: 255 seconds) 2018-02-07T06:58:13Z mishoo_ joined #lisp 2018-02-07T06:58:16Z Tobbi joined #lisp 2018-02-07T07:01:35Z fikka joined #lisp 2018-02-07T07:02:07Z vyzo quit (Ping timeout: 260 seconds) 2018-02-07T07:07:27Z scymtym quit (Ping timeout: 240 seconds) 2018-02-07T07:08:50Z Kevslinger quit (Quit: Connection closed for inactivity) 2018-02-07T07:09:27Z fikka quit (Ping timeout: 256 seconds) 2018-02-07T07:10:06Z fikka joined #lisp 2018-02-07T07:10:33Z damke quit (Ping timeout: 264 seconds) 2018-02-07T07:12:29Z damke joined #lisp 2018-02-07T07:14:05Z Karl_Dscc quit (Remote host closed the connection) 2018-02-07T07:16:35Z dec0n joined #lisp 2018-02-07T07:20:18Z flamebeard joined #lisp 2018-02-07T07:20:32Z fikka quit (Ping timeout: 276 seconds) 2018-02-07T07:23:10Z emacsoma` quit (Ping timeout: 240 seconds) 2018-02-07T07:24:30Z fikka joined #lisp 2018-02-07T07:26:29Z emacsoma` joined #lisp 2018-02-07T07:28:28Z impulse quit (Ping timeout: 256 seconds) 2018-02-07T07:28:38Z deng_cn quit (Quit: deng_cn) 2018-02-07T07:28:57Z vyzo joined #lisp 2018-02-07T07:29:23Z fikka quit (Ping timeout: 265 seconds) 2018-02-07T07:30:03Z fikka joined #lisp 2018-02-07T07:30:13Z impulse joined #lisp 2018-02-07T07:34:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-07T07:34:31Z hiroaki joined #lisp 2018-02-07T07:36:47Z vyzo quit (Ping timeout: 276 seconds) 2018-02-07T07:37:37Z fikka joined #lisp 2018-02-07T07:40:56Z vyzo joined #lisp 2018-02-07T07:46:17Z fikka quit (Ping timeout: 256 seconds) 2018-02-07T07:48:55Z mishoo_ quit (Ping timeout: 260 seconds) 2018-02-07T07:49:43Z fikka joined #lisp 2018-02-07T07:51:42Z vyzo1 joined #lisp 2018-02-07T07:52:27Z vyzo1 quit (Client Quit) 2018-02-07T07:52:42Z vyzo1 joined #lisp 2018-02-07T07:53:08Z vyzo1 quit (Client Quit) 2018-02-07T07:54:04Z Chream joined #lisp 2018-02-07T07:54:20Z vyzo quit (Ping timeout: 276 seconds) 2018-02-07T07:54:24Z vyzo1 joined #lisp 2018-02-07T07:54:57Z fikka quit (Ping timeout: 264 seconds) 2018-02-07T07:55:36Z vyzo1 quit (Client Quit) 2018-02-07T07:55:50Z vyzo joined #lisp 2018-02-07T07:57:07Z varjag joined #lisp 2018-02-07T07:57:40Z Cymew joined #lisp 2018-02-07T08:00:21Z fikka joined #lisp 2018-02-07T08:04:01Z angelo|2 quit (Remote host closed the connection) 2018-02-07T08:04:47Z vyzo quit (Remote host closed the connection) 2018-02-07T08:06:10Z shka quit (Ping timeout: 240 seconds) 2018-02-07T08:07:29Z python476 quit (Ping timeout: 255 seconds) 2018-02-07T08:09:11Z mingus quit (Remote host closed the connection) 2018-02-07T08:14:30Z fikka quit (Ping timeout: 256 seconds) 2018-02-07T08:17:15Z fikka joined #lisp 2018-02-07T08:17:44Z igemnace quit (Quit: WeeChat 2.0.1) 2018-02-07T08:19:26Z deng_cn joined #lisp 2018-02-07T08:21:56Z vyzo joined #lisp 2018-02-07T08:25:27Z mlf quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-07T08:28:29Z mishoo joined #lisp 2018-02-07T08:28:50Z kozy is now known as rapidshot64 2018-02-07T08:30:27Z makomo joined #lisp 2018-02-07T08:31:38Z vyzo quit (Ping timeout: 252 seconds) 2018-02-07T08:31:59Z vyzo joined #lisp 2018-02-07T08:40:33Z impulse quit (Ping timeout: 264 seconds) 2018-02-07T08:40:46Z milanj joined #lisp 2018-02-07T08:42:20Z impulse joined #lisp 2018-02-07T08:47:31Z scymtym joined #lisp 2018-02-07T08:49:08Z fikka quit (Ping timeout: 265 seconds) 2018-02-07T08:49:51Z sjl__ joined #lisp 2018-02-07T08:50:35Z vyzo1 joined #lisp 2018-02-07T08:50:52Z vyzo1 quit (Client Quit) 2018-02-07T08:51:08Z fikka joined #lisp 2018-02-07T08:51:32Z vyzo1 joined #lisp 2018-02-07T08:51:47Z vyzo1 quit (Client Quit) 2018-02-07T08:53:38Z vyzo quit (Ping timeout: 252 seconds) 2018-02-07T08:53:44Z shrdlu68 joined #lisp 2018-02-07T08:54:25Z sjl__ quit (Ping timeout: 248 seconds) 2018-02-07T08:55:40Z fikka quit (Ping timeout: 240 seconds) 2018-02-07T08:58:33Z jfb4 quit (Ping timeout: 264 seconds) 2018-02-07T09:00:09Z damke_ joined #lisp 2018-02-07T09:00:19Z jfb4 joined #lisp 2018-02-07T09:02:22Z vyzo joined #lisp 2018-02-07T09:02:45Z damke quit (Ping timeout: 264 seconds) 2018-02-07T09:03:08Z fikka joined #lisp 2018-02-07T09:08:32Z fikka quit (Ping timeout: 255 seconds) 2018-02-07T09:11:33Z wxie joined #lisp 2018-02-07T09:12:08Z jfb4 quit (Ping timeout: 255 seconds) 2018-02-07T09:14:03Z jfb4 joined #lisp 2018-02-07T09:17:05Z vydd joined #lisp 2018-02-07T09:19:12Z fikka joined #lisp 2018-02-07T09:20:26Z vydd_ joined #lisp 2018-02-07T09:21:06Z solyd joined #lisp 2018-02-07T09:22:08Z vydd quit (Ping timeout: 248 seconds) 2018-02-07T09:22:08Z vydd_ is now known as vydd 2018-02-07T09:22:25Z vydd quit (Client Quit) 2018-02-07T09:24:38Z zaquest quit (Ping timeout: 256 seconds) 2018-02-07T09:25:20Z fikka quit (Ping timeout: 248 seconds) 2018-02-07T09:28:57Z heisig joined #lisp 2018-02-07T09:30:54Z _cosmonaut_ joined #lisp 2018-02-07T09:34:58Z emacsoma` quit (Ping timeout: 256 seconds) 2018-02-07T09:35:17Z emacsomancer quit (Ping timeout: 256 seconds) 2018-02-07T09:36:23Z vyzo quit (Ping timeout: 276 seconds) 2018-02-07T09:37:10Z fikka joined #lisp 2018-02-07T09:37:13Z vydd joined #lisp 2018-02-07T09:37:17Z vydd quit (Remote host closed the connection) 2018-02-07T09:37:23Z nullniverse joined #lisp 2018-02-07T09:41:59Z fikka quit (Ping timeout: 255 seconds) 2018-02-07T09:42:13Z vyzo joined #lisp 2018-02-07T09:50:06Z zaquest joined #lisp 2018-02-07T09:52:18Z zooey quit (Ping timeout: 255 seconds) 2018-02-07T09:55:36Z vyzo quit (Ping timeout: 252 seconds) 2018-02-07T09:57:34Z zooey joined #lisp 2018-02-07T10:03:57Z vyzo joined #lisp 2018-02-07T10:09:10Z jameser quit (Ping timeout: 240 seconds) 2018-02-07T10:09:56Z Cymew quit (Remote host closed the connection) 2018-02-07T10:12:58Z fikka joined #lisp 2018-02-07T10:15:12Z Cymew joined #lisp 2018-02-07T10:16:48Z raynold quit (Quit: Connection closed for inactivity) 2018-02-07T10:19:31Z shrdlu68 quit (Ping timeout: 265 seconds) 2018-02-07T10:20:55Z zooey quit (Remote host closed the connection) 2018-02-07T10:22:11Z zooey joined #lisp 2018-02-07T10:22:19Z deng_cn1 joined #lisp 2018-02-07T10:22:53Z jfb4 quit (Ping timeout: 256 seconds) 2018-02-07T10:22:55Z deng_cn quit (Ping timeout: 260 seconds) 2018-02-07T10:22:56Z deng_cn1 is now known as deng_cn 2018-02-07T10:23:08Z Chream quit (Ping timeout: 256 seconds) 2018-02-07T10:24:44Z jfb4 joined #lisp 2018-02-07T10:27:10Z random-nick joined #lisp 2018-02-07T10:27:57Z mingus joined #lisp 2018-02-07T10:32:40Z fluke` joined #lisp 2018-02-07T10:32:56Z fluke` quit (Remote host closed the connection) 2018-02-07T10:33:34Z Cymew quit (Remote host closed the connection) 2018-02-07T10:33:49Z zaquest quit (Quit: Leaving) 2018-02-07T10:34:28Z jfb4 quit (Ping timeout: 256 seconds) 2018-02-07T10:36:08Z zaquest joined #lisp 2018-02-07T10:39:33Z sjl__ joined #lisp 2018-02-07T10:40:46Z jameser joined #lisp 2018-02-07T10:41:39Z jfb4 joined #lisp 2018-02-07T10:43:08Z jameser quit (Client Quit) 2018-02-07T10:43:37Z jameser joined #lisp 2018-02-07T10:43:57Z sjl__ quit (Ping timeout: 240 seconds) 2018-02-07T10:45:55Z jmercouris joined #lisp 2018-02-07T10:46:05Z shrdlu68 joined #lisp 2018-02-07T10:46:37Z jmercouris: any suggestions on a lightweight/simple TUI library for lisp? 2018-02-07T10:46:54Z jmercouris: not looking for something as full blown as curses, but just like a way to make and print menus 2018-02-07T10:47:06Z jackdaniel: cl-charms is ncurses binding 2018-02-07T10:47:06Z jmercouris: of course I could roll my own rather easily, but just wondering if something already exists 2018-02-07T10:47:28Z jackdaniel: I've written cl-charms tutorial lately: http://turtleware.eu/posts/cl-charms-crash-course.html 2018-02-07T10:48:01Z jameser quit (Ping timeout: 248 seconds) 2018-02-07T10:48:16Z jackdaniel: https://asciinema.org/a/KNDnnycLc2uHMsmi7YvFMUpau ← here is tutorial final effect 2018-02-07T10:48:19Z jmercouris: Ah right, the new clim curses backend lol 2018-02-07T10:48:53Z jackdaniel: why lol? either way, this tutorial is about cl-charms, not clim 2018-02-07T10:49:06Z jmercouris: I'm not laughing at you, don't get me wrong 2018-02-07T10:49:19Z jmercouris: I just fully appreciate the fact that it is possible for clim to be loaded into a terminal, blows my mind 2018-02-07T10:49:27Z jackdaniel: it can't right now 2018-02-07T10:49:37Z jmercouris: Ah well, the ascii demo made it look like 2018-02-07T10:49:43Z jmercouris: cool stuff 2018-02-07T10:49:55Z loke: Curses backend for clim would be cool, but kinda unfeasibile 2018-02-07T10:50:02Z jackdaniel: some concepts in tutorial are modeled after clim 2018-02-07T10:50:19Z jmercouris: that cursor you are moving, I assume it is with the keyboard right? 2018-02-07T10:50:28Z jackdaniel: no, real mouse 2018-02-07T10:50:33Z jackdaniel: read the post, you'll find out how to do that 2018-02-07T10:50:36Z jmercouris: and this is in a terminal? 2018-02-07T10:50:37Z jmercouris: man, mind blown 2018-02-07T10:51:11Z jmercouris: ok, will do, thanks :D 2018-02-07T10:51:18Z jackdaniel: loke: depends on use - displaying images or non-rectangular shapes won't be pretty for sure 2018-02-07T10:51:34Z jmercouris: charms looks like a pretty thin wrapper over ncurses 2018-02-07T10:51:55Z jmercouris: at least the commands look extremely similar to those I am familiar with in C 2018-02-07T10:52:13Z jackdaniel: it is. there is high-level interface, but it requires some work if you ask me 2018-02-07T10:53:07Z JenElizabeth joined #lisp 2018-02-07T10:53:48Z jmercouris: jackdaniel: not sure if you are interested, but I found a small grammatical issue in your article 2018-02-07T10:54:40Z jackdaniel: and what would that be? 2018-02-07T10:55:01Z m00natic joined #lisp 2018-02-07T10:55:36Z beach: jmercouris: The reason McCLIM uses CLX is that, when I wanted a GUI library for Gsharp (score editor), I wanted to have as little foreign code as possible, and CLX is mostly written in Common Lisp. That is also the reason why McCLIM exists at all. I was not willing to use any GUI library written in some other language. 2018-02-07T10:55:53Z aindilis joined #lisp 2018-02-07T10:56:15Z flamebeard quit (Read error: Connection reset by peer) 2018-02-07T10:56:41Z beach: jmercouris: So, I would be very unhappy, if the CLX backend was dropped in favor of a single SDL-based solution, since SDL is not Common Lisp code. 2018-02-07T10:56:43Z shifty joined #lisp 2018-02-07T10:56:56Z solyd quit (Quit: solyd) 2018-02-07T10:57:03Z wxie quit (Ping timeout: 248 seconds) 2018-02-07T10:59:13Z flamebeard joined #lisp 2018-02-07T11:00:44Z |3b| suspects a lot of the work involved in a SDL backend could be shared with a glop backend... not sure a glop backend would be all that good of an idea either though :) 2018-02-07T11:01:18Z beach: What is "glop"? 2018-02-07T11:01:45Z |3b|: https://github.com/lispgames/glop 2018-02-07T11:02:04Z |3b|: more-cl alternative to parts of SDL 2018-02-07T11:03:00Z |3b|: arguable whether it is as "pure cl" than CLX, since it does FFI on the user side rather than hidden behind implementation-specific networking APIs 2018-02-07T11:03:04Z jmercouris quit (Ping timeout: 252 seconds) 2018-02-07T11:03:05Z beach: That actually looks appealing if what it states is true, i.e., that system functions are used directly. 2018-02-07T11:04:08Z jackdaniel: bookmarked 2018-02-07T11:04:08Z |3b|: it is on linux and windows. i think OSX needs a C or ObjC shim to work correctly 2018-02-07T11:04:25Z |3b| doesn't have any OSX though, so all my knowledge of that is second hand at best 2018-02-07T11:04:35Z beach: Well, if system functions are used directly, they could be hidden behind an abstraction layer that would allow someone to replace the FFI layer by some native implementation of the system functions. 2018-02-07T11:04:48Z flamebeard quit (Read error: Connection reset by peer) 2018-02-07T11:05:25Z flamebeard joined #lisp 2018-02-07T11:06:03Z jackdaniel: well, it didn't load here because "libxrandr" can't be find 2018-02-07T11:06:12Z jackdaniel: and probably that is about xrandr-dev files 2018-02-07T11:06:30Z jackdaniel: (speaking of not using c libraries) 2018-02-07T11:06:51Z jackdaniel: and after installing lib it loaded fine 2018-02-07T11:07:21Z |3b|: beach: well, arguably you could replace sdl bindings with lisp code too :) 2018-02-07T11:07:37Z beach: Sure. I suspect it would be a wee bit harder. 2018-02-07T11:07:42Z beach: I may be wrong of course. 2018-02-07T11:08:25Z orivej joined #lisp 2018-02-07T11:08:30Z |3b|: probably depends on the sdl bindings 2018-02-07T11:09:04Z beach should be quiet since we are entering a territory of which he knows very little. 2018-02-07T11:09:05Z |3b|: i'm guessing that none of the options (glop or either of the sdl bindings) was particularly designed with that in mind though 2018-02-07T11:09:37Z |3b| is probably wrong too, and mostly speculating :) 2018-02-07T11:09:56Z jackdaniel: either way this is an interesting project 2018-02-07T11:09:58Z jackdaniel: thanks 2018-02-07T11:10:03Z jackdaniel: (for the link) 2018-02-07T11:10:16Z beach: It does look very interesting. 2018-02-07T11:10:20Z |3b|: yeah, not sure i'd completely recommend it at this point though 2018-02-07T11:10:39Z |3b| uses it, but doing so frequently makes me want to rewrite it :/. 2018-02-07T11:20:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-07T11:22:27Z damke_ joined #lisp 2018-02-07T11:24:50Z groovy2shoes joined #lisp 2018-02-07T11:27:05Z fikka quit (Ping timeout: 260 seconds) 2018-02-07T11:28:23Z jmercouris joined #lisp 2018-02-07T11:28:29Z groovy2shoes quit (Client Quit) 2018-02-07T11:28:31Z jmercouris: beach: Ultimately CLX must have some non-lisp code if only to interface with the OS 2018-02-07T11:28:34Z jmercouris: makes some syscalls at least no? 2018-02-07T11:28:47Z groovy2shoes joined #lisp 2018-02-07T11:29:14Z |3b|: CLX has lisp code, implementation has the non-lisp code inside its networking lib 2018-02-07T11:30:07Z |3b|: same way lisp code doing file IO calls non-lisp code inside the implementation 2018-02-07T11:30:57Z fikka joined #lisp 2018-02-07T11:31:08Z smurfrobot joined #lisp 2018-02-07T11:31:51Z EvW joined #lisp 2018-02-07T11:33:30Z pfdietz quit (Ping timeout: 260 seconds) 2018-02-07T11:35:55Z jmercouris: Okay, I see 2018-02-07T11:36:07Z jmercouris: so theoretically, CLX could be ported to every OS? 2018-02-07T11:36:45Z |3b|: shouldn't even need ported 2018-02-07T11:36:52Z jackdaniel: it will load even on windows 2018-02-07T11:36:59Z jmercouris: Then why the desire for SDL? 2018-02-07T11:37:00Z jackdaniel: given you have Xserver running, you can connect to it 2018-02-07T11:37:06Z jmercouris: because X is dying? 2018-02-07T11:37:15Z |3b|: most windows machines don't have X servers 2018-02-07T11:37:25Z jmercouris: you can bundle it in your application installer 2018-02-07T11:37:26Z jackdaniel: because X is default only on Unices (and wayland is slowly taking over) 2018-02-07T11:38:20Z |3b|: X programs tend to mix with 'native' things on windows even worse than GTK or whatever :p 2018-02-07T11:39:18Z |3b|: also hard to get good GL performance out of things using CLX (admittedly not something everyone cares about) 2018-02-07T11:39:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-07T11:42:35Z markong joined #lisp 2018-02-07T11:43:10Z solyd joined #lisp 2018-02-07T11:45:23Z Cymew joined #lisp 2018-02-07T11:47:14Z papachan joined #lisp 2018-02-07T11:50:14Z Shinmera: GLOP is a good idea, but unfortunately as it is right now it's pretty severely broken 2018-02-07T11:51:37Z smurfrobot quit (Remote host closed the connection) 2018-02-07T11:52:32Z jmercouris: what is GLOP? 2018-02-07T11:52:58Z |3b|: https://github.com/lispgames/glop 2018-02-07T11:53:33Z jmercouris: too bad it is broken, that does seem like a good idea 2018-02-07T11:54:04Z Shinmera: if I remember correctly on Windows it's a fixed size window that doesn't show in the taskbar and can't be moved (??), and on OS X it doesn't work at all on recent versions. 2018-02-07T11:54:34Z deng_cn quit (Read error: Connection reset by peer) 2018-02-07T11:54:56Z |3b| doesn't have that problem on windows, possibly it has some bad defaults that i don't use though 2018-02-07T11:55:07Z |3b|: does have plenty of other problems though :) 2018-02-07T11:56:12Z smurfrobot joined #lisp 2018-02-07T11:56:15Z |3b|: or possibly there are some ways of using its APIs that aren't as well tested 2018-02-07T11:56:34Z Shinmera: I don't remember doing anything out of the ordinary. 2018-02-07T11:56:47Z deng_cn joined #lisp 2018-02-07T11:56:59Z |3b|: well, i'm not sure there really is any "ordinary" :p 2018-02-07T11:58:15Z |3b| isn't trying to suggest you didn't have problems, or that you did something unreasonable if you did... just that there is a way to use it that works 2018-02-07T11:59:04Z |3b|: and that way may or may not be an obvious one 2018-02-07T11:59:30Z Shinmera: It was also like a year ago, so I don't know what happened since then 2018-02-07T11:59:47Z |3b|: probably not much :) 2018-02-07T12:00:08Z |3b|: pretty sure i've been mostly on windows for longer than that 2018-02-07T12:00:35Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-07T12:00:39Z |3b| should probably make sure i'm not using any important fixes that haven't been pushed 2018-02-07T12:01:08Z Shinmera: I can test it again later 2018-02-07T12:01:18Z Shinmera: cooking for dinner right now 2018-02-07T12:01:47Z |3b|: hmm, does look like there was stuff merged in jun 2017, so could be 2018-02-07T12:03:37Z dec0n quit (Read error: Connection reset by peer) 2018-02-07T12:03:48Z Shinmera: FWIW this is the glop backend https://github.com/Shirakumo/trial/blob/master/backends/glop/context.lisp 2018-02-07T12:04:47Z dec0n joined #lisp 2018-02-07T12:04:49Z Shinmera: The vsync stuff doesn't work and I'm aware of that, but the problems I encountered were independent of that 2018-02-07T12:05:09Z fikka joined #lisp 2018-02-07T12:05:46Z |3b|: yeah, still seems to be something wrong with glop vsync stuff on windows 2018-02-07T12:05:47Z aindilis quit (Read error: Connection reset by peer) 2018-02-07T12:06:29Z |3b| has it using dwm instead of wglSwapInterval where appropriate, but still not getting it initialized correctly somewhere i think 2018-02-07T12:08:17Z jameser joined #lisp 2018-02-07T12:08:17Z aindilis` joined #lisp 2018-02-07T12:11:16Z JenElizabeth quit (Ping timeout: 252 seconds) 2018-02-07T12:14:57Z JenElizabeth joined #lisp 2018-02-07T12:16:56Z dddddd joined #lisp 2018-02-07T12:18:52Z nullman quit (Remote host closed the connection) 2018-02-07T12:19:08Z nullman joined #lisp 2018-02-07T12:19:28Z |3b|: Shinmera: i suspect your window would be created in wrong thread on OSX (if you manage to run glop on OSX in the first place), not really sure exactly what's going on there though 2018-02-07T12:22:07Z Shinmera: The thread is handled elsewhere. 2018-02-07T12:23:13Z |3b| was looking at https://github.com/Shirakumo/trial/blob/master/backends/glop/context.lisp#L181 2018-02-07T12:24:04Z Shinmera: Ah, right 2018-02-07T12:24:47Z Shinmera: create-context is only called during start 2018-02-07T12:24:56Z Shinmera: so the window doesn't exist until it's in the main thread 2018-02-07T12:25:23Z |3b|: https://github.com/Shirakumo/trial/blob/master/backends/glop/context.lisp#L24 ? 2018-02-07T12:25:45Z |3b|: if that isn't called until start, what is in https://github.com/Shirakumo/trial/blob/master/backends/glop/context.lisp#L172 ? 2018-02-07T12:26:27Z Shinmera: Ah-- you're right, that's wrong. Shouldn't call create-context automatically there. 2018-02-07T12:27:14Z solene joined #lisp 2018-02-07T12:27:43Z solene: hello, how can I quit on a INTERACTIVE-INTERRUPT (ctrl+c) error ? 2018-02-07T12:28:07Z jackdaniel: ctrl+d 2018-02-07T12:28:49Z Shinmera: |3b|: I'll have a look later tonight. 2018-02-07T12:29:16Z solene: jackdaniel, I'm writing a software that should run in a "kiosk" mode so I should forbid access to the shell 2018-02-07T12:29:17Z |3b|: if i understand the question correctly, possibly with handler-case and exit (or quit) 2018-02-07T12:29:52Z Shinmera: I've had reports of harmony segfaulting on windows, so I've been meaning to dive back into platform bullshit anyway. 2018-02-07T12:29:55Z Shinmera sighs 2018-02-07T12:29:56Z |3b|: or if you want it to ignore ctrl-c, call the restart instead of exiting 2018-02-07T12:30:38Z |3b|: Shinmera: no rush if you have other things to work on :) 2018-02-07T12:31:05Z Shinmera: The most urgent thing is implementing the registration page for ELS 2018-02-07T12:31:27Z Shinmera: But I should have time to check things this week. Last exam was today, so I finally got my mind (and schedule) free again 2018-02-07T12:32:38Z solene: |3b|, I tried with this code but it triggers a "simple error" now : (handler-case (main) (interactive-interrupt () (quit))) 2018-02-07T12:32:48Z |3b| wonders if glop would get confused if you opened the window twice (assuming you also create-context elsewhere) 2018-02-07T12:33:03Z Shinmera: It's possible 2018-02-07T12:33:17Z Shinmera: I'm not sure if that's the case right now, it's been a while since I rewrote the context stuff. 2018-02-07T12:33:23Z |3b|: solene: might need to specify the package for QUIT, what's the simple-error say? 2018-02-07T12:33:37Z |3b|: and package or interactive-interrupt 2018-02-07T12:33:51Z solene: |3b|, I have "INTERACTIVE-INTERRUPT is not a valid type specifier" 2018-02-07T12:34:04Z solene: I never did error handling before, i'm a bit lost in this special case 2018-02-07T12:35:58Z |3b|: yeah, sb-sys:interactive-interrupt 2018-02-07T12:36:59Z attila_lendvai joined #lisp 2018-02-07T12:36:59Z attila_lendvai quit (Changing host) 2018-02-07T12:36:59Z attila_lendvai joined #lisp 2018-02-07T12:37:03Z solene: |3b|, I still have the same error with (handler-case (main) (sb-sys:interactive-interrupt () (quit))) 2018-02-07T12:37:27Z |3b|: (which i think is technically a package you aren't supposed to use, but not much choice here, so hopefully they won't change it any time soon) 2018-02-07T12:37:42Z |3b|: try (sb-ext:exit) instead of (quit) 2018-02-07T12:38:02Z |3b| suspects it isn't the /same/ error though 2018-02-07T12:38:58Z solene: |3b|, oh sorry I didn't see, it didn't compiled with ecl so I was trying the same binary. ecl can't find sb-sys or sb-ext 2018-02-07T12:39:43Z |3b|: ah, you will have to figure out what package it is in in ecl then 2018-02-07T12:39:58Z jackdaniel: most probably ext 2018-02-07T12:40:05Z jackdaniel: try (apropos 'interactive-interrupt) 2018-02-07T12:40:39Z |3b|: CL spec doesn't (and shouldn't) say anything about ctrl-c, so details are specific to each implementation 2018-02-07T12:41:42Z nirved joined #lisp 2018-02-07T12:41:52Z solene: jackdaniel, I didn't know apropos, very useful indeed 2018-02-07T12:42:28Z solene: it's working \o/ 2018-02-07T12:42:41Z solene: thank you very much 2018-02-07T12:45:26Z EvW quit (Ping timeout: 255 seconds) 2018-02-07T12:49:09Z Shinmera: I wish I knew if anyone had actually tried to use Harmony on Windows so far 2018-02-07T12:49:16Z Shinmera: well, anyone aside from the one dude for which it segfaulted 2018-02-07T12:50:27Z jmercouris quit (Ping timeout: 240 seconds) 2018-02-07T12:54:35Z orivej quit (Ping timeout: 240 seconds) 2018-02-07T13:07:09Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-07T13:09:13Z pfdietz joined #lisp 2018-02-07T13:12:36Z Xach: Hmm, no uses of Scieneer for Quicklisp in the past two years. 2018-02-07T13:12:55Z Xach: That makes me a bit sad. I like the idea of scieneer. 2018-02-07T13:16:16Z python476 joined #lisp 2018-02-07T13:17:22Z Xach: From my stats, it was only used for a few thousand requests, most recently on 2013-10-08. 2018-02-07T13:25:28Z deng_cn quit (Read error: Connection reset by peer) 2018-02-07T13:26:17Z Xach: heh, since recording started, there have been 124,930 ECL requests, 1,389,988 Clozure CL requests, and 10,851,074 SBCL requests. 2018-02-07T13:26:25Z Xach: that's from 2011-06-30 to 2018-02-07 2018-02-07T13:26:42Z Xach: (657 MKCL requests) 2018-02-07T13:27:35Z deng_cn joined #lisp 2018-02-07T13:29:59Z jackdaniel: and what with sbcl? 2018-02-07T13:30:10Z jackdaniel: ah, I see 2018-02-07T13:30:12Z jackdaniel: sorry (missed it) 2018-02-07T13:30:52Z Xach checks cmucl, lispworks, allegro 2018-02-07T13:33:58Z lonjil: Does Scieneer even have a presence anywhere on the web anymore? 2018-02-07T13:34:19Z Xach: the website has been down for a few months 2018-02-07T13:35:26Z lonjil: I see 2018-02-07T13:36:22Z Xach: CMU 15,983, Allegro 111,817, LispWorks 239,211 2018-02-07T13:38:08Z Cthulhux: i wonder why lispworks is still so popular despite its cost 2018-02-07T13:38:39Z antoszka: itworks. 2018-02-07T13:38:44Z Xach: It's popular because it's a great value. 2018-02-07T13:39:18Z Xach: knowledgeworks and capi and a good gui and compiler and more. 2018-02-07T13:40:10Z fikka quit (Ping timeout: 240 seconds) 2018-02-07T13:41:58Z dlowe: and it doesn't have a totally insane price structure like Allegro 2018-02-07T13:42:06Z Xach: Armed bear: 91,343 2018-02-07T13:42:13Z Xach: Ok, now I have to write this up as a blog post. 2018-02-07T13:42:26Z dlowe: (which is actually justified, but yeesh) 2018-02-07T13:42:46Z Xach: The older I get, the less offended I am by products that are not intended for me. 2018-02-07T13:42:52Z Cthulhux: it has an insane default price which is not THAT much better. also, if you want multi-platform lispworks, it IS insane 2018-02-07T13:43:01Z dlowe: yeah, it doesn't bother me 2018-02-07T13:43:04Z Cthulhux: but i'm not doing this for money, so i'm not their audience 2018-02-07T13:43:04Z Cthulhux: :x 2018-02-07T13:43:41Z dlowe: Cthulhux: the price is negligable for a business, just not for an individual dev. 2018-02-07T13:44:14Z nowhere_man joined #lisp 2018-02-07T13:48:35Z nowhereman_ quit (Ping timeout: 276 seconds) 2018-02-07T13:49:27Z Tristam quit (Ping timeout: 240 seconds) 2018-02-07T13:51:35Z wxie joined #lisp 2018-02-07T13:51:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-07T13:53:45Z damke_ joined #lisp 2018-02-07T13:55:02Z JenElizabeth quit (Remote host closed the connection) 2018-02-07T13:55:06Z SuperJen joined #lisp 2018-02-07T13:55:37Z deng_cn quit (Read error: Connection reset by peer) 2018-02-07T13:57:01Z smurfrobot joined #lisp 2018-02-07T13:57:55Z deng_cn joined #lisp 2018-02-07T13:59:01Z jason_m joined #lisp 2018-02-07T14:01:38Z smurfrobot quit (Ping timeout: 255 seconds) 2018-02-07T14:01:59Z orivej joined #lisp 2018-02-07T14:02:27Z jason_m quit (Read error: No route to host) 2018-02-07T14:03:55Z solyd quit (Quit: solyd) 2018-02-07T14:04:06Z fikka joined #lisp 2018-02-07T14:04:35Z Xach: and negotiable 2018-02-07T14:05:01Z smurfrobot joined #lisp 2018-02-07T14:05:34Z EvW1 joined #lisp 2018-02-07T14:08:24Z Kevslinger joined #lisp 2018-02-07T14:09:10Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-07T14:13:11Z SaganMan joined #lisp 2018-02-07T14:13:51Z Bike joined #lisp 2018-02-07T14:22:50Z Murii joined #lisp 2018-02-07T14:31:15Z JenElizabeth joined #lisp 2018-02-07T14:32:25Z xrash quit (Remote host closed the connection) 2018-02-07T14:34:02Z SuperJen quit (Ping timeout: 255 seconds) 2018-02-07T14:37:20Z nowhere_man quit (Ping timeout: 276 seconds) 2018-02-07T14:38:24Z SuperJen joined #lisp 2018-02-07T14:38:51Z JenElizabeth quit (Remote host closed the connection) 2018-02-07T14:41:43Z Xach: thanks dim for getting me started with importing log stats into postgres. finding out stats was a breeze. 2018-02-07T14:42:47Z dlowe: I really thought cmu had more of a presence. 2018-02-07T14:44:15Z hhdave joined #lisp 2018-02-07T14:44:35Z Xach: wouldn't be surprised if they just don't use quicklisp much 2018-02-07T14:44:44Z Xach: if you use cmucl and stick with it you probably have a pretty comfy setup already 2018-02-07T14:45:47Z dlowe: and use asdf-install like a savage? 2018-02-07T14:46:34Z attila_lendvai: does that even work still? 2018-02-07T14:46:54Z dlowe: I don't think any breaking changes were ever made. 2018-02-07T14:47:14Z Xach: dlowe: no, probably just download stuff as needed. or maybe just use shopmade libraries. 2018-02-07T14:47:51Z |3b|: didn't it depend on cliki? that changed enough to confuse minion at least 2018-02-07T14:48:44Z LiamH joined #lisp 2018-02-07T14:48:53Z Cymew: You can download tgz, read the asd files and then just run a load-op in plain asdf. 2018-02-07T14:49:17Z Cymew: Will probably necessitate a few downloads after reading each asd file, though. 2018-02-07T14:49:35Z |3b| thought someone actively removed the links too, or at least talked about it 2018-02-07T14:54:03Z surya_ joined #lisp 2018-02-07T14:57:13Z FreeBirdLjj joined #lisp 2018-02-07T14:58:48Z sabrac quit (Ping timeout: 240 seconds) 2018-02-07T14:59:03Z |3b| wonders what's up with https://www.cliki.net/site/account?name=83.47.187.150 2018-02-07T15:00:50Z sjl__ joined #lisp 2018-02-07T15:01:41Z sabrac joined #lisp 2018-02-07T15:05:01Z |3b|: and does look like someone removed asdf-install links from cliki, so probably hasn't worked in a while (and probably many of the links were dead by then anyway) 2018-02-07T15:05:13Z killerstorm joined #lisp 2018-02-07T15:06:22Z openthesky quit (Quit: Leaving.) 2018-02-07T15:06:39Z tfb: Cthulhux: LW's price is only insane if your time is very cheap (which, for someone doing something for themselves it is: I am not trying to suggest it's not expensive). It's less than four days of a contractor's daily rate for instance, so maybe 2% of their annual cost. If it makes them more than 2% more efficient it's paid for itself. 2018-02-07T15:07:06Z iqubic left #lisp 2018-02-07T15:07:37Z killerstorm: Hi people, does anyone have experience with cl-yacc? Specifically, you do you deal with optional productions. 2018-02-07T15:07:52Z killerstorm: Manual says it's easy, but not how exactly to do it... 2018-02-07T15:08:21Z beach: killerstorm: I think drmeister used it. But he is very likely busy today. 2018-02-07T15:09:06Z killerstorm: I'm trying to fix a library which uses (empty) production as an alternative for optional productions. but that doesn't seem to work, and I think I know why... 2018-02-07T15:10:43Z Shinmera: beach: He used yacc straight up, not cl-yacc. 2018-02-07T15:11:47Z python476 quit (Quit: b) 2018-02-07T15:13:22Z moei joined #lisp 2018-02-07T15:17:52Z beach: Oh! Sorry. 2018-02-07T15:19:56Z Cthulhux: tfb: Lisp is a free time hobby for me, so I'm really not in a position to judge here. 2018-02-07T15:20:15Z Cthulhux: I just thought Lisp is not really "popular" enough anymore to justify this 2018-02-07T15:20:53Z Cymew quit (Remote host closed the connection) 2018-02-07T15:21:19Z Cymew joined #lisp 2018-02-07T15:25:19Z tfb: Cthulhux: this probably doesn't belong here, but commercial SW that's not popular has to be expensive: if I sell only n copies of product x per year, I need to charge at least (salary + costs)/n per copy, and if n is small ... 2018-02-07T15:25:29Z SuperJen quit (Remote host closed the connection) 2018-02-07T15:25:40Z Cymew quit (Ping timeout: 240 seconds) 2018-02-07T15:25:48Z SuperJen joined #lisp 2018-02-07T15:25:55Z Cthulhux: I see a spiral here 2018-02-07T15:26:04Z deng_cn quit (Read error: Connection reset by peer) 2018-02-07T15:26:13Z SaganMan quit (Quit: WeeChat 1.6) 2018-02-07T15:26:14Z Cthulhux: Delphi was popular before it became too expensive, now it's rather dead(ish) 2018-02-07T15:28:17Z deng_cn joined #lisp 2018-02-07T15:28:33Z mnoonan quit (Remote host closed the connection) 2018-02-07T15:28:56Z beach: Cthulhux: That's why software is a winner-takes-all market. Bigger market share means price can be lower, which means increased market share. 2018-02-07T15:31:57Z __rumbler31 joined #lisp 2018-02-07T15:32:23Z Tristam joined #lisp 2018-02-07T15:35:11Z killerstorm quit (Quit: Page closed) 2018-02-07T15:35:29Z smurfrobot joined #lisp 2018-02-07T15:36:40Z Tristam quit (Ping timeout: 240 seconds) 2018-02-07T15:36:51Z warweasle joined #lisp 2018-02-07T15:37:42Z mishoo quit (Ping timeout: 252 seconds) 2018-02-07T15:39:40Z python476 joined #lisp 2018-02-07T15:39:41Z oleo joined #lisp 2018-02-07T15:39:43Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-07T15:40:17Z orivej quit (Ping timeout: 248 seconds) 2018-02-07T15:40:53Z Cthulhux: Which also means that it is weird that SBCL hasn't spawned an enterprise-grade IDE yet. 2018-02-07T15:41:23Z scymtym quit (Ping timeout: 255 seconds) 2018-02-07T15:41:26Z dlowe: emacs already existed :) 2018-02-07T15:42:57Z jackdaniel: sbcl project goals was to get rid of all unnecessary baggage 2018-02-07T15:43:11Z jackdaniel: like X integration 2018-02-07T15:43:17Z jackdaniel: (which is still present in cmucl) 2018-02-07T15:43:52Z jackdaniel: so I don't think bundling IDE fits SBCL way of doing things 2018-02-07T15:44:19Z Cthulhux: Emacs is not really a business-grade IDE in my opinion. 2018-02-07T15:44:30Z Cthulhux: YMMV. 2018-02-07T15:44:43Z |3b|: it is probably closer than you would have gotten from sbcl devs by now :) 2018-02-07T15:45:33Z beach: Cthulhux: What does enterprise-grade and business-grade mean to you? 2018-02-07T15:45:36Z Okami joined #lisp 2018-02-07T15:46:16Z Cthulhux: I thought the general opinion is that LispWorks is an "enterprise-grade IDE" which is why they can take "enterprise-grade prices" 2018-02-07T15:46:24Z Cthulhux: Emacs is obviously different 2018-02-07T15:46:31Z |3b| doesn't have that impression 2018-02-07T15:46:39Z beach: Is it "can be handled by developers with almost no training, neither in computer science, in software engineering, nor in programming"? 2018-02-07T15:47:05Z jmercouris joined #lisp 2018-02-07T15:47:35Z jmercouris: I'm trying to come up with a good scenario for where you'd use hooks in your browser, so far I've come up with a ficticious scenario where every time you set a bookmark, you want to append the web page to a file on your computer with some keywords as part of a journal or something 2018-02-07T15:48:03Z jmercouris: this scenario will be used as part of a blog post promoting next, so any ideas that play to the strengths of CL and offer some wow factor are appreciated 2018-02-07T15:48:11Z |3b|: price is for support, gui libs and other libs, and running existing expensive code that depends on them :) 2018-02-07T15:48:18Z beach: jmercouris: CLX does have a small amount of non-Lisp code. But I don't see why you say that it would "have to". 2018-02-07T15:48:48Z jackdaniel: beach: does it? where? 2018-02-07T15:49:04Z beach: I think for opening the socket. 2018-02-07T15:49:08Z jackdaniel: I'm working with CLX for quite long now and there is no foreign code afaik 2018-02-07T15:49:14Z |3b|: jmercouris: seeing what the JS on pages is doing maybe? 2018-02-07T15:49:17Z jackdaniel: well, it uses implementation-specific functionality 2018-02-07T15:49:17Z beach: Oh? I am sure I have seen it. 2018-02-07T15:49:17Z jmercouris: beach: Well, it's not turtles all the way down is it? ultimately we have to interact with something that isn't lisp 2018-02-07T15:49:27Z beach: jmercouris: I don't see that. 2018-02-07T15:49:30Z jmercouris: |3b|: can you expand on that? 2018-02-07T15:49:35Z beach: jmercouris: Can you explain why you think so. 2018-02-07T15:49:52Z jmercouris: beach: sure, you have to have some knowledge of which syscalls are available on a system, those have to be embedded into your CL system 2018-02-07T15:49:58Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-07T15:50:11Z jackdaniel: beach: to my best knowledge there is no ffi usage nor foreign code (there are some implementation-specific bits of course) 2018-02-07T15:50:12Z beach: jmercouris: Right, so it could be all Lisp. 2018-02-07T15:50:25Z beach: jackdaniel: Let me look again, then. 2018-02-07T15:50:36Z jmercouris: You're the best kind of right in this case "technically" :D 2018-02-07T15:50:45Z jmercouris: I see it as still containing foreign code, but you are indeed correct 2018-02-07T15:51:15Z jackdaniel: jmercouris: clx "talks" with X server via a socket, it doesn't perform syscalls or library calls on it 2018-02-07T15:51:23Z |3b|: jmercouris: after running firefox for a while, it tends to take up lots of ram, and sometimes CPU. would be nice to be able to dig into things and see which pages are causing problems. or see which pages try to use various features (camera or webvr or whatever) 2018-02-07T15:51:25Z jackdaniel: and there were non-C X11 protocol implementations 2018-02-07T15:51:30Z tfb: jackdaniel: but it needs to be able to open a socket 2018-02-07T15:51:44Z jackdaniel: tfb: sure, for instance with sb-bsd-sockets:open-socket 2018-02-07T15:51:51Z jackdaniel: that's what clx does 2018-02-07T15:52:09Z tfb: yes, sorry, I was confusing implementation-dependence with foreign code, ignore me 2018-02-07T15:53:02Z rippa joined #lisp 2018-02-07T15:53:22Z jmercouris: |3b|: That would be interesting, I'll keep that in mind, but for now I'm looking for a cool way to use hooks basically 2018-02-07T15:54:07Z nowhere_man joined #lisp 2018-02-07T15:54:08Z FreeBirdLjj joined #lisp 2018-02-07T15:54:26Z |3b|: jmercouris: yeah, that's what i meant (assuming your definition of hooks would let me do that sort of thing) :) 2018-02-07T15:54:48Z jackdaniel: beach: there are files two with ".c" extension but they are not loaded with the system (they are legacy files) 2018-02-07T15:55:10Z jmercouris: |3b|: You can hook into literally any type of function, question is moreso, how would I determine when to check, like after which events? every time I open a page? to issue a warning that a page has very slow js? 2018-02-07T15:56:10Z tfb: jmercouris: can you hook things in the way that (say) Stylish does / did, to control how things render? 2018-02-07T15:56:53Z deng_cn quit (Read error: Connection reset by peer) 2018-02-07T15:56:56Z jmercouris: tfb: You may hook to literally any event, so you may inject css or js or whatever before a page load 2018-02-07T15:57:05Z jmercouris: not sure what stylish does, but that sounds like the idea 2018-02-07T15:57:12Z |3b|: jmercouris: yeah, now that i think about it, probably too late to use hooks by the time i decide i want to find out what's happening :/ 2018-02-07T15:57:18Z tfb: right, well that's a terribly useful thing to do 2018-02-07T15:58:02Z tfb: ie 'I'm about to render something from Wikipedia.org, insert this CSS to make it look like I want' 2018-02-07T15:58:05Z |3b|: yeah, modifying styles and injecting (something nicer than) JS are useful features 2018-02-07T15:58:47Z dec0n quit (Read error: Connection reset by peer) 2018-02-07T15:59:09Z deng_cn joined #lisp 2018-02-07T15:59:18Z jmercouris: then you need something like an alist as well for different JS on different sites 2018-02-07T15:59:24Z jmercouris: I guess I could demo a mini version of that plugin 2018-02-07T15:59:26Z beach: jackdaniel: This is what I found: https://github.com/sharplispers/clx/blob/master/socket.c 2018-02-07T15:59:29Z fikka quit (Ping timeout: 248 seconds) 2018-02-07T15:59:36Z beach: Maybe it's not used. 2018-02-07T15:59:45Z beach: Oh, OK. 2018-02-07T15:59:49Z beach: Got it. 2018-02-07T16:03:15Z mlf joined #lisp 2018-02-07T16:04:19Z drewc quit (Remote host closed the connection) 2018-02-07T16:07:09Z mishoo joined #lisp 2018-02-07T16:07:40Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-07T16:08:28Z beach: jmercouris: So I was wrong. CLX not only does not have to use foreign code, not even "technically". And it doesn't. 2018-02-07T16:09:31Z Jesin joined #lisp 2018-02-07T16:11:30Z fikka joined #lisp 2018-02-07T16:11:33Z solyd joined #lisp 2018-02-07T16:15:07Z sjl__ is now known as sjl 2018-02-07T16:17:02Z attila_lendvai quit (Quit: Leaving.) 2018-02-07T16:18:14Z pjb: that's the advantage of socket APIs… 2018-02-07T16:18:34Z pjb: Implementations provide "native" socket access, so you don't have to do any FFI. 2018-02-07T16:22:05Z heisig quit (Quit: Leaving) 2018-02-07T16:23:28Z Jesin quit (Quit: Leaving) 2018-02-07T16:24:18Z damke joined #lisp 2018-02-07T16:27:17Z deng_cn quit (Read error: Connection reset by peer) 2018-02-07T16:27:20Z fikka quit (Ping timeout: 265 seconds) 2018-02-07T16:27:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-07T16:27:49Z markong quit (Read error: Connection reset by peer) 2018-02-07T16:27:57Z billitch quit (Ping timeout: 260 seconds) 2018-02-07T16:28:13Z markong joined #lisp 2018-02-07T16:29:35Z deng_cn joined #lisp 2018-02-07T16:31:12Z Xach: I am a little surprised by the implementation results. 2018-02-07T16:31:18Z fikka joined #lisp 2018-02-07T16:31:33Z Xach: I'd like to make a chart of the trends over time. CCL and SBCL used to be closer (I think) 2018-02-07T16:32:36Z phoe: Xach: what's surprising? 2018-02-07T16:32:55Z dlowe: I've often thought that what would be neat would be an app server that was able to take a higher-level widget description with a socket protocol. 2018-02-07T16:33:26Z dlowe: I think tcl kind of is that, sort of. 2018-02-07T16:33:31Z dlowe: er, tcl/tk 2018-02-07T16:33:52Z dlowe: and web browsers more recently, though they're a bit overpowered for what I was thinking. 2018-02-07T16:34:01Z Xach: phoe: that sbcl is close to 10x more active, quicklisp request-wise, than ccl 2018-02-07T16:37:52Z phoe: Xach: active request-wise? what do you mean? 2018-02-07T16:38:09Z phoe: that you get 10x more projects running on SBCL than ones running on CCL also? 2018-02-07T16:38:36Z jackdaniel: people using SBCL download projects 10x more often than people using CCL 2018-02-07T16:42:26Z phoe: ooh, like that. I see. 2018-02-07T16:47:16Z lerax joined #lisp 2018-02-07T16:47:57Z flamebeard quit (Quit: Leaving) 2018-02-07T16:48:00Z lerax: Hey guys, how I can fetch all the symbols on a package? I know that I can use (apropos :package), but there is a string-designator like a wild card for all symbols? 2018-02-07T16:49:01Z pjb: (length (com.informatimago.common-lisp.cesarum.package:list-symbols :cl-user)) #| --> 856 |# 2018-02-07T16:49:30Z pjb: (length (com.informatimago.common-lisp.cesarum.package:list-symbols :cl-user :exported t)) #| --> 0 |# 2018-02-07T16:49:35Z pjb: etc. 2018-02-07T16:50:01Z lerax: I find a nice way 2018-02-07T16:50:06Z lerax: (apropos "" :ql) 2018-02-07T16:50:12Z lerax: since :ql is the package desired 2018-02-07T16:50:18Z lerax: http://bnmcgn.github.io/lisp-guide/lisp-exploration.html 2018-02-07T16:50:23Z pjb: lerax: there's apropos-list 2018-02-07T16:50:27Z lerax: This is a nice guide 2018-02-07T16:50:34Z pjb: lerax: but one use normally do-symbols and do-external-symbols 2018-02-07T16:50:55Z lerax: I liked this apropos-list, thanks pjb 2018-02-07T16:52:51Z pjb: lerax: however, (apropos-list "") is probably non-conforming: it wil give you results depending on the implementation. 2018-02-07T16:53:39Z pjb: Well, prehaps not. It may be ok. 2018-02-07T16:53:55Z pjb: Case-sensitivity and extensions such as regular expressions are implementation dependent. 2018-02-07T16:54:10Z pjb: But since "" is a substring of any symbol name, it should be ok. 2018-02-07T16:55:11Z sjl quit (Quit: WeeChat 1.9) 2018-02-07T16:56:06Z sjl joined #lisp 2018-02-07T16:58:51Z drewc joined #lisp 2018-02-07T16:59:23Z dieggsy quit (Ping timeout: 255 seconds) 2018-02-07T17:00:30Z porky11 joined #lisp 2018-02-07T17:02:19Z aindilis` quit (Read error: Connection reset by peer) 2018-02-07T17:02:24Z deng_cn quit (Read error: Connection reset by peer) 2018-02-07T17:03:53Z kajo joined #lisp 2018-02-07T17:04:12Z deng_cn joined #lisp 2018-02-07T17:04:24Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-07T17:05:24Z sjl: jackdaniel: small typo in the charms tutorial post: in the First Application section it says it makes a 50x15 window, but the call is (charms:make-window 50 50 10 10) 2018-02-07T17:05:25Z aindilis` joined #lisp 2018-02-07T17:05:33Z sjl: which I think is 50x50 2018-02-07T17:06:45Z jackdaniel: right, in code I have 50 15 10 10, thanks 2018-02-07T17:07:02Z jmercouris quit (Ping timeout: 260 seconds) 2018-02-07T17:07:31Z jmercouris joined #lisp 2018-02-07T17:07:44Z sjl: In later code it's 50 15 10 10, I think it's just that one section 2018-02-07T17:08:02Z jackdaniel: right, already fixed, thank you 2018-02-07T17:09:25Z JenElizabeth joined #lisp 2018-02-07T17:10:07Z deng_cn quit (Read error: Connection reset by peer) 2018-02-07T17:12:26Z SuperJen quit (Ping timeout: 255 seconds) 2018-02-07T17:14:36Z nowhereman_ joined #lisp 2018-02-07T17:15:06Z nowhere_man quit (Ping timeout: 256 seconds) 2018-02-07T17:20:14Z deng_cn joined #lisp 2018-02-07T17:21:18Z smurfrobot joined #lisp 2018-02-07T17:21:21Z HDurer quit (Ping timeout: 264 seconds) 2018-02-07T17:21:38Z HDurer joined #lisp 2018-02-07T17:22:38Z jmercouris quit (Ping timeout: 255 seconds) 2018-02-07T17:23:21Z jmercouris joined #lisp 2018-02-07T17:23:57Z khisanth_ quit (Ping timeout: 240 seconds) 2018-02-07T17:27:36Z raynold joined #lisp 2018-02-07T17:27:39Z Cymew joined #lisp 2018-02-07T17:27:48Z smurfrobot quit (Remote host closed the connection) 2018-02-07T17:28:20Z aindilis` quit (Remote host closed the connection) 2018-02-07T17:30:36Z dieggsy joined #lisp 2018-02-07T17:31:57Z Cymew quit (Ping timeout: 240 seconds) 2018-02-07T17:32:50Z jmercouris quit (Ping timeout: 260 seconds) 2018-02-07T17:33:50Z Cymew joined #lisp 2018-02-07T17:36:09Z Xach: lerax: hello! 2018-02-07T17:36:28Z Xach: lerax: projects in ~/quicklisp/local-projects/ will be loaded before projects quicklisp provides itself! 2018-02-07T17:36:46Z Xach: lerax: http://blog.quicklisp.org/2018/01/the-quicklisp-local-projects-mechanism.html has more details 2018-02-07T17:36:52Z scymtym joined #lisp 2018-02-07T17:36:54Z SuperJen joined #lisp 2018-02-07T17:37:07Z JenElizabeth quit (Remote host closed the connection) 2018-02-07T17:37:38Z khisanth_ joined #lisp 2018-02-07T17:38:20Z Cymew quit (Ping timeout: 252 seconds) 2018-02-07T17:39:52Z Cymew joined #lisp 2018-02-07T17:42:15Z EvW1 quit (Ping timeout: 265 seconds) 2018-02-07T17:42:35Z orivej joined #lisp 2018-02-07T17:43:26Z hhdave quit (Ping timeout: 256 seconds) 2018-02-07T17:44:41Z Cymew quit (Ping timeout: 256 seconds) 2018-02-07T17:45:30Z Karl_Dscc joined #lisp 2018-02-07T17:53:14Z surya_ quit (Ping timeout: 255 seconds) 2018-02-07T17:58:52Z SuperJen quit (Remote host closed the connection) 2018-02-07T17:59:02Z JenElizabeth joined #lisp 2018-02-07T17:59:27Z sigjuice: lerax if you are running slime then C-c C-d C-p ql RET will do the equivalent of (apropos "" :ql) 2018-02-07T17:59:51Z m00natic quit (Remote host closed the connection) 2018-02-07T18:00:14Z sjl quit (Quit: WeeChat 1.9) 2018-02-07T18:01:04Z sjl joined #lisp 2018-02-07T18:03:57Z Tobbi quit (Ping timeout: 256 seconds) 2018-02-07T18:04:01Z JenElizabeth quit (Remote host closed the connection) 2018-02-07T18:04:11Z lerax quit (Remote host closed the connection) 2018-02-07T18:04:14Z shka joined #lisp 2018-02-07T18:05:36Z JenElizabeth joined #lisp 2018-02-07T18:06:00Z JenElizabeth quit (Remote host closed the connection) 2018-02-07T18:06:17Z JenElizabeth joined #lisp 2018-02-07T18:06:47Z ecraven: is there a way to print everything in *slime-events*, not elide deep structure? 2018-02-07T18:09:49Z whoman: inspect ? 2018-02-07T18:10:14Z ecraven: whoman: I'd like to see the wire messages fully, not with parts elided 2018-02-07T18:10:17Z ecraven: to look at the protocol 2018-02-07T18:10:50Z whoman: in emacs, the inspector has a tree and you can click on stuff and perform actions with menus. 2018-02-07T18:11:02Z whoman: examine any object. its good lisp tool. 2018-02-07T18:11:19Z ecraven: yes, but I want to see the actual slime->swank messages, those won't show up in the inspector 2018-02-07T18:12:36Z whoman: i cant find that var 2018-02-07T18:13:04Z whoman: logically, if *slime-events* contains the slime-swank messages, there they are, upon inspection 2018-02-07T18:13:12Z whoman: otherwise, they are probably somewhere else. 2018-02-07T18:13:49Z Tristam joined #lisp 2018-02-07T18:21:49Z smurfrobot joined #lisp 2018-02-07T18:26:09Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-07T18:28:02Z JenElizabeth quit (Ping timeout: 255 seconds) 2018-02-07T18:35:14Z vyzo quit (Ping timeout: 276 seconds) 2018-02-07T18:37:18Z phoe: How can I retrieve documentation strings from method objects? 2018-02-07T18:37:55Z beach: mop method-documentation 2018-02-07T18:37:56Z specbot: Couldn't find anything for method-documentation. 2018-02-07T18:38:00Z beach: Bah! 2018-02-07T18:38:27Z phoe gasps 2018-02-07T18:38:27Z shifty quit (Ping timeout: 240 seconds) 2018-02-07T18:38:56Z beach: Oh, it's just DOCUMENTATION. 2018-02-07T18:38:58Z Bike: just documentation should work 2018-02-07T18:38:59Z Bike: yeah 2018-02-07T18:39:00Z beach: clhs documentation 2018-02-07T18:39:00Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_docume.htm 2018-02-07T18:39:14Z beach: phoe: http://metamodular.com/CLOS-MOP/initialization-of-method-metaobjects.html 2018-02-07T18:39:51Z phoe: beach: won't that give me the docstring of the generic function? 2018-02-07T18:40:01Z beach: clhs documentation 2018-02-07T18:40:01Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_docume.htm 2018-02-07T18:40:07Z varjag joined #lisp 2018-02-07T18:40:20Z Bike: pass it the method object 2018-02-07T18:40:23Z beach: documentation (x standard-method) (doc-type (eql 't)) 2018-02-07T18:40:23Z Bike: (documentation method t) 2018-02-07T18:41:19Z phoe: oh right 2018-02-07T18:41:23Z phoe: I was silly 2018-02-07T18:41:31Z beach: A bit, yes. :) 2018-02-07T18:42:01Z phoe: (defgeneric foo () (:documentation "1")) 2018-02-07T18:42:24Z phoe: (documentation #'foo 'function) ;=> WARNING: unsupported DOCUMENTATION: doc-type FUNCTION for object of type STANDARD-GENERIC-FUNCTION 2018-02-07T18:42:38Z phoe: is it supposed to do this? 2018-02-07T18:43:01Z phoe: (documentation #'foo 't) works 2018-02-07T18:43:38Z kajo quit (Read error: Connection reset by peer) 2018-02-07T18:43:54Z beach: For 'function, you need the function name it looks like. 2018-02-07T18:44:06Z beach: (documentation 'foo 'function) 2018-02-07T18:44:49Z phoe: beach: http://clhs.lisp.se/Body/f_docume.htm 2018-02-07T18:45:00Z beach: Hmm, no there is a method for it: documentation (x function) (doc-type (eql 'function)) 2018-02-07T18:45:05Z phoe: look at the possible lambda lists for "Functions, Macros, and Special Forms" 2018-02-07T18:45:15Z phoe: Exactly. 2018-02-07T18:45:31Z kajo joined #lisp 2018-02-07T18:46:15Z phoe: Not really a bug, because "An implementation is permitted to discard documentation strings at any time for implementation-defined reasons. " 2018-02-07T18:46:19Z phoe: but still confusing 2018-02-07T18:46:48Z Trystam joined #lisp 2018-02-07T18:48:57Z Tristam quit (Ping timeout: 240 seconds) 2018-02-07T18:49:12Z Trystam is now known as Tristam 2018-02-07T18:49:35Z Bike: documentation is unfortunately a function that does more than one thing 2018-02-07T18:50:25Z dieggsy quit (Remote host closed the connection) 2018-02-07T18:51:20Z smurfrobot joined #lisp 2018-02-07T18:51:51Z ig88th joined #lisp 2018-02-07T18:53:41Z random-nick quit (Ping timeout: 255 seconds) 2018-02-07T18:54:53Z JenElizabeth joined #lisp 2018-02-07T18:57:30Z lonjil quit (Quit: WeeChat 2.0.1) 2018-02-07T18:58:12Z d4ryus1 is now known as d4ryus 2018-02-07T18:58:59Z ig88th quit (Ping timeout: 260 seconds) 2018-02-07T19:03:57Z smurfrobot quit (Remote host closed the connection) 2018-02-07T19:08:02Z ecraven: are any slime/swank developers here? 2018-02-07T19:08:58Z jackdaniel: most likely, why? 2018-02-07T19:10:18Z ovidnis joined #lisp 2018-02-07T19:10:36Z ecraven: would it be possible to properly export swank::inspector-call-nth-action from swank, so that it is accessed by swank:inspector-call-nth-action (single colon)? 2018-02-07T19:11:02Z ecraven: I have a mostly-working swank for r7rs schemes, but :: does not work at all under kawa, its reader dies (it is used for type annotations there) 2018-02-07T19:11:20Z ecraven: I know that scheme is not at all a priority, but it would be a simple change and should not influence anything else much 2018-02-07T19:11:27Z ecraven: I can send a patch, if that helps 2018-02-07T19:12:20Z jackdaniel: I don't see technical problems with that - make a PR and see what maintainers say 2018-02-07T19:12:32Z jackdaniel: luis: are you around? ↑ 2018-02-07T19:12:38Z ecraven: where should I send it? is there any place but the mailing list? 2018-02-07T19:12:48Z jackdaniel: yes, a sec 2018-02-07T19:13:00Z jackdaniel: https://github.com/slime/slime/pulls ← here 2018-02-07T19:13:21Z ecraven: great, thank you! 2018-02-07T19:13:23Z ovidnis: I'm getting a compile-file-error while compiling # when I try to quickload caveman2 2018-02-07T19:13:25Z jackdaniel: uh, I still have to test one PR designed for ECL 2018-02-07T19:14:29Z jmercouris joined #lisp 2018-02-07T19:18:12Z smurfrobot joined #lisp 2018-02-07T19:22:03Z LocaMocha quit (Remote host closed the connection) 2018-02-07T19:22:58Z dieggsy joined #lisp 2018-02-07T19:23:05Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-07T19:24:26Z smurfrobot joined #lisp 2018-02-07T19:25:08Z zooey quit (Ping timeout: 255 seconds) 2018-02-07T19:26:31Z zooey joined #lisp 2018-02-07T19:26:52Z makomo quit (Quit: WeeChat 1.9.1) 2018-02-07T19:26:59Z random-nick joined #lisp 2018-02-07T19:27:10Z Xach: ovidnis: what implementation are you using? 2018-02-07T19:27:18Z ovidnis: sbcl 2018-02-07T19:27:33Z Xach: ovidnis: what version? 2018-02-07T19:27:47Z ovidnis: SBCL 1.3.14.debian 2018-02-07T19:27:59Z Xach: ovidnis: it is possible that it is too old to work 2018-02-07T19:28:07Z Xach: ovidnis: is it feasible to upgrade? 2018-02-07T19:28:14Z ecraven: jackdaniel: https://github.com/slime/slime/pull/428 I hope this is simple enough to get it merged ;) 2018-02-07T19:29:03Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-07T19:29:55Z ovidnis: that's the version in the ubuntu artful repos 2018-02-07T19:30:34Z ovidnis: i'll see if there's a ppa with a newer version 2018-02-07T19:31:28Z jackdaniel: ah, it's even already exported, just call to it was clumsy 2018-02-07T19:32:30Z ecraven: jackdaniel: yes, maybe that was different before. I tried it locally, works fine 2018-02-07T19:32:35Z ovidnis: or, eh, i'll just get the bin 2018-02-07T19:32:47Z Kaisyu quit (Quit: Connection closed for inactivity) 2018-02-07T19:33:07Z Xach: ovidnis: i usually download the latest binary if i'm starting from scratch, or build from git if i already have a binary 2018-02-07T19:34:08Z vtomole joined #lisp 2018-02-07T19:34:56Z ovidnis quit (Remote host closed the connection) 2018-02-07T19:35:58Z ovidnis joined #lisp 2018-02-07T19:37:07Z ovidnis: hmm, still fails compiling static-vectors impl 2018-02-07T19:37:13Z ovidnis: on 1.4.4 2018-02-07T19:38:56Z Tobbi joined #lisp 2018-02-07T19:40:09Z jmercouris: What is roswell? 2018-02-07T19:40:50Z JenElizabeth quit (Remote host closed the connection) 2018-02-07T19:41:06Z JenElizabeth joined #lisp 2018-02-07T19:44:20Z phoe: theoretically, a Lisp implementation manager. 2018-02-07T19:44:32Z phoe: practically, it still tends to fail here and there, but it makes for a very nice SBCL installer. 2018-02-07T19:45:15Z JenElizabeth quit (Remote host closed the connection) 2018-02-07T19:45:54Z jmercouris: why do we need it? 2018-02-07T19:46:12Z JenElizabeth joined #lisp 2018-02-07T19:46:50Z phoe: I don't know 2018-02-07T19:46:50Z JenElizabeth quit (Remote host closed the connection) 2018-02-07T19:47:05Z phoe: Some people like having a tool that can switch between different Lisp implementations and versions 2018-02-07T19:47:11Z phoe: Some people have a use case for it. 2018-02-07T19:48:58Z rumbler31 quit (Remote host closed the connection) 2018-02-07T19:51:13Z jmercouris: I am having a real hard time imagining it 2018-02-07T19:51:22Z jmercouris: but whatever, live and let live :D 2018-02-07T19:52:31Z hiroaki quit (Ping timeout: 248 seconds) 2018-02-07T19:53:53Z orivej quit (Ping timeout: 276 seconds) 2018-02-07T19:55:47Z fourier` joined #lisp 2018-02-07T19:57:14Z ebrasca joined #lisp 2018-02-07T19:57:19Z vtomole quit (Ping timeout: 260 seconds) 2018-02-07T19:58:40Z ebrasca: Can I format 3 as "03" instead of " 3". I am using someting like (format t "~2x" i) 2018-02-07T19:59:04Z fourier` quit (Client Quit) 2018-02-07T20:00:38Z dlowe: (format nil "~2,'0d" 5) 2018-02-07T20:00:56Z damke_ joined #lisp 2018-02-07T20:01:01Z dlowe: well, it works for ~x too 2018-02-07T20:02:00Z BitPuffin quit (Remote host closed the connection) 2018-02-07T20:02:09Z fikka quit (Ping timeout: 248 seconds) 2018-02-07T20:02:28Z ebrasca: dlowe: Thank you. 2018-02-07T20:03:57Z damke quit (Ping timeout: 264 seconds) 2018-02-07T20:04:03Z phoe: the "~N,'0D" format control is something I use so freaking often 2018-02-07T20:04:57Z vyzo joined #lisp 2018-02-07T20:05:56Z vtomole joined #lisp 2018-02-07T20:06:12Z hiroaki joined #lisp 2018-02-07T20:07:47Z knicklux joined #lisp 2018-02-07T20:08:33Z jmercouris quit (Ping timeout: 248 seconds) 2018-02-07T20:13:56Z ig88th joined #lisp 2018-02-07T20:14:37Z borei quit (Quit: Leaving.) 2018-02-07T20:15:35Z shrdlu68: When comparing two bit vectors with #'equal, I notice it does not immediately return nil if the bit vectors are of different lengths. 2018-02-07T20:17:00Z nowhereman_ quit (Ping timeout: 256 seconds) 2018-02-07T20:17:04Z klltkr joined #lisp 2018-02-07T20:17:04Z Xach: ovidnis: dang! what is the error message? 2018-02-07T20:17:08Z Xach: shrdlu68: "it"? 2018-02-07T20:17:42Z shrdlu68: Xach: #'equal, at least on SBCL. 2018-02-07T20:18:05Z nowhere_man joined #lisp 2018-02-07T20:20:06Z Xach: shrdlu68: interesting. how did you observe that? 2018-02-07T20:21:59Z Bike: both the definition and transform for bit-vector-= check for length equality before looking at the actual bits, as far as i see 2018-02-07T20:23:32Z shrdlu68: Xach: By a method which I now realize is flawed. 2018-02-07T20:23:51Z Xach: shrdlu68: phew 2018-02-07T20:26:34Z fourier joined #lisp 2018-02-07T20:26:57Z fourier: ebrasca: (format t "~2,'0d" 3) 2018-02-07T20:27:08Z fikka joined #lisp 2018-02-07T20:27:46Z EvW joined #lisp 2018-02-07T20:27:50Z fourier quit (Changing host) 2018-02-07T20:27:50Z fourier joined #lisp 2018-02-07T20:28:18Z Cymew joined #lisp 2018-02-07T20:32:52Z Cymew quit (Ping timeout: 252 seconds) 2018-02-07T20:33:51Z Okami quit (Quit: mujeres libres!) 2018-02-07T20:34:17Z Cymew joined #lisp 2018-02-07T20:35:25Z fikka quit (Ping timeout: 260 seconds) 2018-02-07T20:38:51Z mishoo_ joined #lisp 2018-02-07T20:39:23Z Cymew quit (Ping timeout: 276 seconds) 2018-02-07T20:39:39Z stacksmith: Greetings. Am I correct about this: if a macro has an optional or keyword parameter with an init-form, and the init-form relies on another parameter, such init-form needs to be backquoted with said parameter unquoted to expand correctly... Yikes. 2018-02-07T20:40:15Z Cymew joined #lisp 2018-02-07T20:40:37Z stacksmith: Example: (demacro foo (a &optional (b `(+ 1 ,a))...) 2018-02-07T20:40:40Z shka quit (Ping timeout: 260 seconds) 2018-02-07T20:40:41Z mishoo quit (Ping timeout: 276 seconds) 2018-02-07T20:41:31Z _death: what about multiple evaluation 2018-02-07T20:41:47Z stacksmith: _death: there is that. 2018-02-07T20:42:15Z _death: it suggests that the interface may be wrong 2018-02-07T20:43:24Z vtomole quit (Ping timeout: 260 seconds) 2018-02-07T20:44:36Z Cymew quit (Ping timeout: 252 seconds) 2018-02-07T20:45:12Z stacksmith: It can be implemented with an conditional that selects one of two expansions - one using a provided parameter, another into a let form to evaluate it once, I suppose. 2018-02-07T20:46:34Z stacksmith: _death, I am not sure about the inference about the interface... Technically, one should be able to _use_ a macro or a function without knowing which one it is... 2018-02-07T20:48:01Z ig88th: where am I supposed to put .config/common-lisp/source-registry.conf.d/projects.conf on windows? 2018-02-07T20:48:45Z ig88th: I've tried my home directory C:\Users\ig88t\ as well as C:\Users\ig88t\AppData\Roaming\ (which is where emacs wants it's .emacs.d folder, so I thought asdf might be the same) 2018-02-07T20:49:05Z pjb: stacksmith: initforms are evaluated at the time of function (or macro) call. 2018-02-07T20:49:12Z stacksmith: ig88th: a question like that just invites abuse :) 2018-02-07T20:49:25Z pjb: stacksmith: this means, for macros, at macroexpansion-time, which is usually at compilation-time. 2018-02-07T20:49:30Z Bike: what? it's a reasonable question 2018-02-07T20:49:33Z ig88th: stacksmith: what do you mean? 2018-02-07T20:50:01Z stacksmith: Just kidding. I mean questions in the form of "where am I supposed to put ..." 2018-02-07T20:50:16Z fourier quit (Ping timeout: 265 seconds) 2018-02-07T20:50:17Z Bike: The manual says "For Windows users, and starting with ASDF 3.1.5, start from your %LOCALAPPDATA%, which is usually ~/AppData/Local/ (but you can ask in a CMD.EXE terminal echo %LOCALAPPDATA% to make sure) and underneath create a subpath config/common-lisp/source-registry.conf.d/." 2018-02-07T20:50:23Z pjb: stacksmith: whether you need to quote or not the initform depends on what you what to evaluate! 2018-02-07T20:51:18Z fikka joined #lisp 2018-02-07T20:51:45Z nowhere_man quit (Ping timeout: 248 seconds) 2018-02-07T20:52:34Z ig88th: Bike: awesome! is that the manual for asdf? 2018-02-07T20:52:46Z Bike: yes 2018-02-07T20:53:06Z Bike: it's in kind of a random place, footnote 3 here https://common-lisp.net/project/asdf/asdf.html#Configuring-ASDF-to-find-your-systems 2018-02-07T20:53:40Z nowhere_man joined #lisp 2018-02-07T20:53:52Z ig88th: Bike: I came across that page earlier but I guess I didn't check the footnotes! thank you! 2018-02-07T20:54:04Z stacksmith: pjb: indeed it does... A bit confusing with multiple evaluation issue, as it is not immediately obvious how many times ,a gets expanded.. 2018-02-07T20:54:12Z pjb: stacksmith: and indeed, as _death mentionned, macros can be expanded any number of times, and not necessarily while compiling or intepreting (eg. they can be called by the editor or some other tools). Therefore expressions evaluated by the macros, including their initforms, must be prepared to be evaluated in strange environments. 2018-02-07T20:54:27Z Bike: no problem 2018-02-07T20:56:09Z fikka quit (Ping timeout: 264 seconds) 2018-02-07T20:57:06Z pjb: stacksmith: (defmacro foo (&optional (a (with-open-file (io "foo" :direction :io :if-exists :append :if-does-not-exist :create) (prog1 (progn (file-position io 0) (read io nil 'foo)) (file-position io (file-length io)) (print (get-universal-time) io))))) `',a) 2018-02-07T20:57:13Z pjb: macro with side effects :-) 2018-02-07T20:59:44Z stacksmith: pjb: - is there a preferred way to deal with this? I haven't seen anything mentioned about this... I suppose the wisest approach is to use &key to be certain about the argument being supplied, and expand a let form evaluating the original argument, then the 'optional one'... 2018-02-07T20:59:45Z _cosmonaut_ quit (Ping timeout: 264 seconds) 2018-02-07T21:00:09Z z3t0 joined #lisp 2018-02-07T21:00:49Z pjb: stacksmith: what's your problem? The specification is perfectly deterministic there. 2018-02-07T21:02:02Z orivej joined #lisp 2018-02-07T21:02:05Z pjb: stacksmith: the only thing is that if your macro has side effects, then you must ensure that it still give the same results for it to be conforming. 2018-02-07T21:02:28Z smurfrobot joined #lisp 2018-02-07T21:02:30Z pjb: You're given a lot of freedom, don't complain! 2018-02-07T21:03:44Z stacksmith: pjb: Not complaining at all! Just trying to understand if (defmacro foo (a &optional (b `(+ 1 ,a)) `(values ,a ,b)) should be implemented differently because of uncertainty about the number of ,a expansions... 2018-02-07T21:04:53Z pjb: stacksmith: in this case it doesn't matter, since (+ 1 a) will always return the same thing, without side effect. (loop with result repeat (1+ (random 10000)) do (setf result (+ 1 a)) finally (return result)) will always do the same thing as (+ 1 a). 2018-02-07T21:04:53Z groovy2shoes quit (Quit: moritura te saluto) 2018-02-07T21:05:18Z pjb: Oh, but you mean, a could be bound to an expression with side effects. 2018-02-07T21:05:26Z stacksmith: yes 2018-02-07T21:05:37Z z3t0 quit (Remote host closed the connection) 2018-02-07T21:05:47Z pjb: Yes, in this case, either you document your macro, and let the user deal with it, or you write it otherwise, so that the expression bound to A is evaluated only once. 2018-02-07T21:05:59Z phoe: (foo (incf a)) 2018-02-07T21:06:07Z pjb: yes. 2018-02-07T21:06:28Z Bike: there's no uncertainty. if you pass one form, it'll be evaluated twice, if the + doesn't signal an error etc 2018-02-07T21:07:13Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-07T21:07:15Z pjb: Something like: (defmacro foo (a &optional (b nil b-p)) (let* ((a ,a) (b (if b-p b (+ 1 a)))) `(values ,a ,b))) 2018-02-07T21:07:36Z ig88th: okay I can't seem to figure out where the config file should be on windows. I've located this function (https://github.com/quicklisp/quicklisp-controller/blob/master/asdf.lisp#L6247) in asdf that I think hints at the right answer, but I am unsure of what to make of it 2018-02-07T21:07:54Z pjb: Bike: macro calls can be evaluated more than once. if foo evaluates a once, then (foo (incf a)) may increment a 1 or more times. 2018-02-07T21:07:55Z Bike: LOCALAPPDATA no good, huh 2018-02-07T21:08:42Z phoe: take a look at ALEXANDRIA:ONCE-ONLY 2018-02-07T21:09:14Z ig88th: Bike: yeah LOCALAPPDATa doesn't seem to work for me 2018-02-07T21:09:18Z stacksmith: phoe: true, but I don't think it makes sense in the init-form... 2018-02-07T21:09:27Z shrdlu68 quit (Ping timeout: 240 seconds) 2018-02-07T21:09:38Z Bike: honestly, having anything very complicated in lambda list defaults is unusual 2018-02-07T21:09:40Z ig88th: is anyone else here developing on Windows? 2018-02-07T21:09:47Z phoe: stacksmith: you'll need to pull the initform from the lambda list and put it in the body. 2018-02-07T21:10:03Z z3t0 joined #lisp 2018-02-07T21:10:23Z stacksmith: phoe: I certainly do... 2018-02-07T21:11:33Z shrdlu68 joined #lisp 2018-02-07T21:11:35Z fikka joined #lisp 2018-02-07T21:11:43Z stacksmith: There is little advantage in macros having anything complicated in init-forms, I suppose. Functions in SBCL wind up having multiple entry points, for efficiency. 2018-02-07T21:12:07Z Bike: macro functions don't usually have to be efficient 2018-02-07T21:12:08Z hiroaki quit (Ping timeout: 255 seconds) 2018-02-07T21:12:11Z Bike: unless you're doing something really weird, i guess 2018-02-07T21:12:14Z pjb: Depends on the complexity of the language/syntax implemented by the macro. 2018-02-07T21:12:34Z Bike: well, don't have to be efficient about something like calls 2018-02-07T21:12:35Z vtomole joined #lisp 2018-02-07T21:12:48Z Bike: destructuring a list is chump change compared to compilation 2018-02-07T21:13:21Z stacksmith: I am surprised I haven't come across this - personally or in literature... 2018-02-07T21:13:39Z pjb: stacksmith: Casting Spels in Lisp Conrad Barski, M.D. http://www.lisperati.com/casting.html 2018-02-07T21:14:36Z Baggers joined #lisp 2018-02-07T21:15:15Z stacksmith: pjb: Barski mentions macro init-forms? 2018-02-07T21:15:35Z pjb: It's a big part of the literature concerning macros. 2018-02-07T21:16:11Z pjb: stacksmith: This is a lego box, it doesn't tell you what to build, it gives you little bricks, and you do whatever you want with them. 2018-02-07T21:16:22Z fikka quit (Ping timeout: 265 seconds) 2018-02-07T21:17:07Z pjb: on the other hand, it's true that there seem to be a market for horrors such as: https://www.smythstoys.com/ie/en-ie/toys/lego-and-bricks/lego-star-wars/lego-75159-star-wars-death-star/p/156074 2018-02-07T21:17:16Z pjb: But this is not lego. 2018-02-07T21:18:51Z stacksmith: Again - not complaining, just amused by all things not written about concerning Lisp - it's been around long enough that when encountering an issue you _know_ you are not the first one. 2018-02-07T21:19:20Z pjb: stacksmith: it's assumed programmers have brains. There's no need to write all the trivial consequences and deductions. 2018-02-07T21:19:50Z pjb: And it would be misleading, since the applicability conditions would be bigger than the code involved! 2018-02-07T21:20:30Z jmercouris joined #lisp 2018-02-07T21:20:37Z jmercouris: when I write :fish in CL, what exactly am I writing? what does the ":" symbol do? 2018-02-07T21:20:51Z stacksmith: keyword. 2018-02-07T21:20:55Z pjb: jmercouris: it's not a symbol. It's basic syntax of the symbols. 2018-02-07T21:20:59Z pjb: jmercouris: read the Chapter 2. 2018-02-07T21:21:05Z jmercouris: chapter 2 of...? 2018-02-07T21:21:08Z pjb: clhs 2018-02-07T21:21:22Z _death: jmercouris: it's just a shorthand for keyword:fish 2018-02-07T21:21:29Z pjb: http://www.lispworks.com/documentation/HyperSpec/Body/02_.htm 2018-02-07T21:21:31Z jmercouris: and keyword is a namespace? 2018-02-07T21:21:39Z pjb: (find-package "KEYWORD") #| --> # |# 2018-02-07T21:21:46Z jmercouris: package, right, that's what I meant 2018-02-07T21:21:59Z pjb: http://www.lispworks.com/documentation/HyperSpec/Body/11_abc.htm 2018-02-07T21:22:03Z fikka joined #lisp 2018-02-07T21:22:20Z jmercouris: _death: Thank you for the succinct explanation 2018-02-07T21:22:30Z jmercouris: I'm trying to explain the hook code I wrote in a blog post, and I'm trying to be accurate 2018-02-07T21:22:57Z pjb: you have to know the properties of the keyword package, to understand what :foo means. 2018-02-07T21:23:18Z jmercouris: I'm listening 2018-02-07T21:23:35Z stacksmith: pjb: It is possible I am a moron, and now that I see it clearly - it's not too complicated... However, there is much repetition about much more obvious stuff in Lisp literature - mentioning "watch out for macro init-forms" could not really hurt. 2018-02-07T21:23:51Z _death: clhs 11.1.2.3 2018-02-07T21:23:51Z specbot: The KEYWORD Package: http://www.lispworks.com/reference/HyperSpec/Body/11_abc.htm 2018-02-07T21:24:05Z pjb: stacksmith: only, it's so obvious… 2018-02-07T21:24:22Z pjb: stacksmith: that said, there's a perspective problem here. 2018-02-07T21:24:42Z pjb: stacksmith: for people who've known lisp a long time and who've seen it evolve along the way, all those things are obvious. 2018-02-07T21:24:50Z stacksmith: pjb: it is pretty fucking obvious _now_ that I am so much wiser :) 2018-02-07T21:25:17Z pjb: stacksmith: for newbies, it may be surprising, and foremost, there may be a shorter path than to read all the historical document (it happens that I just like to do that, but it takes a lot of time). 2018-02-07T21:25:38Z jmercouris: aha, so we can use :fish in all packages 2018-02-07T21:25:38Z z3t0 quit (Remote host closed the connection) 2018-02-07T21:25:40Z jmercouris: interesting 2018-02-07T21:25:48Z z3t0 joined #lisp 2018-02-07T21:25:52Z stacksmith: pjb: however, when I converted a function to a macro having stayed up too long, not so obvious... 2018-02-07T21:26:01Z pjb: stacksmith: but it's hard for old timers to see what indications the new generations need to walk the short path. So you should take notes while you're doing it, and then write a tutorial for your fellow newbies. 2018-02-07T21:26:20Z pjb: stacksmith: well, keep the function, and call it from the macro ;-) 2018-02-07T21:26:32Z hiroaki joined #lisp 2018-02-07T21:26:39Z pjb: (defmacro foo (args…) `(foo* ,args…)) 2018-02-07T21:26:42Z pjb: basically. 2018-02-07T21:27:06Z stacksmith: pjb: with all due respect to you old timers - I no longer consider myself a newbie... 2018-02-07T21:27:29Z stacksmith: pjb - although I suppose it's all relative. 2018-02-07T21:27:36Z pjb: jmercouris: yes, the keyword package is a global resource, so it's useful to pass symbols across packages without having to export and import them. 2018-02-07T21:27:50Z pjb: jmercouris: on the other hand, since it's a global resource, you also need to be careful when using keywords. 2018-02-07T21:28:27Z pjb: jmercouris: for example if your library uses symbol-plist, it should not use keyword as keys, since other packages doing the same could be using the same keyword for different thing: collision. Instead, use a symbol from your own package. 2018-02-07T21:28:30Z _death: the clhs gives advice on when to use and not use keywords.. it's that great :) 2018-02-07T21:28:55Z jmercouris: clhs maybe reads easy for you guys 2018-02-07T21:28:58Z jmercouris: but feels super terse to me 2018-02-07T21:29:01Z pjb: stacksmith: yes, you're in the middle, the best place to better understand the needs of the newbies, and still with enough knowledge of lisp to explain them (and ask us). 2018-02-07T21:29:11Z pjb: stacksmith: perfect time to write a book or a tutorial ;-) 2018-02-07T21:29:12Z jmercouris: All the time I'm reading it and going "what the does that even mean"? 2018-02-07T21:29:17Z _death: jmercouris: what about cltl2 2018-02-07T21:29:20Z jmercouris: and I find myself going down a rabbit hole 2018-02-07T21:29:26Z jmercouris: _death: what is cltl2? 2018-02-07T21:29:34Z pjb: the pre-common-lisp book. 2018-02-07T21:29:41Z _death: minion: tell jmercouris about cltl 2018-02-07T21:29:42Z minion: Sorry, I couldn't find anything in the database for ``cltl''. 2018-02-07T21:29:43Z pjb: It's: Common Lisp The Language ed. 2 2018-02-07T21:29:44Z stacksmith: common lisp the language 2018-02-07T21:29:47Z _death: ignorant minion 2018-02-07T21:29:59Z jmercouris: lol 2018-02-07T21:30:19Z pjb: So it's interesting because it contains prose and explaination, but it's misleading because it's pre-CL, so it contains things that are not true in CL. 2018-02-07T21:30:33Z pjb: And it also gives you bad habit such as #'(lambda …) instead of just (lambda …). 2018-02-07T21:30:51Z pjb: But knowing that, you could still read it and profit from it. 2018-02-07T21:30:52Z _death: pjb: but it contains more elaborate explanations and I found it very useful to read when I started 2018-02-07T21:31:04Z pjb: Sure. You just have to take them with a grain of CL salt. 2018-02-07T21:33:47Z smurfrobot joined #lisp 2018-02-07T21:34:34Z jmercouris: What's the best way to download the contents of a web page as a string in CL? 2018-02-07T21:36:14Z phoe: jmercouris: make a HTTP request with drakma, :want-stream t 2018-02-07T21:36:25Z phoe: then read from that stream until the end 2018-02-07T21:36:35Z phoe: or just drakma:http-request 2018-02-07T21:37:01Z phoe: it'll give you a string by default, or an octet-vector if it detects that the contents aren't human-readable (which it misinterprets, sometimes, for JS for example) 2018-02-07T21:37:11Z _death: it's an ill-conceived problem 2018-02-07T21:37:28Z jmercouris: http-request seems simpler 2018-02-07T21:37:29Z jmercouris: thank you 2018-02-07T21:38:08Z smurfrobot quit (Ping timeout: 252 seconds) 2018-02-07T21:38:27Z _death: phoe: this behavior, by the way, I detest 2018-02-07T21:39:05Z porky11 quit (Ping timeout: 265 seconds) 2018-02-07T21:39:36Z phoe: _death: I am with you there, it should either uniformly return octetstreams or uniformly return strings or signal things 2018-02-07T21:39:36Z _death: phoe: so I always use force-binary and do the encoding myself if I need it 2018-02-07T21:39:40Z phoe: just not this crazy thing 2018-02-07T21:39:44Z phoe: _death: yes. 2018-02-07T21:40:09Z jmercouris: it seems to have like 5 return values 2018-02-07T21:40:13Z jmercouris: how is that even possible? 2018-02-07T21:40:14Z smurfrobot joined #lisp 2018-02-07T21:40:43Z jmercouris: multiple-value-bind 2018-02-07T21:40:44Z jmercouris: hmm 2018-02-07T21:40:51Z jmercouris: this is a part of CL I need to learn more about 2018-02-07T21:41:21Z _death: I also discovered the other day that dexador leaks connections unless you manually tell it to clear the pool.. it ate up all available file descriptors for the process so I did something like (sb-posix:close (+ 10 (random 1000))) (ok, not that smart, but you get the idea ;) 2018-02-07T21:42:01Z _death: just to get a free fd to save state.. 2018-02-07T21:44:33Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-07T21:47:12Z emaczen joined #lisp 2018-02-07T21:47:35Z emaczen: Is there a condition for using up all the heap? 2018-02-07T21:47:44Z warweasle quit (Quit: later) 2018-02-07T21:47:59Z emaczen: I am using SBCL 2018-02-07T21:48:30Z emaczen: and I wish to free a lot of memory and then "start over" 2018-02-07T21:49:23Z DeadTrickster_ quit (Remote host closed the connection) 2018-02-07T21:49:59Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-02-07T21:52:26Z smurfrobot joined #lisp 2018-02-07T21:54:05Z jmercouris: Shinmera: I have an # how can I get the "innerHTML" of that? 2018-02-07T21:54:41Z jmercouris: plump:serialize does seem to in fact serialize the object, but I'd like a string of the inner html 2018-02-07T21:55:06Z Bike: emaczen: there's storage-condition, but it's hard to use normally. 2018-02-07T21:55:53Z kolko quit (Quit: ZNC - http://znc.in) 2018-02-07T21:57:31Z k-hos: common lisp supports variable number of function arguments right? 2018-02-07T21:57:44Z jmercouris: k-hos: yes 2018-02-07T21:57:55Z Shinmera: jmercouris: (serialize (children thing)) 2018-02-07T21:58:11Z z3t0 quit (Remote host closed the connection) 2018-02-07T21:58:40Z k-hos: I assume the same applies to macros as well? would it be possible then to iterate over the arguments and emit code then for each one? 2018-02-07T21:58:46Z Bike: sure. 2018-02-07T21:58:46Z Shinmera: Sure 2018-02-07T21:58:49Z jmercouris: k-hos: yes 2018-02-07T21:58:53Z jmercouris: Shinmera: What is "thing"? 2018-02-07T21:58:58Z Shinmera: jmercouris: your thing 2018-02-07T21:59:00Z Bike: indubitably 2018-02-07T21:59:07Z White_Flame: macros are basically just functions that are called at compile-time, that take source code & return source code in sexpr format 2018-02-07T21:59:29Z k-hos: they will run anything that isn't quoted at compile time correct? 2018-02-07T21:59:29Z jmercouris: Shinmera: right, let's say I've started here: (defparameter docy (lquery:load-page "Lol some text")) 2018-02-07T21:59:35Z k-hos: or do I have that backwards 2018-02-07T21:59:50Z Bike: "anything"? like, their arguments? 2018-02-07T21:59:50Z Shinmera: That variable is freezing in the cold! 2018-02-07T21:59:51Z White_Flame: they will run, and their return value will be used as replacement source code for the original macro call 2018-02-07T21:59:53Z jmercouris: Shinmera: then I went here: (defparameter body (lquery:$ docy "body")) 2018-02-07T22:00:08Z jmercouris: so now I have an "element" object 2018-02-07T22:00:08Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-07T22:00:10Z mishoo_ quit (Ping timeout: 240 seconds) 2018-02-07T22:00:17Z jmercouris: but what is that exactly? how do I know which slots it has? 2018-02-07T22:00:24Z jmercouris: does it have an innerHTML slot? 2018-02-07T22:00:28Z karswell joined #lisp 2018-02-07T22:00:29Z Shinmera: describe it? 2018-02-07T22:00:33Z nowhere_man quit (Ping timeout: 248 seconds) 2018-02-07T22:00:35Z White_Flame: k-hos: so yeah, many times the body of a macro is just a sexpr template that runs embedded bits of code to transform the parameters to the output code 2018-02-07T22:00:35Z jmercouris: Ah, yes, let me try that 2018-02-07T22:01:04Z jmercouris: Okay, it says "Class: #" 2018-02-07T22:01:06Z White_Flame: k-hos: including iterating over list-based parameters or the &rest of the argument list 2018-02-07T22:01:21Z k-hos: what can I use to get information about the variable arguments? 2018-02-07T22:01:24Z jmercouris: Shinmera: So I assume I have to pass around this vector to some other function to get the data? 2018-02-07T22:01:34Z Bike: the variable arguments are just a regular list 2018-02-07T22:01:44Z jmercouris: I just want to get "Lol some text" 2018-02-07T22:01:55Z Shinmera: jmercouris: You don't have an element, you have an array of elements. 2018-02-07T22:02:05Z Bike: (defmacro foo (&rest vargs) ...) say you have (foo a (+ 1 3) 9), then vargs is a list of the symbol A, the list + 1 3, and the number 9 2018-02-07T22:02:14Z White_Flame: k-hos: in (defmacro foo (&rest params) ...), or defun, params is just a normal list that you can take the length of, map over, etc 2018-02-07T22:02:29Z Shinmera: jmercouris: If you just want the text, and not the inner html, you can just use TEXT 2018-02-07T22:02:38Z k-hos: alright, thanks 2018-02-07T22:02:43Z Shinmera: If you want the inner HTML, call serialize on the children of the element. 2018-02-07T22:03:10Z jmercouris: Shinmera: I'm sorry, I'm a little bit dense, can you spell it out exactly? 2018-02-07T22:03:14Z z3t0 joined #lisp 2018-02-07T22:03:44Z stacksmith: phoe: since you mentioned alexandria:once-only - do you know of a way to make the gensyms it creates ignorable? 2018-02-07T22:04:13Z jmercouris: What is text? like this? (lquery:$ (lquery:$ docy "body") "text")? 2018-02-07T22:04:32Z Shinmera: Why would I capitalise a string and not include quotes 2018-02-07T22:04:43Z Shinmera: If that was indeed what I meant 2018-02-07T22:04:59Z jmercouris: Maybe you meant a javascript function, and you are used to capitalizing things 2018-02-07T22:05:10Z stacksmith: LOL 2018-02-07T22:05:11Z jmercouris: IDK man, I have literally no idea, because I don't see a function TEXT within lquery 2018-02-07T22:05:13Z Shinmera: Why would I say anything about JS 2018-02-07T22:05:15Z DeadTrickster joined #lisp 2018-02-07T22:05:23Z jmercouris: because the package is called lquery? 2018-02-07T22:05:30Z Shinmera: TEXT is like, literally in the docs and in the examples even! 2018-02-07T22:05:38Z Shinmera: Are you reading the same page as I? 2018-02-07T22:06:03Z jmercouris: I don't think we are reading the same page no 2018-02-07T22:06:19Z jmercouris: let me look at the plump page 2018-02-07T22:06:22Z Shinmera: Anyway. (lquery:$1 (initialize "lol") "body" (text)) ; => "lol" 2018-02-07T22:06:25Z pagnol joined #lisp 2018-02-07T22:06:30Z Shinmera: (lquery:$1 (initialize "lol") "body" (children) (serialize)) ; => "lol" 2018-02-07T22:06:51Z _death: stacksmith: some years ago I wrote something for that, but never used it.. https://gist.github.com/death/8551cf20e2bf296455a3e8cf3f3be11b 2018-02-07T22:06:52Z Shinmera: Colleen: tell jmercouris look up lquery how to 2018-02-07T22:06:52Z Colleen: jmercouris: How to https://shinmera.github.io/lquery#how_to 2018-02-07T22:07:26Z vlatkoB quit (Remote host closed the connection) 2018-02-07T22:07:29Z jmercouris: Shinmera: I was looking at a different page actually... 2018-02-07T22:07:36Z jmercouris: Anyways, thank you 2018-02-07T22:07:44Z Shinmera: Plump's docs have TEXT, too 2018-02-07T22:07:48Z jmercouris: they do 2018-02-07T22:07:55Z aeth: What do people recommend for generating static HTML and CSS? (not a web application, just for static HTML) 2018-02-07T22:07:55Z Shinmera: So what /were/ you looking at? 2018-02-07T22:07:58Z jmercouris: but it is like (text object) 2018-02-07T22:08:11Z jmercouris: and I was trying to pass in the wrong object it seems 2018-02-07T22:08:18Z jmercouris: I'm a little bit confused about how all these things tie into each other 2018-02-07T22:08:26Z jmercouris: aeth: You can use my fork of site-generator 2018-02-07T22:08:35Z Shinmera: The first argument to any lQuery function is the list of operators that comes down the line of the lQuery chain 2018-02-07T22:08:36Z stacksmith: _death: you are awesome! 2018-02-07T22:08:48Z Shinmera: So it is "already there" 2018-02-07T22:08:55Z jmercouris: aeth: https://github.com/next-browser/site-generator 2018-02-07T22:08:59Z _death: stacksmith: homework is to implement tcr's suggestion ;) 2018-02-07T22:09:13Z emaczen: Bike: when the heap runs out of space is an error even signalled? 2018-02-07T22:09:22Z Shinmera: Err, *list of elements 2018-02-07T22:09:25Z jmercouris: Shinmera: I'm still trying to parse what you are saying 2018-02-07T22:09:34Z jmercouris: okay 2018-02-07T22:09:43Z Bike: emaczen: the problem of course is that the condition is an object that has to be allocated... 2018-02-07T22:09:47Z jmercouris: so that's why we originally pass the "initialized" *doc* in your example 2018-02-07T22:09:49Z jmercouris: this is a list of elements? 2018-02-07T22:09:54Z DeadTrickster quit (Read error: Connection reset by peer) 2018-02-07T22:10:19Z ig88th quit (Ping timeout: 260 seconds) 2018-02-07T22:10:29Z Shinmera: ($ (initialize "foo")) ; => #(#), now if we ($ (initialize "foo") (bla)) bla is gonna get that vector as its first argument. 2018-02-07T22:10:31Z emaczen: Bike: I'm probably better off looking into an emacs script that just restarts... but I'll probably end up just doing this manually... 2018-02-07T22:10:36Z DeadTrickster joined #lisp 2018-02-07T22:10:50Z Shinmera: And the result of bla is going to be used as the first argument for the next operator, if there was one 2018-02-07T22:10:52Z Bike: no chance you can just write your program to not use up all of memory? 2018-02-07T22:11:16Z jmercouris: wait, you totally lost me 2018-02-07T22:11:20Z jmercouris: give me a minute 2018-02-07T22:11:21Z aeth: jmercouris: Is site-generator optimized for something like gitlab/github pages? 2018-02-07T22:11:25Z Shinmera: /o\ 2018-02-07T22:11:26Z jmercouris: aeth: yes 2018-02-07T22:11:32Z stacksmith: _death: the universe presents you a with sequence of lessons. You will repeat each lesson until you learn. ;) 2018-02-07T22:11:39Z jmercouris: aeth: I use it for the next website 2018-02-07T22:11:40Z aeth: jmercouris: I want to set up a simple Gitlab page that directs to all my projects, documentation, etc. Very simple. 2018-02-07T22:11:53Z aeth: jmercouris: How does your fork differ from the original? 2018-02-07T22:11:53Z jmercouris: aeth: https://github.com/next-browser/next-browser.github.io 2018-02-07T22:11:54Z emaczen: Bike: It is at least not something that would be readily available to do 2018-02-07T22:11:59Z jmercouris: aeth: Mine actually works 2018-02-07T22:12:16Z jmercouris: and it turns it into a "repl" like application 2018-02-07T22:12:27Z jmercouris: you can quickload it and run it by (sg::main nil) 2018-02-07T22:12:37Z jmercouris: instead of being relegated to a compild CLI application 2018-02-07T22:13:12Z jmercouris: aeth: Here's the example of my source: https://github.com/next-browser/site-source 2018-02-07T22:13:16Z jmercouris: I use org-mode markup for my posts 2018-02-07T22:13:47Z aeth: jmercouris: Does it support markdown, though? 2018-02-07T22:13:50Z jmercouris: Shinmera: o the arguments are evaluated in order? 2018-02-07T22:13:57Z nowhere_man joined #lisp 2018-02-07T22:14:03Z Shinmera: jmercouris: Which arguments are you talking about 2018-02-07T22:14:08Z jmercouris: "foo" and bla 2018-02-07T22:14:12Z jmercouris: what are those entities exactly? 2018-02-07T22:14:17Z aeth: jmercouris: I use org-mode for lots of things but I find markdown to be easier for things that people have to read. (And I'd probably host the site in a public repo.) 2018-02-07T22:14:21Z jmercouris: aeth: It supports all input and output supported by pandoc 2018-02-07T22:14:26Z aeth: ah 2018-02-07T22:14:31Z aeth: So it's actually a Haskell application :-p 2018-02-07T22:14:36Z jmercouris: Lol sure 2018-02-07T22:14:45Z dxtr joined #lisp 2018-02-07T22:14:46Z jmercouris: there's some logic about parsing post files and templates 2018-02-07T22:15:03Z jmercouris: only the body of my posts are actually ran through org mode 2018-02-07T22:15:04Z Shinmera: ($ (a) (b "c")) <==> (b (a #()) "c") 2018-02-07T22:15:08Z billitch joined #lisp 2018-02-07T22:15:52Z jmercouris: okay 2018-02-07T22:15:55Z jmercouris: that makes a lot more sense 2018-02-07T22:15:58Z jmercouris: why this strange syntax? 2018-02-07T22:16:07Z Shinmera: Because it's convenient and what jQuery does 2018-02-07T22:16:14Z Shinmera: Sort of. 2018-02-07T22:16:20Z jmercouris: Really threw me for a loop 2018-02-07T22:16:31Z jmercouris: thank you for explaining though 2018-02-07T22:16:32Z Shinmera: I don't think the docs are particularly unclear about how it works. 2018-02-07T22:16:42Z _death: aeth: I hacked a static blog generator with a friend some months ago.. it took two days or so to get something sane and workable.. I looked at coleslaw a while ago and it was similar 2018-02-07T22:16:43Z Shinmera: YOu can also just, like, macroexpand $ and see what it does 2018-02-07T22:16:45Z jmercouris: the docs aren't unclear 2018-02-07T22:16:49Z jmercouris: it is my mind that is unclear :D 2018-02-07T22:16:52Z z3t0 quit (Quit: Leaving...) 2018-02-07T22:17:40Z Shinmera: Anyway, did you see the examples I posted that should answer your initial question or did you skip over that? 2018-02-07T22:17:55Z jmercouris: I skipped over them :D 2018-02-07T22:18:00Z Shinmera: https://irclog.tymoon.eu/freenode/%23lisp?around=1518041182#1518041182 2018-02-07T22:18:12Z jmercouris: Oh, no in IRC I saw them 2018-02-07T22:18:12Z aeth: _death: It doesn't sound like a hard project (I already generate GLSL, which is a more syntactically complicated language), but it also doesn't sound like a good use of my time. I have 5 issues open, but if I translated all of my designs into feature requests in my issue tracker, it's probably closer to the 100 to 999 range. 2018-02-07T22:18:23Z jmercouris: I thought you were implying there were some examples in the documentation that covered it 2018-02-07T22:18:34Z jmercouris: I didn't read the documentation cover to cover, just looked through the API to try to figure it out 2018-02-07T22:18:48Z aeth: (Translating to time, I'd say roughly 2 years to completion) 2018-02-07T22:19:12Z Shinmera goes back to writing his lisp article 2018-02-07T22:21:06Z _death: Shinmera: cool, we need more articles :) 2018-02-07T22:22:03Z Shinmera: Been writing more often lately. 2018-02-07T22:22:13Z Shinmera: Already two articles this month! https://reader.tymoon.eu/tagged/s:gamedev 2018-02-07T22:22:51Z aeth: I'm surprised there's nothing that has really hit HN yet. https://news.ycombinator.com/from?site=tymoon.eu 2018-02-07T22:23:02Z aeth: They usually like Lisp articles (or at least used to) 2018-02-07T22:23:06Z _death: Shinmera: I'll check them out tomorrow 2018-02-07T22:23:24Z jmercouris: I'm writing an article myself that I also hope to publish tomorrow 2018-02-07T22:23:25Z msb quit (Read error: Connection reset by peer) 2018-02-07T22:23:31Z Shinmera: aeth: Well, I don't post my stuff anywhere, so 2018-02-07T22:23:36Z jmercouris: Can I get some motivation as well :D? 2018-02-07T22:24:30Z Shinmera: Sure, just find something that motivates you 2018-02-07T22:24:38Z jmercouris: ffs :D 2018-02-07T22:24:42Z Shinmera: :^) 2018-02-07T22:24:44Z aeth: Shinmera: Except r/lisp? https://www.reddit.com/domain/tymoon.eu/ 2018-02-07T22:24:53Z aeth: Or is someone impersonating you? 2018-02-07T22:25:01Z Shinmera: aeth: That's just stream announcements. 2018-02-07T22:25:11Z aeth: ah 2018-02-07T22:26:27Z porky11 joined #lisp 2018-02-07T22:26:28Z msb joined #lisp 2018-02-07T22:27:14Z Bike quit (Ping timeout: 260 seconds) 2018-02-07T22:28:19Z Shinmera: Though I've been wondering if I should even bother posting those too since I don't really seem to get extra visitors aside from the regularls anyway 2018-02-07T22:28:29Z Shinmera: *regulars 2018-02-07T22:29:46Z aeth: Keep posting. r/lisp is one of the few Lisp places on the Internet 2018-02-07T22:29:53Z aeth: It needs content 2018-02-07T22:35:23Z msb quit (Ping timeout: 256 seconds) 2018-02-07T22:41:47Z Murii quit (Quit: WeeChat 1.4) 2018-02-07T22:42:08Z pmc_ joined #lisp 2018-02-07T22:42:54Z phoe: ^ 2018-02-07T22:44:17Z LiamH quit (Quit: Leaving.) 2018-02-07T22:45:13Z shrdlu68: What was that function for reporting memory stuff in an implementation-defined manner? 2018-02-07T22:45:44Z shrdlu68: Kind of like "free" in bash. 2018-02-07T22:46:54Z shrdlu68: Oh, #'room. 2018-02-07T22:48:00Z rme: ccl has ccl:object-direct-size and ccl:heap-utilization as well as regular old room. 2018-02-07T22:48:26Z Shinmera: SBCL recently got a function to get the size of an object. Can't recall what it's called, though 2018-02-07T22:50:33Z sjl: sb-introspect::object-size 2018-02-07T22:50:56Z sjl: it's not external, so probably not meant for general use (yet?) 2018-02-07T22:51:25Z shrdlu68: Does an N-bit unsigned-integer consume as much memory as an N-bit simple-bit-vector? 2018-02-07T22:51:45Z phoe: shrdlu68: depends 2018-02-07T22:52:01Z phoe: integers can be bignums 2018-02-07T22:52:59Z phoe: integers would most likely be stored in boxes, be it fixnums or bignums, and vectors also need boxes 2018-02-07T22:53:15Z Shinmera: On the other hand a simple-bit-vector might not fit into a register. 2018-02-07T22:53:17Z phoe: so I'd think it's... hm, don't know 2018-02-07T22:53:47Z Shinmera: Either way 2018-02-07T22:53:54Z Shinmera: the answer, as always, is: test it 2018-02-07T22:54:02Z aeth: Oh... As far as forum-style things with Lisp content, I'm aware of comp.lang.lisp, r/lisp and r/common_lisp on reddit, the lisp and common-lisp tags in stackoverflow, and at least one traditional-style phpBB forum (the one I can find right now is LispForum, but I'm not sure if there is more than one because all phpBB looks the same). If anyone wanted me to elaborate on "one of the few Lisp places"... 2018-02-07T22:54:15Z damke joined #lisp 2018-02-07T22:54:25Z pjb: There are several country-specific lisp newsgroups too. 2018-02-07T22:54:38Z pjb: eg. fr.comp.lang.lisp, etc. 2018-02-07T22:54:46Z rme: I miss when comp.lang.lisp (and usenet generally) wasn't a cesspool. 2018-02-07T22:54:47Z shrdlu68 should start one for his country 2018-02-07T22:54:52Z jonh joined #lisp 2018-02-07T22:54:55Z aeth: Only reddit (and maybe comp.lang.lisp if it's major?) seem suitable for announcements rather than tech support 2018-02-07T22:54:59Z pjb: But gavino and other spammer essentially killed usenet. 2018-02-07T22:55:16Z aeth: oh wow, gavino is still posting 2018-02-07T22:55:19Z aeth: https://groups.google.com/forum/#!forum/comp.lang.lisp 2018-02-07T22:55:27Z pjb: He's the only one. 2018-02-07T22:55:30Z aeth: quality. https://groups.google.com/forum/#!topic/comp.lang.lisp/A5qD3gsGnWo 2018-02-07T22:56:03Z pjb: gavino, the anti-usenet. 2018-02-07T22:56:07Z phoe: this is pretty experienced shitposting indeed 2018-02-07T22:56:17Z aeth: pjb: you're not kidding, gavino is... all but one of the February content (as far as thread creators goes) 2018-02-07T22:56:20Z pjb: Yeh, he's been at it for more than 10 years! 2018-02-07T22:56:36Z rme: I really think he (and others like him) must be mentally ill. 2018-02-07T22:56:41Z phoe: how can you kill that which has no life 2018-02-07T22:57:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-07T22:57:22Z aeth: People who actually spend time doing other things cannot possibly compete with someone who literally lives on the Internet. 2018-02-07T22:57:26Z Shinmera: Is this the time to mourn Naggum? 2018-02-07T22:57:27Z pjb: Yes, he's like the neutron star replicator bots in StarGate Atlantis. 2018-02-07T22:58:53Z pjb: Or like the end-of-universe replicator boots in Andromeda. 2018-02-07T22:59:47Z shrdlu68: Hmm, why isn't SBCL cleaning up some unused heap space? 2018-02-07T22:59:58Z aeth: pjb: One day, all of the content on the Web will be created by spam bots and trolls (and it will be increasingly hard to tell them apart) as people move on to the next thing. 2018-02-07T23:00:05Z pjb: shrdlu68: it doesn't need. He's got 99% of the downloads ;-) 2018-02-07T23:00:07Z aeth: (And the precedent for this prediction *is* Usenet.) 2018-02-07T23:00:24Z damke_ joined #lisp 2018-02-07T23:00:37Z pjb: aeth: might occur sooner than later. I'm already envisioning the day I'll disconnect. 2018-02-07T23:02:14Z vtomole quit (Ping timeout: 260 seconds) 2018-02-07T23:02:32Z pjb: I'm confusing, I mean another story than Andromeda… 2018-02-07T23:02:45Z damke quit (Ping timeout: 264 seconds) 2018-02-07T23:03:11Z pjb: Right; LEXX! 2018-02-07T23:03:13Z aeth: I've already stopped using a lot of the Web because it has lowered in quality to essentially nothing. e.g. I don't read news articles anymore. (And it doesn't help that a significant fraction of shared news articles aren't even available without a paywall... The WSJ is probably the worst offender here. People probably share it based on the headline alone.) 2018-02-07T23:03:27Z pjb: It's in LEXX that theuniverse is close to its destruction by replicating boots. 2018-02-07T23:03:33Z aeth: But I just go to other websites instead. Nothing has really threatened it except apps, which are like modern websites, but worse and without easy adblocking. 2018-02-07T23:03:41Z pareidolia joined #lisp 2018-02-07T23:03:58Z pjb: git, youtube, wikipedia; that's about it. 2018-02-07T23:05:21Z shrdlu68: After I run a function, #'room tells me that there are all these objects taking up memory that weren't there before. 2018-02-07T23:05:36Z shrdlu68: Why isn't the space being recycled? 2018-02-07T23:05:36Z openthesky joined #lisp 2018-02-07T23:05:44Z openthesky quit (Client Quit) 2018-02-07T23:05:52Z aeth: shrdlu68: disassemble that function and look for allocations, which is especially easy in SBCL 2018-02-07T23:06:05Z __rumbler31 quit (Ping timeout: 240 seconds) 2018-02-07T23:06:10Z pjb: shrdlu68: because the garbage collector is only called when the memory is full. 2018-02-07T23:06:19Z aeth: No need to guess with things like room, you can get exact results with disassemble or sb-profile (one method reads and looks for allocations, the other detects consing) 2018-02-07T23:06:35Z pjb: shrdlu68: also, if you work in the REPL, the variables * ** *** / // /// - + ++ +++ keep references to previous stuff. 2018-02-07T23:07:09Z pjb: shrdlu68: even dynamic-extend data doesn't need to be collected on exit. 2018-02-07T23:07:32Z aeth: pjb: but would that show up in room? I don't think it does 2018-02-07T23:07:32Z shrdlu68: That might be it, because running the function twice with the same large input exhausts heap the second time. 2018-02-07T23:07:51Z DeadTrickster quit (Read error: Connection reset by peer) 2018-02-07T23:08:13Z DeadTrickster joined #lisp 2018-02-07T23:08:20Z aeth: shrdlu68: Is it possible to preallocate something and setf parts of that preallocated thing? 2018-02-07T23:08:41Z pjb: aeth: right dynamic-extend data should not show in room outside of the scope. 2018-02-07T23:08:46Z aeth: You could even make it external to the function, put it in a *foo* and recycle it each call. (foobar *foo* 1 2 3) or something 2018-02-07T23:08:54Z shrdlu68: aeth: Possibly, by modifying some code. 2018-02-07T23:09:03Z pjb: shrdlu68: perhaps you are mutating (and adding references) to persistent data. 2018-02-07T23:09:08Z nowhereman_ joined #lisp 2018-02-07T23:09:19Z nowhere_man quit (Ping timeout: 248 seconds) 2018-02-07T23:10:00Z sjl quit (Ping timeout: 260 seconds) 2018-02-07T23:10:25Z shrdlu68: The function creates a large hash-table, but it's not persistent. Should not be around after the function exits. 2018-02-07T23:10:51Z pjb: shrdlu68: you can also call the garbage collector in most implementations. 2018-02-07T23:11:33Z knicklux quit (Quit: Leaving) 2018-02-07T23:11:42Z pjb: (ql:quickload :trivial-garbage) (trivial-garbage:gc) 2018-02-07T23:12:00Z shrdlu68: Ah yes, calling #'gc with :full t on SBCL helps. 2018-02-07T23:12:01Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2018-02-07T23:12:22Z porky11 quit (Ping timeout: 265 seconds) 2018-02-07T23:13:27Z jasom has finally gotten a full REPL in the browser running only on the client after trying and failing for years. 2018-02-07T23:13:36Z jmercouris quit (Ping timeout: 248 seconds) 2018-02-07T23:13:46Z porky11 joined #lisp 2018-02-07T23:15:08Z random-nick quit (Ping timeout: 255 seconds) 2018-02-07T23:15:12Z phoe: jasom: only on the client? What do you mean? 2018-02-07T23:15:31Z White_Flame: there's a few other projects that have already accomplished that 2018-02-07T23:15:32Z jasom: phoe: I mean not "Run this lisp code on the server and print the result" but "run this lisp code in the browser and print the result" 2018-02-07T23:15:45Z phoe: jasom: JSCL? 2018-02-07T23:15:48Z White_Flame: (for varying degrees of Common Lisp-ness) 2018-02-07T23:15:58Z jasom: phoe: ABCL on a JVM implemented in javascript 2018-02-07T23:16:06Z phoe: woah dude 2018-02-07T23:16:14Z phoe: you're reaching new levels of inception there 2018-02-07T23:16:15Z shrdlu68: Nice. 2018-02-07T23:16:22Z White_Flame: oh wow, talk about a matryoshka 2018-02-07T23:16:28Z phoe: CL in JVM in JSVM 2018-02-07T23:16:36Z phoe: can you run scheme interpreters on this? 2018-02-07T23:16:37Z jasom: And it only takes about 4 minutes to initialize! 2018-02-07T23:16:51Z White_Flame: surely a webasm jvm would be faster :) 2018-02-07T23:16:55Z jasom: phoe: trivially kawa comes up in under 5 seconds and is an example for the JVM I am using 2018-02-07T23:17:07Z phoe: hah 2018-02-07T23:17:36Z ovidnis quit (Remote host closed the connection) 2018-02-07T23:17:47Z jasom: I'll have to find a machine with chrome installed to see if it's faster than firefox 2018-02-07T23:18:04Z White_Flame: last I checked, FF was faster in my JS than chromium, but times change 2018-02-07T23:18:50Z k-hos: I can't seem to find out how I may emit multiple function calls from a macro 2018-02-07T23:19:11Z White_Flame: (defmacro twice (expr) `(progn ,expr ,expr)) 2018-02-07T23:19:43Z phoe: k-hos: `(progn ,foo ,bar ,baz) 2018-02-07T23:19:44Z White_Flame: a macro-using form is always 1 form, and the macro always returns 1 form 2018-02-07T23:19:51Z phoe: if you want multiple toplevel forms, use PROGN 2018-02-07T23:20:02Z White_Flame: ie, (twice (foo)) is 1 form, and the returned (progn (foo) (foo)) is 1 form 2018-02-07T23:20:16Z phoe: all forms in a toplevel PROGN are guaranteed to be executed at the toplevel as well. 2018-02-07T23:20:16Z Karl_Dscc quit (Remote host closed the connection) 2018-02-07T23:21:45Z jasom: http://plasma-umass.org/doppio-demo/ <-- kawa is available from the command line there 2018-02-07T23:22:16Z k-hos: I am trying to emit a call for each parameter passed to the macro 2018-02-07T23:22:51Z White_Flame: (defmacro foo (&rest params) `(progn ,@(mapcar (param) `(call-something ,param)))) 2018-02-07T23:22:52Z k-hos: so is there a way I could build such a form to return by iterating the parameters? 2018-02-07T23:22:57Z phoe: `(progn ,@(loop for param in params collect (emit-call param))) 2018-02-07T23:23:10Z phoe highfives White_Flame 2018-02-07T23:23:22Z White_Flame forgot to pass 'params' to mapcar 2018-02-07T23:23:36Z White_Flame: let me redo: :) 2018-02-07T23:23:40Z phoe: and your mapcar seems ill-formed 2018-02-07T23:23:50Z phoe: did you want a lambda there instead? 2018-02-07T23:23:55Z White_Flame: (defmacro foo (&rest params) `(progn ,@(mapcar (lambda (param) `(call-something ,param)) params)))))))))))))))))))))) 2018-02-07T23:24:14Z phoe: White_Flame: that's a grand finale 2018-02-07T23:24:30Z White_Flame: I contemplated ], but that's probably not familiar to a learner :) 2018-02-07T23:24:50Z k-hos: this shits confusing yo 2018-02-07T23:25:20Z White_Flame: just do (mapcar (lambda (param) `(call-something ,param)) '(1 2 3 4 5)) individually 2018-02-07T23:25:22Z White_Flame: and build outward 2018-02-07T23:25:27Z fisxoj joined #lisp 2018-02-07T23:25:31Z k-hos: thanks for the help though, I'll try to figure this out 2018-02-07T23:25:37Z White_Flame: but yeah, metaprogramming can get confusing quickly :) 2018-02-07T23:25:48Z White_Flame: especially when you are nesting templates & codegen 2018-02-07T23:26:07Z White_Flame: hence macros tend to be more advanced, after you're more familiar with the language 2018-02-07T23:26:13Z White_Flame: you can go quite far with functions 2018-02-07T23:26:27Z White_Flame: a rule of thumb is that you shouldn't use a macro unless you can't express it with a function 2018-02-07T23:26:29Z k-hos: I feel like maybe it would just be easier to make my own gl:glaref :v 2018-02-07T23:27:17Z White_Flame: and you can always declare functions to be inline, to remove overhead 2018-02-07T23:27:17Z hel-io joined #lisp 2018-02-07T23:27:18Z Kaisyu joined #lisp 2018-02-07T23:35:27Z pagnol quit (Ping timeout: 248 seconds) 2018-02-07T23:36:56Z moei quit (Quit: Leaving...) 2018-02-07T23:37:37Z klltkr quit (Ping timeout: 248 seconds) 2018-02-07T23:40:09Z patche joined #lisp 2018-02-07T23:40:09Z patche is now known as _sebbot 2018-02-07T23:41:04Z openthesky joined #lisp 2018-02-07T23:42:22Z _sebbot quit (Client Quit) 2018-02-07T23:46:45Z Shinmera: Here we go, doneeee~ https://reader.tymoon.eu/article/363 2018-02-07T23:51:24Z Devon joined #lisp 2018-02-07T23:52:05Z wxie quit (Ping timeout: 256 seconds) 2018-02-07T23:53:43Z pillton quit (Ping timeout: 248 seconds) 2018-02-07T23:57:39Z whoman: that picture 2018-02-07T23:58:25Z quazimodo quit (Ping timeout: 248 seconds) 2018-02-08T00:00:39Z damke joined #lisp 2018-02-08T00:01:03Z jasom: aha, I found what is so slow with ABCL on Doppio: compiling DEFUNs takes a *long* time; I wonder if I could precompile the initialization lisp script to a .class 2018-02-08T00:03:47Z whoman: why.. 2018-02-08T00:03:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-08T00:09:08Z heurist`_ joined #lisp 2018-02-08T00:09:35Z heurist` quit (Ping timeout: 240 seconds) 2018-02-08T00:15:12Z nirved quit (Quit: Leaving) 2018-02-08T00:15:55Z karswell quit (Remote host closed the connection) 2018-02-08T00:16:33Z karswell joined #lisp 2018-02-08T00:16:55Z rumbler31 joined #lisp 2018-02-08T00:18:22Z smurfrobot joined #lisp 2018-02-08T00:20:36Z wxie joined #lisp 2018-02-08T00:20:56Z shifty joined #lisp 2018-02-08T00:21:42Z smurfrob_ joined #lisp 2018-02-08T00:26:17Z smurfrobot quit (Ping timeout: 260 seconds) 2018-02-08T00:26:33Z Baggers left #lisp 2018-02-08T00:27:56Z foom joined #lisp 2018-02-08T00:30:21Z wxie quit (Ping timeout: 264 seconds) 2018-02-08T00:30:21Z __rumbler31 joined #lisp 2018-02-08T00:30:47Z foom2 quit (Ping timeout: 276 seconds) 2018-02-08T00:32:11Z arescorpio joined #lisp 2018-02-08T00:33:42Z Bike joined #lisp 2018-02-08T00:33:43Z smurfrob_ quit (Remote host closed the connection) 2018-02-08T00:35:09Z __rumbler31 quit (Ping timeout: 264 seconds) 2018-02-08T00:39:58Z smurfrobot joined #lisp 2018-02-08T00:40:43Z emaczen: how does restart-inferior-lisp work exactly? I would like to perform this function programmatically 2018-02-08T00:41:19Z Xach: emaczen: i don't know, but if i wanted to find out, i'd look at the source of slime-restart-inferior-lisp 2018-02-08T00:41:36Z porky11 quit (Quit: Leaving) 2018-02-08T00:41:36Z Xach: emaczen: you are writing an emacs program? 2018-02-08T00:41:47Z jasom: emaczen: (slime-restart-inferior-lisp) 2018-02-08T00:41:48Z pjb: (slime-restart-inferior-lisp) 2018-02-08T00:42:20Z emaczen: I would prefer to avoid emacs 2018-02-08T00:42:31Z markong quit (Ping timeout: 256 seconds) 2018-02-08T00:42:36Z Xach: emaczen: restart-inferior-lisp is an emacs function. it is not done on the CL side. 2018-02-08T00:42:44Z whartung: then the question doesn’t make much sense since the “inferior lisp” is an emacs concept 2018-02-08T00:42:58Z Xach: emaczen: but! maybe you could play games with re-execing argv or something. 2018-02-08T00:43:07Z emaczen: Xach: Yes, my question is how do I perform this same function, preferably without emacs 2018-02-08T00:43:27Z jasom: emaczen: that makes no sense; there is no inferior lisp if there is no emacs 2018-02-08T00:43:36Z Bike: it stops the lisp program, then starts a new one 2018-02-08T00:43:38Z whartung: you tell the lisp to die elegantly and restart it, or you kill it (politely or forcefully) and restart it 2018-02-08T00:43:42Z pjb: emaczen: (uiop:exec-image "ccl") 2018-02-08T00:43:43Z nullniverse quit (Ping timeout: 265 seconds) 2018-02-08T00:43:46Z emaczen: jasom: Okay, let me try rephrasing I don't literally care about "inferior lisp" 2018-02-08T00:43:52Z Xach: or tell it to exec into a new process! 2018-02-08T00:43:52Z emaczen: I just want to restart lisp programmatically 2018-02-08T00:44:05Z Bike: i g uess it's basically exec, then 2018-02-08T00:44:18Z whartung: you restart programmaticlaly just like you start any program programatically (i.e. exec as mentioned) 2018-02-08T00:44:19Z jasom: emaczen: then wrap lisp with a program that manages it and setup a way to signal it from lisp, or you can try exec hacks if you're on *nix as others have suggested 2018-02-08T00:44:27Z pjb: oops, it's i swank: (swank/backend:exec-image "ccl") 2018-02-08T00:44:30Z whartung: but it’s nice to be able to stop the existing process 2018-02-08T00:45:30Z jasom: emaczen: in the inferior-lisp case, emacs is the external process manager. 2018-02-08T00:46:01Z pjb: Now the thing is that exec is a little violent. Perhaps you would want to terminate gracefully the current process. 2018-02-08T00:46:20Z jasom: pjb: not to mention it doesn't close FDs and stuff 2018-02-08T00:46:30Z pjb: Then you could try something like: (if (zerop (fork)) (progn (sleep 3) (swank/backend:exec-image "ccl")) (quit)) 2018-02-08T00:46:40Z x55v joined #lisp 2018-02-08T00:46:42Z EvW quit (Ping timeout: 260 seconds) 2018-02-08T00:46:45Z pjb: jasom: indeed. You need to specify what you want in those terms too. 2018-02-08T00:47:14Z jasom: pjb: a GC during the sleep will crash the image as well... 2018-02-08T00:49:05Z emaczen: Actually, I think I could use run-program in a loop, and use my lisp program as the executable 2018-02-08T00:49:30Z jasom: emaczen: yes, that's the simplest process manager 2018-02-08T00:49:39Z deng_cn quit (Read error: Connection reset by peer) 2018-02-08T00:51:35Z jasom: wow. chrome is almost 3x faster than firefox on the doppio/abcl test I just ran 2018-02-08T00:51:53Z deng_cn joined #lisp 2018-02-08T00:52:17Z emaczen: Now, how do I build an executable that accepts command line arguments? 2018-02-08T00:52:30Z pjb: All executable accept command line arguments. 2018-02-08T00:52:38Z pjb: You just want to write a program that retrieve them. 2018-02-08T00:52:40Z emaczen: pjb: How do I access it from lisp 2018-02-08T00:52:43Z pjb: Depends on the implementation. 2018-02-08T00:52:44Z jasom: emaczen: (uiop:command-line-arguments) 2018-02-08T00:52:55Z pjb: or use trivial-arguments 2018-02-08T00:53:01Z pjb: or command-line-arguments 2018-02-08T00:53:05Z pjb: or utility-arguments 2018-02-08T00:53:17Z jasom: or CLON 2018-02-08T00:53:17Z pjb: ETOOCLIB 2018-02-08T00:56:01Z jasom: evaluating a simple DEFUN on firefox: 258s same DEFUN on chrome under 1s... I'm thinking perhaps I found a GC corner case on firefox 2018-02-08T00:57:30Z pjb: emaczen: notice: I typed: (quick-apropos "ARGUMENT") to find the systems. 2018-02-08T00:58:05Z pjb: and of course, (apropos "EXEC") to find swank/backend:exec-image. 2018-02-08T00:58:52Z jasom: and (apropos "ARGUMENTS") finds uiop/image:command-line-arguments 2018-02-08T00:59:32Z pierpa joined #lisp 2018-02-08T00:59:44Z Xach: I believe uiop/foo and asdf/foo are meant to be treated as implementation details, and you are supposed to use uiop:whatever instead. 2018-02-08T01:00:23Z jasom: but honestly I check uiop for any system functionality that isn't in the hyperspec and alexandria for any algorithmic functionality that isn't in the hyperspec 2018-02-08T01:01:55Z pmc_ quit (Quit: Leaving) 2018-02-08T01:02:43Z orivej quit (Ping timeout: 256 seconds) 2018-02-08T01:02:45Z smurfrobot quit (Remote host closed the connection) 2018-02-08T01:04:29Z fikka quit (Ping timeout: 255 seconds) 2018-02-08T01:06:33Z msb joined #lisp 2018-02-08T01:08:02Z smurfrobot joined #lisp 2018-02-08T01:09:55Z Tobbi quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-08T01:10:29Z fikka joined #lisp 2018-02-08T01:11:42Z fisxoj quit (Quit: fisxoj) 2018-02-08T01:15:25Z fikka quit (Ping timeout: 260 seconds) 2018-02-08T01:18:08Z Pixel_Outlaw joined #lisp 2018-02-08T01:20:31Z fikka joined #lisp 2018-02-08T01:25:04Z smurfrobot quit (Remote host closed the connection) 2018-02-08T01:25:21Z fikka quit (Ping timeout: 248 seconds) 2018-02-08T01:26:36Z smurfrobot joined #lisp 2018-02-08T01:34:44Z Pixel_Outlaw: lo all 2018-02-08T01:36:15Z rumbler31: jasom: what is doppio 2018-02-08T01:37:45Z fds left #lisp 2018-02-08T01:40:41Z fikka joined #lisp 2018-02-08T01:41:47Z vtomole joined #lisp 2018-02-08T01:44:23Z nowhere_man joined #lisp 2018-02-08T01:44:37Z xrash joined #lisp 2018-02-08T01:45:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-08T01:46:50Z dim quit (Ping timeout: 276 seconds) 2018-02-08T01:47:27Z nowhereman_ quit (Ping timeout: 240 seconds) 2018-02-08T01:47:59Z dim joined #lisp 2018-02-08T01:51:03Z fikka joined #lisp 2018-02-08T01:54:54Z smurfrobot quit (Remote host closed the connection) 2018-02-08T01:55:52Z fikka quit (Ping timeout: 256 seconds) 2018-02-08T01:57:36Z jameser joined #lisp 2018-02-08T01:59:19Z whoman: how is the general experience on mapping CLOS to C++ at a simple API kind of level ? 2018-02-08T02:00:38Z Bike: RAII ain't gonna work 2018-02-08T02:01:06Z fikka joined #lisp 2018-02-08T02:04:10Z smurfrobot joined #lisp 2018-02-08T02:04:43Z pjb: whoman: for very simple uses of CLOS, a direct mapping could work. If you declare all your methods virtual. 2018-02-08T02:04:48Z python476 quit (Ping timeout: 256 seconds) 2018-02-08T02:04:54Z pjb: whoman: but it is very easy to make sophisticated use of CLOS. 2018-02-08T02:05:19Z pjb: whoman: :before, :after, :around methods, multiple inheritance, multiple dispatch, etc. 2018-02-08T02:05:59Z pjb: whoman: you will have more difficulties translating that, (and even more, such as custom method combinations), into direct C++ code. 2018-02-08T02:06:20Z fikka quit (Ping timeout: 276 seconds) 2018-02-08T02:06:36Z pjb: whoman: notice that you could use the MOP in C++, cf. OpenC++ http://informatimago.com/articles/life-saver.html 2018-02-08T02:06:54Z pjb: whoman: but it's a patch to an old gcc which hasn't been ported to more recent gcc, much less to clang. 2018-02-08T02:07:57Z pjb: oh, right, it's also easy to find at least light use of the MOP in CLOS programs! Then you won't have a direct translation to C++. (unless you upgrade and use OpenC++ MOP). 2018-02-08T02:08:52Z lagagain joined #lisp 2018-02-08T02:10:30Z lagagain[m] joined #lisp 2018-02-08T02:11:25Z fikka joined #lisp 2018-02-08T02:14:05Z whoman: pjb, ah yes, sorry! meant especially , from C++ to CLOS 2018-02-08T02:14:23Z whoman: some recent C++ features are quite neat. auto mem mgmt, etc 2018-02-08T02:14:30Z Bike: the main problem would be destructors, i think 2018-02-08T02:14:38Z rme: gc, wow, what an innovation 2018-02-08T02:14:43Z whoman: hmmmmm 2018-02-08T02:14:52Z Bike: overloading is different, but i don't think that would be super difficult 2018-02-08T02:15:15Z Bike: also no copy constructors and whatever the other one is but that's obvious 2018-02-08T02:15:16Z whoman: CLOS has no way to adhere some functioning upon ...hmm. 2018-02-08T02:15:43Z Bike: even if it did, it wouldn't really work the same, since in C++ many objects are destructed upon leaving scope 2018-02-08T02:15:47Z Bike: which is uh, not how it works in lisp 2018-02-08T02:15:59Z kobain joined #lisp 2018-02-08T02:16:27Z smurfrobot quit (Remote host closed the connection) 2018-02-08T02:16:32Z fikka quit (Ping timeout: 260 seconds) 2018-02-08T02:16:58Z Bike: which is why i mentioned RAII particularly. that idiom is no good 2018-02-08T02:19:50Z deng_cn quit (Read error: Connection reset by peer) 2018-02-08T02:20:20Z lagagain quit 2018-02-08T02:20:26Z stacksmith: Is there an idiomatic way of 'unflattening' a list - that is turning a list like (a b c) into (a (b (c)))? 2018-02-08T02:20:43Z whoman: (map #'cons .. ? 2018-02-08T02:21:56Z deng_cn joined #lisp 2018-02-08T02:22:04Z Bike: i have never had to do that before. 2018-02-08T02:22:08Z stacksmith: cons needs 2 things... 2018-02-08T02:22:25Z stacksmith: Yeah, first for me too. 2018-02-08T02:23:22Z whoman: oops (reduce #'list .. ? 2018-02-08T02:23:34Z whoman: *sum 2018-02-08T02:24:22Z Bike: (defun unflatten (list) (cond ((null list) nil) ((null (rest list)) (list (car list))) (t (list (car list) (unflatten (rest list))))) is all i can think of. 2018-02-08T02:24:55Z stacksmith: I know! mine was similar. 2018-02-08T02:25:05Z whoman: whoa , actual? 2018-02-08T02:25:05Z stacksmith: It seems like there has to be a better way. 2018-02-08T02:26:07Z damke_ joined #lisp 2018-02-08T02:26:54Z Bike: (reduce #'list list :from-end t) gets you (a (b c)) 2018-02-08T02:27:07Z Bike: honestly, it's a weird operation, i wouldn't worry too much about how you do it 2018-02-08T02:28:05Z whoman: https://ptpb.pw/ASh6 2018-02-08T02:28:06Z whoman: ah 2018-02-08T02:28:26Z stacksmith: It's actually to convert a DSL that is linear to a functional notation. LIke ((fun1 a)(fun2 b)(fun3 c)) to (fun3 c (fun2 b (fun1 a)))... 2018-02-08T02:28:39Z whoman: M-x ielm was giving me ENOENT after i moved sbcl src dir [???] so it took me a while 2018-02-08T02:29:03Z Bike: so you also want to reverse it? 2018-02-08T02:29:07Z stacksmith: yup 2018-02-08T02:29:09Z damke quit (Ping timeout: 264 seconds) 2018-02-08T02:29:41Z ig88th joined #lisp 2018-02-08T02:29:46Z stacksmith: And insert the result of each function application as an extra argument into the next. 2018-02-08T02:30:25Z ig88th: I am currently having issues having ASDF/quicklisp load projects. I wrote a better description of my problem here: https://stackoverflow.com/questions/48675274/when-installing-quicklisp-on-windows-10-where-should-i-put-config-common-lis 2018-02-08T02:30:38Z whoman: insert operator between each list element, then eval them in-out =p 2018-02-08T02:31:12Z ig88th: I don't know if anyone else uses Common Lisp on Windows, but I would really appreciate any suggestions 2018-02-08T02:31:25Z stacksmith: whoman: could you expand on that? I am not following. 2018-02-08T02:31:25Z fikka joined #lisp 2018-02-08T02:31:30Z lagagain[m] left #lisp 2018-02-08T02:31:55Z d4ryus1 joined #lisp 2018-02-08T02:32:33Z Xach: ig88th: it's easier if you use ~/quicklisp/local-projects/ 2018-02-08T02:32:54Z Xach: ig88th: I don't configure the asdf registry any more because of it 2018-02-08T02:33:23Z Devon quit (Ping timeout: 256 seconds) 2018-02-08T02:34:28Z Xach: https://www.xach.com/tmp/quickstart.html has an updated tutorial 2018-02-08T02:34:30Z ig88th: Xach: I get the same error when I just try to use ~/quicklisp/local-projects: https://gist.github.com/ig88th/4338184cec847f6eef6e01baa94b538e 2018-02-08T02:35:04Z Xach: ig88th: ok. now we can make some progress! 2018-02-08T02:35:17Z d4ryus quit (Ping timeout: 256 seconds) 2018-02-08T02:35:17Z Xach: ig88th: can you try (ql:register-local-projects) and then quickload again? 2018-02-08T02:36:13Z fikka quit (Ping timeout: 256 seconds) 2018-02-08T02:36:24Z Xach: ig88th: what implementation are you using? 2018-02-08T02:39:20Z Xach: the suspense it is killing me 2018-02-08T02:39:33Z pjb: whoman: well, going from C++ to CLOS is another can of worm, sincee in C++ the methods are attached to the classes, while in CLOS they are attached to generic functions. 2018-02-08T02:40:10Z pjb: whoman: however, it is possible to NOT use CLOS (or use it only as the basis to implement the following), but to implement an object system in CL that matches the C++ object system. 2018-02-08T02:40:21Z ig88th: Xach: I am using the most recent version of Clozure CL, 1.11.5, and the 64-bit version 2018-02-08T02:40:25Z pjb: whoman: if you have a lot of code to convert, this would be a good idea to do it that way. 2018-02-08T02:40:53Z Xach: ig88th: how did register-local-projects go? 2018-02-08T02:41:03Z pjb: whoman: in that case, you basically implement the C++ object system into CL, just like CLOS is implemented in CL. 2018-02-08T02:41:21Z pjb: You can implement all the features, including RAII and destructors. 2018-02-08T02:41:42Z ig88th: Xach: I am getting 'System "swatch" not found [Condition of type QUICKLISP-CLIENT:SYSTEM-NOT-FOUND]' after running (ql:register-local-projects) and then trying to quickload 2018-02-08T02:41:48Z stacksmith: So (defun chain (list) (when list (append (car list) (list (chain (cdr list)))))) is the best I could do... after reversing...I can't believe there is not a tool for 'functionalizing' lists... 2018-02-08T02:41:48Z fikka joined #lisp 2018-02-08T02:42:03Z smurfrobot joined #lisp 2018-02-08T02:42:23Z Bike: it doesn't come up much, and anyway it's a one liner 2018-02-08T02:42:24Z pjb: (you may need to add some syntactic support, ie. define some with- macro to make it simple, otherwise you could have to implement a sophisticated code walker and compiler-like algorithms to implement RAII and destructors with the same semantics as in C++). 2018-02-08T02:42:53Z Bike: thus making the raii pointless 2018-02-08T02:42:59Z pjb: Notice that in most CL implementation, there's a finalizer mechanism that can be used for dynamic destructors. 2018-02-08T02:43:05Z Xach: ig88th: ok! so can you tell me what you get from (directory "~/quicklisp/local-projects/**/*.asd")? 2018-02-08T02:43:05Z milanj quit (Quit: This computer has gone to sleep) 2018-02-08T02:43:39Z ig88th: Xach: I get '(#P"C:/Users/ig88t/quicklisp/local-projects/swatch/system.asd" #P"C:/Users/ig88t/quicklisp/local-projects/swatchblade/system.asd")' 2018-02-08T02:44:07Z ig88th: Xach: thank you for taking your time to help me, I really appreciate it 2018-02-08T02:44:31Z pjb: But yes, I would say that RAII is a bad abstraction. We have unwind-protect and with- macros. 2018-02-08T02:44:37Z Xach: ig88th: Oh, I think I see the trouble. I think it could be a bug in quickproject! I think you might have better luck if you use a trailing slash on the pathname you give to make-project. 2018-02-08T02:45:16Z Xach: Hmm, though I don't see the issue locally at first glance. 2018-02-08T02:45:41Z ig88th: Xach: same error when I use a trailing slash such as (quickproject:make-project "~/quicklisp/local-projects/swatch2/" :depends-on '(vecto hunchentoot)) 2018-02-08T02:45:58Z Xach: ig88th: interesting. can you tell me what you see from the **/*.asd thing again? 2018-02-08T02:46:09Z whoman: pjb, ah true! im really liking the sound of that idea. hmm 2018-02-08T02:46:13Z hel-io quit (Remote host closed the connection) 2018-02-08T02:46:27Z pjb: whoman: search the archives, we've already talked about that. 2018-02-08T02:46:30Z smurfrobot quit (Ping timeout: 252 seconds) 2018-02-08T02:46:34Z ig88th: Xach: now I get (#P"C:/Users/ig88t/quicklisp/local-projects/swatch/system.asd" #P"C:/Users/ig88t/quicklisp/local-projects/swatch2/system.asd" #P"C:/Users/ig88t/quicklisp/local-projects/swatchblade/system.asd") 2018-02-08T02:46:38Z fikka quit (Ping timeout: 255 seconds) 2018-02-08T02:46:56Z pjb: whoman: also, perhaps you could consider clasp, since it integrates C++ with CL natively. 2018-02-08T02:47:12Z Xach: ig88th: Ok. I don't know why quickproject is creating system.asd instead of the proper name. The short-term fix is to rename system.asd to what it really should be, or to not use quickproject for now. 2018-02-08T02:47:20Z whoman: yes i am on the page now, but i have no system to compile it. i also looked a bit at ECL 2018-02-08T02:47:22Z Xach: ig88th: I will try to see if I can reproduce the problem here. 2018-02-08T02:47:38Z x55v quit 2018-02-08T02:47:55Z pjb: whoman: ecl can be compiled using a C++ compiler instead of a C compiler, but I don't know what that brings in terms of C++ integration with CL. Ask in #ecl. 2018-02-08T02:47:59Z Xach: It isn't happening here with sbcl and macos, I'll try with ccl and macos. 2018-02-08T02:48:24Z Xach: ig88th: oh, one more question, what do you get from (ql:where-is-system "quickproject")? 2018-02-08T02:49:04Z ig88th: Xach: sure. I get '#P"C:/Users/ig88t/quicklisp/dists/quicklisp/software/quickproject-1.3/"' when I run (ql:where-is-system "quickproject") 2018-02-08T02:50:02Z Xach: ig88th: ok. i see that quickproject doesn't work properly in ccl, so I'll try to figure it out. Thanks for the info! 2018-02-08T02:50:39Z ig88th: Xach: No problem. Thank you so much for creating such a wonderful library! 2018-02-08T02:51:00Z pillton joined #lisp 2018-02-08T02:51:02Z Xach: dang it, it looks like it's related to a recent PR 2018-02-08T02:51:33Z ig88th: Xach: also I stumbled on this line of code and thought it might be related: https://github.com/quicklisp/quicklisp-controller/blob/master/asdf.lisp#L6247 2018-02-08T02:51:44Z ig88th: Xach: which PR? 2018-02-08T02:51:57Z fikka joined #lisp 2018-02-08T02:52:41Z hel-io joined #lisp 2018-02-08T02:54:06Z Xach: https://github.com/xach/quickproject/pull/17 2018-02-08T02:54:16Z Xach: pathname-match-p behavior differs from SBCL to CCL. 2018-02-08T02:56:13Z Cymew joined #lisp 2018-02-08T02:56:55Z fikka quit (Ping timeout: 260 seconds) 2018-02-08T02:57:10Z ig88th: Xach: thanks for the link; wish I was smart enough to help you fix it. 2018-02-08T02:57:35Z broccolistem quit (Ping timeout: 240 seconds) 2018-02-08T03:00:27Z Cymew quit (Ping timeout: 240 seconds) 2018-02-08T03:00:30Z damke joined #lisp 2018-02-08T03:02:04Z fikka joined #lisp 2018-02-08T03:02:33Z Cymew joined #lisp 2018-02-08T03:02:43Z Xach: No problem. Sorry for the hassle. 2018-02-08T03:02:54Z jameser quit (Max SendQ exceeded) 2018-02-08T03:03:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-08T03:04:06Z hel-io quit 2018-02-08T03:04:46Z jameser joined #lisp 2018-02-08T03:05:03Z Xach: And thanks for the responsive troubleshooting. 2018-02-08T03:06:37Z ig88th: Xach: happy to help! 2018-02-08T03:06:42Z fikka quit (Ping timeout: 256 seconds) 2018-02-08T03:07:33Z Cymew quit (Ping timeout: 264 seconds) 2018-02-08T03:08:30Z Cymew joined #lisp 2018-02-08T03:10:05Z dddddd quit (Remote host closed the connection) 2018-02-08T03:10:43Z papachan quit (Quit: WeeChat 2.0.1) 2018-02-08T03:12:20Z fikka joined #lisp 2018-02-08T03:12:56Z Cymew quit (Ping timeout: 256 seconds) 2018-02-08T03:14:31Z Cymew joined #lisp 2018-02-08T03:17:01Z fikka quit (Ping timeout: 256 seconds) 2018-02-08T03:19:17Z Cymew quit (Ping timeout: 256 seconds) 2018-02-08T03:19:28Z aindilis joined #lisp 2018-02-08T03:20:05Z JuanDaugherty joined #lisp 2018-02-08T03:20:29Z Cymew joined #lisp 2018-02-08T03:22:20Z fikka joined #lisp 2018-02-08T03:25:38Z Cymew quit (Ping timeout: 276 seconds) 2018-02-08T03:26:25Z arescorpio quit (Excess Flood) 2018-02-08T03:27:13Z fikka quit (Ping timeout: 256 seconds) 2018-02-08T03:30:03Z ig88th: Xach: I am getting the same errors using SBCL 1.4.2 for 64-bit 2018-02-08T03:30:38Z Xach: ig88th: You mean if you make a new project named "x" you can't quickload it? 2018-02-08T03:31:13Z ig88th: Xach: wait, no it works! it works with sbcl! 2018-02-08T03:31:20Z Xach: frabjous day! 2018-02-08T03:32:13Z ig88th: Xach: but it took creating a project using quickproject with sbcl to be able to load it; the quickproject creations under ccl are unable to be loaded 2018-02-08T03:32:19Z fikka joined #lisp 2018-02-08T03:32:30Z Xach: ig88th: right. that's because the system files all have the wrong name. 2018-02-08T03:38:58Z iqubic joined #lisp 2018-02-08T03:39:10Z shifty quit (Ping timeout: 240 seconds) 2018-02-08T03:40:11Z dieggsy quit (Quit: ERC (IRC client for Emacs 27.0.50)) 2018-02-08T03:42:04Z ig88th: Xach: actually it looks sort of complicated. It seems I can only load projects created within that slime session with sbcl; when I restart emacs and slime I can no longer load that project. 2018-02-08T03:42:12Z ig88th: https://gist.github.com/ig88th/a5cbd251b0eec221afb5de5fd7dc85af 2018-02-08T03:42:32Z iqubic: What is the right way to get started with AI and neural Networks in LISP? 2018-02-08T03:43:54Z Xach: ig88th: i wish i could help but it's time to sleep. interactive debugging will be required. 2018-02-08T03:45:05Z smurfrobot joined #lisp 2018-02-08T03:48:30Z milanj joined #lisp 2018-02-08T03:48:44Z dieggsy joined #lisp 2018-02-08T03:49:09Z pierpa_ joined #lisp 2018-02-08T03:49:53Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-08T03:50:10Z ig88th: Xach: okay, I'll try to be back tomorrow 2018-02-08T03:50:30Z smurfrobot joined #lisp 2018-02-08T03:50:59Z pierpa quit (Ping timeout: 260 seconds) 2018-02-08T03:51:46Z __rumbler31 joined #lisp 2018-02-08T03:52:52Z beach: Good morning everyone! 2018-02-08T03:54:17Z sjl joined #lisp 2018-02-08T03:54:41Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-08T03:55:04Z ig88th quit (Ping timeout: 260 seconds) 2018-02-08T03:56:16Z ak5 joined #lisp 2018-02-08T03:56:41Z __rumbler31 quit (Ping timeout: 255 seconds) 2018-02-08T03:58:27Z sjl quit (Ping timeout: 240 seconds) 2018-02-08T03:59:24Z drmeister: Is there a function that takes a list of symbols and returns the list of unique symbols? 2018-02-08T03:59:35Z drmeister: '(a b b b b b c) --> '(a b c) 2018-02-08T03:59:43Z beach: clhs remove-duplicates 2018-02-08T03:59:43Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_rm_dup.htm 2018-02-08T03:59:48Z drmeister: Thank you! 2018-02-08T04:06:12Z fikka quit (Ping timeout: 260 seconds) 2018-02-08T04:10:00Z fikka joined #lisp 2018-02-08T04:13:19Z iqubic: Is LISP still relevent for AI prgramming? 2018-02-08T04:13:34Z Bike: programming language doesn't really matter for it 2018-02-08T04:14:03Z beach: iqubic: When we write LISP, we usually mean some pre Common Lisp language. We have written in "Lisp" for several decades. 2018-02-08T04:14:14Z White_Flame: for those using older-style symbolic AI, Lisp, Prolog, etc are still in vogue 2018-02-08T04:14:44Z White_Flame: but yeah, the modern statistical AI is just math, doesn't need any special language support like symbols & metaprogramming 2018-02-08T04:14:53Z iqubic: Really? The people in #emacs were telling me that I should use python, and then called me a troll for not knowing much about AI. 2018-02-08T04:15:35Z White_Flame: python has a lot of strong & fast C libraries that crunch numbers very well 2018-02-08T04:16:00Z pjb: iqubic: depends on what you mean by "AI programming". 2018-02-08T04:16:11Z iqubic: Yes, I know. Do you need number crunching for AI. 2018-02-08T04:16:19Z White_Flame: depends on which "AI" you're doing 2018-02-08T04:16:42Z pjb: iqubic: for statistical methods, languages more optimized for the current hardware may be more indicated (eg. cuda if you use nvidia hardware). 2018-02-08T04:16:54Z White_Flame: obviously things like computer vision are going to be crunching lots more numeric arrays than logical inference 2018-02-08T04:16:56Z iqubic: pjb: What are the different types of AI? 2018-02-08T04:17:04Z iqubic: What is computer vision? 2018-02-08T04:17:17Z pjb: iqubic: however, statistical methods are not the be all-end all of AI methods. Currently, commercial ventures are totally losing sight of symbolic methods. 2018-02-08T04:17:18Z White_Flame: ... having computers make sense of images & videos 2018-02-08T04:17:35Z iqubic: I'm not going to try any computer vision. 2018-02-08T04:17:54Z iqubic: I just want to create an AI for a game I created. 2018-02-08T04:18:01Z pjb: iqubic: cf. the point of view about AI of people like Hofstadter https://www.youtube.com/results?search_query=Hofstadter+AI 2018-02-08T04:18:08Z White_Flame: ok, then "game AI" is something completely different 2018-02-08T04:18:20Z White_Flame: as it tends to be applied state machines 2018-02-08T04:18:24Z iqubic: Yes. I know. 2018-02-08T04:18:46Z pjb: iqubic: and then, even if you consider statistical methods, I would consider using lisp to compile high level system definitions and compose statistical modules, including at run-time. 2018-02-08T04:18:47Z White_Flame: when people say "AI" unadornedly, they're usually talking about some variant of "machine learning" today 2018-02-08T04:19:56Z iqubic: All I'm trying to do is write a program that works to get the highest score in the game 2048. 2018-02-08T04:20:10Z White_Flame: what's your strategy that you think will work? 2018-02-08T04:20:21Z iqubic: https://gabrielecirulli.github.io/2048/ 2018-02-08T04:20:35Z iqubic: I have no idea how to start this. 2018-02-08T04:21:41Z White_Flame: well, you need to get that idea first before you can do anything 2018-02-08T04:21:54Z iqubic: I know. 2018-02-08T04:21:57Z schoppenhauer quit (Ping timeout: 260 seconds) 2018-02-08T04:21:59Z White_Flame: because any form of AI is taught or trained in the way you want it to solve 2018-02-08T04:22:05Z iqubic: I'll do some research. 2018-02-08T04:22:10Z White_Flame: (or programmed) 2018-02-08T04:22:47Z iqubic: I know. 2018-02-08T04:23:13Z White_Flame: there's a lot of "I know", so what's the original question again? :) 2018-02-08T04:23:26Z schoppenhauer joined #lisp 2018-02-08T04:24:48Z iqubic: The original question: "What stratergy do I think will wrok best for a program that plays 2048?" 2018-02-08T04:26:10Z beach: That, I am afraid, is a bit too much off topic for #lisp. 2018-02-08T04:27:14Z iqubic: Let me ask another question than. Is there a CL graphics library that works with SBCL. 2018-02-08T04:27:28Z iqubic: Also, how would I get said library to work with SLIME? 2018-02-08T04:27:33Z k-hos: cl-opengl works well 2018-02-08T04:28:33Z iqubic: Does it work with SLIME? Also how do I get that installed, via quicklisp?? 2018-02-08T04:28:42Z White_Flame: cepl brings graphics more native to CL style, rather than just being raw opengl bindings 2018-02-08T04:29:03Z White_Flame: there's a lot of cepl videos by baggers on youtube that are interesting 2018-02-08T04:29:23Z iqubic: Do any of them work with SLIME? 2018-02-08T04:29:31Z beach: That's a strange question. 2018-02-08T04:29:39Z White_Flame: SLIME is kind of orthogonal to that I think. 2018-02-08T04:29:42Z rumbler31 quit (Remote host closed the connection) 2018-02-08T04:30:07Z White_Flame: I'd think you're usually opening up a separate opengl context GUI window, so it doesn't matter how you're talking to the lisp image 2018-02-08T04:30:23Z White_Flame: and after all, why _wouldn't_ you be using SLIME? 2018-02-08T04:30:41Z iqubic: Right, that makes sense. 2018-02-08T04:31:19Z pierpa_: does anyone know a sokoban solver written in CL? 2018-02-08T04:32:25Z iqubic: White_Flame: What I really want is emacs company completion and documentation via C-h f / C-h v for whatever library I use. 2018-02-08T04:32:42Z iqubic: I have no idea if that is possible. 2018-02-08T04:32:53Z White_Flame: that's normal 2018-02-08T04:33:05Z White_Flame: and has nothing to do with what the library actually does 2018-02-08T04:33:24Z White_Flame: whether it's a database connector library, or a graphics connector library, or soket connector library, all the same 2018-02-08T04:33:54Z iqubic: Yes, but I have no idea how to tell emacs what libraries I'm using so that it can fetch the documentation I need. 2018-02-08T04:34:03Z White_Flame: that's what SLIME does 2018-02-08T04:34:25Z White_Flame: well, I haven't used documentation features, if you're talking about mor ethan docstrings 2018-02-08T04:34:45Z iqubic: Oh. Where does SLIME get that info? 2018-02-08T04:34:47Z epony joined #lisp 2018-02-08T04:34:55Z iqubic: Also yeah, I just need docstrings. 2018-02-08T04:34:55Z White_Flame: from the running image? 2018-02-08T04:35:15Z iqubic: That's how C-h f and C-h v work. 2018-02-08T04:36:47Z iqubic: So how do I install a library like cl-opengl or cepl? 2018-02-08T04:36:54Z White_Flame: quicklisp 2018-02-08T04:37:01Z iqubic: Good. I have that. 2018-02-08T04:37:47Z drewc quit (Ping timeout: 276 seconds) 2018-02-08T04:38:08Z dieggsy quit (Ping timeout: 265 seconds) 2018-02-08T04:38:49Z Arcaelyx_ joined #lisp 2018-02-08T04:41:02Z Arcaelyx quit (Ping timeout: 265 seconds) 2018-02-08T04:42:49Z rumbler31 joined #lisp 2018-02-08T04:42:51Z iqubic: Is LISP a compiled lanague or an interperted one? 2018-02-08T04:43:39Z beach: *sigh* 2018-02-08T04:43:48Z beach: iqubic: When we write LISP, we usually mean some pre Common Lisp language. We have written in "Lisp" for several decades. 2018-02-08T04:43:59Z beach: iqubic: Languages are neither compiled nor interpreted. 2018-02-08T04:44:07Z Pixel_Outlaw quit (Remote host closed the connection) 2018-02-08T04:44:11Z beach: iqubic: It is an implementation strategy. 2018-02-08T04:44:39Z White_Flame: given that there are C interpreters, is C a compiled or interpreted language? 2018-02-08T04:45:08Z iqubic: Beach. Sorry to keep beating this to death, 2018-02-08T04:46:31Z beach: iqubic: I see two reasonable definitions of "interpreted language". The first one is that the language CAN BE implemented by an interpreter, and the second is that it HAS TO BE implemented by an interpreter. The first definition implies that every language is interpreted, and the second definition that no language is interpreted. 2018-02-08T04:47:24Z beach: iqubic: Well, you could try doing a little bit of research on your own. Terms like "computer vision" I am sure have Wikipedia entries. 2018-02-08T04:47:34Z rumbler31 quit (Ping timeout: 256 seconds) 2018-02-08T04:47:42Z quazimodo joined #lisp 2018-02-08T04:48:26Z beach: iqubic: https://en.wikipedia.org/wiki/Compiled_language 2018-02-08T04:48:40Z beach: "The term is somewhat vague. In principle, any language can be implemented with a compiler or with an interpreter" 2018-02-08T04:51:14Z iqubic: Why is CLOS so hard to understand? 2018-02-08T04:51:18Z nika joined #lisp 2018-02-08T04:51:27Z beach: It isn't. 2018-02-08T04:51:33Z iqubic: I don't understand it. 2018-02-08T04:51:44Z White_Flame: Alternatively, why is it so hard for you to understand CLOS? 2018-02-08T04:51:56Z White_Flame: you can see why such questions aren't very well formed 2018-02-08T04:52:32Z beach: iqubic: I agree with White_Flame. This channel is about Common Lisp, not about you. Try to keep the question more Common Lisp related. 2018-02-08T04:52:58Z iqubic: You know what. I think I'll be back later. 2018-02-08T04:53:10Z White_Flame: but I think the real fundamental issue is you're probably trying to bite off more than you can chew at once 2018-02-08T04:53:32Z White_Flame: you need to work with some simpler problems before jumping right into opengl + AI + CLOS + whatever else 2018-02-08T04:53:46Z iqubic: I really should do that. 2018-02-08T04:58:04Z pjb: CLOS is not complex. The MOP is a tad more complex. 2018-02-08T04:58:33Z pjb: iqubic: you cannot understand OO if you know C++. You have to learn Smalltalk to understand OO. Smalltalk is simple. (It's made for children). 2018-02-08T04:59:08Z pjb: iqubic: alternatively, you may learn Objective-C, which is C+Smalltalk, but it's more complicated because of the C part. 2018-02-08T04:59:48Z pjb: iqubic: Sometimes, in universities, one learns OO by implementing it in lisp (or scheme), instead of learning Smalltalk. It's also a good way to do it. 2018-02-08T05:00:34Z iqubic: I learned OO by writting a whole bunch of java. 2018-02-08T05:00:49Z pjb: well, no. No Java, no C++. 2018-02-08T05:00:58Z pjb: Smalltalk, or implement it yourself in lisp. 2018-02-08T05:01:10Z iqubic: Why do you want me to do that? 2018-02-08T05:01:25Z pjb: To learn OO, and not be afraid of CLOS or the MOP. 2018-02-08T05:01:43Z iqubic: I don't really want to do that right now. 2018-02-08T05:02:34Z pjb: C'est vous qui voyez. 2018-02-08T05:05:32Z iqubic: Merci pour vos sages paroles 2018-02-08T05:08:31Z drewc joined #lisp 2018-02-08T05:08:32Z ak5 quit (Ping timeout: 256 seconds) 2018-02-08T05:09:09Z vtomole quit (Ping timeout: 260 seconds) 2018-02-08T05:19:15Z rumbler31 joined #lisp 2018-02-08T05:21:18Z deng_cn quit (Read error: Connection reset by peer) 2018-02-08T05:22:34Z deng_cn joined #lisp 2018-02-08T05:24:08Z rumbler31 quit (Ping timeout: 268 seconds) 2018-02-08T05:28:22Z quazimodo quit (Ping timeout: 256 seconds) 2018-02-08T05:33:17Z j0nd0e joined #lisp 2018-02-08T05:35:10Z wigust joined #lisp 2018-02-08T05:37:06Z j0nd0e` joined #lisp 2018-02-08T05:37:44Z j0nd0e quit (Read error: Connection reset by peer) 2018-02-08T05:42:13Z kobain quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-08T05:46:02Z openthesky quit (Ping timeout: 276 seconds) 2018-02-08T05:46:33Z oleo quit (Quit: Leaving) 2018-02-08T05:46:39Z pierpa_ quit (Quit: Page closed) 2018-02-08T05:50:32Z shifty joined #lisp 2018-02-08T05:51:12Z smurfrobot joined #lisp 2018-02-08T05:55:56Z Kyo91 quit (Remote host closed the connection) 2018-02-08T05:56:05Z smurfrobot quit (Ping timeout: 255 seconds) 2018-02-08T05:59:53Z jameser quit (Remote host closed the connection) 2018-02-08T06:00:11Z damke quit (Read error: Connection reset by peer) 2018-02-08T06:00:41Z damke joined #lisp 2018-02-08T06:00:48Z jameser joined #lisp 2018-02-08T06:04:47Z Lord_Nightmare quit (Ping timeout: 248 seconds) 2018-02-08T06:06:37Z emaczen` joined #lisp 2018-02-08T06:06:46Z emaczen quit (Read error: Connection reset by peer) 2018-02-08T06:07:20Z Lord_Nightmare joined #lisp 2018-02-08T06:07:59Z fikka quit (Ping timeout: 248 seconds) 2018-02-08T06:11:03Z LocaMocha joined #lisp 2018-02-08T06:11:12Z fikka joined #lisp 2018-02-08T06:11:58Z pagnol joined #lisp 2018-02-08T06:12:25Z ahungry joined #lisp 2018-02-08T06:17:57Z krwq joined #lisp 2018-02-08T06:18:01Z JohnTalent joined #lisp 2018-02-08T06:21:40Z krwq: hello, does anyone know if there is a way to make swig generate valid fields from the header file which uses bitfields? it currently seems to be generating for 4 :unsigned-int fields instead of 29+1+1+1 bit numbers 2018-02-08T06:29:32Z eschatologist quit (Quit: ZNC 1.6.5+deb2build2 - http://znc.in) 2018-02-08T06:30:15Z rumbler31 joined #lisp 2018-02-08T06:30:23Z eschatologist joined #lisp 2018-02-08T06:32:26Z smurfrobot joined #lisp 2018-02-08T06:36:24Z rumbler31 quit (Ping timeout: 252 seconds) 2018-02-08T06:41:08Z krwq: I ended up with %ignore in swig file and redefining the struct by myself using a single uint - ifanyone knows a better way to handle that please let me know 2018-02-08T06:41:35Z pagnol quit (Ping timeout: 256 seconds) 2018-02-08T06:43:53Z ahungry quit (Remote host closed the connection) 2018-02-08T06:45:32Z fikka quit (Ping timeout: 268 seconds) 2018-02-08T06:58:00Z smurfrobot quit (Remote host closed the connection) 2018-02-08T07:00:46Z krwq quit (Remote host closed the connection) 2018-02-08T07:01:19Z fikka joined #lisp 2018-02-08T07:04:05Z dec0n joined #lisp 2018-02-08T07:04:12Z mishoo joined #lisp 2018-02-08T07:05:29Z damke_ joined #lisp 2018-02-08T07:06:09Z fikka quit (Ping timeout: 248 seconds) 2018-02-08T07:08:09Z damke quit (Ping timeout: 264 seconds) 2018-02-08T07:12:10Z Tobbi joined #lisp 2018-02-08T07:12:46Z Karl_Dscc joined #lisp 2018-02-08T07:18:42Z damke__ joined #lisp 2018-02-08T07:18:56Z shka joined #lisp 2018-02-08T07:20:09Z damke_ quit (Ping timeout: 264 seconds) 2018-02-08T07:21:38Z fikka joined #lisp 2018-02-08T07:22:57Z wxie joined #lisp 2018-02-08T07:23:23Z Karl_Dscc quit (Remote host closed the connection) 2018-02-08T07:26:16Z fikka quit (Ping timeout: 252 seconds) 2018-02-08T07:26:56Z impulse quit (Ping timeout: 248 seconds) 2018-02-08T07:28:00Z damke joined #lisp 2018-02-08T07:28:03Z impulse joined #lisp 2018-02-08T07:30:26Z sjl joined #lisp 2018-02-08T07:30:44Z rumbler31 joined #lisp 2018-02-08T07:30:57Z damke__ quit (Ping timeout: 264 seconds) 2018-02-08T07:31:30Z vlatkoB joined #lisp 2018-02-08T07:31:57Z Arcaelyx_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-08T07:34:57Z sjl quit (Ping timeout: 240 seconds) 2018-02-08T07:35:32Z rumbler31 quit (Ping timeout: 255 seconds) 2018-02-08T07:36:19Z huzi joined #lisp 2018-02-08T07:36:42Z wigust- joined #lisp 2018-02-08T07:36:50Z smurfrobot joined #lisp 2018-02-08T07:37:30Z scymtym quit (Remote host closed the connection) 2018-02-08T07:38:16Z huzi quit (Client Quit) 2018-02-08T07:39:13Z wigust quit (Ping timeout: 248 seconds) 2018-02-08T07:39:44Z JohnTalent quit (Quit: leaving) 2018-02-08T07:39:49Z solyd quit (Quit: solyd) 2018-02-08T07:41:14Z smurfrobot quit (Ping timeout: 255 seconds) 2018-02-08T07:41:29Z flamebeard joined #lisp 2018-02-08T07:41:32Z flamebeard quit (Remote host closed the connection) 2018-02-08T07:41:49Z flamebeard joined #lisp 2018-02-08T07:41:54Z fikka joined #lisp 2018-02-08T07:47:12Z fikka quit (Ping timeout: 268 seconds) 2018-02-08T07:47:51Z smurfrobot joined #lisp 2018-02-08T07:49:27Z heurist_ joined #lisp 2018-02-08T07:51:22Z heurist`_ quit (Ping timeout: 260 seconds) 2018-02-08T07:53:03Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-08T08:00:24Z milanj quit (Quit: This computer has gone to sleep) 2018-02-08T08:01:47Z fikka joined #lisp 2018-02-08T08:02:44Z epony quit (Remote host closed the connection) 2018-02-08T08:03:15Z smurfrobot joined #lisp 2018-02-08T08:04:35Z wxie quit (Ping timeout: 240 seconds) 2018-02-08T08:06:57Z fikka quit (Ping timeout: 264 seconds) 2018-02-08T08:07:36Z EvW joined #lisp 2018-02-08T08:07:57Z drcode quit (Ping timeout: 240 seconds) 2018-02-08T08:09:24Z mishoo quit (Ping timeout: 268 seconds) 2018-02-08T08:15:46Z pchrist quit (Quit: leaving) 2018-02-08T08:15:55Z solyd joined #lisp 2018-02-08T08:16:26Z solyd quit (Client Quit) 2018-02-08T08:16:29Z pchrist joined #lisp 2018-02-08T08:17:14Z banjiewen quit (Ping timeout: 256 seconds) 2018-02-08T08:17:25Z Kaisyu quit (Read error: Connection reset by peer) 2018-02-08T08:17:33Z jyc quit (Read error: Connection reset by peer) 2018-02-08T08:17:34Z rann quit (Read error: Connection reset by peer) 2018-02-08T08:17:42Z Kaisyu joined #lisp 2018-02-08T08:17:45Z Cymew joined #lisp 2018-02-08T08:17:50Z banjiewen joined #lisp 2018-02-08T08:17:51Z jyc joined #lisp 2018-02-08T08:18:04Z rann joined #lisp 2018-02-08T08:19:21Z dxtr quit (Quit: leaving) 2018-02-08T08:20:10Z mlf quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-08T08:21:46Z smurfrobot quit (Remote host closed the connection) 2018-02-08T08:22:03Z fikka joined #lisp 2018-02-08T08:22:24Z shka quit (Ping timeout: 265 seconds) 2018-02-08T08:25:35Z mishoo joined #lisp 2018-02-08T08:26:52Z fikka quit (Ping timeout: 256 seconds) 2018-02-08T08:26:54Z epony joined #lisp 2018-02-08T08:28:42Z varjag joined #lisp 2018-02-08T08:32:40Z rumbler31 joined #lisp 2018-02-08T08:34:03Z drcode joined #lisp 2018-02-08T08:36:07Z smurfrobot joined #lisp 2018-02-08T08:37:04Z rumbler31 quit (Ping timeout: 256 seconds) 2018-02-08T08:37:16Z damke_ joined #lisp 2018-02-08T08:39:42Z milanj joined #lisp 2018-02-08T08:40:33Z damke quit (Ping timeout: 264 seconds) 2018-02-08T08:41:32Z smurfrobot quit (Ping timeout: 276 seconds) 2018-02-08T08:42:22Z fikka joined #lisp 2018-02-08T08:43:32Z dxtr joined #lisp 2018-02-08T08:47:23Z fikka quit (Ping timeout: 276 seconds) 2018-02-08T08:48:19Z mishoo_ joined #lisp 2018-02-08T08:48:55Z scymtym joined #lisp 2018-02-08T08:49:27Z mishoo quit (Ping timeout: 240 seconds) 2018-02-08T08:50:55Z EvW quit (Ping timeout: 265 seconds) 2018-02-08T08:58:37Z damke joined #lisp 2018-02-08T09:01:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-08T09:02:07Z _cosmonaut_ joined #lisp 2018-02-08T09:02:42Z fikka joined #lisp 2018-02-08T09:04:56Z DeadTrickster quit (Ping timeout: 255 seconds) 2018-02-08T09:07:55Z fikka quit (Ping timeout: 260 seconds) 2018-02-08T09:10:10Z DeadTrickster joined #lisp 2018-02-08T09:10:28Z damke_ joined #lisp 2018-02-08T09:12:48Z fikka joined #lisp 2018-02-08T09:12:57Z damke quit (Ping timeout: 264 seconds) 2018-02-08T09:17:06Z deng_cn quit (Read error: Connection reset by peer) 2018-02-08T09:17:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-08T09:19:15Z deng_cn joined #lisp 2018-02-08T09:21:02Z drcode quit (Ping timeout: 252 seconds) 2018-02-08T09:21:27Z BitPuffin joined #lisp 2018-02-08T09:22:07Z antismap quit (Ping timeout: 248 seconds) 2018-02-08T09:23:15Z fikka joined #lisp 2018-02-08T09:24:20Z Ven`` joined #lisp 2018-02-08T09:28:00Z fikka quit (Ping timeout: 252 seconds) 2018-02-08T09:28:01Z antismap joined #lisp 2018-02-08T09:28:44Z Ven`` quit (Ping timeout: 252 seconds) 2018-02-08T09:29:47Z hhdave joined #lisp 2018-02-08T09:31:39Z fikka joined #lisp 2018-02-08T09:34:58Z smurfrobot joined #lisp 2018-02-08T09:38:46Z wxie joined #lisp 2018-02-08T09:39:35Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-08T09:43:30Z wxie quit (Ping timeout: 260 seconds) 2018-02-08T09:46:39Z wxie joined #lisp 2018-02-08T09:49:33Z x55v joined #lisp 2018-02-08T09:53:34Z hiroaki quit (Ping timeout: 256 seconds) 2018-02-08T09:53:47Z smurfrobot joined #lisp 2018-02-08T09:54:08Z solyd joined #lisp 2018-02-08T09:58:03Z markong joined #lisp 2018-02-08T10:00:57Z smurfrobot quit (Ping timeout: 264 seconds) 2018-02-08T10:03:38Z x55v left #lisp 2018-02-08T10:05:57Z hiroaki joined #lisp 2018-02-08T10:09:45Z wxie quit (Ping timeout: 260 seconds) 2018-02-08T10:11:09Z safe joined #lisp 2018-02-08T10:18:56Z flip214: I've got a GF with multiple methods which have EQL specializations on the first argument. 2018-02-08T10:19:00Z makomo joined #lisp 2018-02-08T10:19:20Z flip214: I can list them via GENERIC-FUNCTION-METHODS, but how would I selectively call one of them? 2018-02-08T10:20:09Z jameser quit (Ping timeout: 264 seconds) 2018-02-08T10:20:21Z jackdaniel: flip214: mop:method-function seems to fit the bill 2018-02-08T10:21:27Z beach: flip214: That would not be a typical use case for generic functions and methods. It would be best to call the generic function with the EQL specializer in question. 2018-02-08T10:23:36Z zaquest quit (Ping timeout: 256 seconds) 2018-02-08T10:23:45Z hajovonta joined #lisp 2018-02-08T10:23:59Z JuanDaugherty: iqubic, because a) it developed over a long time and b) it is the inherently most flexible OOP mechanism, a generic meta one in fact 2018-02-08T10:24:02Z hajovonta: hello all 2018-02-08T10:24:21Z attila_lendvai joined #lisp 2018-02-08T10:24:21Z shrdlu68: hello 2018-02-08T10:24:54Z hajovonta: is it possible for a function to determine the other function it was called from? 2018-02-08T10:25:24Z EvW joined #lisp 2018-02-08T10:26:00Z jackdaniel: hajovonta: in principle - no 2018-02-08T10:26:03Z hajovonta: like when I call (fun1 param1 (fun2 param2 param3)) and inside fun2 I would need some information that it was called from fun1 2018-02-08T10:26:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-08T10:26:13Z jackdaniel: you can check the backtrace on some implementations 2018-02-08T10:26:16Z hajovonta: jackdaniel: what does that mean :) 2018-02-08T10:26:24Z hajovonta: I'm on SBCL 2018-02-08T10:26:34Z jackdaniel: (ql:quickload 'trivial-backtrace) 2018-02-08T10:26:43Z jackdaniel: and call a function to print backtrace from inside your function 2018-02-08T10:26:55Z jackdaniel: then you'll see the callstack. but that's a hack, not a solution 2018-02-08T10:27:05Z jackdaniel: some functions may be inlined and backtraces are not portable CL 2018-02-08T10:27:15Z flip214: beach: I'm trying to use CLOS as a mechanism to get a kind-of plug-in architecture... 2018-02-08T10:27:37Z flip214: DEFMETHOD to register a "hook", so to say. but perhaps that's just a bad idea?! 2018-02-08T10:27:50Z JuanDaugherty: also cl is the more baroque lisp, you might find the scheme oop, whatever it is more to your liking 2018-02-08T10:28:04Z hajovonta: jackdaniel: thanks. portability is currently not a problem for me as I only have SBCL here 2018-02-08T10:28:17Z flip214: I quite like the automatic documentation and availability of debugging via swank/slime etc. 2018-02-08T10:28:38Z fikka joined #lisp 2018-02-08T10:28:43Z Shinmera: hajovonta: Use Dissect instead 2018-02-08T10:28:44Z jackdaniel: hajovonta: checking where function was called from is also wrong from the technical perspective 2018-02-08T10:28:44Z flip214: so I should parse the EQL specifier and call the GF with the right first value, right? 2018-02-08T10:29:02Z Shinmera: hajovonta: Dissect will give you an object representation for the stack rather than just a string like trivial-backtrace does 2018-02-08T10:29:07Z jackdaniel: if you customize behavior based on that your program will be automatically unintelligible 2018-02-08T10:29:14Z hajovonta: jackdaniel: I need it for logging. 2018-02-08T10:29:17Z scymtym: flip214: for a certain style of pluggable implementations, you may find https://github.com/scymtym/architecture.service-provider useful 2018-02-08T10:29:28Z Shinmera: Colleen: tell hajovonta look up dissect 2018-02-08T10:29:28Z Colleen: hajovonta: About dissect https://shinmera.github.io/dissect#about_dissect_ 2018-02-08T10:29:41Z hajovonta: Shinmera: thanks 2018-02-08T10:30:51Z quazimodo joined #lisp 2018-02-08T10:32:41Z beach: flip214: I would just use a hash table instead if I understand your use case correctly. 2018-02-08T10:34:07Z flip214: scymtym: beach: I'll look at various alternatives, thanks a lot! 2018-02-08T10:34:32Z zaquest joined #lisp 2018-02-08T10:34:41Z flip214: scymtym: «(See symbol? having issues in my macro (which I thought worked) 2018-02-08T15:39:11Z jmercouris: (make-symbol) does do something, but not what I want 2018-02-08T15:39:17Z jmercouris: maybe I'm using the wrong terms 2018-02-08T15:39:19Z sjl: what do you want? 2018-02-08T15:39:35Z jmercouris: I'd like to be able to input "fish" and emit fish in the macro 2018-02-08T15:39:55Z sjl: what package is the second symbol interned in? 2018-02-08T15:39:57Z sjl: if any 2018-02-08T15:40:03Z jmercouris: none 2018-02-08T15:40:05Z sjl: s/is/would you like it to be/ 2018-02-08T15:40:10Z jmercouris: keyword package 2018-02-08T15:40:22Z jmercouris: I'd like to be able to take "salmon" and emit keyword:salmon 2018-02-08T15:40:30Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-08T15:40:38Z lonjil joined #lisp 2018-02-08T15:40:38Z fikka quit (Ping timeout: 255 seconds) 2018-02-08T15:40:56Z sjl: (intern "fish" :keyword) 2018-02-08T15:41:06Z jackdaniel: (alexandria:make-keyword "fish") ; -> :|fish| 2018-02-08T15:41:27Z sjl: yeah, you'll need to consider case 2018-02-08T15:42:22Z jmercouris: case? 2018-02-08T15:42:31Z sjl: uppercase/lowercase 2018-02-08T15:42:50Z jmercouris: ah I see 2018-02-08T15:43:21Z Zhivago: Lisp symbols are case sensitive. The reader does some insane case folding based on a dynamic variable to make it quasi-insensitive. 2018-02-08T15:43:44Z Zhivago: I'm sure it seemed like a good idea at the time. 2018-02-08T15:44:44Z KongWubba quit (Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org) 2018-02-08T15:45:15Z FreeBirdLjj joined #lisp 2018-02-08T15:45:35Z Ven`` quit (Ping timeout: 248 seconds) 2018-02-08T15:46:35Z fikka joined #lisp 2018-02-08T15:47:05Z jmercouris quit (Ping timeout: 240 seconds) 2018-02-08T15:48:25Z rippa joined #lisp 2018-02-08T15:50:03Z nika joined #lisp 2018-02-08T15:50:46Z Arcaelyx joined #lisp 2018-02-08T15:51:15Z fikka quit (Ping timeout: 256 seconds) 2018-02-08T15:51:24Z Cymew quit (Remote host closed the connection) 2018-02-08T15:51:50Z Cymew joined #lisp 2018-02-08T15:51:54Z flamebeard quit (Quit: Leaving) 2018-02-08T15:53:24Z dieggsy joined #lisp 2018-02-08T15:54:22Z solyd quit (Ping timeout: 268 seconds) 2018-02-08T15:55:05Z Shinmera: Zhivago: very rarely I get bug reports from people that use a readtable case other than :upcase 2018-02-08T15:55:43Z jackdaniel: most useful readtable case is :invert 2018-02-08T15:55:46Z Shinmera: Those bug reports get marked as wontfix by me though. 2018-02-08T15:56:04Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-08T15:56:13Z shrdlu68 quit (Ping timeout: 268 seconds) 2018-02-08T15:56:27Z Cymew quit (Ping timeout: 240 seconds) 2018-02-08T15:56:30Z Shinmera: jackdaniel: actually the must useful case is still :upcase. 2018-02-08T15:56:32Z dec0n quit (Read error: Connection reset by peer) 2018-02-08T15:56:38Z fikka joined #lisp 2018-02-08T15:56:58Z shrdlu68 joined #lisp 2018-02-08T15:57:19Z jackdaniel: maybe my joke was lost in a wire transfer (I find :invert least useful from the possible values) 2018-02-08T15:57:22Z nika quit (Ping timeout: 256 seconds) 2018-02-08T15:57:37Z Shinmera: I wasn't sure whether you were serious or not because there's people that actually do try to use it 2018-02-08T15:57:46Z Shinmera: (hence the aforementioned bug reports) 2018-02-08T15:58:04Z Shinmera: Allegro's modern mode is another 2018-02-08T15:58:19Z jackdaniel: I've nevert encountered :invert used in real code (only :downcase which arguably has aesthetic appeal) 2018-02-08T15:58:48Z jackdaniel: (and :preserve for case sensivity) 2018-02-08T15:59:00Z Cymew joined #lisp 2018-02-08T15:59:48Z ak5 quit (Ping timeout: 240 seconds) 2018-02-08T15:59:56Z jackdaniel: I have even written a test for all corner cases with readtable-case (when fixing bug in ECL) 2018-02-08T16:01:08Z vap1 joined #lisp 2018-02-08T16:01:20Z shrdlu68 quit (Ping timeout: 256 seconds) 2018-02-08T16:01:22Z fikka quit (Ping timeout: 260 seconds) 2018-02-08T16:01:27Z jackdaniel: https://gitlab.common-lisp.net/ansi-test/ansi-test/blob/master/reader/readtable-case.lsp#L58 there it is 2018-02-08T16:02:04Z vaporatorius joined #lisp 2018-02-08T16:02:50Z FreeBirdLjj joined #lisp 2018-02-08T16:03:07Z dieggsy quit (Ping timeout: 260 seconds) 2018-02-08T16:03:33Z vap1 quit (Client Quit) 2018-02-08T16:03:36Z Cymew quit (Ping timeout: 256 seconds) 2018-02-08T16:05:02Z Cymew joined #lisp 2018-02-08T16:05:35Z nika joined #lisp 2018-02-08T16:07:21Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2018-02-08T16:09:23Z Cymew quit (Ping timeout: 256 seconds) 2018-02-08T16:10:56Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-08T16:10:57Z Cymew joined #lisp 2018-02-08T16:11:00Z fikka joined #lisp 2018-02-08T16:11:12Z FreeBirdLjj joined #lisp 2018-02-08T16:13:43Z asarch joined #lisp 2018-02-08T16:14:41Z scymtym_ quit (Ping timeout: 255 seconds) 2018-02-08T16:15:49Z Cymew quit (Ping timeout: 256 seconds) 2018-02-08T16:17:03Z Cymew joined #lisp 2018-02-08T16:17:28Z _death: jackdaniel: actually :invert is deemed useful because you can use lowercase for standard symbols and mixed case is simple 2018-02-08T16:17:50Z nika quit (Ping timeout: 260 seconds) 2018-02-08T16:21:06Z ak5 joined #lisp 2018-02-08T16:21:18Z red-dot joined #lisp 2018-02-08T16:21:57Z Cymew quit (Ping timeout: 264 seconds) 2018-02-08T16:23:03Z Cymew joined #lisp 2018-02-08T16:24:17Z siwica quit (Ping timeout: 265 seconds) 2018-02-08T16:24:34Z scymtym joined #lisp 2018-02-08T16:24:40Z troydm quit (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset) 2018-02-08T16:26:07Z nika joined #lisp 2018-02-08T16:26:24Z mishoo_ joined #lisp 2018-02-08T16:26:26Z pjb quit (Remote host closed the connection) 2018-02-08T16:27:28Z Cymew quit (Ping timeout: 252 seconds) 2018-02-08T16:27:43Z fikka quit (Ping timeout: 256 seconds) 2018-02-08T16:28:15Z Jesin joined #lisp 2018-02-08T16:28:59Z Cymew joined #lisp 2018-02-08T16:31:22Z ak5 quit (Ping timeout: 268 seconds) 2018-02-08T16:33:17Z fikka joined #lisp 2018-02-08T16:33:50Z Cymew quit (Ping timeout: 268 seconds) 2018-02-08T16:34:54Z Cymew joined #lisp 2018-02-08T16:35:23Z nowhereman_ quit (Ping timeout: 276 seconds) 2018-02-08T16:37:44Z fikka quit (Ping timeout: 252 seconds) 2018-02-08T16:37:53Z hiroaki quit (Ping timeout: 248 seconds) 2018-02-08T16:39:29Z Cymew quit (Ping timeout: 248 seconds) 2018-02-08T16:40:58Z Cymew joined #lisp 2018-02-08T16:42:28Z makomo quit (Ping timeout: 268 seconds) 2018-02-08T16:42:55Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-08T16:45:06Z smurfrobot joined #lisp 2018-02-08T16:45:21Z Cymew quit (Ping timeout: 248 seconds) 2018-02-08T16:45:48Z Chream_ joined #lisp 2018-02-08T16:45:57Z Chream_ quit (Read error: Connection reset by peer) 2018-02-08T16:47:01Z Cymew joined #lisp 2018-02-08T16:47:13Z Chream_ joined #lisp 2018-02-08T16:48:07Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-08T16:48:50Z Chream_ quit (Client Quit) 2018-02-08T16:49:30Z yoisushi joined #lisp 2018-02-08T16:50:10Z Chream_ joined #lisp 2018-02-08T16:50:46Z Chream_ quit (Client Quit) 2018-02-08T16:51:15Z Chream_ joined #lisp 2018-02-08T16:51:27Z Cymew quit (Ping timeout: 240 seconds) 2018-02-08T16:53:00Z Cymew joined #lisp 2018-02-08T16:53:16Z fikka joined #lisp 2018-02-08T16:54:27Z yoisushi quit (Quit: rcirc on GNU Emacs 25.3.1) 2018-02-08T16:56:05Z dddddd quit (Remote host closed the connection) 2018-02-08T16:57:40Z fikka quit (Ping timeout: 240 seconds) 2018-02-08T16:57:57Z Cymew quit (Ping timeout: 264 seconds) 2018-02-08T16:59:09Z Cymew joined #lisp 2018-02-08T16:59:58Z daydayup joined #lisp 2018-02-08T17:01:09Z dieggsy joined #lisp 2018-02-08T17:03:57Z Cymew quit (Ping timeout: 264 seconds) 2018-02-08T17:05:02Z Cymew joined #lisp 2018-02-08T17:09:35Z Cymew quit (Ping timeout: 240 seconds) 2018-02-08T17:10:32Z SaganMan joined #lisp 2018-02-08T17:11:08Z Cymew joined #lisp 2018-02-08T17:12:04Z Karl_Dscc joined #lisp 2018-02-08T17:12:50Z makomo joined #lisp 2018-02-08T17:14:37Z raynold joined #lisp 2018-02-08T17:15:35Z Cymew quit (Ping timeout: 255 seconds) 2018-02-08T17:17:03Z Cymew joined #lisp 2018-02-08T17:21:37Z Cymew quit (Ping timeout: 248 seconds) 2018-02-08T17:22:48Z Karl_Dscc quit (Remote host closed the connection) 2018-02-08T17:23:05Z Cymew joined #lisp 2018-02-08T17:23:36Z dyelar joined #lisp 2018-02-08T17:24:40Z al-damiri joined #lisp 2018-02-08T17:25:18Z LiamH joined #lisp 2018-02-08T17:27:00Z smurfrobot quit (Remote host closed the connection) 2018-02-08T17:27:27Z Cymew quit (Ping timeout: 240 seconds) 2018-02-08T17:27:30Z Murii joined #lisp 2018-02-08T17:29:05Z Cymew joined #lisp 2018-02-08T17:29:20Z fikka joined #lisp 2018-02-08T17:31:11Z jmercouris joined #lisp 2018-02-08T17:32:00Z thodg_ left #lisp 2018-02-08T17:33:53Z Cymew quit (Ping timeout: 276 seconds) 2018-02-08T17:34:16Z fikka quit (Ping timeout: 268 seconds) 2018-02-08T17:35:01Z nika quit (Quit: Leaving...) 2018-02-08T17:35:05Z Cymew joined #lisp 2018-02-08T17:35:35Z sunwukong joined #lisp 2018-02-08T17:36:33Z makomo quit (Ping timeout: 248 seconds) 2018-02-08T17:39:13Z sunwukong quit (Quit: leaving) 2018-02-08T17:39:29Z sunwukong joined #lisp 2018-02-08T17:39:49Z Cymew quit (Ping timeout: 268 seconds) 2018-02-08T17:40:59Z Cymew joined #lisp 2018-02-08T17:41:03Z Baggers joined #lisp 2018-02-08T17:42:33Z jmercouris: sjl: jackdaniel: thanks 2018-02-08T17:42:57Z AxelAlex joined #lisp 2018-02-08T17:43:16Z dieggsy quit (Quit: ERC (IRC client for Emacs 27.0.50)) 2018-02-08T17:43:51Z varjag joined #lisp 2018-02-08T17:44:35Z hhdave quit (Ping timeout: 240 seconds) 2018-02-08T17:44:50Z jmercouris: what does the "|" symbol mean? 2018-02-08T17:45:29Z m00natic quit (Remote host closed the connection) 2018-02-08T17:45:55Z Cymew quit (Ping timeout: 256 seconds) 2018-02-08T17:46:30Z mlf joined #lisp 2018-02-08T17:46:32Z deng_cn quit (Read error: Connection reset by peer) 2018-02-08T17:46:58Z Cymew joined #lisp 2018-02-08T17:48:45Z deng_cn joined #lisp 2018-02-08T17:49:03Z stacksmith: jmercouris: have you considered taking a few days off to learn the basics of Lisp? It's not too hard. 2018-02-08T17:49:39Z smurfrobot joined #lisp 2018-02-08T17:50:17Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2018-02-08T17:51:50Z Cymew quit (Ping timeout: 256 seconds) 2018-02-08T17:52:01Z jmercouris: stacksmith: no 2018-02-08T17:52:06Z jmercouris: Never, never occurred to me 2018-02-08T17:52:57Z Xach: in symbols | is used as a multiple escape character. anything between two | is taken literally without case folding. 2018-02-08T17:53:01Z Cymew joined #lisp 2018-02-08T17:53:15Z jmercouris: right, hence the comment about case earlier 2018-02-08T17:53:17Z jmercouris: okay, thank you Xach 2018-02-08T17:53:20Z Xach: #| starts a comment that ends with |# 2018-02-08T17:53:38Z Xach: #| |# pairs may be nested so it can be used to comment out other comments 2018-02-08T17:53:59Z jmercouris: Right okay 2018-02-08T17:54:03Z sjl: e.g. (symbol-name '|hello world|) 2018-02-08T17:54:13Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-08T17:54:17Z Xach: \ in symbols will escape the next character and inhibit case conversion 2018-02-08T17:54:22Z jmercouris: that's the context I was asking about |symbol lol| 2018-02-08T17:54:32Z Xach: e.g. (symbol-name '\h\e\l\l\o\ \w\o\r\l\d) 2018-02-08T17:54:34Z jmercouris: I was wondering why the pipes were appearing in the repl output 2018-02-08T17:55:25Z stacksmith: The printer and the reader work together - things are printed in a way that can be read back in. 2018-02-08T17:56:17Z jmercouris: so |hello world| === '\h\e\l\l\o\ \w\o\r\l\d 2018-02-08T17:56:26Z jmercouris: yeah? 2018-02-08T17:56:27Z Xach: no 2018-02-08T17:56:32Z jmercouris: damn, I don't get it then 2018-02-08T17:56:52Z Xach: the quote is important 2018-02-08T17:57:08Z jmercouris: the quote means "take literally" yeah? 2018-02-08T17:57:20Z jmercouris: or is this another concept that I think I understand but don't 2018-02-08T17:57:25Z Xach: when evaluated, yes. when read, it is shorthand for (quote ...) 2018-02-08T17:57:26Z Cymew quit (Ping timeout: 255 seconds) 2018-02-08T17:57:38Z sjl: you said |x| === '\x 2018-02-08T17:57:41Z sjl: which isn't right 2018-02-08T17:57:42Z Xach: |hello world| reads as a symbol and '\h... reads as a list. 2018-02-08T17:57:47Z sjl: '|x| === '\x 2018-02-08T17:57:57Z jmercouris: aha okay 2018-02-08T17:58:09Z jmercouris: okay I get it 2018-02-08T17:58:14Z sjl: the | and \ chars are just used to escape characters in the name of the symbol 2018-02-08T17:58:20Z rme: the printer might decide to use the |...| syntax rather than slashifying the output depending on what it thinks is more aesthetic 2018-02-08T17:58:21Z jmercouris: and symbol-name which accepts a string makes them equal because it makes a symbol from a string 2018-02-08T17:58:24Z sjl: quoting is orthogonal to that 2018-02-08T17:58:43Z sjl: uh 2018-02-08T17:58:54Z sjl: symbol-name returns the name of a symbol (which is a string) 2018-02-08T17:59:08Z sjl: it doesn't accept a string 2018-02-08T17:59:11Z jmercouris: I meant make-symbol 2018-02-08T17:59:19Z jmercouris: I am looking at my repl while reading at the same time 2018-02-08T17:59:21Z stacksmith: intern? 2018-02-08T17:59:24Z jmercouris: is this wrong though? 2018-02-08T17:59:38Z jmercouris: intern is to just register a made symbol right? 2018-02-08T17:59:59Z Cymew joined #lisp 2018-02-08T18:00:22Z stacksmith: intern enters a symbol named string into package. 2018-02-08T18:00:46Z sjl: make symbol creates a new symbol, with the string you give it as its name. it always creates a new symbol, and never puts it into any package 2018-02-08T18:00:48Z jmercouris: so, it registers a symbol to a package 2018-02-08T18:00:54Z smurfrobot joined #lisp 2018-02-08T18:00:57Z rme: jmercouris: you probably want something like (defun make-keyword (s) (intern (string-upcase s) :keyword)) 2018-02-08T18:01:09Z fisxoj joined #lisp 2018-02-08T18:01:14Z jmercouris: rme: my code works already, I'm just trying to understand this part of lisp 2018-02-08T18:01:27Z stacksmith: no, it interns a _symbol_ in a package 2018-02-08T18:01:40Z sjl: (intern "name" package) first checks to see if there's already a symbol in the package with the given name. If so, it returns it. Otherwise it creates a symbol with that name, puts it in package, and returns it. 2018-02-08T18:01:41Z jmercouris: I want to upcase it because the reader normally upcases everything, right? 2018-02-08T18:01:44Z stacksmith: clhs intern 2018-02-08T18:01:44Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_intern.htm 2018-02-08T18:02:19Z stacksmith: How can one tell if the code 'works' without understanding it? 2018-02-08T18:02:20Z sjl: without more context of what you're trying to do we can't know whether you want to upcase it or not 2018-02-08T18:02:55Z jmercouris: it's okay, I'm sure that it works the way I've written it 2018-02-08T18:03:05Z jmercouris: it emits the appropriate symbol in the macro 2018-02-08T18:03:40Z jmercouris: I'm just trying to understand |asdf| which I think I now get 2018-02-08T18:03:50Z jmercouris: it's just escaping 2018-02-08T18:04:12Z jmercouris: intern'd means to register to some package, and a symbol is still a hazy concept 2018-02-08T18:04:15Z stacksmith: That is the kind of talk that makes people lose respect... Lisp gives you the opportunity to write correct code, squandering it by not bothering to even know what it means is sad. 2018-02-08T18:04:15Z Cymew quit (Ping timeout: 248 seconds) 2018-02-08T18:04:20Z jmercouris: but I'm sure I'll understand it with time 2018-02-08T18:04:38Z sunwukong quit (Quit: leaving) 2018-02-08T18:04:43Z jmercouris: stacksmith: I don't think you've ever respected me, so were at the same spot as before 2018-02-08T18:04:51Z jmercouris: I'm just interested in learning 2018-02-08T18:05:09Z Tobbi quit (Ping timeout: 264 seconds) 2018-02-08T18:05:16Z jmercouris: if I wasn't, I wouldn't have asked, as I said, my code already works 2018-02-08T18:05:32Z smurfrobot quit (Ping timeout: 255 seconds) 2018-02-08T18:05:50Z stacksmith: jmercouris: Believe it or not, I am trying to be helpful, as others were for me not long ago. I doubt your code works as you have no clue what the output of your code means. 2018-02-08T18:05:55Z Cymew joined #lisp 2018-02-08T18:07:21Z dieggsy joined #lisp 2018-02-08T18:08:30Z stacksmith: jmercouris: you really should take a couple of days and read about Lisp. There is hardly any syntax, and you will feel much better and less confused about what things like |..| or <..> or #' mean. And your questions will be about more interesting things! 2018-02-08T18:08:44Z pjb joined #lisp 2018-02-08T18:08:46Z sjl: I think practical common lisp has a chapter on symbols and packages 2018-02-08T18:09:08Z thodg: i don't really like nor see the point of this part of Common Lisp 2018-02-08T18:09:23Z Xach: thodg: symbols? 2018-02-08T18:09:27Z thodg: compatibility with 7bit systems probably ? 2018-02-08T18:09:44Z thodg: upcasing by default 2018-02-08T18:09:56Z thodg: and all CL symbols being upcase 2018-02-08T18:10:19Z pjb: thodg: it's to provide the best of the two options. 2018-02-08T18:10:20Z Xach: thodg: I think the goal was to not break existing large codebases managed by influential stakeholders 2018-02-08T18:10:22Z thodg: not really a problem though 2018-02-08T18:10:29Z Cymew quit (Ping timeout: 255 seconds) 2018-02-08T18:10:33Z pjb: thodg: you can have case insensitivity, while still having case sensitivity. 2018-02-08T18:10:47Z Xach: glad they managed to use base 10 by default though. 2018-02-08T18:10:49Z pjb: |Foo| and |FOO| are distinct, but FOO and foo are the same. 2018-02-08T18:11:36Z pjb: Xach: I don't think this gained us any programmer. But personnaly I prefer hexadecimal to octal, so, base ten is a good compromise. 2018-02-08T18:11:36Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-08T18:11:39Z thodg: Xach: lol 2018-02-08T18:11:57Z Cymew joined #lisp 2018-02-08T18:11:58Z rme: and "\" as the escape character instead of "/" 2018-02-08T18:12:03Z pjb: thodg: (setf *read-base* 8. *print-base* 8.) 2018-02-08T18:12:09Z Xach: I'm sure it's not too hard to get used to using octal by default, but still. 2018-02-08T18:12:12Z pjb: thodg: put that in your rc file. 2018-02-08T18:12:36Z thodg: might still work 2018-02-08T18:12:49Z thodg: i don't print so many numbers 2018-02-08T18:12:49Z pjb: In any case, when you look at old listings, you must be careful and check if it's not in octal. You can have surprises. 2018-02-08T18:12:57Z sunwukong joined #lisp 2018-02-08T18:13:11Z fisxoj quit (Ping timeout: 255 seconds) 2018-02-08T18:13:41Z attila_lendvai joined #lisp 2018-02-08T18:14:04Z thodg: but self synchronising codes are good yes 2018-02-08T18:14:34Z thodg: I'm just not sure upcasing is adding any value 2018-02-08T18:15:08Z fisxoj joined #lisp 2018-02-08T18:16:49Z Cymew quit (Ping timeout: 268 seconds) 2018-02-08T18:17:01Z thodg: taking fresh memory for every new symbol 2018-02-08T18:17:04Z thodg: why not 2018-02-08T18:17:08Z smurfrobot joined #lisp 2018-02-08T18:17:09Z shka joined #lisp 2018-02-08T18:17:20Z stacksmith: You can easily tell if you typed it or the system printed it by case? 2018-02-08T18:17:23Z deng_cn quit (Read error: Connection reset by peer) 2018-02-08T18:17:30Z specbot quit (Remote host closed the connection) 2018-02-08T18:17:33Z stacksmith: Looking at REPL... 2018-02-08T18:17:42Z milanj quit (Read error: Connection reset by peer) 2018-02-08T18:18:05Z thodg: stacksmith: yeah thanks slime for the macroexpand-inline 2018-02-08T18:18:12Z thodg: but i never want upcase anyway 2018-02-08T18:18:15Z milanj joined #lisp 2018-02-08T18:18:22Z specbot joined #lisp 2018-02-08T18:18:23Z pjb: thodg: the great value in that, is that it allows CL to run old code! http://informatimago.com/develop/lisp/com/informatimago/small-cl-pgms/wang.html 2018-02-08T18:18:27Z thodg: except for debugging 2018-02-08T18:18:48Z stacksmith: thodg: Yeah, I am kind of with you... 2018-02-08T18:19:04Z pjb: thodg: further, just put (setf (readtable-case *readtable*) :preserve) and you get instant NON-upcasing ! 2018-02-08T18:19:34Z thodg: it seems like lisp has had an incredible life 2018-02-08T18:19:37Z deng_cn joined #lisp 2018-02-08T18:19:37Z Jesin quit (Quit: Leaving) 2018-02-08T18:19:51Z stacksmith: And is still having 2018-02-08T18:20:13Z thodg: pjb: does it work with large codebases though ? 2018-02-08T18:20:28Z thodg: maybe tests would choke 2018-02-08T18:20:29Z pjb: thodg: with well programmed libraries, yes. 2018-02-08T18:20:37Z pjb: thodg: it's a good filter to eliminate bad libraries. 2018-02-08T18:20:57Z pjb: thodg: change all the values of the *print- and *read- variables, and see the flies fall. 2018-02-08T18:21:05Z thodg: when i see npm and rubygems i despair to think anyone will audit the code 2018-02-08T18:21:52Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-08T18:21:55Z Tobbi joined #lisp 2018-02-08T18:22:03Z thodg: pjb: that should make nice 3D graphics 2018-02-08T18:22:09Z thodg: for an art gallery 2018-02-08T18:22:50Z thodg: conformant programming decay zone 2018-02-08T18:23:07Z fikka joined #lisp 2018-02-08T18:24:06Z _death: (setf *read-base* 36 *print-base* 36) and have fun 2018-02-08T18:24:32Z thodg: base10 slangers off the government ! 2018-02-08T18:24:33Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-08T18:24:59Z thodg: shorter code, better results 2018-02-08T18:25:10Z jmercouris quit (Ping timeout: 252 seconds) 2018-02-08T18:27:06Z attila_lendvai joined #lisp 2018-02-08T18:29:18Z jmercouris joined #lisp 2018-02-08T18:29:43Z jmercouris: stacksmith: we don't all learn the same way, for myself especially, it takes a lot of time for some concepts to make sense on intutitive level despite reading about them 2018-02-08T18:29:43Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-08T18:29:58Z jmercouris: stacksmith: I have to discuss the nuances of them, and this channel really helps 2018-02-08T18:31:01Z jmercouris: based on my questions, you might conclude that I haven't spent a day learning lisp, but I've spent a lot of time, and things don't come for me incrementally as they may come for others 2018-02-08T18:31:54Z attila_lendvai joined #lisp 2018-02-08T18:31:54Z attila_lendvai quit (Changing host) 2018-02-08T18:31:54Z attila_lendvai joined #lisp 2018-02-08T18:32:47Z jfb4 quit (Read error: Connection reset by peer) 2018-02-08T18:32:47Z Kaisyu quit (Quit: Connection closed for inactivity) 2018-02-08T18:34:29Z pjb: thodg: anyways, the point is that lisp is very flexible and adaptative, you can morph it into whatever you want. 2018-02-08T18:34:31Z smurfrobot joined #lisp 2018-02-08T18:35:32Z pjb: thodg: there are very few things you cannot change. For example, false is the symbol CL:NIL, and nothing else. The syntax for symbols (including qualified symbols), integers and floating points is hardwired in the reader, you cannot change it. But about all the rest, you can change it at will. 2018-02-08T18:39:10Z whoman: _death, what! 2018-02-08T18:39:46Z random-nick: afaik you can even change the character used for comments since it's just a reader macro 2018-02-08T18:39:50Z smurfrobot quit (Ping timeout: 252 seconds) 2018-02-08T18:40:10Z jmercouris: Changing it to the "(" characater would be hilarious 2018-02-08T18:40:45Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-08T18:41:10Z whoman: for a minute 2018-02-08T18:41:33Z Denommus quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2018-02-08T18:41:33Z sunwukong quit (Quit: leaving) 2018-02-08T18:41:34Z whoman: or let's set ; to ( 2018-02-08T18:41:56Z SaganMan quit (Quit: WeeChat 1.6) 2018-02-08T18:42:16Z stacksmith: jmercouris: no disrespect intended, seriously. I also know a whole lot about different ways of learning, having some issues myself. There is nothing wrong with going in headfirst, and there is nothing wrong with ignorance - as in not knowing. It is kind however to not flaunt it and at least make it look like you made an effort to learn the basics that are easily available :) Take it from one who's asked many a stupid questions h 2018-02-08T18:42:24Z dlowe: I have a nice reader macro #; that comments out the next s-expression 2018-02-08T18:42:37Z fisxoj_ joined #lisp 2018-02-08T18:42:45Z attila_lendvai joined #lisp 2018-02-08T18:42:45Z attila_lendvai quit (Changing host) 2018-02-08T18:42:45Z attila_lendvai joined #lisp 2018-02-08T18:43:15Z fisxoj quit (Read error: Connection reset by peer) 2018-02-08T18:43:15Z fisxoj_ is now known as fisxoj 2018-02-08T18:43:44Z whoman: dlowe, ouu i like that 2018-02-08T18:43:46Z stacksmith: dlowe: what, you don't like messing with #| or || and all the related Emacs fireworks? 2018-02-08T18:44:04Z whoman: otherwise i've been doing C-SPC ... set mark... C-c C-c comment region .... 2018-02-08T18:44:15Z whoman: err C-S-@ mark sexp 2018-02-08T18:44:36Z daydayup_ joined #lisp 2018-02-08T18:44:37Z stacksmith: Someday we will have a structure editor. 2018-02-08T18:44:49Z dlowe: #-(and) is also popular 2018-02-08T18:45:11Z whoman: paredit ?! 2018-02-08T18:45:16Z _death: #++ 2018-02-08T18:45:17Z stacksmith: Guah 2018-02-08T18:45:29Z stacksmith: A real structure editor, not emacs. 2018-02-08T18:45:39Z whoman: you mean with the mouse and graphics...?? 2018-02-08T18:45:44Z whoman: there's one for Android 2018-02-08T18:45:45Z stacksmith: Not at all 2018-02-08T18:46:01Z whoman: well. paredit is structural sexp editor innit 2018-02-08T18:46:20Z stacksmith: I mean something that edits Lisp, not a text editor that searches around the text for matching parens. 2018-02-08T18:46:22Z whoman: virtually, got to use your imagination, its not clearly obvious on-screen of the visual actions 2018-02-08T18:46:33Z jmercouris: stacksmith: I didn't get this far completely ignorant of the basics https://github.com/next-browser/next 2018-02-08T18:46:35Z whoman: heh yeah, so graphics and mouse. 2018-02-08T18:46:42Z jmercouris: it's not the pinnacle of engineering, but I'm not completely clueless 2018-02-08T18:46:56Z whoman: "smalltalk" or squeak is quite structural. got to click around everywhere 2018-02-08T18:47:25Z stacksmith: jmercouris: I could, but will not, show you some code from a few years ago that "works" too. Now that I know better, it doesn't. 2018-02-08T18:47:26Z whoman: a lisp browser would be nice and helpful. on the form-level but not the class-level as in smalltalk 2018-02-08T18:47:29Z daydayup quit (Ping timeout: 256 seconds) 2018-02-08T18:48:19Z jmercouris: You've also been programming lisp for 4 years at least, I've been doing it for about 7 months 2018-02-08T18:48:27Z stacksmith: whoman: something that is aware of structure and associated semantics - as expressed by lambda-lists of operator-position symbols. 2018-02-08T18:48:56Z whoman: stacksmith, what 2018-02-08T18:49:40Z sunwukong joined #lisp 2018-02-08T18:49:57Z quazimodo quit (Ping timeout: 256 seconds) 2018-02-08T18:50:12Z daydayup_ quit (Ping timeout: 256 seconds) 2018-02-08T18:50:26Z stacksmith: An editor should know that when I enter (with-open-file - the next thing _must_ be a list. By looking at the lambda-list of with-open-file. 2018-02-08T18:51:47Z stacksmith: Emacs just lets you type nonsense. There are very few valid forms in the infinity of invalid ones. Lambda-lists contained in the image describe valid forms. 2018-02-08T18:51:47Z _death: (list '(with-open-file 42)) 2018-02-08T18:51:56Z daydayup_ joined #lisp 2018-02-08T18:52:07Z troydm joined #lisp 2018-02-08T18:52:12Z Cymew joined #lisp 2018-02-08T18:52:24Z stacksmith: _death: Quote means anything goes 2018-02-08T18:52:35Z jackdaniel: jmercouris: I believe you could use some hints from PCL (book is not long and well written) 2018-02-08T18:52:39Z jackdaniel: minion: tell jmercouris about pcl 2018-02-08T18:52:39Z minion: jmercouris: please see pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 2018-02-08T18:52:40Z _death: ok, (something (with-open-file 42)) 2018-02-08T18:52:55Z random-nick: stacksmith: how will you know if a macro evaluates or doesn't evaluate a form you pass? 2018-02-08T18:52:55Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-08T18:53:36Z stacksmith: _death: something has the determining lambda-list, which may be a macro subform, or a parameter, in which chase with-open-file is looked at. 2018-02-08T18:53:42Z Rawriful joined #lisp 2018-02-08T18:53:48Z stacksmith: Lambda lists! 2018-02-08T18:54:35Z _death: no, it's #1# in (some-other-thing #1#) 2018-02-08T18:54:55Z jmercouris: jackdaniel: I've not only read it, I took notes on every chapter :D unfortunately it's not stuck in my head 2018-02-08T18:55:19Z stacksmith: _death: again, please? 2018-02-08T18:55:34Z jmercouris: maybe I'll give it a re-read now that I've been programming lisp for the past 6 months 2018-02-08T18:55:40Z jackdaniel: doesn't sound plausible, but I'll give you a benefit of doubt 2018-02-08T18:55:51Z _death: stacksmith: lisp syntax is malleable.. an editor cannot be smart enough to know everything 2018-02-08T18:56:03Z jmercouris: jackdaniel: here's a small subset of my notes: https://gist.github.com/79c168a6d618a1ac14d78957e4b47e4c 2018-02-08T18:56:07Z jmercouris: don't read it, but just look at it 2018-02-08T18:56:12Z jmercouris: and you'll see that it is entirely original 2018-02-08T18:56:16Z attila_lendvai joined #lisp 2018-02-08T18:56:16Z attila_lendvai quit (Changing host) 2018-02-08T18:56:16Z attila_lendvai joined #lisp 2018-02-08T18:56:20Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-08T18:56:27Z Cymew quit (Ping timeout: 240 seconds) 2018-02-08T18:56:35Z stacksmith: _death: agreed. But it does not have to be entirely ignorant of forms. I've actually given it a lot of thought. 2018-02-08T18:56:45Z Guest94110 joined #lisp 2018-02-08T18:56:59Z jmercouris: jackdaniel: those notes are a 1/1 with the chapters 2018-02-08T18:57:40Z daydayup joined #lisp 2018-02-08T18:57:52Z jmercouris: jackdaniel: are we done for today? I don't need another "you're a dishonest liar", this I can do without, especially since I've given you no reason to think this way 2018-02-08T18:57:57Z daydayup_ quit (Ping timeout: 240 seconds) 2018-02-08T18:58:43Z JuanDaugherty: so much streit on the irc 2018-02-08T18:58:46Z Guest94110 quit (Read error: Connection reset by peer) 2018-02-08T18:59:17Z jmercouris: JuanDaugherty: das ist kein englisch wort 2018-02-08T19:00:08Z daydayup_ joined #lisp 2018-02-08T19:00:20Z jackdaniel: jmercouris: right now you are rude to me. you have infered some things I didn't tell and pictured me publicly as a "bad guy" - I let it go of course, but please refrain for keeping doing that. 2018-02-08T19:00:44Z JuanDaugherty: i had a controlled nuclear exchange yesterday that resulted in the slaking off of a whole set of volk 2018-02-08T19:01:11Z JuanDaugherty: srsly, think like machine 2018-02-08T19:01:24Z jmercouris: jackdaniel: That's not the case at all, I only said *exactly* what you said which was "doesn't sound plausible" - which is saying "you are a liar", if there is another interpretation, feel free to explain it 2018-02-08T19:02:11Z thodg: yuck 2018-02-08T19:02:22Z shka: good evening 2018-02-08T19:02:31Z _death: /j #lispdrama 2018-02-08T19:02:32Z jackdaniel: there is - I have even said that I give you a benefit of a doubt. you often ask very basic questions which are very basic, what shows, that you need to work a little on your basics 2018-02-08T19:02:49Z thodg: op-amp is dead 2018-02-08T19:02:50Z jmercouris: jackdaniel: I do need to work on my basics, but that doesn't make me a liar 2018-02-08T19:02:57Z jackdaniel: never called you a liar, dishonest etc 2018-02-08T19:03:00Z caffe: jmercouris: no one called you a liar 2018-02-08T19:03:01Z thodg: he's in saturation mode of some #lispcafe 2018-02-08T19:03:07Z sunwukong quit (Quit: WeeChat 0.4.2) 2018-02-08T19:03:10Z daydayup quit (Ping timeout: 240 seconds) 2018-02-08T19:03:22Z thodg: just like me 2018-02-08T19:03:23Z stacksmith: jackdaniel: I am not sure it's worth it. 2018-02-08T19:03:36Z jmercouris: jackdaniel: Okay, I will take this at face value then, I'm sorry for accusing you of calling me a liar 2018-02-08T19:03:39Z daydayup__ joined #lisp 2018-02-08T19:03:51Z jmercouris: It looks like this from my perspective, but I will take your word for it 2018-02-08T19:04:11Z thodg: what is it, keep it simple ? 2018-02-08T19:04:12Z tlaxkit quit (Quit: Saliendo...) 2018-02-08T19:05:21Z stacksmith: jmercouris: from my perspective it looks like you have some kind of a thing about being an idiot savant. incapable of understanding basic things but cranking out Mozart-like code. 2018-02-08T19:06:05Z daydayup_ quit (Ping timeout: 240 seconds) 2018-02-08T19:06:10Z thodg: oh yes lisp sure does not prevent you from learning data structures 2018-02-08T19:06:10Z jmercouris: stacksmith: What? Absolutely not 2018-02-08T19:06:23Z stacksmith: That's what it looks like here. 2018-02-08T19:06:38Z jmercouris: You need a new pair of glasses 2018-02-08T19:06:40Z milanj quit (Quit: This computer has gone to sleep) 2018-02-08T19:06:45Z jmercouris: I said: I learn different than others 2018-02-08T19:06:48Z thodg: and then most lispers are still ignorant (including) about synchronisation primitives 2018-02-08T19:06:51Z stacksmith: As in "I can't be bothered to look up 'intern' on chls", but look at my "working code" 2018-02-08T19:06:53Z jackdaniel: this chapter is about packages and symbols: http://www.gigamonkeys.com/book/programming-in-the-large-packages-and-symbols.html 2018-02-08T19:06:55Z jmercouris: there are many gaps in my knowledge, but it doesn't mean I'm completely ignorant 2018-02-08T19:06:58Z thodg: because then they would be doing erlang 2018-02-08T19:07:01Z thodg: or lfe 2018-02-08T19:07:13Z jmercouris: stacksmith: You really need to take a step off of your high horse 2018-02-08T19:07:17Z thodg: including me* 2018-02-08T19:07:25Z stacksmith: This might help www.flownet.com/gat/packages.pdf 2018-02-08T19:07:46Z stacksmith: jmercouris: It is not a horse, it is a donkey! 2018-02-08T19:08:01Z jmercouris: stacksmith: That explains your nature. 2018-02-08T19:08:02Z jackdaniel: and the donkey is high? :-) 2018-02-08T19:08:12Z thodg: i like to think of APIs as roads 2018-02-08T19:08:18Z thodg: some roads lead nowhere 2018-02-08T19:08:23Z thodg: some are bumpy 2018-02-08T19:08:36Z thodg: some are just not compatible 2018-02-08T19:08:50Z stacksmith: jmercouris: you may not be completely ignorant, but close. And there is nothing wrong with that. Being proud of it is another thing. 2018-02-08T19:09:04Z jmercouris: stacksmith: When did I say I was proud of being ignorant? 2018-02-08T19:09:15Z caffe: no one said you said you were. 2018-02-08T19:09:32Z pjb: stacksmith: but when you edit a lisp file, you are not editing code with any expected syntax! You are editing DATA! Why should anybody suppose that (with-open-file 42) is not a valid data list to be put in a lisp file? Who knows how this file will be loaded and interpreted? 2018-02-08T19:09:34Z thodg: i could not talk about ignorance without being so lackluster 2018-02-08T19:09:40Z jmercouris: caffe: Again, is there another interpretation to this statement? 2018-02-08T19:09:41Z jackdaniel: OK, enough is enough, Im getting back to code – I think that offtopic should move to lispcafe, because it's not very productive to read backlog like that 2018-02-08T19:09:52Z pjb: You're all forgetting that lisp is a META META META META META … META PROGRAMMING language ! 2018-02-08T19:09:56Z pjb: check the topic! 2018-02-08T19:10:31Z pjb: If you want code completion use Java and AndroidStudio! 2018-02-08T19:10:43Z thodg: beware humans have a difficult context switch as linear programming is not friendly talk at all 2018-02-08T19:10:57Z thodg: please keep calm and move along 2018-02-08T19:10:58Z stacksmith: pjb: who says anything about files? I am actually talking about editing lisp forms! 2018-02-08T19:11:13Z pjb: stacksmith: but lisp forms are DATA! 2018-02-08T19:11:22Z pjb: and any data can be passed to EVAL. 2018-02-08T19:11:34Z pjb: (eval '(with-open-file 42)) #| ERROR: 42 can't be destructured against the lambda list (ccl::var ccl::filename . ccl::args), because it does not contain at least 2 elements. |# 2018-02-08T19:11:39Z caffe: jmercouris: i interpret it as this: ignorance is part of the human condition. it's benign in itself. on the other hand, taking pride in it will only limit yourself. i guess i'd see it as 'well, you might be ignorant about some things' (not unusual for someone 6 months into lisp), 'but at least you don't take pride in being ignorant' 2018-02-08T19:11:42Z thodg: pjb: yeah I like my data binary at some point too, a lisp form is not really data 2018-02-08T19:11:45Z pjb: who are you to say that this wasn't the expected outcome? 2018-02-08T19:11:53Z thodg: it is a linked list of data 2018-02-08T19:11:58Z stacksmith: pjb: Yes! exactly. Lambda list, see? 2018-02-08T19:12:11Z pjb: stacksmith: errors are not invalid in lisp! 2018-02-08T19:12:11Z JuanDaugherty: in the nucular warre I had yesterday two individuals attacked me 2018-02-08T19:12:25Z jmercouris: caffe: based on stacksmiths prior messages to me I read something along th elines of "you are ignorant as fuck, which is not a problem, but you are also proud of it- wow" 2018-02-08T19:12:28Z pjb: (handler-case (eval '(with-open-file 42)) (error () 'good-result)) #| --> good-result |# 2018-02-08T19:12:28Z caffe: the main thing here i see is this: no one is attacking you. 2018-02-08T19:12:30Z thodg: JuanDaugherty: are you playing Fallout ? 2018-02-08T19:12:31Z JuanDaugherty: i was super polite and everything was smoothed over 2018-02-08T19:12:34Z stacksmith: pjb: no problem here. 2018-02-08T19:12:44Z JuanDaugherty: thodg, no 2018-02-08T19:12:45Z jmercouris: caffe: Maybe I'm just taking everything the wrong way :\ 2018-02-08T19:12:51Z caffe: but you seem to be going out of your way to try to find insults that no one made 2018-02-08T19:13:12Z jmercouris: caffe: a consequence of my insecurities :\ 2018-02-08T19:13:13Z pjb: But foremost, when you have a form in a file (or elsewhere), you don't know in advance how it will be processed, to what it will be given and to what purpose. 2018-02-08T19:13:19Z JuanDaugherty: but I hate them now and I will never participate in their community, it's not the first time it's happened and without cause 2018-02-08T19:13:24Z thodg: JuanDaugherty: the whole game series is about post-nuclear war 2018-02-08T19:13:29Z beach: random-nick: By feeding it to the compiler. 2018-02-08T19:13:50Z JuanDaugherty: thodg, aye that and claiming the higher ground 2018-02-08T19:14:00Z pjb: As a meta programming programming language, you can write interpreters and compilers trivially in lisp, so perhaps (with-open-file 42) as a perfectly good and intentional meaning. Only the human programmer can know it, not an editor! 2018-02-08T19:14:10Z thodg: JuanDaugherty: is there still a ground ? 2018-02-08T19:14:12Z thodg: good 2018-02-08T19:14:25Z stacksmith: pjb: the context of the data decides how to see it. Outside of any context, the implied lambda-list of any list is (&rest rest); inside a defun, as an operator form, with-open-file is obviously a form that needs to follow a certain structure. 2018-02-08T19:14:36Z pjb: stacksmith: there is no THE context! 2018-02-08T19:14:57Z pjb: 1- a context is given externally. 2- it can be a different context at different times! 2018-02-08T19:15:06Z _death: stacksmith: it does not 2018-02-08T19:15:08Z ChanServ has set mode +o jackdaniel 2018-02-08T19:15:21Z JuanDaugherty: thodg, there's always a moral high ground 2018-02-08T19:15:28Z ChanServ has set mode -o jackdaniel 2018-02-08T19:15:57Z thodg: but truly, I might sound like an old angry "blurby" C coder now, but Common Lisp does not specify even its LIST or SEQUENCE structures as data in the sense it does not provide for a possible binary serialization of it 2018-02-08T19:16:02Z pjb: See for example the file: https://gitlab.com/com-informatimago/com-informatimago/blob/master/common-lisp/html-base/html401.lisp 2018-02-08T19:16:04Z whoman: i believe it too, even if we die it is better to take the morally or ethically higher ground (selfless) 2018-02-08T19:16:26Z thodg: except as ASCII text 2018-02-08T19:16:33Z thodg: which is very slow data 2018-02-08T19:16:40Z rme: thodg: that's called abstraction 2018-02-08T19:16:42Z stacksmith: Ahem, gentlemen, please. If I start with something I know is a definition of a function in an image, I can know for certain that the forms inside follow lambda-lists as stored in the image. And if not, I can assume a generic list. 2018-02-08T19:16:44Z pjb: Notice it doesn't contain an IN-PACKAGE form (so less context; but even with a IN-PACKAGE, it would still be interpreted in an a-priori unknown context!) 2018-02-08T19:16:46Z JuanDaugherty: well list is intrinic, idunno how to say it, and sequence is whole thing 2018-02-08T19:17:00Z thodg: rme: well why do we always open abstraction and close implementation ? 2018-02-08T19:17:03Z _death: thodg: you think C specifies "binary serialization" for something? 2018-02-08T19:17:05Z thodg: the two should be mutual 2018-02-08T19:17:07Z pjb: this file is loaded actually in two different context, with different sets of defelement etc macros. 2018-02-08T19:17:11Z thodg: macroexpand-inline is awesome 2018-02-08T19:17:17Z pjb: one to generate a parser, and another to generate a html generator! 2018-02-08T19:17:55Z pjb: So the meaning of this data depends on how it's loaded. (or of course, as a human, you can infer a generalized meaning, but the lisp system doesn't know it). 2018-02-08T19:18:02Z deng_cn quit (Read error: Connection reset by peer) 2018-02-08T19:18:08Z stacksmith: pjb: Assuming that a top form has a lambda-list, all inside it just follows rules like a machine. You are talking about files, I am not. 2018-02-08T19:18:20Z thodg: duality of syntax 2018-02-08T19:18:22Z pjb: stacksmith: you're not making the right assumption! 2018-02-08T19:18:54Z pjb: You have to assume CL:LOAD or CL:COMPILE-FILE, and you have to assume some restricted setting of the *read-…* variables and of the *READTABLE* with all the reader macros! 2018-02-08T19:18:58Z jmercouris left #lisp 2018-02-08T19:19:08Z stacksmith: pjb: I am, because that is a given. I am talking about an editor that edits forms, not files. 2018-02-08T19:19:23Z pjb: You have to make a lot of assumption to restrict the interpretation of the data you write, as something related to the bare lisp defined by the standard. 2018-02-08T19:19:29Z pjb: This is not a given at all. 2018-02-08T19:19:41Z pjb: Again, read the fucking topic, it's infinitely meta programming language! 2018-02-08T19:19:50Z whoman: whooaaa 2018-02-08T19:19:53Z pjb: This means that anythign can be changed at any time. You cannot make assumption! 2018-02-08T19:20:19Z _death: stacksmith: what use is it to editor forms for such a narrow definition of form 2018-02-08T19:20:20Z pjb: You have to expect that it will be interpreted in some context and you have to learn about this context before making any assumption. 2018-02-08T19:20:30Z pjb: And this is something that a mere editor cannot easily do. 2018-02-08T19:20:30Z deng_cn joined #lisp 2018-02-08T19:20:38Z thodg: my mother would be proud 2018-02-08T19:20:47Z _death: *to have such a form editor 2018-02-08T19:20:47Z pjb: This is why asdf is so important (and before it the preceding defsystem systems). 2018-02-08T19:21:02Z stacksmith: pjb: If lisp can compile it using the lambda-lists of constituent forms, I can use these to figure out the structure. 2018-02-08T19:21:05Z pjb: If you don't start reading a project by their asdf, you get it all wrong. 2018-02-08T19:21:14Z thodg: so how are we standing on graphic libraries ? 2018-02-08T19:21:29Z pjb: And who sais that it's "lisp" that will compile your data? 2018-02-08T19:21:35Z thodg: is there no NIH love for MesaGL ? 2018-02-08T19:21:59Z pjb: Perhaps I've set it up in the asd file so that the data is loaded and processed by my own interpreter of my own language! 2018-02-08T19:22:02Z thodg: I tried (lisp "data") no success 2018-02-08T19:22:07Z stacksmith: _death: it is no less restrictive than emacs. But it will not edit garbage or ever get lost in parentheses where it counts. 2018-02-08T19:22:20Z wigust- quit (Ping timeout: 255 seconds) 2018-02-08T19:22:33Z LocaMocha quit (Ping timeout: 264 seconds) 2018-02-08T19:22:42Z _death: stacksmith: one man's garbage.. 2018-02-08T19:22:44Z pjb: (defun lisp (foo) (format nil "This is ~S" foo)) #| --> lisp |# (lisp "data") #| --> "This is \"data\"" |# 2018-02-08T19:22:51Z random-nick: what if the user has a reader macro which randomly decides whenever to discard or read a form? 2018-02-08T19:23:27Z pjb: thodg: this is also a method of development commonly practized, (and definitely supported by the REPL and lisp debuggers), to write data that cannot be interpreted by the current lisp image. 2018-02-08T19:23:28Z jackdaniel: random-nick: sounds like a very reasonable macro for writing code ;-) 2018-02-08T19:23:30Z thodg: multi agent garbage collectors, a real topic 2018-02-08T19:23:38Z thodg: how does the ANSI spec let me go about that ? 2018-02-08T19:23:47Z thodg: nope 2018-02-08T19:23:47Z _death: stacksmith: the way I see it, the editor should stay out of my way, not tell me what char to insert or not 2018-02-08T19:23:51Z thodg: because it is implementation 2018-02-08T19:23:56Z thodg: they have closed their mind 2018-02-08T19:23:59Z pjb: thodg: you enter it at the REPL, and you get an error. Then you use the debugger and restarts, to define what needs to be defined, and restart the computation; repeat until it does what you want it to do! 2018-02-08T19:23:59Z jameser joined #lisp 2018-02-08T19:24:07Z pjb: It's called wishful programming! 2018-02-08T19:24:33Z pjb: see for eaxmple: https://groups.google.com/forum/#!msg/comp.lang.lisp/oGmha6PbAD4/kmpG51wjJ6gJ 2018-02-08T19:25:05Z gbyers quit (Ping timeout: 256 seconds) 2018-02-08T19:25:26Z stacksmith: pjb: _death: I think you are missing the point. It doesn't have to get in your way. But if you set out to edit a function, the editor can actually help, for instance. 2018-02-08T19:25:30Z pjb: This is also a feature of lisp that makes it so powerful: You don't need to have language elements to implement a solution. You can write the solution to your problem first, and then extend the lisp language so that it becomes able to run your solution! 2018-02-08T19:25:39Z thodg: pjb: yes but now you can quote data and you can quote ( 2018-02-08T19:25:44Z thodg: "(" 2018-02-08T19:25:50Z thodg: and now you need a filtering stack 2018-02-08T19:26:02Z al-damiri quit (Ping timeout: 252 seconds) 2018-02-08T19:26:05Z thodg: do we have a real stacksmith somewhere ? 2018-02-08T19:26:18Z pjb: stacksmith: it could, but not emacs. Slime tries to help by communicating between emacs and the lisp image. But it's very limited and restricted. 2018-02-08T19:26:32Z fourier joined #lisp 2018-02-08T19:26:35Z lnostdal joined #lisp 2018-02-08T19:26:44Z pagnol joined #lisp 2018-02-08T19:26:53Z fourier quit (Changing host) 2018-02-08T19:26:53Z fourier joined #lisp 2018-02-08T19:26:57Z jackdaniel: having a structural editor could have other benefits - you could associate arbitrary information with the block of code without changing its textual representation ofr instance 2018-02-08T19:27:36Z thodg: where is this CL OpenGL with KMS/DRM meta-compositor again ? 2018-02-08T19:27:42Z stacksmith: pjb: exactly. Editing is not the same for different things. Editing Lisp code is a very specific task, and Slime is a feeble attempt to help. Paredit is a feeble attempt. There are better ways. 2018-02-08T19:27:44Z terrorjack quit (Ping timeout: 276 seconds) 2018-02-08T19:28:04Z gbyers joined #lisp 2018-02-08T19:28:07Z thodg: we're not many lispers, we should be nice 2018-02-08T19:28:10Z jackdaniel: or preserving older versions of the code in the structure holding the current block version 2018-02-08T19:28:16Z shka: structural editor would require some sort of structural version control 2018-02-08T19:28:40Z shka: well, unless you don't care about that at all 2018-02-08T19:28:40Z fourier: I think there were structural editors for lisp already 2018-02-08T19:28:52Z stacksmith: jackdaniel: thanks you! You could do things like associating comments with blocks of code, for god's sake. 2018-02-08T19:28:53Z shka: which can be the case for jupyter like stuff 2018-02-08T19:29:01Z thodg: so we're at a point where all code is a git repo on disk now 2018-02-08T19:29:07Z thodg: except some weirdos 2018-02-08T19:29:08Z _death: I prefer to edit text while thinking in structure 2018-02-08T19:29:12Z jackdaniel: stacksmith: I thought even about diagrams and other documents 2018-02-08T19:29:12Z pjb: Here is a structural editor: http://informatimago.com/develop/lisp/com/informatimago/small-cl-pgms/sedit/index.html 2018-02-08T19:29:26Z thodg: think gzip understood your code patterns ? 2018-02-08T19:29:32Z pjb: emacs+paredit is an ideal sweetpoint. 2018-02-08T19:29:59Z milanj joined #lisp 2018-02-08T19:30:02Z al-damiri joined #lisp 2018-02-08T19:30:04Z pjb: The alternative is an environment more like INTERLISP. 2018-02-08T19:30:10Z thodg: text, ascii, utf8, is awesome (but more and more difficult) 2018-02-08T19:30:17Z random-nick quit (Remote host closed the connection) 2018-02-08T19:30:23Z fourier: I believe it was in inderlisp-d yes 2018-02-08T19:30:25Z shka: pjb: or like smalltalk 2018-02-08T19:30:26Z thodg: interlisp must have been awesome 2018-02-08T19:30:33Z zooey quit (Ping timeout: 255 seconds) 2018-02-08T19:30:41Z thodg: truly structured programming 2018-02-08T19:31:15Z whoman: i think text is good 2018-02-08T19:31:31Z whoman: may as well work directly with the data format, no middle men 2018-02-08T19:31:31Z terrorjack joined #lisp 2018-02-08T19:31:33Z thodg: s/oo/o/ 2018-02-08T19:31:46Z thodg: s/o/lol/ 2018-02-08T19:32:21Z xrash quit (Remote host closed the connection) 2018-02-08T19:33:16Z whoman: slime may not be required if say, emacs was written in common lisp; or if common lisp could understand the elisp. 2018-02-08T19:33:29Z zooey joined #lisp 2018-02-08T19:33:44Z dlowe: I think you'd still want to run an inferior lisp. 2018-02-08T19:33:47Z thodg: are the common-lisp emacs replacement projects having any sort of progress ? 2018-02-08T19:34:13Z fourier: its only beach who works on Climacs I believe? 2018-02-08T19:34:17Z thodg: I wrote the slime shortcuts for emacs lisp once 2018-02-08T19:34:18Z whoman: true. but, when the muscle memory is trained to do paredit for example, the structure is used as the elements, rather than the characters and lines and columns 2018-02-08T19:34:22Z thodg: very useful 2018-02-08T19:34:22Z jackdaniel: being written in a language and having a programming support are different things. if emacs were written in common lisp it wouldn't magically gain a debugger 2018-02-08T19:34:30Z whoman: yes Second Climacs it is under active dev 2018-02-08T19:34:31Z jackdaniel: or jump to source functionality 2018-02-08T19:34:55Z whoman: jackdaniel, well considering CL impls have debuggers. .. 2018-02-08T19:34:59Z thodg: i ditched paredit after a few weeks of it 2018-02-08T19:35:11Z whoman: and else if we are using emacs or slime to debug, why are we complaining ? 2018-02-08T19:35:27Z thodg: does nothing that 72 columns indented code cannot do 2018-02-08T19:35:30Z jackdaniel: whoman: there is a reason slime has sldb (and doesn't just bring implementation-specific console-based debugger) - it is better 2018-02-08T19:35:40Z whoman: serious? =) http://danmidwood.com/content/2014/11/21/animated-paredit.html 2018-02-08T19:36:17Z thodg: yup, very nice but not faster 2018-02-08T19:36:27Z whoman: i am happy and impressed with emacs, slime, paredit. 2018-02-08T19:36:30Z fourier: I like LW's Stepper tool as an editor, it saved me tons of time 2018-02-08T19:36:31Z thodg: especially if you have friends 2018-02-08T19:36:39Z fourier: editor -> debugger 2018-02-08T19:37:12Z thodg: so what if every intermediate step of compiling code was available in the VFS ? 2018-02-08T19:37:17Z aeth: thodg: Ime manual paren balancing once the ) matches a ( that's off the screen is imo too hard (although perhaps the solution is monitors in portrait mode instead of paredit... or length limits for functions) 2018-02-08T19:37:31Z whoman: didnt like it? do you move the cursor around with the arrow keys? backspace each letter of whole words? then dont worry about it..... 2018-02-08T19:37:40Z stacksmith: I'show you! I'll show you all! (stacksmith stomps away) 2018-02-08T19:37:45Z thodg: I never write anything beyond 72 columns, 50 lines 2018-02-08T19:37:59Z thodg: never more than one loop per function 2018-02-08T19:38:00Z whoman: you must have a lot of friends 2018-02-08T19:38:13Z thodg: do you expect people to read so much parenthesis ? 2018-02-08T19:38:20Z jackdaniel stomps away too, I can't keep at discussion pace sadly \o 2018-02-08T19:38:21Z whoman: paredit is worlds beyond "match parens" -- see link above. 2018-02-08T19:38:23Z rme left #lisp 2018-02-08T19:38:43Z aeth: thodg: I often find that it's easier to write a gigantic mess with 120 column long lines in places and a function that can easily be 120+ lines long. As long as it's refactored later. Start with something that works, then make it beautiful. 2018-02-08T19:38:44Z whoman: if you are "reading parens" then very much Doing It Wrong 2018-02-08T19:38:50Z thodg: so visual cortex became very good at programming too 2018-02-08T19:39:13Z thodg: aeth: i give a lot of long names 2018-02-08T19:39:20Z whoman: if you keep a layer between you and the computer then you will always be fighting with it 2018-02-08T19:39:45Z thodg: whoman: did you try TCL ? 2018-02-08T19:39:47Z stacksmith: whoman: that layer is call SWANK. Then there is emacs. 2018-02-08T19:40:03Z thodg: or smalltalk 2018-02-08T19:40:07Z whoman: yep and yep 2018-02-08T19:40:21Z thodg: they are very interesting IDE concerns from the smalltalk crowd 2018-02-08T19:40:26Z whoman: and Self and also CLIM 2018-02-08T19:40:38Z whoman: even GNUstep/OPENSTEP is nice 2018-02-08T19:41:04Z stacksmith: CLIM, sadly renders text in such an awful way that it is not usable. And that is just the start of its ugliness. 2018-02-08T19:41:05Z _death: aeth: start with something beautiful; make it work 2018-02-08T19:41:09Z thodg: i really like dwm, emacs, terms 2018-02-08T19:41:19Z whoman: using exwm now, emacs window manager =) 2018-02-08T19:41:35Z whoman: and eshell and firefox thats it . and hexchat 2018-02-08T19:41:37Z thodg: whoman: i'm looking for that sort of thing 2018-02-08T19:41:40Z aeth: _death: It really depends on the problem 2018-02-08T19:41:41Z thodg: one window per buffer ? 2018-02-08T19:41:45Z whoman: exwm is beautiful =( 2018-02-08T19:41:54Z whoman: yep C-x-b to switch around. s-[number] for workspace 2018-02-08T19:42:18Z _death: aeth: right.. but with practice it gets easier 2018-02-08T19:42:20Z thodg: you mean its a wm in elisp ? 2018-02-08T19:42:38Z whoman: thodg, yep. starts X, starts emacs, loads exwm. so if emacs quits, X restarts 2018-02-08T19:42:59Z thodg: that's not what i meant i have a tiling wm, so i would like emacs to not split buffers but make new windows 2018-02-08T19:43:02Z whoman: aside from WindowMaker its my favorite. i wish i knew about it when it was fresh. i wish things were always this way.. 2018-02-08T19:43:12Z whoman: what did you not mean... ?? 2018-02-08T19:43:13Z aeth: _death: The part that's easier to start ugly and then fix it is usually the part that would be equivalent to main() in a language with that convention. 2018-02-08T19:43:33Z whoman: X windows are emacs buffers. what else do you mean ? its a tiling wm 2018-02-08T19:43:41Z whoman: it handles floating windows just fine, though. 2018-02-08T19:43:47Z pjb: Nope. X windows are emacs frames. 2018-02-08T19:43:58Z whoman: then why can i split them 2018-02-08T19:44:01Z pjb: emacs buffers are open files. 2018-02-08T19:44:08Z whoman: okay what 2018-02-08T19:44:17Z pjb: and emacs buffers are displayed in emacs windows inside emacs frames. 2018-02-08T19:44:25Z _death: aeth: I think it's the part where uncertainty is great ("exploration mode") 2018-02-08T19:44:25Z whoman: C-x-2 now i've got 2 seperate X windows. those are each an emaccs window, in one emacs frame. dig ? 2018-02-08T19:44:33Z thodg: aeth: top-down then i guess 2018-02-08T19:44:44Z whoman sigh 2018-02-08T19:44:46Z thodg: i'm more bottom-up 2018-02-08T19:45:06Z aeth: thodg: I don't really think that either works when you get to a really large program. You kind of have to do both, simultaneously, and meet in the middle 2018-02-08T19:45:10Z thodg: whoman: that's exactly what i want 2018-02-08T19:45:25Z thodg: but it does not split terminals 2018-02-08T19:45:26Z whoman: yeah i know. lets not get confused 2018-02-08T19:45:39Z thodg: oh ok 2018-02-08T19:45:44Z whoman: sure it does. wait what? what *does* split terminals ? 2018-02-08T19:45:52Z whoman: other than a terminal app itself in tabs .. ?? 2018-02-08T19:46:07Z thodg: whoman: i don't know fork(1) ? 2018-02-08T19:46:19Z thodg: should work ;) 2018-02-08T19:46:22Z whoman: C-u M-x eshell then you have another shell. or run a bunch of xterms with s-& , etc 2018-02-08T19:46:36Z whoman: what =) 2018-02-08T19:46:59Z thodg: yeah i'll have a keyboard shortcut for that 2018-02-08T19:47:27Z whoman: thats cool. i made my own emacs welcome screen to launch apps and other things 2018-02-08T19:47:27Z _death: aeth: still I find wishful thinking very useful.. reminds me how oftentimes I wrote something top-down and others jump "but there's no definition for X".. yeah, that's what I'm going to write next.. both bottom-up and top-down are useful 2018-02-08T19:47:32Z whoman: (from org too) 2018-02-08T19:48:00Z shifty quit (Ping timeout: 256 seconds) 2018-02-08T19:48:00Z thodg: yeah you cannot constrain time top down 2018-02-08T19:48:09Z thodg: i start with what i have 2018-02-08T19:48:14Z thodg: no limit up 2018-02-08T19:48:30Z aeth: _death: On the other hand, it's very powerful to always have a working program... so a stub is probably better than undefined. 2018-02-08T19:48:38Z whoman: i honestly cannot tell the difference or discern between time and space 2018-02-08T19:48:43Z aeth: e.g. always return 42 in your RNG 2018-02-08T19:48:49Z thodg: yeah the question is wether to rewrite it or not 2018-02-08T19:48:54Z rme joined #lisp 2018-02-08T19:49:04Z thodg: i tend to avoid copy pasting from large blocks of code 2018-02-08T19:49:23Z whoman: at least its easier with pareidt 2018-02-08T19:49:33Z thodg: demands energy but energy is better spent on naming indermediate values 2018-02-08T19:49:54Z thodg: because you get readability that is 2018-02-08T19:50:03Z whoman: hmm... and future energy from maintaining two [near-] exact pieces of code in multiple places 2018-02-08T19:50:08Z thodg: and maybe more reusability 2018-02-08T19:50:32Z thodg: there is nothing near equal code, everything is huffman coded 2018-02-08T19:50:40Z whoman: got to know when to expand and fan out in complexity or pull in and compress into simplicity 2018-02-08T19:50:42Z thodg: using macros when needed 2018-02-08T19:50:47Z thodg: and a lot of defmethods 2018-02-08T19:51:09Z thodg: so with multiple dispatch, lisp could become a pattern engine easily 2018-02-08T19:51:23Z thodg: no more infix or suffix orders 2018-02-08T19:51:28Z whoman: its all just trees. meaning only happens on eval 2018-02-08T19:51:56Z thodg: whoman: yes but symbols give you way to graphs 2018-02-08T19:52:13Z thodg: if you study graphs it is very interesting for code analysis 2018-02-08T19:52:30Z thodg: young devs love graphs, and 3d 2018-02-08T19:55:01Z whoman: graphing lisp would be nice 2018-02-08T19:55:17Z daydayup__ quit (Remote host closed the connection) 2018-02-08T19:55:37Z daydayup__ joined #lisp 2018-02-08T19:56:26Z JuanDaugherty quit (Quit: Ex Chat) 2018-02-08T19:56:49Z vibs29 quit (Ping timeout: 248 seconds) 2018-02-08T19:57:29Z vtomole joined #lisp 2018-02-08T19:58:01Z vibs29 joined #lisp 2018-02-08T19:58:24Z milanj quit (Quit: This computer has gone to sleep) 2018-02-08T20:01:26Z fisxoj quit (Quit: fisxoj) 2018-02-08T20:02:52Z fikka quit (Ping timeout: 260 seconds) 2018-02-08T20:03:08Z damke joined #lisp 2018-02-08T20:05:37Z AxelAlex quit (Quit: AxelAlex) 2018-02-08T20:05:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-08T20:06:04Z dieggsy quit (Quit: brb) 2018-02-08T20:06:56Z dieggsy joined #lisp 2018-02-08T20:08:35Z fikka joined #lisp 2018-02-08T20:08:48Z EvW joined #lisp 2018-02-08T20:11:24Z warweasle: whoman: If you use cairo/pango you can do that pretty easily. 2018-02-08T20:11:49Z jmercouris joined #lisp 2018-02-08T20:13:18Z fourier quit (Ping timeout: 240 seconds) 2018-02-08T20:14:11Z fikka quit (Ping timeout: 256 seconds) 2018-02-08T20:18:45Z deng_cn quit (Read error: Connection reset by peer) 2018-02-08T20:20:12Z random-nick joined #lisp 2018-02-08T20:20:54Z deng_cn joined #lisp 2018-02-08T20:24:55Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-08T20:30:22Z JuanDaugherty joined #lisp 2018-02-08T20:31:44Z whoman: CLIM does it 2018-02-08T20:33:53Z Poeticode is now known as Poeticold 2018-02-08T20:43:45Z bandrami joined #lisp 2018-02-08T20:43:53Z fikka joined #lisp 2018-02-08T20:45:43Z bandrami quit (Remote host closed the connection) 2018-02-08T20:49:35Z JuanDaugherty quit (Ping timeout: 240 seconds) 2018-02-08T20:53:42Z didi joined #lisp 2018-02-08T20:56:08Z didi: OK, this is interesting: I'm used to use 'function and #'function as synonyms (except when using FLET), until `complement' barfed at me. 2018-02-08T20:57:00Z Bike: complement doesn't take function designators, huh? 2018-02-08T20:57:09Z didi: Bike: Seems like it. 2018-02-08T20:57:45Z didi: This is a little shocking. 2018-02-08T20:58:09Z Bike: well, you should try to use functions directly unless you have a reason not to, though 2018-02-08T20:58:15Z Bike: it's just cleaner avoiding those puns 2018-02-08T20:58:59Z didi: Bike: Right, right. 2018-02-08T21:00:38Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-02-08T21:00:51Z shka quit (Ping timeout: 268 seconds) 2018-02-08T21:00:54Z damke_ joined #lisp 2018-02-08T21:00:57Z dlowe: I kind of like my redefinitions to have effect 2018-02-08T21:01:07Z Bike: that's a reason 2018-02-08T21:01:52Z didi: dlowe: This is why I chose to use function designators. Makes it easier to program in an dynamic environment 2018-02-08T21:02:35Z didi: But this error popped from the inner workings of my program. It scared me a little. 2018-02-08T21:02:58Z dlowe: that is a bit surprising. 2018-02-08T21:03:21Z damke quit (Ping timeout: 264 seconds) 2018-02-08T21:04:09Z dlowe: the clhs contradicts itself on this - the argument list says it takes only a function 2018-02-08T21:04:15Z dlowe: but the notes say (complement x) == #'(lambda (&rest arguments) (not (apply x arguments))) 2018-02-08T21:04:33Z dlowe: and apply takes a function designator 2018-02-08T21:04:41Z dlowe shrugs. 2018-02-08T21:04:46Z Bike: notes aren't normative 2018-02-08T21:04:57Z Bike: but yes, that's a mistake 2018-02-08T21:07:16Z dlowe: the X3J13 cleanup note has a joke in it http://www.lispworks.com/documentation/HyperSpec/Issues/iss172_w.htm 2018-02-08T21:07:36Z dlowe: but the examples there for adding COMPLEMENT both use #' 2018-02-08T21:07:45Z smurfrobot joined #lisp 2018-02-08T21:07:46Z dlowe: so that's probably its intended use 2018-02-08T21:10:01Z joast quit (Quit: Leaving.) 2018-02-08T21:11:50Z scymtym quit (Ping timeout: 255 seconds) 2018-02-08T21:14:17Z impulse quit (Ping timeout: 265 seconds) 2018-02-08T21:14:49Z SamSkulls quit (Ping timeout: 256 seconds) 2018-02-08T21:15:43Z impulse joined #lisp 2018-02-08T21:16:46Z ikki joined #lisp 2018-02-08T21:17:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-08T21:19:05Z stacksmith: Does anyone know of a CL function or a macro that uses &aux? 2018-02-08T21:19:28Z Bike: you mean one in the standard? 2018-02-08T21:19:39Z Bike: &aux isn't part of the external api, so 2018-02-08T21:19:44Z smurfrobot quit (Remote host closed the connection) 2018-02-08T21:19:50Z stacksmith: Bike: or any? 2018-02-08T21:19:59Z pjb: stacksmith: find ~/quicklisp -type f -name \*.lisp -exec grep -nHi '&aux' {} + 2018-02-08T21:20:28Z fikka joined #lisp 2018-02-08T21:20:33Z dlowe: 127 in sbcl 2018-02-08T21:20:42Z dlowe: it's not a common thing to use 2018-02-08T21:21:24Z stacksmith: dlowe: could you point one out? 2018-02-08T21:21:31Z stacksmith: Bike: what do you mean by 2018-02-08T21:21:36Z stacksmith: 'external api' 2018-02-08T21:21:52Z Bike: well, i mean, if a function lambda list is (foo bar) you know it takes two arguments, and you have to know that to call it. 2018-02-08T21:22:06Z pjb: Basically the only case where it's necessary, is in defstruct for boa constructors, and the only case where it's easier to use is in macros, to avoid having to parse and re-generate declarations. 2018-02-08T21:22:06Z nirved quit (Quit: Leaving) 2018-02-08T21:22:20Z dlowe: (defun output-vector (vector stream &aux (readably *print-readably*)) ...) 2018-02-08T21:22:22Z Bike: if it's (foo bar &aux baz) then it still takes two arguments and that's still how you call it; the &aux is irrelevant to the caller. 2018-02-08T21:22:38Z pjb: On other cases, it can be admited when you hesitate between parameter and computed value… 2018-02-08T21:23:09Z random-nick quit (Remote host closed the connection) 2018-02-08T21:23:27Z bigblind joined #lisp 2018-02-08T21:24:13Z stacksmith: dlowe: what package is output-vector? 2018-02-08T21:24:32Z terpri quit (Ping timeout: 260 seconds) 2018-02-08T21:25:53Z dlowe: stacksmith: you can easily find that out with (apropos "output-vector") 2018-02-08T21:26:22Z Bike: (defun factorial (n &aux accum) (dotimes (i n accum) (setf accum (* (1+ i) accum)))) is a function using &aux, don't know if it's what you have in mind though 2018-02-08T21:26:53Z stacksmith: dlowe: thanks, I was doing (apropos 'output-vector). My bad, as they say. 2018-02-08T21:26:54Z ikki quit (Quit: Leaving) 2018-02-08T21:27:38Z stacksmith: dlowe: I don't seem to have output-vector... Hmm. 2018-02-08T21:28:00Z dlowe: SB-IMPL::OUTPUT-VECTOR (fbound) 2018-02-08T21:28:17Z bigblind left #lisp 2018-02-08T21:28:45Z ig88th joined #lisp 2018-02-08T21:29:01Z stacksmith: dlowe: My SBCL does not have it ?! 2018-02-08T21:29:17Z Bike: mine neither. might be a version difference. 2018-02-08T21:29:19Z ig88th: Xach: is there anything I can do to help you fix the issues with quickproject on Windows? 2018-02-08T21:29:21Z dlowe: stacksmith: are you using a packaged sbcl? 2018-02-08T21:29:40Z stacksmith: dlowe: I've been using a roswell'ed sbcl lately. 2018-02-08T21:29:56Z XachX: ig88th: hi! 2018-02-08T21:30:04Z dlowe: oh, it's me who was looking at the old version :D 2018-02-08T21:30:21Z didi: I have `SB-IMPL::OUTPUT-VECTOR". 2018-02-08T21:30:40Z ig88th: XachX: I am a bit new to cl so not sure if I can be of that much help 2018-02-08T21:30:57Z didi: Lambda list: (vector stream &aux (readably *print-readably*)) 2018-02-08T21:31:00Z sunwukong joined #lisp 2018-02-08T21:31:22Z Bike: what do you want to know about aux, stacksmith? 2018-02-08T21:32:41Z impulse is now known as Guest14820 2018-02-08T21:32:52Z JuanDaugherty joined #lisp 2018-02-08T21:32:53Z random-nick joined #lisp 2018-02-08T21:32:54Z dddddd joined #lisp 2018-02-08T21:32:59Z Xach: ig88th: well, yesterday you listened and tried things for me, that is super-helpful 2018-02-08T21:33:15Z Xach: ig88th: can you paste the contents of your ~/quicklisp/local-projects/system-index.txt file? 2018-02-08T21:33:20Z Xach: (to gist or something) 2018-02-08T21:33:25Z stacksmith: Bike: I am curious if &aux shows up in the lambda-lists stored by various implementations... 2018-02-08T21:34:17Z ig88th: Xach: right now it's just 'test/system.asd test2/system.asd' 2018-02-08T21:34:33Z ig88th: I got rid of a bunch I made last night trying to test variations 2018-02-08T21:34:43Z Bike: probbly does, just cos it's easier to not remove it 2018-02-08T21:35:08Z Bike: on sbcl if i do (defun foo (&aux x) x) and theN (describe 'foo) the lambda list with &aux comes up 2018-02-08T21:36:05Z stacksmith: Bike: I imagine it does, as it introduces bindings inside the function/macro... 2018-02-08T21:36:20Z ig88th: Xach: do you want me to test your queries using SBCL or CCL? 2018-02-08T21:36:25Z Bike: yeah, but like i said, it doesn't really matter to the caller 2018-02-08T21:37:00Z ig88th: SBCL seems to work for creating and reading quickproject created projects, ccl not so much. I updated my question on StackOverflow: https://stackoverflow.com/questions/48675274/when-installing-quicklisp-on-windows-10-where-should-i-put-config-common-lis 2018-02-08T21:37:07Z stacksmith: Bike: agreed, as it is not an argument, but is a parameter. 2018-02-08T21:37:23Z Bike: it's not even a parameter, really 2018-02-08T21:37:40Z Bike: you can replace any &aux with a let form in the body 2018-02-08T21:37:57Z stacksmith: Bike: it is a weird thing like :allow-other-keys argument, which is an argument but not a parameter? 2018-02-08T21:38:05Z Xach: ig88th: oh, if sbcl works, there is nothing to explore today. 2018-02-08T21:38:08Z Bike: errrr 2018-02-08T21:38:18Z Xach: ig88th: i know the issue with ccl. last night it seemed like something in sbcl wasn't working as it should. 2018-02-08T21:38:26Z Bike: i'm not sure what you mean, precisely 2018-02-08T21:38:49Z Bike: all i'm saying is that whether or not there's &aux is irrelevant to, for example, how many arguments a function can validly receive, or the forms of those arguments 2018-02-08T21:38:51Z ig88th: yeah SBCL can create a working project using quickproject, but after I restart slime I can't load the project 2018-02-08T21:39:11Z ig88th: Xach: yeah SBCL can create a working project using quickproject, but after I restart slime I can't load the project 2018-02-08T21:39:21Z stacksmith: Bike: assuming the terminology is argument is the thing in the invocation, and parameter is the thing that describes it in the lambda-list. 2018-02-08T21:39:34Z Bike: right 2018-02-08T21:39:37Z Xach: ig88th: oh right, that is not as it should be. 2018-02-08T21:39:39Z Bike: but &aux doesn't describe any arguments 2018-02-08T21:40:12Z vlatkoB quit (Remote host closed the connection) 2018-02-08T21:40:18Z voidlily quit (Ping timeout: 240 seconds) 2018-02-08T21:40:29Z Xach: ig88th: oh, I think I know the issue with that, too, maybe - I think it's differing line-ending conventions when running sbcl vs ccl on windows. 2018-02-08T21:40:53Z ig88th: Xach: you mean CRLF? 2018-02-08T21:41:03Z Xach: ig88th: so when ccl creates the index file, sbcl can't read it. and/or vice versa. 2018-02-08T21:41:04Z stacksmith: Bike: right, but it is in the parameter list... while :allow-other-keys is not in the parameter list but is a valid argument if &key is enabled. 2018-02-08T21:41:11Z Xach: ig88th: yes, sbcl uses unix line-endings on windows IIRC. 2018-02-08T21:41:12Z smurfrobot joined #lisp 2018-02-08T21:41:18Z Bike: it is in the lambda list, yes 2018-02-08T21:41:54Z ig88th: Xach: I know ccl can't read what it creates, and SBCL can read what it creates (for that session), but I haven't tested them against each others quickprojects if you know what I mean 2018-02-08T21:42:12Z stacksmith: Bike: anyway, it's not important. I just wanted to know if SBCL ever shows it in the lambda-lists it stores. 2018-02-08T21:42:22Z Bike: ok, well, it does, so there you go 2018-02-08T21:42:22Z Xach: ig88th: one quick way to test is to clear out quicklisp/local-projects/ and make a new project in there with sbcl, then restart and see if it's still loadable. 2018-02-08T21:42:25Z Murii quit (Quit: WeeChat 1.4) 2018-02-08T21:42:59Z stacksmith: Thanks! 2018-02-08T21:43:00Z Xach: ig88th: without running ccl in between 2018-02-08T21:43:46Z ig88th: Xach: one thing I have noticed is that sbcl creates ~\AppData\Roaming\quicklisp\local-projects as well as ~\quicklisp\local-projects 2018-02-08T21:43:51Z ig88th: so I will clear both of those out 2018-02-08T21:44:21Z ig88th: Xach: should I delete system-index as well? 2018-02-08T21:44:42Z Xach: ig88th: why do you say that sbcl creates both? 2018-02-08T21:44:48Z Xach: ig88th: what suggests to you that sbcl did it? 2018-02-08T21:45:02Z ig88th: Xach: I am unsure in all honesty, it might have been CCL 2018-02-08T21:45:13Z ig88th: but should I delete system-index in both? 2018-02-08T21:45:19Z Xach: ig88th: what do you get in sbcl from (user-homedir-pathname)? 2018-02-08T21:45:35Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-08T21:45:53Z ig88th: Xach: #P"C:/Users/ig88t/" 2018-02-08T21:45:54Z dddddd quit (Quit: Hasta otra..) 2018-02-08T21:46:16Z dddddd joined #lisp 2018-02-08T21:46:55Z Xach: that is the one to reference for this purpose. remove everything in the quicklisp/local-projects/ directory in there, including the index file. 2018-02-08T21:46:57Z rumbler31: I'm pretty sure that ccl defaults to :unix line endings on all platforms 2018-02-08T21:47:11Z rumbler31: unless that changed in the last few years 2018-02-08T21:49:15Z ikki joined #lisp 2018-02-08T21:50:22Z ig88th: Xach: okay I deleted everything and created another ~\quicklisp\local-projects\test project and it can't be loaded by sbcl after restarting the session 2018-02-08T21:52:46Z z3t0 joined #lisp 2018-02-08T21:52:56Z z3t0: hey all, I am trying to extract some information from a list 2018-02-08T21:53:11Z z3t0: I am using (cdr (car (cdr (cadr e)))) 2018-02-08T21:53:15Z nowhereman_ joined #lisp 2018-02-08T21:53:28Z didi: z3t0: Use abstractions. 2018-02-08T21:53:34Z z3t0: Is there some way to make this neater? I thought of trying (caddar) but that didn't work 2018-02-08T21:53:40Z z3t0: didi: how do you mean? 2018-02-08T21:53:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-08T21:54:28Z scymtym joined #lisp 2018-02-08T21:54:48Z didi: z3t0: Like, if I have a conceptual xy-point made of a cons cell, like (X . Y), I would use (point-x point) to retrieve X, and not (car point). 2018-02-08T21:55:20Z z3t0: But wouldn't I end up moving the same code else where anyways? ie. the car/cdr calls 2018-02-08T21:55:59Z didi: z3t0: Indeed. But it is neater. Also, you could change the representation later, and not have to change every call. 2018-02-08T21:56:00Z _death left #lisp 2018-02-08T21:56:07Z z3t0: Ah I see, thanks. 2018-02-08T21:57:02Z fikka joined #lisp 2018-02-08T21:57:18Z python476 quit (Ping timeout: 240 seconds) 2018-02-08T22:01:45Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-02-08T22:02:14Z Karl_Dscc joined #lisp 2018-02-08T22:05:35Z dieggsy quit (Ping timeout: 276 seconds) 2018-02-08T22:07:58Z nowhereman_ quit (Ping timeout: 256 seconds) 2018-02-08T22:09:08Z z3t0 quit (Remote host closed the connection) 2018-02-08T22:09:40Z sjl: it also plays more nicely with things like TRACE 2018-02-08T22:09:41Z z3t0 joined #lisp 2018-02-08T22:10:09Z ig88th: Xach: is there anything else I can do for you? 2018-02-08T22:10:29Z smurfrobot joined #lisp 2018-02-08T22:13:38Z daydayup__ quit (Ping timeout: 256 seconds) 2018-02-08T22:13:58Z z3t0 quit (Ping timeout: 252 seconds) 2018-02-08T22:15:27Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-08T22:15:36Z asarch quit (Quit: Leaving) 2018-02-08T22:16:44Z daydayup__ joined #lisp 2018-02-08T22:17:10Z aindilis quit (Ping timeout: 260 seconds) 2018-02-08T22:17:11Z Xach: ig88th: can you paste your system-index.txt? 2018-02-08T22:20:23Z ig88th: Xach: after deleting everything and running (quickproject:make-project "~/quicklisp/local-projects/test/" :depends-on '(vecto)) it generated a folder called test in ~\AppData\Roaming\quicklisp\local-projects but not in ~\quicklisp\local-projects 2018-02-08T22:21:24Z hiroaki joined #lisp 2018-02-08T22:21:48Z ig88th: Xach: ~\AppData\Roaming\quicklisp\local-projects does not have a system-index.txt, and the one in ~\quicklisp\local-projects is empty (just an empty text file) 2018-02-08T22:22:07Z Xach: ig88th: ok, that is surely a puzzler. 2018-02-08T22:23:01Z ig88th: Xach: also it seems that SBCl uses \AppData\Roaming\quicklisp\local-projects 2018-02-08T22:23:21Z ig88th: Xach: in case it was not clear 2018-02-08T22:24:28Z Xach: ig88th: what do you mean by "uses"? 2018-02-08T22:24:44Z nowhereman_ joined #lisp 2018-02-08T22:25:14Z ig88th: Xach: I mean that SBCl creates projects inside of ~\AppData\Roaming\quicklisp\local-projects instead of ~/quicklisp/ocal-projects\ 2018-02-08T22:25:34Z ig88th: Xach: I mean that SBCl creates projects inside of ~\AppData\Roaming\quicklisp\local-projects instead of ~\quicklisp\local-projects\ (sorry, hit enter by accident) 2018-02-08T22:25:58Z Xach: ig88th: For this most recent experiment, have you been using sbcl all along? 2018-02-08T22:26:06Z ig88th: Xach: yes 2018-02-08T22:26:09Z hiroaki quit (Ping timeout: 248 seconds) 2018-02-08T22:26:22Z nowhere_man joined #lisp 2018-02-08T22:26:52Z Xach: ig88th: what version of sbcl are you using? (lisp-implementation-version) will tell you... 2018-02-08T22:27:27Z ig88th: Xach: 1.4.2 2018-02-08T22:27:30Z epony quit (Quit: QUIT) 2018-02-08T22:27:49Z Xach: ig88th: what do you get from (truename "~/quicklisp/local-projects/test/")? 2018-02-08T22:28:18Z ig88th: Xach: I get #P"C:/Users/ig88t/AppData/Roaming/quicklisp/local-projects/test/" 2018-02-08T22:28:39Z Xach: ig88th: what do you get from (user-homedir-pathname) again? 2018-02-08T22:29:01Z ig88th: Xach: #P"C:/Users/ig88t/AppData/Roaming/" 2018-02-08T22:29:23Z Xach: ig88th: that's different from what you wrote earlier - has it changed somehow? 2018-02-08T22:29:41Z ig88th: Xach: I think the different one must have been from CCL... let me check 2018-02-08T22:29:53Z nowhereman_ quit (Ping timeout: 248 seconds) 2018-02-08T22:30:46Z milanj joined #lisp 2018-02-08T22:30:56Z sunwukong quit (Ping timeout: 276 seconds) 2018-02-08T22:32:58Z sjl__ joined #lisp 2018-02-08T22:33:02Z ig88th: Xach: CCL is #P"C:/Users/ig88t/" but SBCl is #P"C:/Users/ig88t/AppData/Roaming/" 2018-02-08T22:34:03Z Xach: ig88th: in sbcl, what do you have for ql:*local-project-directories*? 2018-02-08T22:34:14Z porky11 joined #lisp 2018-02-08T22:34:38Z ig88th: Xach: (#P"C:/Users/ig88t/quicklisp/local-projects/") 2018-02-08T22:35:07Z sjl quit (Ping timeout: 260 seconds) 2018-02-08T22:35:08Z Xach: ig88th: how do you load quicklisp into sbcl? 2018-02-08T22:36:01Z ig88th: Xach: the ql:add-to-init-file which adds this: https://gist.github.com/ig88th/e8c618fbae7e02ef5726456886c46215 2018-02-08T22:36:04Z Xach: things are getting a little clearer to me 2018-02-08T22:36:30Z Xach: ok, now a little murkier 2018-02-08T22:37:58Z Xach: what do you have for ql-setup:*quicklisp-home*? 2018-02-08T22:38:23Z ig88th: Xach: #P"C:/Users/ig88t/quicklisp/" 2018-02-08T22:38:45Z dim: after a day of Python and C (and make) hacking some lisp at night feels pretty good, just saying ;-) 2018-02-08T22:39:08Z quazimodo joined #lisp 2018-02-08T22:40:20Z klltkr joined #lisp 2018-02-08T22:40:54Z Xach: ig88th: what do you get from (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pathname)) ? 2018-02-08T22:41:45Z ig88th: Xach: #P"C:/Users/ig88t/AppData/Roaming/quicklisp/setup.lisp" 2018-02-08T22:42:03Z Xach: ig88th: does that file exist? 2018-02-08T22:42:31Z hiroaki joined #lisp 2018-02-08T22:42:42Z zooey quit (Ping timeout: 255 seconds) 2018-02-08T22:42:42Z lnostdal quit (Ping timeout: 255 seconds) 2018-02-08T22:43:05Z dtornabene joined #lisp 2018-02-08T22:43:10Z GuilOooo_ quit (Ping timeout: 240 seconds) 2018-02-08T22:43:18Z GuilOooo joined #lisp 2018-02-08T22:43:53Z lnostdal joined #lisp 2018-02-08T22:44:43Z Baggers quit (Quit: b) 2018-02-08T22:44:45Z zooey joined #lisp 2018-02-08T22:44:59Z fourier joined #lisp 2018-02-08T22:44:59Z jmercouris quit (Ping timeout: 255 seconds) 2018-02-08T22:45:07Z sjl__ is now known as sjl 2018-02-08T22:45:14Z ig88th: Xach: you are onto something; ~\AppData\Roaming\quicklisp\setup.lisp does not exist 2018-02-08T22:45:40Z Xach: ig88th: it seems like the .sbclrc bit you paste is not actually getting used 2018-02-08T22:45:47Z Xach: maybe quicklisp is loading some other way? 2018-02-08T22:45:52Z Xach: (pasted) 2018-02-08T22:46:04Z smurfrobot joined #lisp 2018-02-08T22:46:09Z daydayup_ joined #lisp 2018-02-08T22:46:10Z daydayup__ quit (Ping timeout: 240 seconds) 2018-02-08T22:47:11Z ig88th: Xach: what else can I do to be of service? 2018-02-08T22:48:10Z Xach: ig88th: well, quicklisp is (somehow) getting loaded from C:/users/ig88t/quicklisp/setup.lisp. It would help to dig around and see how. 2018-02-08T22:48:20Z Xach: ig88th: do you use slime? is it maybe baked into your slime lisp command? 2018-02-08T22:48:46Z rumbler31: windows and emacs disagree about where the home directory is, i've been bitten by that before 2018-02-08T22:48:51Z Xach: Where is your .sbclrc? Is there more to it you didn't paste? Is there more than one .sbclrc? How did you get sbcl? 2018-02-08T22:49:12Z ig88th: I am using slime provided by (load (expand-file-name (concat default-directory "/quicklisp/slime-helper.el"))) from quicklisp-slime-helper 2018-02-08T22:50:34Z ig88th: Xach: my .sbclrc is located at ~\. I got sbcl through this link: https://sourceforge.net/projects/sbcl/files/sbcl/1.4.2/sbcl-1.4.2-x86-64-windows-binary.msi/download?use_mirror=svwh 2018-02-08T22:51:43Z Xach: ig88th: what do you get from (probe-file "~/.sbclrc")? 2018-02-08T22:52:19Z ig88th: #P"C:/Users/ig88t/AppData/Roaming/.sbclrc" 2018-02-08T22:52:38Z Cymew joined #lisp 2018-02-08T22:52:51Z fourier quit (Ping timeout: 256 seconds) 2018-02-08T22:53:04Z Xach: What's in that file? 2018-02-08T22:53:24Z ig88th: Xach: it also contains a file called .sbclrc that has these contents: https://gist.github.com/ig88th/1b6b058a1c05d08af04031ed4555436f 2018-02-08T22:53:44Z Xach: Well, bob is like unto your uncle 2018-02-08T22:53:57Z Xach: Mystery solved 2018-02-08T22:54:16Z ig88th: Xach: I guess I missed something. How is it solved? 2018-02-08T22:55:23Z Xach: ig88th: quicklisp's home is in /Users/ig88t/quicklisp/ which is not what sbcl thinks of as ~/quicklisp/. So when you work with ~/quicklisp/local-projects/ in sbcl it is not the one that is known to quicklisp automagically. 2018-02-08T22:55:48Z Xach: ig88th: you would have better quickproject luck by using (quickproject:make-project "/Users/ig88t/quicklisp/local-projects/myproject/") 2018-02-08T22:56:57Z Cymew quit (Ping timeout: 240 seconds) 2018-02-08T22:57:24Z rumbler31 quit (Ping timeout: 268 seconds) 2018-02-08T22:57:35Z z3t0 joined #lisp 2018-02-08T22:58:37Z Xach: So there are some ways out of the hassle. If you stick with ccl (which is good) you could just not use quickproject until the fix is released later this month. It's not too hard to just make .asd and other files directly. 2018-02-08T22:58:57Z Xach: If you switch to sbcl it would help to move the quicklisp installation into what quicklisp thinks of as ~/quicklisp/ 2018-02-08T22:59:14Z Xach: Not strictly necessary, but would make ~/quicklisp work more conveniently 2018-02-08T22:59:46Z ig88th: Xach: that fix works! I can now load projects created previous to the current session 2018-02-08T22:59:50Z smurfrobot quit (Remote host closed the connection) 2018-02-08T23:00:05Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2018-02-08T23:00:13Z klltkr quit (Ping timeout: 256 seconds) 2018-02-08T23:00:17Z ig88th: Xach: thank you for your time in debugging this 2018-02-08T23:00:20Z Ukari joined #lisp 2018-02-08T23:00:24Z damke joined #lisp 2018-02-08T23:00:51Z Ukari quit (Client Quit) 2018-02-08T23:01:25Z Xach: I live to serve 2018-02-08T23:03:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-08T23:05:13Z z3t0 quit (Remote host closed the connection) 2018-02-08T23:05:35Z Karl_Dscc quit (Remote host closed the connection) 2018-02-08T23:05:57Z makomo joined #lisp 2018-02-08T23:08:21Z iqubic joined #lisp 2018-02-08T23:08:27Z drmeister: Hey folks - does anyone do Javascript programming for developing interactive web based apps? I'd like to talk to someone about developing the browser side (Javascript code) to implement some new jupyter widgets that would work with our cl-jupyter kernel. 2018-02-08T23:08:34Z ig88th: Xach: thanks again for creating quicklisp, it is really helpful 2018-02-08T23:09:42Z zooey quit (Ping timeout: 255 seconds) 2018-02-08T23:10:27Z Shinmera: drmeister: I do, but I like to do as little of it as I possibly can, so probably not the right person for this. 2018-02-08T23:10:36Z lnostdal quit (Ping timeout: 255 seconds) 2018-02-08T23:10:42Z iqubic: What project should I start on to get better at lisp? 2018-02-08T23:10:50Z Shinmera: One that interests you 2018-02-08T23:11:09Z drmeister: Shinmera: Hi - well - you know the basics - wanna talk over in #clasp? 2018-02-08T23:11:19Z Shinmera: Sure 2018-02-08T23:11:25Z drmeister: I've got to go to dinner soon and shake my money maker - so 10 min or so. 2018-02-08T23:11:36Z iqubic: Shinmera: the only things that interest me are rather complex. 2018-02-08T23:11:52Z Shinmera: drmeister: Well it's past midnight for me, so let's do this tomorrow 2018-02-08T23:12:02Z Shinmera: iqubic: Don't see the problem 2018-02-08T23:12:10Z drmeister: Shinmera: Oh - sure - I'll talk to you tomorrow then. 2018-02-08T23:14:02Z iqubic: Shinmera: I want to work on making a neural network with perceptrons and such, but that is too advanced 2018-02-08T23:15:14Z Shinmera: Afaiu neural nets and perceptrons are well defined, so just implement the algorithms 2018-02-08T23:15:42Z Bike: yeah, perceptrons are simple. teaching them is less simple, but it's still not too bad 2018-02-08T23:15:42Z iqubic: I'll try that. 2018-02-08T23:16:18Z z3t0 joined #lisp 2018-02-08T23:16:29Z iqubic: why do you say teaching them is hard? 2018-02-08T23:16:55Z Shinmera: As with anything in neural nets, getting them to actually learn anything useful is the hard part. 2018-02-08T23:16:57Z Bike: it's not hard, it's just a more complicated algorithm 2018-02-08T23:17:05Z z3t0 quit (Remote host closed the connection) 2018-02-08T23:17:08Z random-nick quit (Read error: Connection reset by peer) 2018-02-08T23:17:09Z iqubic: Also, do I need CLOS for storing the weights and inputs properly? 2018-02-08T23:17:11Z z3t0 joined #lisp 2018-02-08T23:17:23Z Bike: perceptrons themselves are just weighted sums through whatever function 2018-02-08T23:17:29Z Shinmera: You don't "need" clos, but it would be an obvious choice 2018-02-08T23:17:44Z iqubic: I have no idea how clos works. 2018-02-08T23:17:52Z iqubic: Weighted sum. 2018-02-08T23:17:57Z Shinmera: Just read the PCL chapters 2018-02-08T23:18:04Z iqubic: I'll try that out. 2018-02-08T23:18:37Z z3t0 quit (Remote host closed the connection) 2018-02-08T23:19:18Z iqubic: Is there a difference between lispy and paredit? 2018-02-08T23:19:37Z whoman: yes 2018-02-08T23:19:58Z Ukari joined #lisp 2018-02-08T23:20:47Z whoman: i wonder if there is a lisp diff. but diffing the source files will reveal the precise and accurate by science differences between the two, every byte of their existence 2018-02-08T23:21:02Z z3t0 joined #lisp 2018-02-08T23:21:04Z iqubic: Is one of them better than the other. I notice that lispy has evil bindings via evil-lispy. I use evil, so I am more inclined to use that, 2018-02-08T23:21:16Z whoman: there is also "lisp at the speed of thought". i tried lispy and that one but, i returned to paredit because i didnt feel like learning somethuing new 2018-02-08T23:21:44Z whoman: paredit might have evil bindings, but that would be a good criteria for choosing lispy 2018-02-08T23:21:57Z terpri joined #lisp 2018-02-08T23:22:15Z whoman: we will go insane if we try to learn everything. information overload 2018-02-08T23:22:26Z Ukari: the symbol is weird, i use a temp variable in function but why the symbol could found in package 2018-02-08T23:22:52Z whoman: setq lexical-binding t 2018-02-08T23:22:59Z whoman: =P ? 2018-02-08T23:23:45Z Ukari: (defun test1() (let ((temp 1)) (symbol-value (find-symbol "TEMP" "CL-USER")))) 2018-02-08T23:23:55Z zooey joined #lisp 2018-02-08T23:24:18Z iqubic: What is the point of Evil-Adjust? https://github.com/troyp/evil-adjust 2018-02-08T23:24:18Z didi: Once the symbol is read, it is interned. 2018-02-08T23:24:46Z Ukari: whoman, wangyin has made a diff for scheme 2018-02-08T23:25:19Z Ukari: but temp don't hava a symbol-value 2018-02-08T23:25:54Z Ukari: what is it meaning to alloc a symbol for variable temp 2018-02-08T23:26:57Z didi: Ukari: This is an interesting question. Lexical variables are different than global ones. There is a cool excerpt about it in PAIP. 2018-02-08T23:27:46Z Ukari: if a define a function test2 like test1, there still only one symbol "TEMP" but it don't tell any detail meaningful information 2018-02-08T23:28:09Z Ukari: -> if I define 2018-02-08T23:28:12Z didi: Ukari: I don't have the necessary skills to explain it to you, unfortunately. Maybe someone else can jump in. 2018-02-08T23:28:14Z Rawriful quit (Quit: WeeChat 1.4) 2018-02-08T23:28:26Z hiroaki quit (Ping timeout: 256 seconds) 2018-02-08T23:29:29Z didi makes a note to re-read that excerpt 2018-02-08T23:30:15Z Ukari: whoman, its name is ydiff, diff stuff in ast, support c++, js, lisp 2018-02-08T23:30:53Z joast joined #lisp 2018-02-08T23:32:14Z vtomole quit (Ping timeout: 260 seconds) 2018-02-08T23:32:58Z joast quit (Client Quit) 2018-02-08T23:35:23Z fikka quit (Ping timeout: 255 seconds) 2018-02-08T23:37:10Z vtomole joined #lisp 2018-02-08T23:42:35Z daydayup_ quit (Ping timeout: 240 seconds) 2018-02-08T23:43:01Z joast joined #lisp 2018-02-08T23:43:27Z lnostdal joined #lisp 2018-02-08T23:44:08Z z3t0 quit (Remote host closed the connection) 2018-02-08T23:44:53Z fikka joined #lisp 2018-02-08T23:47:34Z smurfrobot joined #lisp 2018-02-08T23:48:03Z z3t0 joined #lisp 2018-02-08T23:51:53Z z3t0 quit (Remote host closed the connection) 2018-02-08T23:52:50Z smurfrobot quit (Ping timeout: 260 seconds) 2018-02-08T23:53:22Z mishoo_ quit (Ping timeout: 256 seconds) 2018-02-08T23:54:19Z z3t0 joined #lisp 2018-02-08T23:55:50Z z3t0 quit (Remote host closed the connection) 2018-02-08T23:59:33Z z3t0 joined #lisp 2018-02-09T00:01:45Z damke_ joined #lisp 2018-02-09T00:03:01Z z3t0 quit (Remote host closed the connection) 2018-02-09T00:03:46Z z3t0 joined #lisp 2018-02-09T00:04:33Z damke quit (Ping timeout: 264 seconds) 2018-02-09T00:05:10Z z3t0 quit (Remote host closed the connection) 2018-02-09T00:06:46Z voidlily joined #lisp 2018-02-09T00:09:16Z aindilis joined #lisp 2018-02-09T00:10:17Z z3t0 joined #lisp 2018-02-09T00:13:16Z Ukari quit (Remote host closed the connection) 2018-02-09T00:13:41Z z3t0 quit (Remote host closed the connection) 2018-02-09T00:14:06Z ckonstanski quit (Remote host closed the connection) 2018-02-09T00:18:20Z Ukari joined #lisp 2018-02-09T00:18:52Z fikka quit (Ping timeout: 256 seconds) 2018-02-09T00:19:14Z LiamH quit (Quit: Leaving.) 2018-02-09T00:19:26Z voidlily quit (Ping timeout: 256 seconds) 2018-02-09T00:22:46Z heurist__ joined #lisp 2018-02-09T00:23:04Z voidlily joined #lisp 2018-02-09T00:23:48Z heurist`_` quit (Ping timeout: 240 seconds) 2018-02-09T00:26:27Z al-damiri quit (Quit: Connection closed for inactivity) 2018-02-09T00:28:04Z fikka joined #lisp 2018-02-09T00:29:03Z heurist joined #lisp 2018-02-09T00:31:59Z nowhere_man quit (Read error: Connection reset by peer) 2018-02-09T00:32:00Z heurist__ quit (Ping timeout: 248 seconds) 2018-02-09T00:32:18Z damke joined #lisp 2018-02-09T00:32:19Z nowhere_man joined #lisp 2018-02-09T00:34:18Z rumbler31 joined #lisp 2018-02-09T00:34:40Z EvW quit (Ping timeout: 240 seconds) 2018-02-09T00:35:09Z damke_ quit (Ping timeout: 264 seconds) 2018-02-09T00:38:27Z pagnol quit (Ping timeout: 256 seconds) 2018-02-09T00:42:44Z pagnol joined #lisp 2018-02-09T00:43:03Z pierpa joined #lisp 2018-02-09T00:44:02Z markong quit (Ping timeout: 260 seconds) 2018-02-09T00:47:04Z python476 joined #lisp 2018-02-09T00:48:24Z aindilis quit (Ping timeout: 268 seconds) 2018-02-09T00:52:05Z pagnol quit (Ping timeout: 240 seconds) 2018-02-09T00:52:47Z dendisuhubdy joined #lisp 2018-02-09T01:00:40Z wmannis joined #lisp 2018-02-09T01:01:53Z fikka quit (Ping timeout: 248 seconds) 2018-02-09T01:03:14Z vtomole quit (Ping timeout: 260 seconds) 2018-02-09T01:04:08Z Tobbi quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-09T01:11:06Z wmannis quit (Quit: wmannis) 2018-02-09T01:12:11Z thodg: it's just a let sugar right ? 2018-02-09T01:12:18Z thodg: &aux 2018-02-09T01:14:26Z fikka joined #lisp 2018-02-09T01:18:16Z smurfrobot joined #lisp 2018-02-09T01:21:06Z dendisuhubdy quit 2018-02-09T01:30:20Z Ukari quit (Remote host closed the connection) 2018-02-09T01:34:51Z smurfrobot quit (Remote host closed the connection) 2018-02-09T01:40:54Z jdz quit (Ping timeout: 256 seconds) 2018-02-09T01:43:29Z fikka quit (Ping timeout: 248 seconds) 2018-02-09T01:45:39Z jdz joined #lisp 2018-02-09T01:47:05Z JuanDaugherty quit (Ping timeout: 240 seconds) 2018-02-09T01:50:23Z shifty joined #lisp 2018-02-09T01:51:40Z fikka joined #lisp 2018-02-09T01:55:19Z quazimodo quit (Ping timeout: 256 seconds) 2018-02-09T01:56:10Z iqubic: What is PAIP? 2018-02-09T01:57:17Z Bike: minion: paip 2018-02-09T01:57:17Z minion: paip: Paradigms of Artificial Intelligence Programming 2018-02-09T01:57:22Z Bike: no link... 2018-02-09T01:57:25Z Bike: well, it's that. it's a book. 2018-02-09T01:57:37Z Bike: uses lisp to go through historical AI ideas. 2018-02-09T01:57:43Z iqubic: s there a link anywhere? 2018-02-09T01:57:52Z Bike: no, it's a print book. 2018-02-09T01:59:19Z iqubic: darn. 2018-02-09T01:59:34Z iqubic: is there a ebook version? 2018-02-09T02:01:02Z pierpa: Amazon sells a kindle version 2018-02-09T02:01:42Z rme: get the paper book 2018-02-09T02:02:34Z rme: code from the book is https://github.com/norvig/paip-lisp 2018-02-09T02:04:05Z Guest14820 quit (Ping timeout: 260 seconds) 2018-02-09T02:05:13Z iqubic: I don't have enough money to get the print version. 2018-02-09T02:05:29Z Bike: it doesn't have anything about perceptrons, anyway 2018-02-09T02:06:13Z iqubic: Really? What form of AI does it talk about? 2018-02-09T02:06:45Z Bike: symbolic stuff, basically 2018-02-09T02:06:49Z Bike: that's why i said "historical" 2018-02-09T02:06:50Z sjl: if you're an ACM member you can get a PDF of it https://dl.acm.org/citation.cfm?id=530559 2018-02-09T02:07:39Z iqubic: What is symbolic stuff? 2018-02-09T02:07:48Z Bike: uhhhh read the book and find out i guess 2018-02-09T02:07:55Z Bike: nothing anybody really does any more, as far as i know 2018-02-09T02:08:11Z Bike: it's all about statistics and general machines like ANNs 2018-02-09T02:08:55Z iqubic: I don't think I want to read the book, because I don't have a good way to access the book. 2018-02-09T02:09:12Z iqubic: And ancient AI stuff is not what I want to do. 2018-02-09T02:09:16Z Bike: yes 2018-02-09T02:09:49Z pierpa: Tha ancient AI stuff is used to teach good programming practices. 2018-02-09T02:10:30Z Bike: yes, it's a good book in that respect, but you aint gonna learn about ML 2018-02-09T02:19:39Z jameser joined #lisp 2018-02-09T02:19:48Z aindilis joined #lisp 2018-02-09T02:21:44Z whoman quit (Read error: Connection reset by peer) 2018-02-09T02:22:18Z impulse joined #lisp 2018-02-09T02:24:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-09T02:25:22Z vtomole joined #lisp 2018-02-09T02:26:41Z iqubic: What would be a good beginner project for me to work on? 2018-02-09T02:26:48Z fikka joined #lisp 2018-02-09T02:27:57Z aindilis quit (Excess Flood) 2018-02-09T02:29:25Z d4ryus1 joined #lisp 2018-02-09T02:29:29Z quazimodo joined #lisp 2018-02-09T02:31:09Z pierpa: something about something you like 2018-02-09T02:32:36Z d4ryus quit (Ping timeout: 256 seconds) 2018-02-09T02:32:46Z aindilis joined #lisp 2018-02-09T02:36:07Z sfa joined #lisp 2018-02-09T02:37:42Z beach quit (Ping timeout: 256 seconds) 2018-02-09T02:37:54Z sfa quit (Client Quit) 2018-02-09T02:38:10Z aindilis quit (Ping timeout: 268 seconds) 2018-02-09T02:38:12Z sfa joined #lisp 2018-02-09T02:43:35Z porky11 quit (Remote host closed the connection) 2018-02-09T02:44:17Z asarch joined #lisp 2018-02-09T02:46:18Z beach joined #lisp 2018-02-09T02:50:49Z dieggsy joined #lisp 2018-02-09T02:51:51Z iqubic: Can you modify the value of a parameter in a function? 2018-02-09T02:52:45Z Bike: sure. 2018-02-09T02:52:53Z Bike: (defun foo (x) (setf x 7)) like that? yes. 2018-02-09T02:53:05Z Cymew joined #lisp 2018-02-09T02:53:06Z Bike: (defun foo (x) (setf (car x) 7)) also fine. 2018-02-09T02:53:34Z iqubic: Yes. But is a function in its own closure? IE does that modify the value passed in? 2018-02-09T02:54:17Z Bike: (defun foo (x) (setf x 7)) (let ((x 19)) (foo x) x) => 19 2018-02-09T02:54:28Z iqubic: Alright. 2018-02-09T02:54:33Z iqubic: So, no pointers? 2018-02-09T02:54:40Z Bike: (defun foo (x) (setf (car x) 7)) (let ((x (cons 0 0))) (foo x) x) => (7 . 0) 2018-02-09T02:55:14Z iqubic: How is that different? 2018-02-09T02:55:33Z Bike: (setf x 7) is modifying the binding of x, and that binding is created when the function is called 2018-02-09T02:55:43Z Bike: (setf (car x) 7) is modifying the actual cons object that was passed in 2018-02-09T02:56:08Z iqubic: Is see. Is there a way to make the first example actually change the value of x outside the function? 2018-02-09T02:56:28Z Bike: Not really. You can write a macro to do things sometimes though. 2018-02-09T02:56:31Z Bike: What do you have in mind? 2018-02-09T02:56:37Z iqubic: Just playing around. 2018-02-09T02:57:01Z iqubic: Are there any CL libraries that implement matrixes and matrix operations? 2018-02-09T02:57:13Z iqubic: This I actually have a use for. 2018-02-09T02:57:17Z pfdietz: Yes, I believe so. 2018-02-09T02:57:19Z Bike: there's a few, like lisplab... i couldn't tell you which are good, though. 2018-02-09T02:57:35Z Cymew quit (Ping timeout: 248 seconds) 2018-02-09T02:58:18Z aindilis joined #lisp 2018-02-09T02:58:32Z Ukari joined #lisp 2018-02-09T02:59:32Z pfdietz: https://www.cliki.net/linear%20algebra 2018-02-09T02:59:34Z smurfrobot joined #lisp 2018-02-09T03:00:14Z iqubic: Wow, are all of those good? 2018-02-09T03:00:27Z iqubic: I only need 2D matrixes at this time though. 2018-02-09T03:00:29Z JuanDaugherty joined #lisp 2018-02-09T03:00:50Z damke_ joined #lisp 2018-02-09T03:00:59Z fikka quit (Ping timeout: 268 seconds) 2018-02-09T03:01:25Z fikka joined #lisp 2018-02-09T03:02:00Z aindilis quit (Read error: Connection reset by peer) 2018-02-09T03:02:15Z nika joined #lisp 2018-02-09T03:03:57Z damke quit (Ping timeout: 264 seconds) 2018-02-09T03:06:02Z fikka quit (Ping timeout: 256 seconds) 2018-02-09T03:08:02Z ahungry joined #lisp 2018-02-09T03:12:21Z python476 quit (Ping timeout: 264 seconds) 2018-02-09T03:23:28Z smurfrobot quit (Remote host closed the connection) 2018-02-09T03:29:30Z Ukari quit (Remote host closed the connection) 2018-02-09T03:32:46Z fikka joined #lisp 2018-02-09T03:37:07Z iqubic: Which library from that list will give me a good optimal 2D matrix implementation? 2018-02-09T03:37:27Z zooey quit (Ping timeout: 255 seconds) 2018-02-09T03:37:42Z shka joined #lisp 2018-02-09T03:38:38Z ikki quit (Quit: Leaving) 2018-02-09T03:42:27Z Bike: "optimality" is a nontrivial question, you know 2018-02-09T03:42:53Z Bike: what operations are you doing? how sparse are the matrices? do you have guarantees on your form? what's the precision? how big are they? bla bla bla 2018-02-09T03:43:04Z Bike: i imagine they're all at pleast pretty good, though 2018-02-09T03:44:17Z zooey joined #lisp 2018-02-09T03:45:13Z beach: Good morning everyone! 2018-02-09T03:46:56Z deng_cn quit (Read error: Connection reset by peer) 2018-02-09T03:48:59Z deng_cn joined #lisp 2018-02-09T03:50:03Z smasta joined #lisp 2018-02-09T03:51:58Z pfdietz: Good... morning. 2018-02-09T03:53:04Z beach quit (Ping timeout: 256 seconds) 2018-02-09T03:54:33Z z3t0 joined #lisp 2018-02-09T03:55:27Z zooey quit (Ping timeout: 255 seconds) 2018-02-09T03:58:26Z milanj quit (Quit: This computer has gone to sleep) 2018-02-09T03:59:54Z zooey joined #lisp 2018-02-09T04:05:13Z Ukari joined #lisp 2018-02-09T04:06:23Z fikka quit (Ping timeout: 248 seconds) 2018-02-09T04:06:24Z vtomole quit (Ping timeout: 260 seconds) 2018-02-09T04:06:37Z beach joined #lisp 2018-02-09T04:06:49Z iqubic: It is morning for you, night for me, but I'm not sure it can be considered good. I have been battling sickness all day. 2018-02-09T04:07:30Z beach: iqubic: http://www.total-knowledge.com/~ilya/mips/ugt.html 2018-02-09T04:07:48Z iqubic: beach: I know what that is. 2018-02-09T04:08:04Z iqubic: I'm just too sick to remember to use stuff properly 2018-02-09T04:09:30Z jack_rabbit: lol 2018-02-09T04:09:39Z smurfrobot joined #lisp 2018-02-09T04:15:50Z iqubic: Can I overload simple functions like + to work differently if I pass in a CLOS object of my own creation? 2018-02-09T04:16:08Z iqubic: s/simple/pre-existing/ 2018-02-09T04:16:20Z Zhivago: You can supply methods for generic-functions. 2018-02-09T04:16:46Z fikka joined #lisp 2018-02-09T04:16:54Z iqubic: Are + and * generic functions? 2018-02-09T04:17:17Z Zhivago: They are not required to be, so you cannot expect that they are in portable code. 2018-02-09T04:17:36Z Zhivago: Ah, I missed + in your original question. 2018-02-09T04:17:39Z iqubic: Oh, I see. 2018-02-09T04:17:59Z Zhivago: You can always make your own version of + which is, but then you need to convince other code to use it. 2018-02-09T04:18:14Z Zhivago: CL is not very generic at its core. 2018-02-09T04:18:37Z iqubic: So most matrix libraries provide their own version of the addition function, instead of piggybacking on the existing symbol function name? 2018-02-09T04:19:10Z Zhivago: You're not portably permitted to modify things in the common-lisp package. 2018-02-09T04:19:34Z iqubic: Thank you. That answers my question. 2018-02-09T04:19:36Z Zhivago: It makes more sense if you consider CL to be a compatibility layer like posix. 2018-02-09T04:19:45Z schoppenhauer quit (Ping timeout: 248 seconds) 2018-02-09T04:20:02Z Zhivago: It was originally intended to allow code from lisp-system A to run on lisp-system B. 2018-02-09T04:20:25Z JuanDaugherty left #lisp 2018-02-09T04:20:34Z Zhivago: So they tried to avoid doing anything that would require hard work on the underlying implementation. 2018-02-09T04:20:46Z pierpa: hmmm 2018-02-09T04:20:46Z smurfrobot quit (Remote host closed the connection) 2018-02-09T04:21:08Z Zhivago: Of course, now that everything has converged to CL or died ... 2018-02-09T04:21:52Z Zhivago: Anyhow, it all made a lot more sense in the late 80s and early 90s. 2018-02-09T04:21:58Z schoppenhauer joined #lisp 2018-02-09T04:22:17Z iqubic: yeah. I somehow assumed that CL's (+) function was a generic function that was specialized to numbers. 2018-02-09T04:22:41Z beach: iqubic: If you had bothered to look at the Common Lisp HyperSpec page for +, you would have seen that it is NOT a generic function. 2018-02-09T04:22:54Z beach: clhs + 2018-02-09T04:22:54Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/a_pl.htm 2018-02-09T04:23:22Z beach: Notice the "Function", rather than "Generic Function". 2018-02-09T04:23:25Z iqubic: beach: I keep forgetting that CLHS is a thing. 2018-02-09T04:23:33Z iqubic: I need to bookmark that thing. 2018-02-09T04:24:24Z beach: You keep forgetting location of the document defining the language you are using? Wow. 2018-02-09T04:24:57Z ahungry quit (Remote host closed the connection) 2018-02-09T04:25:10Z pierpa: you can also download it and then use your local copy. One thing less to remember :) 2018-02-09T04:25:38Z Zhivago: Well, technically the CLHS isn't the spec, but close enough. :) 2018-02-09T04:26:04Z Kaisyu joined #lisp 2018-02-09T04:26:26Z iqubic: beach: I'm sorry. It's just that I use the emacs lisp documentation way more often than I use CLHS. 2018-02-09T04:29:37Z fonzie joined #lisp 2018-02-09T04:29:46Z Arcaelyx joined #lisp 2018-02-09T04:31:21Z didi: An Info CLHS would be interesting. 2018-02-09T04:31:44Z iqubic: I'd like that. 2018-02-09T04:32:24Z fonzie quit (Remote host closed the connection) 2018-02-09T04:32:27Z Bike: huh? isn't there one? 2018-02-09T04:32:39Z didi: I'm not familiar with one. 2018-02-09T04:32:54Z Bike: https://www.emacswiki.org/emacs/CommonLispHyperspec 2018-02-09T04:33:20Z didi: Bike: Ah, nice. Thank you. 2018-02-09T04:34:24Z stylewarning: iqubic: there’s CL-GENERIC-ARITHMETIC and LOOM, the former making arithmetic generic, the latter making almost all of CL generic 2018-02-09T04:36:37Z sfa quit (Remote host closed the connection) 2018-02-09T04:38:55Z iqubic: What's the difference between ' and #'? 2018-02-09T04:39:01Z Bike quit (Quit: Lost terminal) 2018-02-09T04:39:23Z stylewarning: iqubic: this is answered in most books 2018-02-09T04:39:43Z stylewarning: #' looks up the function associated with a name 2018-02-09T04:40:05Z stylewarning: ' just quotes data (returns it unevaluated) 2018-02-09T04:41:30Z sfa joined #lisp 2018-02-09T04:41:47Z iqubic: When would you use one over the other? 2018-02-09T04:43:59Z stylewarning: the first one is when you want to refer to functions 2018-02-09T04:44:06Z stylewarning: The second one has nothing to do with functions 2018-02-09T04:45:33Z iqubic: Oh. I see. 2018-02-09T04:47:02Z ozzloy joined #lisp 2018-02-09T04:47:02Z ozzloy quit (Changing host) 2018-02-09T04:47:02Z ozzloy joined #lisp 2018-02-09T04:55:00Z smurfrobot joined #lisp 2018-02-09T04:57:09Z emaczen`: didi: If you download GCL it comes with the hyperspec in texinfo format 2018-02-09T04:57:29Z emaczen`: at least it does if you download the docs via your linux distro 2018-02-09T05:03:43Z sjl__ joined #lisp 2018-02-09T05:06:21Z didi: emaczen`: Thank you. 2018-02-09T05:08:23Z sjl__ quit (Ping timeout: 255 seconds) 2018-02-09T05:11:03Z Zhivago: 'x is (quote x) #'x is (function x). 2018-02-09T05:12:31Z drewc quit (Ping timeout: 248 seconds) 2018-02-09T05:13:21Z ozzloy quit (Remote host closed the connection) 2018-02-09T05:19:46Z sjl quit (Ping timeout: 256 seconds) 2018-02-09T05:20:30Z lnostdal quit (Ping timeout: 255 seconds) 2018-02-09T05:21:14Z pjb: assuming the standard readtable macros. 2018-02-09T05:21:40Z pjb: and assuming by quote you mean COMMON-LISP:QUOTE and by function you mean COMMON-LISP:FUNCTION 2018-02-09T05:23:00Z fikka quit (Ping timeout: 260 seconds) 2018-02-09T05:23:38Z iqubic: I do mean that. 2018-02-09T05:23:39Z z3t0 quit (Remote host closed the connection) 2018-02-09T05:24:15Z z3t0 joined #lisp 2018-02-09T05:24:17Z didi: Zhivago: I liked your connection between CL and posix. 2018-02-09T05:24:49Z z3t0 quit (Remote host closed the connection) 2018-02-09T05:25:07Z z3t0 joined #lisp 2018-02-09T05:26:50Z dieggsy quit (Ping timeout: 255 seconds) 2018-02-09T05:27:05Z Chream_ quit (Ping timeout: 260 seconds) 2018-02-09T05:27:10Z drewc joined #lisp 2018-02-09T05:28:21Z pjb: iqubic: first it should be noted that APPLY and FUNCALL take function designators, so if the symbol and the function designate the same function, quote and function will be equivalent in the sense that the same function will be called. 2018-02-09T05:28:42Z pjb: iqubic: and in the case of functions from the CL package, they will always designate the same function! 2018-02-09T05:29:01Z pjb: iqubic: however, for other symbols, (not from CL), they may deisgnate different functions! 2018-02-09T05:29:07Z fikka joined #lisp 2018-02-09T05:29:33Z pjb: iqubic: a symbol will always designate the global function binding, ie. the function obtained by (symbol-function symbol). 2018-02-09T05:30:07Z pjb: iqubic: however, the function special operator is the (only) closure creator operator, and it may create closures of locally bound functions. 2018-02-09T05:30:41Z pjb: iqubic: therefore: (defun foo () 'global) (mapcar 'funcall (flet ((foo () 'local)) (list (quote foo) (function foo)))) #| --> (global local) |# 2018-02-09T05:31:24Z pjb: and also: (flet ((foo () 'local)) (mapcar 'funcall (list (quote foo) (function foo)))) #| --> (global local) |# 2018-02-09T05:31:38Z pjb: In such cases, you would have to choose between quote and function depending on WHAT YOU MEAN! 2018-02-09T05:32:41Z nowhereman_ joined #lisp 2018-02-09T05:33:31Z pjb: iqubic: other characteristic properties of symbols and functions, is that since symbols, as function designators, are resolved only when used, when the function needs to be called, if the function is redefined (at run-time), then the symbol will designate the new version. While function returns the actual closure object, if the fbinding is redefined, the function object will still be the old one. 2018-02-09T05:34:20Z pjb: (let ((funs (list (quote foo) (function foo)))) (list (mapcar 'funcall funs) (setf (symbol-function 'foo) (lambda () 'redefined)) (mapcar 'funcall funs) )) #| --> ((global global) # (redefined global)) |# 2018-02-09T05:34:37Z pjb: So again, choose between the symbol and the function, depending on the meaning you mean! 2018-02-09T05:35:26Z dddddd quit (Remote host closed the connection) 2018-02-09T05:36:12Z nowhere_man quit (Ping timeout: 256 seconds) 2018-02-09T05:36:49Z wigust joined #lisp 2018-02-09T05:36:56Z asarch quit (Quit: Leaving) 2018-02-09T05:39:45Z compro joined #lisp 2018-02-09T05:40:40Z lnostdal joined #lisp 2018-02-09T05:42:55Z oleo quit (Quit: Leaving) 2018-02-09T05:47:46Z z3t0 quit (Remote host closed the connection) 2018-02-09T05:48:22Z z3t0 joined #lisp 2018-02-09T05:48:52Z pierpa quit (Quit: Page closed) 2018-02-09T05:53:02Z z3t0 quit (Ping timeout: 268 seconds) 2018-02-09T05:54:35Z ak5 joined #lisp 2018-02-09T06:00:57Z damke joined #lisp 2018-02-09T06:02:48Z iqubic: Isn't there a difference between the literal value of a symbol, and the function-value? 2018-02-09T06:03:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-09T06:03:58Z fikka quit (Ping timeout: 256 seconds) 2018-02-09T06:05:05Z beach: iqubic: Try it out at the REPL. I don't know what you mean by "literal value", so I can't try it out for you, but you must know what you mean yourself, so just type the form (EQ ? ?) and see the result. 2018-02-09T06:05:33Z beach: .. where the first ? is the "literal value" and the second ? is the function value. 2018-02-09T06:08:17Z emaczen`: (sb-ext:run-program "prog-name" (list "name" "--dynamic-space-size" "4096")) -- is this the correct way to pass command line arguments? 2018-02-09T06:08:50Z fikka joined #lisp 2018-02-09T06:10:41Z wxie joined #lisp 2018-02-09T06:17:51Z jackdaniel: emaczen`: yes 2018-02-09T06:18:14Z jackdaniel: if prog-name is not absolute path you may want to add also :search t 2018-02-09T06:18:39Z emaczen`: I'm printing out the dynamic-space-size from the external program and it is the default 1 GB... 2018-02-09T06:20:01Z Ukari quit (Quit: bye bye) 2018-02-09T06:21:06Z iqubic: beach: I was confusing symbol-function with symbol-value. 2018-02-09T06:21:18Z emaczen`: any idea why the dynamic-space-size argument is not getting picked up? 2018-02-09T06:21:34Z iqubic: Which are rather different I assume. 2018-02-09T06:22:33Z wxie quit (Ping timeout: 265 seconds) 2018-02-09T06:22:36Z z3t0 joined #lisp 2018-02-09T06:23:57Z jackdaniel: emaczen`: sbcl options come *after* custom ones 2018-02-09T06:24:06Z jackdaniel: what is the "name" parameter? 2018-02-09T06:24:17Z emaczen`: Isn't that after? 2018-02-09T06:24:23Z emaczen`: Or do you mean before? 2018-02-09T06:25:00Z emaczen`: the "name" parameter is needed for my external program 2018-02-09T06:25:38Z jackdaniel: emaczen`: compare `sbcl --dynamic-space-size 4096 --eval "(print (sb-ext:dynamic-space-size))"` in the repl with `sbcl foo --dynamic-space-size 4096 --eval "(print (sb-ext:dynamic-space-size))"` (likewise) 2018-02-09T06:26:25Z jackdaniel: `sbcl --dynamic-space-size 4096 --eval "(print (sb-ext:dynamic-space-size))" program-name ` should work though 2018-02-09T06:26:52Z iqubic: What is the difference between set and setf? 2018-02-09T06:27:27Z jackdaniel: http://www.lispworks.com/documentation/HyperSpec/Body/f_set.htm, http://www.lispworks.com/documentation/HyperSpec/Body/a_setf.htm 2018-02-09T06:27:31Z jackdaniel: iqubic: ↑ 2018-02-09T06:27:51Z jackdaniel: iqubic: generally a good resource to look up things is l1sp.org 2018-02-09T06:28:11Z jackdaniel: it searches in many sources (pcl, clhs, clim spec, clx etc) 2018-02-09T06:28:36Z emaczen`: jackdaniel: I see... that is kinda lame, I would have never figured that out myself 2018-02-09T06:28:54Z emaczen`: the looked in the SBCL docs for run-program too 2018-02-09T06:29:05Z jackdaniel: heh 2018-02-09T06:29:19Z emaczen`: isn't set for property-lists of a symbol? 2018-02-09T06:30:07Z jackdaniel: quoting from the spec: (set symbol value) == (setf (symbol-value symbol) value) 2018-02-09T06:30:47Z jackdaniel: so i *foo* has a value *bar*, then (set *foo* 3) will be (setf *bar* 3) 2018-02-09T06:31:01Z iqubic: can you do (setf (symbol-value symbol) value)? 2018-02-09T06:31:07Z iqubic: or does that make no sense? 2018-02-09T06:31:44Z loke: iqubic: Yes. ANd it makes sense. 2018-02-09T06:31:53Z jackdaniel: iqubic: if it is qouted in the linked example, then why not? I highly recommend reading both linked pages and if you still have questions *after that* asking them here :) 2018-02-09T06:34:54Z iqubic: What is the difference between (symbol-value symbol) and ('symbol) ? 2018-02-09T06:35:11Z beach: iqubic: clhs symbol-value 2018-02-09T06:35:19Z beach: clhs symbol-value 2018-02-09T06:35:19Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_symb_5.htm 2018-02-09T06:35:33Z beach: iqubic: See that page ↑ 2018-02-09T06:35:54Z beach: iqubic: See how it says "Accessor"? 2018-02-09T06:36:11Z beach: iqubic: That means that you can use it with SETF. 2018-02-09T06:38:10Z beach: iqubic: Do you still not have a REPL? 2018-02-09T06:38:52Z iqubic: I have a repl. I just don't know how to use it to answer these questions. 2018-02-09T06:39:41Z beach: iqubic: Do you know what the quote character means? If not, you definitely need to take a break and go read a book. 2018-02-09T06:40:18Z iqubic: I know what the quote character means. 2018-02-09T06:40:26Z beach: iqubic: Tell me, please. 2018-02-09T06:41:26Z iqubic: ('symbol) is the syntax. ' is a reader macro that expands to the function (quote symbol) which returns the symbol exactly as it is, with out evaluation 2018-02-09T06:41:55Z beach: So what does the reader return when it sees ('symbol)? 2018-02-09T06:42:54Z iqubic: It returns symbol, exactly as it is. No evaluation is done at all. ('symbol) => symbol. 2018-02-09T06:43:06Z beach: THE READER, not the evaluator. 2018-02-09T06:43:16Z beach: What does THE READER return. 2018-02-09T06:43:37Z dec0n joined #lisp 2018-02-09T06:44:29Z emaczen`: I'm running (sb-ext:run-program ...) but when the external sbcl program's heap becomes exhausted I am dropped into ldb. I just want to exit from this and for my main program to continue. 2018-02-09T06:44:40Z smasta quit (Ping timeout: 260 seconds) 2018-02-09T06:44:45Z beach: iqubic: If the reader return (quote ) when it sees ', then what does it return when it sees (')? 2018-02-09T06:44:47Z iqubic: according to my repl the reader returns ('symbol) 2018-02-09T06:44:51Z emaczen`: I want this to be done programmtically of course 2018-02-09T06:45:01Z sz0 joined #lisp 2018-02-09T06:45:19Z shka quit (Ping timeout: 248 seconds) 2018-02-09T06:45:31Z beach: iqubic: Answer my question please. 2018-02-09T06:45:39Z Karl_Dscc joined #lisp 2018-02-09T06:45:47Z iqubic: Or wait, I was reading the input as if it were the output. When the reader sees ('symbol) it returns ((quote symbol)) 2018-02-09T06:45:53Z beach: Right. 2018-02-09T06:46:01Z fikka quit (Ping timeout: 256 seconds) 2018-02-09T06:46:11Z red-dot joined #lisp 2018-02-09T06:46:16Z beach: So, in your opinion, what case applies if you look at 3.1.2.1? 2018-02-09T06:46:20Z beach: clhs 3.1.2.1 2018-02-09T06:46:20Z specbot: Form Evaluation: http://www.lispworks.com/reference/HyperSpec/Body/03_aba.htm 2018-02-09T06:46:44Z beach: iqubic: 3.1.2.1.1, 3.1.2.1.2, or 3.1.2.1.3? 2018-02-09T06:46:54Z jackdaniel: emaczen`: non-trivial - when sbcl drops into ldb process doesn't exit whatsoever 2018-02-09T06:47:42Z iqubic: I think the answer is 3.1.2.1.1 but I'm not too sure. 2018-02-09T06:47:44Z jackdaniel: maybe wrapping your program in handler-case and catchin heap exhausted (and exitting application) would do what you want 2018-02-09T06:48:02Z beach: iqubic: So you don't know that () is a CONS? 2018-02-09T06:48:11Z beach: iqubic: Then you have to go read a book on Common Lisp. 2018-02-09T06:48:16Z emaczen`: jackdaniel: I'm not aware of any heap exaustion condition? 2018-02-09T06:48:20Z iqubic: I don't know that. You are right. 2018-02-09T06:48:30Z iqubic: I am still very much a beginner. 2018-02-09T06:49:04Z iqubic: I should go kill myself 2018-02-09T06:49:33Z jackdaniel: minion: tell iqubic about pcl 2018-02-09T06:49:33Z minion: iqubic: direct your attention towards pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 2018-02-09T06:49:34Z beach: That I have figured out. What I haven't figured out is why you prefer asking trivial questions in #lisp (which is not a Common Lisp support channel) rather than reading a book. 2018-02-09T06:49:51Z jackdaniel: emaczen`: I'm not sure if there is such thing in sbcl 2018-02-09T06:50:02Z emaczen`: ccl? 2018-02-09T06:50:22Z jackdaniel: emaczen`: OK, I know: try --disable-ldb 2018-02-09T06:50:35Z iqubic: for some reason I think that a thing is only a cons if it is a list. 2018-02-09T06:50:36Z jackdaniel: then your program will simply crash if heap is exhausted 2018-02-09T06:50:53Z iqubic: I don't think that a function application is a list, is it? 2018-02-09T06:51:24Z emaczen`: jackdaniel: alright, I am trying it out 2018-02-09T06:51:32Z jackdaniel: lmk if it worked 2018-02-09T06:51:50Z beach: emaczen`: Such a condition would be hard to implement. I mean, if the heap is exhausted, how does it allocate space for the condition instance? And what would you do when it is signaled? Examine the stack? That requires form evaluation, taking up even more heap space. 2018-02-09T06:51:59Z iqubic: am I right? or am I just barking up the wrong tree? 2018-02-09T06:52:30Z jackdaniel: beach: ECL has a safety preallocated heap space for such situations 2018-02-09T06:53:10Z beach: jackdaniel: I can imagine. 2018-02-09T06:53:29Z emaczen`: jackdaniel: It worked, it just kept continuing 2018-02-09T06:54:43Z jackdaniel: cool 2018-02-09T06:55:08Z beach: iqubic: Yes, (consp object) implies (listp object), but not the other way around. 2018-02-09T06:55:17Z beach: clhs cons 2018-02-09T06:55:17Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/a_cons.htm 2018-02-09T06:55:51Z beach: iqubic: See the "system class" entry? 2018-02-09T06:55:56Z emaczen`: jackdaniel: Yep! thanks, now I can go to bed and my program should run all night, and I don't have to be here to restart it when it drops into ldb! 2018-02-09T06:56:03Z smurfrobot quit (Remote host closed the connection) 2018-02-09T06:56:12Z beach: It says that the precedence list is cons, list, sequence, t. 2018-02-09T06:56:30Z beach: iqubic: That means a cons is a list, a list is a sequence, and a sequence is a t. 2018-02-09T06:56:45Z jackdaniel: emaczen`: good night then :) 2018-02-09T06:57:05Z guna_ quit (Ping timeout: 248 seconds) 2018-02-09T06:57:23Z emaczen`: jackdaniel: hah not quite yet, but I am happy 2018-02-09T06:58:03Z igemnace joined #lisp 2018-02-09T06:58:49Z kini quit (Quit: No Ping reply in 180 seconds.) 2018-02-09T07:00:45Z sunwukong joined #lisp 2018-02-09T07:01:06Z pjb: iqubic: again, it depends on what the symbol designates. 2018-02-09T07:01:27Z pjb: iqubic: if the symbol designates a lexical variable, then its value will be different from (symbol-value symbol). 2018-02-09T07:01:51Z pjb: iqubic: on the other hand, if it designates a dynamic variable, then its value will be that of (symbol-value symbol). 2018-02-09T07:02:21Z pjb: (let ((foo 42)) (list foo (and (boundp 'foo) (symbol-value 'foo)))) #| --> (42 nil) |# 2018-02-09T07:02:31Z pjb: (let ((foo 42)) (declare (special foo)) (list foo (and (boundp 'foo) (symbol-value 'foo)))) #| --> (42 42) |# 2018-02-09T07:03:22Z pjb: iqubic: just read chapter 3! 2018-02-09T07:04:44Z aindilis joined #lisp 2018-02-09T07:05:33Z z3t0: I have some code and am wondering what is the best way to return the object at data from this function 2018-02-09T07:05:33Z z3t0: https://pastebin.com/ew2E76KB 2018-02-09T07:05:48Z didi left #lisp 2018-02-09T07:05:56Z z3t0: I understand that let returns the value of its final form, except the final form in this case must be closing the file 2018-02-09T07:06:00Z orivej quit (Ping timeout: 252 seconds) 2018-02-09T07:06:07Z guna joined #lisp 2018-02-09T07:06:37Z sfa quit (Quit: leaving) 2018-02-09T07:06:45Z fourier joined #lisp 2018-02-09T07:07:51Z Chream joined #lisp 2018-02-09T07:07:52Z pjb: z3t0: use with-open-file 2018-02-09T07:08:09Z z3t0: pjb: oh... that was obvious :) 2018-02-09T07:08:19Z pjb: z3t0: otherwise, there are prog1 and prog2. 2018-02-09T07:08:33Z pjb: clhs prog1 2018-02-09T07:08:33Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_prog1c.htm 2018-02-09T07:08:50Z pjb: and unwind-protect 2018-02-09T07:08:53Z pjb: clhs unwind-protect 2018-02-09T07:08:53Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/s_unwind.htm 2018-02-09T07:09:00Z selesdepselesnul joined #lisp 2018-02-09T07:09:40Z fikka joined #lisp 2018-02-09T07:10:50Z z3t0: thank you 2018-02-09T07:11:58Z flamebeard joined #lisp 2018-02-09T07:12:16Z vlatkoB joined #lisp 2018-02-09T07:13:05Z kini joined #lisp 2018-02-09T07:13:18Z Kaisyu quit (Quit: Connection closed for inactivity) 2018-02-09T07:14:50Z fikka quit (Ping timeout: 276 seconds) 2018-02-09T07:15:31Z selesdepselesnul quit (Quit: Leaving) 2018-02-09T07:17:16Z LocaMocha joined #lisp 2018-02-09T07:17:17Z LocaMocha quit (Max SendQ exceeded) 2018-02-09T07:17:52Z fikka joined #lisp 2018-02-09T07:20:02Z LocaMocha joined #lisp 2018-02-09T07:23:18Z igemnace quit (Quit: WeeChat 2.0.1) 2018-02-09T07:24:27Z fourier quit (Ping timeout: 240 seconds) 2018-02-09T07:25:57Z Karl_Dscc quit (Remote host closed the connection) 2018-02-09T07:26:00Z Tobbi joined #lisp 2018-02-09T07:26:32Z igemnace joined #lisp 2018-02-09T07:27:16Z ak5 quit (Ping timeout: 252 seconds) 2018-02-09T07:28:24Z makomo quit (Ping timeout: 256 seconds) 2018-02-09T07:30:52Z smurfrobot joined #lisp 2018-02-09T07:31:13Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-09T07:32:22Z beach quit (Ping timeout: 256 seconds) 2018-02-09T07:32:25Z damke_ joined #lisp 2018-02-09T07:33:04Z smasta joined #lisp 2018-02-09T07:34:33Z damke quit (Ping timeout: 264 seconds) 2018-02-09T07:35:12Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-09T07:39:51Z deng_cn quit (Read error: Connection reset by peer) 2018-02-09T07:41:35Z deng_cn joined #lisp 2018-02-09T07:42:40Z emaczen` quit (Ping timeout: 252 seconds) 2018-02-09T07:43:55Z emaczen` joined #lisp 2018-02-09T07:44:06Z dtornabene quit (Quit: Leaving) 2018-02-09T07:48:27Z scymtym quit (Ping timeout: 240 seconds) 2018-02-09T07:52:19Z didi joined #lisp 2018-02-09T07:53:25Z varjag joined #lisp 2018-02-09T07:56:22Z fikka quit (Ping timeout: 268 seconds) 2018-02-09T07:57:55Z solyd joined #lisp 2018-02-09T07:58:52Z Cymew joined #lisp 2018-02-09T07:58:53Z hiroaki joined #lisp 2018-02-09T08:00:01Z ozzloy joined #lisp 2018-02-09T08:00:01Z ozzloy quit (Changing host) 2018-02-09T08:00:01Z ozzloy joined #lisp 2018-02-09T08:00:53Z z3t0 quit (Remote host closed the connection) 2018-02-09T08:00:56Z shrdlu68 joined #lisp 2018-02-09T08:01:29Z z3t0 joined #lisp 2018-02-09T08:02:35Z mingus quit (Remote host closed the connection) 2018-02-09T08:03:06Z fikka joined #lisp 2018-02-09T08:05:55Z z3t0 quit (Ping timeout: 256 seconds) 2018-02-09T08:08:46Z itruslove quit (Remote host closed the connection) 2018-02-09T08:08:47Z giraffe quit (Remote host closed the connection) 2018-02-09T08:11:37Z smasta quit (Ping timeout: 265 seconds) 2018-02-09T08:13:42Z smokeink joined #lisp 2018-02-09T08:19:20Z _main_ joined #lisp 2018-02-09T08:20:44Z mlf quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-09T08:21:27Z __main__ quit (Ping timeout: 240 seconds) 2018-02-09T08:22:28Z _main_ is now known as __main__ 2018-02-09T08:24:07Z smokeink quit (Remote host closed the connection) 2018-02-09T08:24:53Z fikka quit (Quit: leaving) 2018-02-09T08:25:07Z smokeink joined #lisp 2018-02-09T08:25:14Z fikka joined #lisp 2018-02-09T08:26:59Z heisig joined #lisp 2018-02-09T08:27:06Z __main__ quit (Read error: Connection reset by peer) 2018-02-09T08:28:02Z damke joined #lisp 2018-02-09T08:28:18Z __main__ joined #lisp 2018-02-09T08:28:45Z _mjl joined #lisp 2018-02-09T08:29:56Z beach joined #lisp 2018-02-09T08:30:03Z milanj joined #lisp 2018-02-09T08:30:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-09T08:31:06Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-09T08:33:22Z SAL9000 quit (Quit: ZNC - http://znc.in) 2018-02-09T08:33:39Z SAL9000 joined #lisp 2018-02-09T08:39:39Z mishoo_ joined #lisp 2018-02-09T08:39:46Z sjl__ joined #lisp 2018-02-09T08:44:18Z sjl__ quit (Ping timeout: 240 seconds) 2018-02-09T08:47:05Z fikka quit (Ping timeout: 255 seconds) 2018-02-09T08:47:40Z scymtym joined #lisp 2018-02-09T08:50:50Z johnnymacs joined #lisp 2018-02-09T08:51:43Z quazimodo quit (Ping timeout: 248 seconds) 2018-02-09T08:55:08Z johnnymacs: How can I compile common lisp to webassembly? 2018-02-09T08:56:02Z smurfrobot joined #lisp 2018-02-09T08:56:33Z Shinmera: You cannot. 2018-02-09T08:56:50Z Shinmera: Unless you write a compiler that does it. 2018-02-09T08:57:18Z jackdaniel: building interpreter is an option too 2018-02-09T08:57:22Z johnnymacs: Well anything that can be compiled to llvm should be compileable to webasm 2018-02-09T08:57:32Z Shinmera: It's not that easy. 2018-02-09T08:57:42Z jackdaniel: johnnymacs: if there is gcc which can produce webassembly binaries, you could compile ecl or clisp 2018-02-09T08:57:55Z jackdaniel: or clang whatsoever 2018-02-09T08:58:41Z Murii joined #lisp 2018-02-09T08:58:48Z Shinmera: Anyway, good luck shipping like 10-20mb of wasm CL runtime or whatnot to run your few kilobytes of actual CL code. 2018-02-09T08:58:55Z jackdaniel: for instance there were builds of ECL to NaCL and pNaCL (obsolete chrome runtimes) 2018-02-09T08:59:09Z didi: How do I write a `check-type' that accepts both 'eq and #'eq? 2018-02-09T08:59:10Z lerax joined #lisp 2018-02-09T08:59:41Z Shinmera: didi: (or symbol function), if you're talking about any function, and not specifically eq. 2018-02-09T08:59:45Z jackdaniel: Shinmera: given wasm binaries are not much bigger than linux ones, ecl should fit in around 1mb, what is comparable to some js scripts I saw in production 2018-02-09T08:59:45Z z3t0 joined #lisp 2018-02-09T08:59:50Z lerax: If someone have interest in Propositional Logic, I've been written this library with some efforts: https://github.com/ryukinix/lisp-inference 2018-02-09T09:00:26Z didi: Shinmera: Thanks, but I'm specifically talking about eq. Actually, eq, eql, equal, and equalp. 2018-02-09T09:00:28Z jackdaniel: not that I think its a good idea, but if its more a project for fun - why not 2018-02-09T09:00:33Z jackdaniel: s/its/it's/ 2018-02-09T09:00:42Z Shinmera: didi: A type check is not what you want. 2018-02-09T09:00:50Z didi: Shinmera: I see. 2018-02-09T09:01:20Z damke_ joined #lisp 2018-02-09T09:01:32Z johnnymacs: emscripten has emcc 2018-02-09T09:01:41Z Shinmera: didi: Try (assert (or (eq thing 'eq) (eq thing #'eq))) 2018-02-09T09:01:41Z johnnymacs: so I can compile c programs with it 2018-02-09T09:02:13Z didi: Shinmera: Thank you. 2018-02-09T09:02:46Z jackdaniel: then if you have time and resolve try compiling ecl and clisp and see how far you can get ;) 2018-02-09T09:03:21Z damke quit (Ping timeout: 264 seconds) 2018-02-09T09:04:18Z z3t0 quit (Ping timeout: 265 seconds) 2018-02-09T09:04:30Z |3b|: (check-type x (member eq #.#'eq)) ? 2018-02-09T09:04:48Z Shinmera: Euch 2018-02-09T09:05:14Z didi: |3b|: Uh, that might work. 2018-02-09T09:05:19Z Shinmera: Anyway, checking a value for a certain... well, value, with a type, seems just plain wrong to me 2018-02-09T09:05:48Z |3b|: check-type lets you replace the value, so assert isn't quite the same thing 2018-02-09T09:05:52Z didi: Shinmera: Use case: I have a data structure that uses only eq, eql, equal, or equalp as a test. 2018-02-09T09:06:29Z didi: I want to put some speed bumps at the external API. 2018-02-09T09:07:26Z didi: Something more than a reminder inside the docstring. 2018-02-09T09:10:11Z heisig: lerax: This is a nice little project. Since you decided to represent statements as lists, have you considered using DEFSTRUCT with (:type list)? Then you get accessors and predicates for free. 2018-02-09T09:11:42Z fikka joined #lisp 2018-02-09T09:12:15Z lerax: This a old project that I'm re-touching this again now. Probably I'll define later better data-structures for this. On those days, I just was trying getting fun with propositional logic and Lisp. Later that I read some books... well, things changed. Yes, I need review that. 2018-02-09T09:12:45Z smasta joined #lisp 2018-02-09T09:13:11Z beach: johnnymacs: Even if you manage to translate Common Lisp to webassembly, you still need a complete Common Lisp system in the target (I assume a browswer), including all the "library" functions, the memory manager, etc. 2018-02-09T09:13:49Z lerax: But I don't have sure if defstruct for this specific problem is a good idea because in general manipulating lists sometimes is basic always I need to parsing logic statements... but well, maybe with defstruct I can reduce the verbosity. 2018-02-09T09:13:58Z hhdave joined #lisp 2018-02-09T09:14:27Z beach: lerax: With standard classes, perhaps even more. 2018-02-09T09:14:48Z heisig: lerax: Yes, listen to beach. 2018-02-09T09:15:05Z beach: Heh, thanks! 2018-02-09T09:15:29Z heisig: lerax: Unless you are under severe performance constraints and know what you are doing, represent your data with CLOS. 2018-02-09T09:16:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-09T09:17:12Z smasta quit (Ping timeout: 256 seconds) 2018-02-09T09:18:05Z lerax: Thanks for all the advices : D 2018-02-09T09:18:28Z beach: Anytime. 2018-02-09T09:20:49Z z3t0 joined #lisp 2018-02-09T09:22:29Z rapidshot64 is now known as kozy 2018-02-09T09:24:18Z _cosmonaut_ joined #lisp 2018-02-09T09:25:19Z z3t0 quit (Ping timeout: 248 seconds) 2018-02-09T09:26:44Z d4ryus1 is now known as d4ryus 2018-02-09T09:27:41Z z3t0 joined #lisp 2018-02-09T09:28:28Z _main_ joined #lisp 2018-02-09T09:31:38Z pfdietz quit (Ping timeout: 255 seconds) 2018-02-09T09:31:59Z __main__ quit (Ping timeout: 276 seconds) 2018-02-09T09:32:01Z _main_ is now known as __main__ 2018-02-09T09:32:32Z z3t0 quit (Ping timeout: 260 seconds) 2018-02-09T09:33:33Z pfdietz joined #lisp 2018-02-09T09:36:31Z __main__ quit (Read error: Connection reset by peer) 2018-02-09T09:37:23Z __main__ joined #lisp 2018-02-09T09:39:20Z smurfrobot quit (Remote host closed the connection) 2018-02-09T09:42:33Z daydayup_ joined #lisp 2018-02-09T09:44:05Z smurfrobot joined #lisp 2018-02-09T09:46:51Z fikka joined #lisp 2018-02-09T09:48:48Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-09T09:50:44Z smurfrobot joined #lisp 2018-02-09T09:51:42Z z3t0 joined #lisp 2018-02-09T09:53:54Z orivej joined #lisp 2018-02-09T09:57:44Z z3t0 quit (Remote host closed the connection) 2018-02-09T09:57:45Z daydayup__ joined #lisp 2018-02-09T09:58:19Z z3t0 joined #lisp 2018-02-09T09:59:03Z z3t0 quit (Remote host closed the connection) 2018-02-09T09:59:18Z z3t0 joined #lisp 2018-02-09T10:00:23Z daydayup_ quit (Ping timeout: 256 seconds) 2018-02-09T10:06:57Z smasta joined #lisp 2018-02-09T10:11:20Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-09T10:11:27Z smasta quit (Ping timeout: 240 seconds) 2018-02-09T10:18:05Z z3t0 quit (Remote host closed the connection) 2018-02-09T10:29:24Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2018-02-09T10:29:50Z daydayup__ quit (Ping timeout: 260 seconds) 2018-02-09T10:30:24Z z3t0 joined #lisp 2018-02-09T10:31:26Z sukaeto quit (Ping timeout: 256 seconds) 2018-02-09T10:32:15Z sjl__ joined #lisp 2018-02-09T10:34:57Z z3t0 quit (Ping timeout: 260 seconds) 2018-02-09T10:36:57Z sjl__ quit (Ping timeout: 264 seconds) 2018-02-09T10:42:10Z makomo joined #lisp 2018-02-09T10:42:11Z zooey quit (Remote host closed the connection) 2018-02-09T10:42:29Z zooey joined #lisp 2018-02-09T10:43:20Z solyd quit (Quit: solyd) 2018-02-09T10:44:00Z python476 joined #lisp 2018-02-09T10:44:36Z solyd joined #lisp 2018-02-09T10:51:36Z smurfrobot quit (Remote host closed the connection) 2018-02-09T10:55:25Z nika quit 2018-02-09T10:58:00Z binghe joined #lisp 2018-02-09T10:58:05Z sukaeto joined #lisp 2018-02-09T10:58:49Z binghe changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language logs: | SBCL 1.4.0, CMUCL 21b, ECL 16.1.3, CCL 1.11.5 2018-02-09T10:59:37Z _death joined #lisp 2018-02-09T11:00:30Z didi left #lisp 2018-02-09T11:01:10Z smasta joined #lisp 2018-02-09T11:02:17Z damke joined #lisp 2018-02-09T11:03:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-09T11:03:57Z wigust quit (Ping timeout: 240 seconds) 2018-02-09T11:04:16Z smurfrobot joined #lisp 2018-02-09T11:04:48Z attila_lendvai joined #lisp 2018-02-09T11:04:48Z attila_lendvai quit (Changing host) 2018-02-09T11:04:48Z attila_lendvai joined #lisp 2018-02-09T11:05:33Z Xal quit (Ping timeout: 256 seconds) 2018-02-09T11:05:45Z smasta quit (Ping timeout: 256 seconds) 2018-02-09T11:07:31Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-09T11:08:07Z Xal joined #lisp 2018-02-09T11:08:45Z attila_lendvai joined #lisp 2018-02-09T11:09:29Z makomo quit (Quit: WeeChat 1.9.1) 2018-02-09T11:09:30Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-09T11:11:46Z attila_lendvai joined #lisp 2018-02-09T11:11:46Z attila_lendvai quit (Changing host) 2018-02-09T11:11:46Z attila_lendvai joined #lisp 2018-02-09T11:15:46Z markong joined #lisp 2018-02-09T11:15:46Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-09T11:17:51Z attila_lendvai joined #lisp 2018-02-09T11:17:51Z attila_lendvai quit (Changing host) 2018-02-09T11:17:51Z attila_lendvai joined #lisp 2018-02-09T11:20:00Z Xal quit (Ping timeout: 260 seconds) 2018-02-09T11:21:15Z igemnace quit (Quit: WeeChat 2.0.1) 2018-02-09T11:22:32Z Xal joined #lisp 2018-02-09T11:23:16Z attila_lendvai quit (Read error: Connection timed out) 2018-02-09T11:24:17Z attila_lendvai joined #lisp 2018-02-09T11:24:17Z attila_lendvai quit (Changing host) 2018-02-09T11:24:17Z attila_lendvai joined #lisp 2018-02-09T11:29:08Z smurfrobot quit (Remote host closed the connection) 2018-02-09T11:33:30Z nirved joined #lisp 2018-02-09T11:39:38Z EvW1 joined #lisp 2018-02-09T11:46:28Z thinkpad quit (Quit: lawl) 2018-02-09T11:51:16Z mjl quit 2018-02-09T11:51:16Z thinkpad joined #lisp 2018-02-09T11:51:29Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-09T11:51:31Z wigust joined #lisp 2018-02-09T11:51:32Z mjl joined #lisp 2018-02-09T11:51:40Z smurfrobot joined #lisp 2018-02-09T11:52:21Z milanj quit (Quit: This computer has gone to sleep) 2018-02-09T11:52:30Z thinkpad quit (Client Quit) 2018-02-09T11:53:55Z attila_lendvai joined #lisp 2018-02-09T11:53:55Z attila_lendvai quit (Changing host) 2018-02-09T11:53:55Z attila_lendvai joined #lisp 2018-02-09T11:54:00Z jameser joined #lisp 2018-02-09T11:54:52Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-09T11:55:15Z smasta joined #lisp 2018-02-09T11:55:47Z attila_lendvai joined #lisp 2018-02-09T11:56:52Z fikka quit (Ping timeout: 256 seconds) 2018-02-09T11:56:52Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-09T11:57:52Z m00natic joined #lisp 2018-02-09T11:58:00Z splittist quit 2018-02-09T11:58:13Z splittist joined #lisp 2018-02-09T11:58:34Z attila_lendvai joined #lisp 2018-02-09T11:59:40Z smasta quit (Ping timeout: 260 seconds) 2018-02-09T11:59:40Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-09T11:59:40Z jameser quit (Ping timeout: 240 seconds) 2018-02-09T12:00:41Z attila_lendvai joined #lisp 2018-02-09T12:00:41Z attila_lendvai quit (Changing host) 2018-02-09T12:00:41Z attila_lendvai joined #lisp 2018-02-09T12:02:07Z jameser joined #lisp 2018-02-09T12:07:20Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-09T12:07:49Z flip214: binghe: SBCL is released as 1.4.4 already... 2018-02-09T12:08:27Z thinkpad joined #lisp 2018-02-09T12:08:32Z fikka joined #lisp 2018-02-09T12:08:33Z attila_lendvai joined #lisp 2018-02-09T12:08:33Z attila_lendvai quit (Changing host) 2018-02-09T12:08:33Z attila_lendvai joined #lisp 2018-02-09T12:10:41Z Devon joined #lisp 2018-02-09T12:12:49Z fikka quit (Ping timeout: 248 seconds) 2018-02-09T12:13:59Z Xach: how time flies 2018-02-09T12:14:05Z fikka joined #lisp 2018-02-09T12:15:37Z TMA: time flies like an arrow. 2018-02-09T12:16:49Z Shinmera: TMA: because it hits you in the end? 2018-02-09T12:18:04Z flip214: "banana flies like a fruit", is that the correct second part of the quote? 2018-02-09T12:18:09Z orivej quit (Ping timeout: 248 seconds) 2018-02-09T12:18:12Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-09T12:19:21Z beach: "fruit flies like a banana", but there are actually many more ways of parsing that sentence. It could mean "please measure the time that flies take, just the way that you would measure the time an arrow takes". 2018-02-09T12:19:39Z attila_lendvai joined #lisp 2018-02-09T12:19:49Z beach: Or "please measure the time that flies take, just the way an arrow would measure the time that flies take". 2018-02-09T12:19:49Z milanj joined #lisp 2018-02-09T12:20:27Z Murii quit (Ping timeout: 240 seconds) 2018-02-09T12:32:35Z dec0n quit (Quit: Leaving) 2018-02-09T12:37:28Z karswell_ quit (Read error: Connection reset by peer) 2018-02-09T12:38:04Z iqubic` joined #lisp 2018-02-09T12:38:13Z karswell_ joined #lisp 2018-02-09T12:38:25Z nowhereman_ quit (Ping timeout: 248 seconds) 2018-02-09T12:39:52Z iqubic quit (Ping timeout: 265 seconds) 2018-02-09T12:42:56Z moei joined #lisp 2018-02-09T12:44:27Z nullman quit (Ping timeout: 240 seconds) 2018-02-09T12:45:17Z nullman joined #lisp 2018-02-09T12:46:24Z gz_ quit 2018-02-09T12:46:41Z gz_ joined #lisp 2018-02-09T12:46:44Z alms_clozure quit 2018-02-09T12:46:57Z alms_clozure joined #lisp 2018-02-09T12:47:00Z loli quit (Ping timeout: 252 seconds) 2018-02-09T12:47:00Z arbv quit (Ping timeout: 252 seconds) 2018-02-09T12:47:22Z red-dot joined #lisp 2018-02-09T12:47:59Z arbv joined #lisp 2018-02-09T12:49:24Z smasta joined #lisp 2018-02-09T12:51:55Z solyd quit (Quit: solyd) 2018-02-09T12:52:25Z damke_ joined #lisp 2018-02-09T12:52:50Z solyd joined #lisp 2018-02-09T12:53:35Z smasta quit (Ping timeout: 240 seconds) 2018-02-09T12:54:49Z rumbler31 quit (Remote host closed the connection) 2018-02-09T12:54:57Z damke quit (Ping timeout: 264 seconds) 2018-02-09T13:00:05Z anaumov quit (Remote host closed the connection) 2018-02-09T13:01:50Z deng_cn quit (Read error: Connection reset by peer) 2018-02-09T13:03:07Z shrdlu68: I have a couple of inline functions and slime's compiler notes are confusing. 2018-02-09T13:04:05Z shifty quit (Ping timeout: 268 seconds) 2018-02-09T13:04:19Z deng_cn joined #lisp 2018-02-09T13:04:46Z aindilis quit (Remote host closed the connection) 2018-02-09T13:05:22Z shrdlu68: What does it mean when a whole function call is underlined? As is _(foo bar bar)_ 2018-02-09T13:05:33Z nowhereman_ joined #lisp 2018-02-09T13:06:13Z flip214: shrdlu68: what does the note say? 2018-02-09T13:06:43Z flip214: perhaps that call wasn't inlined because the function definition wasn't available yet. 2018-02-09T13:06:45Z dddddd joined #lisp 2018-02-09T13:06:54Z Murii joined #lisp 2018-02-09T13:06:58Z shrdlu68: "The first argument is a T, not a FIXNUM" 2018-02-09T13:07:01Z kundry_wag joined #lisp 2018-02-09T13:08:04Z kundry_wag quit (Client Quit) 2018-02-09T13:08:08Z aindilis joined #lisp 2018-02-09T13:09:44Z EvW1 quit (Ping timeout: 276 seconds) 2018-02-09T13:10:29Z shrdlu68: flip214: https://imgur.com/a/HZ03y 2018-02-09T13:13:01Z |3b|: well, can't be much more specific than that, somewhere in the inlined code it didn't know the type of the first argument of something 2018-02-09T13:13:08Z |3b|: *it can't 2018-02-09T13:13:39Z |3b|: (there could be multiple calls to same inlined function with different notes, do it can't really point you at the original source either) 2018-02-09T13:14:07Z |3b|: if you look at the repl, i think it might try to give you more info 2018-02-09T13:16:40Z FreeBirdLjj joined #lisp 2018-02-09T13:17:23Z makomo joined #lisp 2018-02-09T13:18:57Z danlentz quit 2018-02-09T13:19:15Z mbrock quit 2018-02-09T13:19:16Z danlentz joined #lisp 2018-02-09T13:19:38Z mbrock joined #lisp 2018-02-09T13:19:41Z EvW joined #lisp 2018-02-09T13:20:13Z shrdlu68: |3b|: I would expect it to issue the compiler note when I compile the inlined function itself in that case. 2018-02-09T13:20:14Z billstclair quit 2018-02-09T13:20:33Z billstclair joined #lisp 2018-02-09T13:21:13Z Shinmera: When it inlines it, well, inlines the code, which will lead to different inferences. 2018-02-09T13:21:29Z orivej joined #lisp 2018-02-09T13:22:02Z |3b|: yeah, inlining wouldn't be as much use if it didn't change that sort of thing :) 2018-02-09T13:22:25Z Shinmera: For instance (defun foo (a) (typecase a (integer 1) (character 2))) (defun bar () (foo 0)) is going to eliminate the useless branch if foo is inlined. 2018-02-09T13:23:34Z jeremyheiler quit 2018-02-09T13:23:41Z Shinmera: The optimisation constraints of the inliner are also going to affect the inlinee code. 2018-02-09T13:23:53Z jeremyheiler joined #lisp 2018-02-09T13:24:02Z Shinmera: So optimisation notes that you didn't see for the inlinee might start showing up. 2018-02-09T13:24:17Z lambda-p joined #lisp 2018-02-09T13:24:42Z Chream quit (Ping timeout: 260 seconds) 2018-02-09T13:25:12Z XachX quit (Quit: ) 2018-02-09T13:25:12Z XachX quit 2018-02-09T13:25:32Z XachX joined #lisp 2018-02-09T13:25:34Z shrdlu68: I see. 2018-02-09T13:26:02Z attila_lendvai quit (Quit: Leaving.) 2018-02-09T13:26:32Z Shinmera: In the most basic sense think of inlining as copy-pasting the code before compiling for real. 2018-02-09T13:28:27Z solyd quit (Quit: solyd) 2018-02-09T13:29:41Z _cosmonaut_ quit (Ping timeout: 255 seconds) 2018-02-09T13:31:04Z arbv quit (Ping timeout: 256 seconds) 2018-02-09T13:33:30Z arbv joined #lisp 2018-02-09T13:33:40Z dec0n joined #lisp 2018-02-09T13:33:44Z asarch joined #lisp 2018-02-09T13:33:58Z dec0n quit (Remote host closed the connection) 2018-02-09T13:36:25Z EvW quit (Ping timeout: 265 seconds) 2018-02-09T13:36:27Z azahi quit (Changing host) 2018-02-09T13:36:27Z azahi joined #lisp 2018-02-09T13:37:19Z red-dot quit (Read error: Connection reset by peer) 2018-02-09T13:37:40Z red-dot joined #lisp 2018-02-09T13:41:40Z jameser_ joined #lisp 2018-02-09T13:43:05Z Murii quit (Ping timeout: 256 seconds) 2018-02-09T13:43:11Z jameser quit (Ping timeout: 255 seconds) 2018-02-09T13:43:34Z smasta joined #lisp 2018-02-09T13:45:13Z _cosmonaut_ joined #lisp 2018-02-09T13:48:04Z smasta quit (Ping timeout: 256 seconds) 2018-02-09T13:51:57Z Bike joined #lisp 2018-02-09T13:52:18Z shrdlu68: How do I fix "Unable to optimize because Upgraded element type of array is not known at compile time" 2018-02-09T13:52:25Z oleo joined #lisp 2018-02-09T13:52:47Z Bike: tell it the uaet at compile time 2018-02-09T13:52:50Z Bike: like by a type declaration 2018-02-09T13:53:02Z shrdlu68: (make-array 2 :element-type 'fixnum :initial-contents '(1 0)) 2018-02-09T13:53:21Z Bike: that's the type of the array you make, but that note is about access 2018-02-09T13:53:51Z Bike: i don't know what your code looks like, but sbcl might not be smart enough to guess the element type at the access point based on that 2018-02-09T13:53:56Z shrdlu68: Oh, okay - so a thing like (the fixnum (aref...) 2018-02-09T13:54:04Z shrdlu68: Ought to fix it? 2018-02-09T13:54:14Z Bike: more like (aref (the (simple-array fixnum) ...) ...) 2018-02-09T13:54:17Z rumbler31 joined #lisp 2018-02-09T13:54:27Z Bike: i'd just DECLARE the type, if possible, though 2018-02-09T13:54:34Z shrdlu68: Got it. 2018-02-09T13:55:47Z EvW1 joined #lisp 2018-02-09T13:56:06Z Bike: a form being underlined just means that there's a note or warning or whatever about it, btw 2018-02-09T13:56:32Z Shinmera: you can also hover over the underlining with your mouse and it should display the note 2018-02-09T13:57:04Z Chream_ joined #lisp 2018-02-09T13:59:49Z itruslove joined #lisp 2018-02-09T14:01:02Z dec0n joined #lisp 2018-02-09T14:01:34Z dec0n quit (Client Quit) 2018-02-09T14:03:49Z giraffe joined #lisp 2018-02-09T14:07:33Z jameser_ quit (Remote host closed the connection) 2018-02-09T14:08:20Z jameser joined #lisp 2018-02-09T14:14:34Z SamSkulls joined #lisp 2018-02-09T14:18:32Z lambda-p quit (Remote host closed the connection) 2018-02-09T14:18:52Z random-nick joined #lisp 2018-02-09T14:20:45Z fikka quit (Ping timeout: 264 seconds) 2018-02-09T14:21:23Z fikka joined #lisp 2018-02-09T14:22:13Z LiamH joined #lisp 2018-02-09T14:26:09Z damke_ quit (Ping timeout: 264 seconds) 2018-02-09T14:26:10Z sunwukong quit (Quit: WeeChat 0.4.2) 2018-02-09T14:26:34Z sunwukong joined #lisp 2018-02-09T14:27:48Z damke_ joined #lisp 2018-02-09T14:28:06Z _cosmonaut_ quit (Quit: Leaving.) 2018-02-09T14:28:26Z _cosmonaut_ joined #lisp 2018-02-09T14:36:35Z smokeink quit (Ping timeout: 240 seconds) 2018-02-09T14:37:25Z _cosmonaut_ quit (Remote host closed the connection) 2018-02-09T14:37:48Z smasta joined #lisp 2018-02-09T14:37:55Z _cosmonaut_ joined #lisp 2018-02-09T14:38:43Z lambda-p joined #lisp 2018-02-09T14:39:35Z Poeticold is now known as Poeticode 2018-02-09T14:40:31Z fikka quit (Ping timeout: 248 seconds) 2018-02-09T14:42:25Z smasta quit (Ping timeout: 260 seconds) 2018-02-09T14:42:54Z makomo quit (Ping timeout: 256 seconds) 2018-02-09T14:44:03Z heisig quit (Quit: Leaving) 2018-02-09T14:47:34Z EvW1 quit (Remote host closed the connection) 2018-02-09T14:47:44Z EvW joined #lisp 2018-02-09T14:48:51Z antgreen joined #lisp 2018-02-09T14:49:13Z fikka joined #lisp 2018-02-09T14:50:30Z aindilis quit (Remote host closed the connection) 2018-02-09T14:53:27Z warweasle joined #lisp 2018-02-09T14:53:35Z aindilis joined #lisp 2018-02-09T14:55:21Z rumbler3_ joined #lisp 2018-02-09T14:55:29Z jameser quit (Ping timeout: 255 seconds) 2018-02-09T14:56:12Z makomo joined #lisp 2018-02-09T14:56:27Z jameser joined #lisp 2018-02-09T14:56:32Z EvW quit (Ping timeout: 255 seconds) 2018-02-09T15:00:08Z rumbler3_ quit (Ping timeout: 255 seconds) 2018-02-09T15:00:38Z fikka quit (Ping timeout: 268 seconds) 2018-02-09T15:01:02Z nika joined #lisp 2018-02-09T15:05:01Z Josh_2 joined #lisp 2018-02-09T15:08:23Z fluxit quit (Max SendQ exceeded) 2018-02-09T15:08:32Z fluxit joined #lisp 2018-02-09T15:10:10Z pjb quit (Ping timeout: 240 seconds) 2018-02-09T15:11:00Z pjb joined #lisp 2018-02-09T15:11:10Z antgreen quit (Ping timeout: 240 seconds) 2018-02-09T15:12:29Z zaquest quit (Quit: Leaving) 2018-02-09T15:14:39Z zaquest joined #lisp 2018-02-09T15:18:24Z scymtym quit (Ping timeout: 265 seconds) 2018-02-09T15:19:24Z Xach looks around for AccelerationNetters 2018-02-09T15:21:17Z papachan quit (Quit: WeeChat 2.0.1) 2018-02-09T15:26:57Z binghe quit (Ping timeout: 248 seconds) 2018-02-09T15:27:16Z aindilis quit (Remote host closed the connection) 2018-02-09T15:27:25Z fikka joined #lisp 2018-02-09T15:28:01Z CrazyEddy quit (Ping timeout: 248 seconds) 2018-02-09T15:29:04Z binghe joined #lisp 2018-02-09T15:30:15Z aindilis joined #lisp 2018-02-09T15:30:54Z TCZ joined #lisp 2018-02-09T15:31:01Z Cymew quit (Remote host closed the connection) 2018-02-09T15:31:28Z Cymew joined #lisp 2018-02-09T15:31:57Z smasta joined #lisp 2018-02-09T15:32:26Z deng_cn quit (Read error: Connection reset by peer) 2018-02-09T15:35:06Z deng_cn joined #lisp 2018-02-09T15:35:09Z damke_ quit (Ping timeout: 264 seconds) 2018-02-09T15:36:08Z damke_ joined #lisp 2018-02-09T15:36:44Z Cymew quit (Ping timeout: 276 seconds) 2018-02-09T15:36:44Z smasta quit (Ping timeout: 256 seconds) 2018-02-09T15:37:29Z Cymew joined #lisp 2018-02-09T15:38:46Z solyd joined #lisp 2018-02-09T15:38:59Z lambda-p quit (Remote host closed the connection) 2018-02-09T15:40:21Z solyd quit (Client Quit) 2018-02-09T15:42:21Z Cymew quit (Ping timeout: 264 seconds) 2018-02-09T15:43:43Z daydayup joined #lisp 2018-02-09T15:43:46Z Cymew joined #lisp 2018-02-09T15:45:11Z binghe quit (Ping timeout: 276 seconds) 2018-02-09T15:45:37Z asarch quit (Ping timeout: 248 seconds) 2018-02-09T15:46:17Z daydayup_ joined #lisp 2018-02-09T15:48:04Z Cymew quit (Ping timeout: 256 seconds) 2018-02-09T15:48:57Z daydayup quit (Ping timeout: 264 seconds) 2018-02-09T15:49:20Z CrazyEddy joined #lisp 2018-02-09T15:49:33Z papachan joined #lisp 2018-02-09T15:49:45Z Cymew joined #lisp 2018-02-09T15:50:53Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-02-09T15:52:29Z nowhereman_ quit (Ping timeout: 256 seconds) 2018-02-09T15:53:32Z papachan quit (Client Quit) 2018-02-09T15:53:57Z Cymew quit (Ping timeout: 240 seconds) 2018-02-09T15:54:21Z daydayup_ quit (Ping timeout: 264 seconds) 2018-02-09T15:54:29Z SaganMan joined #lisp 2018-02-09T15:55:47Z Cymew joined #lisp 2018-02-09T15:56:28Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-09T15:58:12Z Arcaelyx joined #lisp 2018-02-09T15:59:29Z fikka quit (Ping timeout: 265 seconds) 2018-02-09T15:59:49Z papachan joined #lisp 2018-02-09T15:59:57Z Cymew quit (Ping timeout: 240 seconds) 2018-02-09T16:00:44Z fikka joined #lisp 2018-02-09T16:00:57Z FreeBirdLjj joined #lisp 2018-02-09T16:01:46Z Cymew joined #lisp 2018-02-09T16:02:35Z compro quit (Ping timeout: 240 seconds) 2018-02-09T16:03:07Z raynold quit (Quit: Connection closed for inactivity) 2018-02-09T16:06:25Z Cymew quit (Ping timeout: 260 seconds) 2018-02-09T16:07:13Z rippa joined #lisp 2018-02-09T16:09:47Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-09T16:13:03Z fluxit quit (Max SendQ exceeded) 2018-02-09T16:13:06Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2018-02-09T16:13:12Z fluxit joined #lisp 2018-02-09T16:13:52Z FreeBirdLjj joined #lisp 2018-02-09T16:15:03Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-09T16:18:53Z FreeBirdLjj quit (Ping timeout: 255 seconds) 2018-02-09T16:21:00Z fikka quit (Ping timeout: 260 seconds) 2018-02-09T16:23:04Z flip214: Does anyone know when ELS registration starts? 2018-02-09T16:23:10Z Karl_Dscc joined #lisp 2018-02-09T16:24:20Z asarch joined #lisp 2018-02-09T16:26:11Z Shinmera: Soon™ 2018-02-09T16:26:37Z Shinmera: Still working on the actual registration page 2018-02-09T16:27:19Z fikka joined #lisp 2018-02-09T16:28:40Z flip214: ah, thanks a lot! 2018-02-09T16:28:49Z beach: flip214: Do you have your travel organized yet? 2018-02-09T16:29:12Z Shinmera: flip214: You can follow development here https://github.com/european-lisp-symposium/els-web 2018-02-09T16:30:07Z flip214: beach: I'm afraid that HR will do that for me if I don't intervene soon ;/ 2018-02-09T16:30:26Z flamebeard quit (Quit: Leaving) 2018-02-09T16:30:29Z flip214: Shinmera: no code left over from last years' registration pages? 2018-02-09T16:30:41Z Shinmera: last year still used the old website 2018-02-09T16:31:07Z Shinmera: and I'm frankly disgusted by what a mess that was 2018-02-09T16:31:09Z flip214: yeah, so it's not coding per se but data entry? 2018-02-09T16:31:24Z beach: flip214: I see, yes. 2018-02-09T16:31:27Z Shinmera: No, I'm developing a new registration process. 2018-02-09T16:31:44Z Shinmera: Previously you had to manually make a payment via bank transfer. 2018-02-09T16:31:53Z fikka quit (Ping timeout: 276 seconds) 2018-02-09T16:31:56Z beach: And now? 2018-02-09T16:32:09Z Shinmera: Now you'll be able to either do that, or pay with credit card. 2018-02-09T16:32:12Z Shinmera: via Stripe. 2018-02-09T16:32:32Z FreeBirdLjj joined #lisp 2018-02-09T16:32:33Z beach: OK. I prefer the bank transfer, since I already have the IBAN registered. 2018-02-09T16:32:36Z Shinmera: The latter being preferable because it means all your data will be automatically recorded with the transaction. 2018-02-09T16:32:45Z deng_cn quit (Read error: Connection reset by peer) 2018-02-09T16:32:53Z TCZ quit (Quit: Leaving) 2018-02-09T16:33:11Z Shinmera: And thus requires zero manual labour 2018-02-09T16:33:32Z Shinmera: The bank transfer stuff is annoying because it means someone has to manually confirm that you are you and that you paid your registration. 2018-02-09T16:34:03Z warweasle joined #lisp 2018-02-09T16:34:07Z flip214: no CSV export of the transactions that could be matched up? 2018-02-09T16:34:12Z flip214: *automatically matched up 2018-02-09T16:34:42Z Shinmera: I don't know what Didier does with his bank stuff and don't think it's my business either. 2018-02-09T16:35:05Z Shinmera: What I can do is offer CC payment which should be more convenient for both payer and payee. 2018-02-09T16:35:10Z flip214: understood 2018-02-09T16:35:17Z Shinmera: Since it's a single flow integrated into the registration form. 2018-02-09T16:35:22Z deng_cn joined #lisp 2018-02-09T16:35:26Z fikka joined #lisp 2018-02-09T16:35:44Z flip214: is there some easy way to tag strings as different classes? like firstname, surname, street, etc. 2018-02-09T16:36:10Z flip214: a simple (DEFCLASS name (STRING)) doesn't work, of course (invalid superclasS) 2018-02-09T16:36:23Z Shinmera: There is not. 2018-02-09T16:36:27Z flip214: thanks 2018-02-09T16:36:51Z Shinmera: Plus it sounds redundant. 2018-02-09T16:36:55Z Shinmera: Or rather, backwards 2018-02-09T16:37:15Z Shinmera: Whether a string is a name, street, or whatever depends on who looks at it, so that information should be encoded in the container. 2018-02-09T16:37:25Z Shinmera: eg (registration () (name street email)) 2018-02-09T16:37:30Z Shinmera: *defclass 2018-02-09T16:39:02Z flip214: well, currently I'm storing a list of strings (just to print them out in the same order again) 2018-02-09T16:39:20Z flip214: but now I need to filter based on parsed "type" 2018-02-09T16:40:59Z hiroaki quit (Ping timeout: 276 seconds) 2018-02-09T16:41:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-09T16:41:46Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2018-02-09T16:41:48Z damke joined #lisp 2018-02-09T16:43:01Z solyd joined #lisp 2018-02-09T16:43:50Z compro joined #lisp 2018-02-09T16:46:28Z _death: one way is to use a weak-key hash table for the mapping 2018-02-09T16:46:33Z scymtym joined #lisp 2018-02-09T16:46:57Z FreeBirdLjj joined #lisp 2018-02-09T16:47:09Z Shinmera: Or don't store a list of strings, but a list of compund objects that carry that associated information 2018-02-09T16:47:25Z _death: yep 2018-02-09T16:48:54Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-09T16:50:18Z _death: since strings aren't usually used for their identity the hash-table solution could be fragile 2018-02-09T16:50:50Z flip214: Shinmera: yeah, that's what I'm doing now... is there a way to embed the string structure in my class slot and not have another indirection, to conserve memory? 2018-02-09T16:51:35Z Shinmera: A string indirection is free as long as the type is known as the header will just be a constant offset to the contents. 2018-02-09T16:51:42Z Shinmera: At least, if it's a simple-string. 2018-02-09T16:52:25Z Shinmera: Either way 2018-02-09T16:52:31Z Shinmera: are you sure you need to optimise right now? 2018-02-09T16:52:44Z SaganMan quit (Quit: WeeChat 1.6) 2018-02-09T16:54:26Z flip214: I already ran into memory limits quite a few times for that, so yes 2018-02-09T16:54:44Z Shinmera: Just increase the heap 2018-02-09T16:55:21Z flip214: Shinmera: yeah, thanks, did that already. 16GB (minus OS etc.) is too small. 2018-02-09T16:55:37Z Shinmera: Yeesh. What are you even processing? 2018-02-09T16:55:45Z binghe joined #lisp 2018-02-09T16:56:33Z rumbler3_ joined #lisp 2018-02-09T16:56:57Z flip214: one of the input files is 19M lines, each being parsed into multiple items... so 2 tagged-strings in a line would be 2*16 byte (?) for the indirection 2018-02-09T16:57:10Z flip214: or 32*20M ~ 640MB just for that indirection 2018-02-09T16:57:16Z jmercouris joined #lisp 2018-02-09T16:57:31Z Shinmera: Well, you need to know a string's length, you can't get around that 2018-02-09T16:57:41Z Shinmera: and even if you could, you cannot store raw data in a slow. 2018-02-09T16:57:44Z Shinmera: *slot 2018-02-09T16:58:24Z Shinmera: Besides, if you are sure you need to keep that much data around at all times (rather than, say, stream it), then classes will be too heavy anyway and you probably want structs instead. 2018-02-09T16:59:15Z flip214: thanks, that's a possible optimization 2018-02-09T16:59:42Z Shinmera: My advice would be to investigate other means of processing your data (stream oriented) so that you don't need that much memory to begin with. 2018-02-09T17:00:17Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-09T17:00:51Z rumbler3_ quit (Ping timeout: 256 seconds) 2018-02-09T17:02:38Z deng_cn quit (Read error: Connection reset by peer) 2018-02-09T17:02:55Z iqubic` is now known as iqubic 2018-02-09T17:04:39Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-09T17:05:08Z deng_cn joined #lisp 2018-02-09T17:05:25Z compro quit (Remote host closed the connection) 2018-02-09T17:05:49Z FreeBirdLjj joined #lisp 2018-02-09T17:05:49Z _death: or store offsets in memory instead of strings 2018-02-09T17:06:09Z fikka quit (Ping timeout: 248 seconds) 2018-02-09T17:08:47Z makomo quit (Quit: WeeChat 1.9.1) 2018-02-09T17:09:17Z loli joined #lisp 2018-02-09T17:17:35Z mlf joined #lisp 2018-02-09T17:18:45Z FreeBirdLjj quit (Ping timeout: 265 seconds) 2018-02-09T17:19:56Z fikka joined #lisp 2018-02-09T17:20:36Z smasta joined #lisp 2018-02-09T17:21:40Z fisxoj joined #lisp 2018-02-09T17:24:32Z binghe quit (Ping timeout: 276 seconds) 2018-02-09T17:25:10Z smasta quit (Ping timeout: 240 seconds) 2018-02-09T17:25:53Z binghe joined #lisp 2018-02-09T17:26:35Z binghe left #lisp 2018-02-09T17:29:13Z fisxoj quit (Quit: fisxoj) 2018-02-09T17:29:29Z FreeBirdLjj joined #lisp 2018-02-09T17:32:35Z asarch: One stupid question: From this chapter: http://www.gigamonkeys.com/book/macros-standard-control-constructs.html 2018-02-09T17:33:13Z asarch: In the DO section: "As with the variable definitions in a LET, if the init-form is left out, the variable is bound to NIL. Also as with LET, you can use a plain variable name as shorthand for a list containing just the name." 2018-02-09T17:33:32Z Xach: That's not a question! 2018-02-09T17:33:33Z asarch: How is this plain variable name? 2018-02-09T17:33:38Z Xach: oh ok 2018-02-09T17:33:42Z Xach: sorry i got impatient :( 2018-02-09T17:33:47Z asarch: Mea culpa 2018-02-09T17:34:10Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-09T17:34:22Z beach: asarch: It means you can write either (let ((x nil)) (let ((x)) ...) or (let (x) ...) 2018-02-09T17:34:30Z dlowe: it means like you can do (let ((foo nil)) ...) and (let ((foo)) ...) you can also do (let (foo) ...) 2018-02-09T17:34:41Z Xach: same with DO 2018-02-09T17:34:41Z asarch takes notes... 2018-02-09T17:34:42Z dlowe: or (do (foo) () ...) 2018-02-09T17:35:20Z nika quit (Quit: Leaving...) 2018-02-09T17:36:22Z m00natic quit (Remote host closed the connection) 2018-02-09T17:36:29Z _cosmonaut_ quit (Remote host closed the connection) 2018-02-09T17:38:35Z hhdave quit (Ping timeout: 240 seconds) 2018-02-09T17:41:18Z beach: asarch: Let me take advantage of your question to point out the (moral, not semantic) difference between (let ((x nil)) (let ((x '()) and (let (x). 2018-02-09T17:41:27Z beach: In the first case, you initialize x either to a Boolean false value or to some default value. It is fine to use x before assigning to it and to (conditionally) assign to it before using it, but you would not unconditionally assign to it before using it. 2018-02-09T17:41:32Z beach: In the second case, you initialize x to the empty list. Again, it is fine to use x before assigning to it and to (conditionally) assign to it before using it, but you would not unconditionally assign to it before using it. 2018-02-09T17:41:33Z beach: In the third case, you should unconditionally assign to it before using it. 2018-02-09T17:42:21Z beach: I don't really see any use for (let ((x)), I must admit. 2018-02-09T17:42:27Z FreeBirdLjj joined #lisp 2018-02-09T17:42:35Z beach: I guess it could be useful in macro expansion code. 2018-02-09T17:42:55Z beach: `(let ((x ,@(if ....))) 2018-02-09T17:43:28Z asarch: Why I can't: (let (x 1) (...))? 2018-02-09T17:43:46Z beach: Because that would be ambiguous. 2018-02-09T17:43:46Z _death: you can, just write an asarch:let macro 2018-02-09T17:44:23Z beach: asarch: Imagine (let (x y) ... Is that the same as (let ((x y)) or the same as (let ((x nil) (y nil))? 2018-02-09T17:44:45Z asarch: I guess they actually are 2018-02-09T17:45:02Z beach: are what? 2018-02-09T17:45:03Z asarch: Re-define the standard LET macro _death? 2018-02-09T17:45:56Z beach: asarch: You can safely forget that advice from _death. :) 2018-02-09T17:45:58Z asarch: I mean, why ambiguous? 2018-02-09T17:46:16Z solyd quit (Quit: solyd) 2018-02-09T17:46:32Z smasta joined #lisp 2018-02-09T17:46:39Z shrdlu68: asarch: Imagine the case where you want to initialize x and y to nil. 2018-02-09T17:46:46Z beach: asarch: Because of what I wrote. It could either mean both X and Y to NIL, or binding X to Y. 2018-02-09T17:47:01Z asarch: I see 2018-02-09T17:47:20Z shrdlu68: So, you could do (let ((x nil) (y nil)) or (let (x y) 2018-02-09T17:48:52Z shrdlu68: The second form would not be possible in a let form that took the form (let (x 1) (y 2) 2018-02-09T17:49:05Z _death: beach: it wasn't meant as an advice, just an attitude perhaps meant for someone more experienced ;) 2018-02-09T17:49:52Z shrdlu68: You'd have to always use (let (x nil) explicitly. But as _death points out, it's entirely possible to create such a let macro. 2018-02-09T17:51:04Z Ven`` joined #lisp 2018-02-09T17:51:05Z smasta quit (Ping timeout: 240 seconds) 2018-02-09T17:51:35Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-09T17:53:58Z stacksmith: Alexandria's when-let compromises: if you only have a single binding, you can (when-let (a whatever) ...), and if you have multiple, it looks like (let). 2018-02-09T17:54:36Z stacksmith: Mainly because when-let is generally used with a single binding... 2018-02-09T17:56:57Z stacksmith: The 'founding fathers' could have gone with a lambda-list-like syntax: a name or a list containing a name and an initializer... (let (a b (c 9)) ...) 2018-02-09T17:57:23Z stacksmith: Oh, they did... 2018-02-09T17:57:28Z asarch: Yeah! Thank you guys 2018-02-09T17:57:33Z asarch: Thank you very much :-) 2018-02-09T18:00:00Z _death: stacksmith: multiple bindings for when-let is a relatively new thing 2018-02-09T18:00:20Z sz0 quit (Quit: Connection closed for inactivity) 2018-02-09T18:01:06Z FreeBirdLjj joined #lisp 2018-02-09T18:01:51Z stacksmith: _death: I am not sure how useful they are - I always wind up with the second form needing unless, for some reason :) 2018-02-09T18:03:02Z stacksmith: And start thinking about cond-let... 2018-02-09T18:04:04Z nowhereman_ joined #lisp 2018-02-09T18:06:14Z _death: don't think I used them.. could be once or twice 2018-02-09T18:06:57Z Devon quit (Ping timeout: 240 seconds) 2018-02-09T18:07:26Z jmercouris quit (Ping timeout: 276 seconds) 2018-02-09T18:11:39Z ig88th quit (Ping timeout: 260 seconds) 2018-02-09T18:13:57Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-09T18:16:32Z daydayup joined #lisp 2018-02-09T18:16:54Z daydayup quit (Remote host closed the connection) 2018-02-09T18:17:12Z FreeBirdLjj joined #lisp 2018-02-09T18:17:20Z daydayup joined #lisp 2018-02-09T18:18:57Z smurfrobot quit (Remote host closed the connection) 2018-02-09T18:21:07Z daydayup_ joined #lisp 2018-02-09T18:23:13Z daydayup quit (Ping timeout: 256 seconds) 2018-02-09T18:23:22Z fikka quit (Ping timeout: 260 seconds) 2018-02-09T18:23:33Z warweasle quit (Quit: later) 2018-02-09T18:24:43Z shrdlu68: Is it safe to assume that arithmetic on rationals is slower than short floats? 2018-02-09T18:25:12Z shrdlu68: ...of the same "value" 2018-02-09T18:25:29Z Shinmera: Depends on your implementation and your FPU 2018-02-09T18:25:49Z shrdlu68: But it's a safe assumption generally, right? 2018-02-09T18:26:15Z fikka joined #lisp 2018-02-09T18:26:37Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-09T18:27:33Z daydayup_ quit (Quit: Leaving) 2018-02-09T18:28:13Z Shinmera: Rational operations typically require reduction after the actual operation, which is likely expensive 2018-02-09T18:28:20Z Shinmera: So the answer is probably 2018-02-09T18:28:57Z Bike: plus rationals can get bignums 2018-02-09T18:29:03Z Bike: so i'd say yeah it's a reasonable assumption 2018-02-09T18:29:18Z nowhereman_ quit (Remote host closed the connection) 2018-02-09T18:29:46Z nowhereman_ joined #lisp 2018-02-09T18:30:19Z Shinmera: Either way, usually you pick rationals for precision purposes 2018-02-09T18:30:29Z Shinmera: In which case floats lose by default 2018-02-09T18:30:49Z raynold joined #lisp 2018-02-09T18:33:02Z FreeBirdLjj joined #lisp 2018-02-09T18:33:34Z smurfrobot joined #lisp 2018-02-09T18:34:01Z Bike: if you're using short floats precision can't be much of a priority, heh 2018-02-09T18:38:05Z smurfrobot quit (Ping timeout: 260 seconds) 2018-02-09T18:38:05Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-09T18:39:02Z smurfrobot joined #lisp 2018-02-09T18:39:17Z orivej quit (Ping timeout: 276 seconds) 2018-02-09T18:40:46Z dieggsy joined #lisp 2018-02-09T18:41:14Z iqubic quit (Ping timeout: 276 seconds) 2018-02-09T18:42:20Z asarch: In "(do ((n 0 (1+ n)) (cur 0 next) (next 1 (+ cur next))) ((= 10 n) cur))", is next part of the DO statement? 2018-02-09T18:43:12Z Xal quit (Ping timeout: 260 seconds) 2018-02-09T18:43:47Z smurfrobot quit (Ping timeout: 260 seconds) 2018-02-09T18:43:53Z Ven` joined #lisp 2018-02-09T18:44:00Z _death: no, it's a name of a variable, also introduced in this form 2018-02-09T18:44:09Z mnoonan_ joined #lisp 2018-02-09T18:44:37Z asarch: So, in "(cur 0 next)", cur = 0 and next = nil? 2018-02-09T18:44:49Z Ven`` quit (Ping timeout: 248 seconds) 2018-02-09T18:44:53Z _death: why nil? 2018-02-09T18:44:53Z rme: If you macroexpand the do form, you'll probably clearly see what is going on. 2018-02-09T18:45:09Z FreeBirdLjj joined #lisp 2018-02-09T18:45:27Z _death: asarch: cur is zero in the first iteration, and then receives the value of next at the end of the iteration 2018-02-09T18:46:12Z _death: you can also experiment in the repl to get intuition 2018-02-09T18:46:34Z asarch: Yeah, I get 55 from SLIME 2018-02-09T18:47:27Z rippa quit (Ping timeout: 248 seconds) 2018-02-09T18:47:32Z flak joined #lisp 2018-02-09T18:48:27Z asarch: Ok. Let's go by parts. Accordingly with the book, the general form of DO is: (do (variable-definition*) (end-test-form result-form*) statement*) 2018-02-09T18:49:40Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-09T18:49:48Z asarch: In this expression "(do ((n 0 (1+ n)) (cur 0 next) (next 1 (+ cur next))) ((= 10 n) cur))", the (variable-defition*) part is "((n 0 (1+ n))", right? 2018-02-09T18:50:44Z oleo: (do (((bla 1 (1+ bla)) (blabla.....)) ((if blablabla) result)) (body)) 2018-02-09T18:51:12Z oleo: no asarch 2018-02-09T18:51:33Z Ven` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-09T18:51:52Z FreeBirdLjj joined #lisp 2018-02-09T18:52:22Z Bike: ((n 0 (1+ n)) (cur 0 next) (next 1 (+ cur next))) are the variable definitions. (= 10 n) is the end-test-form. (cur) is the result forms. 2018-02-09T18:52:41Z oleo: ya 2018-02-09T18:52:45Z asarch: Thank you! 2018-02-09T18:53:19Z oleo: successfull lisp covers it good 2018-02-09T18:53:42Z varjag joined #lisp 2018-02-09T18:55:17Z aindilis quit (Remote host closed the connection) 2018-02-09T18:57:01Z oleo: wth 2018-02-09T18:57:34Z oleo: i thought you'd need do* for ath 2018-02-09T18:57:36Z oleo: taht* 2018-02-09T18:58:15Z aindilis joined #lisp 2018-02-09T18:58:16Z oleo: ah, i see it's in the update position 2018-02-09T18:58:17Z rumbler3_ joined #lisp 2018-02-09T18:58:30Z fikka quit (Ping timeout: 260 seconds) 2018-02-09T18:58:57Z asarch: What would be the "statement*" part in the expression? 2018-02-09T18:59:19Z asarch: Is it the same as "cur"? 2018-02-09T18:59:54Z oleo: there's no body in that 2018-02-09T18:59:56Z Bike: I think it's empty. 2018-02-09T19:00:02Z oleo: jep 2018-02-09T19:00:10Z oleo: it's allowed to be empty 2018-02-09T19:00:23Z fikka joined #lisp 2018-02-09T19:00:38Z oleo: it's for side effects 2018-02-09T19:00:59Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-09T19:01:55Z asarch: I just added: (format t "Values: n: ~d cur: ~d next: ~d~%" n cur next) 2018-02-09T19:02:32Z smasta joined #lisp 2018-02-09T19:02:50Z oleo: well if the one of the variables is not what you return, but you rather accumulate in the body or so....that can be done yes 2018-02-09T19:03:21Z rumbler3_ quit (Ping timeout: 264 seconds) 2018-02-09T19:03:29Z aindilis quit (Remote host closed the connection) 2018-02-09T19:06:34Z aindilis joined #lisp 2018-02-09T19:06:37Z stacksmith: Can anyone think of a reason why SBCL compiles an extra check against structure layout when one would do? Given a structure mytype, an expression (if (mytype-p foo) 1 2) results in a double conditional, with two different things compared to ? 2018-02-09T19:07:18Z Bike: what are the things? 2018-02-09T19:08:17Z stacksmith: I cannot decipher the indirections. In one case it's RAX after some loadings, in the second case, an indirect DWORD PTR [RAX+17] in my case. 2018-02-09T19:08:58Z Bike: well, it might be just part of the necessary procedure then. 2018-02-09T19:09:16Z emaczen` quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-09T19:10:05Z FreeBirdLjj joined #lisp 2018-02-09T19:10:42Z stacksmith: Somehow that is not very satisfying. 2018-02-09T19:12:07Z _death: such a question should include the form, its disassembly, your expectations and the deviation 2018-02-09T19:12:44Z smasta quit (Ping timeout: 252 seconds) 2018-02-09T19:14:47Z stacksmith: _death: true enough; however, in absence of inheritance what would _ever_ be a reason to check type more than once? It is more of a philosophical question - or a puzzle if you will, as in can you think of a scenario where checking exactly twice makes sense? 2018-02-09T19:16:19Z _death: it's not clear to me that it "checks twice".. I see a single call to mytype-p 2018-02-09T19:16:54Z stacksmith: full optimization on... 2018-02-09T19:17:25Z stacksmith: I've run across this a few times, leading me to veer away from dispatching on type and storing redundant type data in structures when optimization is necessary... But I just cannot think of a reason why... 2018-02-09T19:17:52Z Bike: it sounds like you're looking at a disassembly 2018-02-09T19:17:58Z Bike: it may not be checking the type more than once 2018-02-09T19:18:56Z stacksmith: Bike: it compares something against the 'layout' twice, and there is an extra conditional 2018-02-09T19:19:38Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2018-02-09T19:19:40Z Bike: i'm just saying, the assembly is nontrivial to interpret 2018-02-09T19:20:17Z stacksmith: But doable to those skilled in the art. 2018-02-09T19:21:22Z Bike: i'm looking at a similar diassembly. it looks like it compares with the layout, then jumps to a return if the comparison succeeds. 2018-02-09T19:22:49Z stacksmith: With (speed 3)(safety 0)(debug 0)? I have 4 conditional jumps and 5 labels in my disassembly of (defun xtest (obj) (declare (optimize (speed 3) (safety 0) (debug 0))) (if (ldesc-p obj) 1 2)) 2018-02-09T19:23:22Z Bike: yeah, i have a couple jumps 2018-02-09T19:24:32Z stacksmith: Do you have two separate comparisons against the layout? 2018-02-09T19:24:43Z _death: stacksmith: the first comparison may be for the object being of the exact type mytype (the usual), the second comparison may be needed for proper subtypes.. 2018-02-09T19:25:36Z shrdlu68: Does anyone happen to know the hash function used by SBCL when :test = #'equal? 2018-02-09T19:25:41Z Bike: there are two comparisons, yes 2018-02-09T19:25:50Z fourier joined #lisp 2018-02-09T19:25:51Z Bike: but it looks like it doesn't have to go through both of them for any comparison 2018-02-09T19:25:56Z Bike: so it's probably something like _death said 2018-02-09T19:26:11Z stacksmith: that's what I thought, but there are no subtypes, and SBCL knows that. I can see CLOS checking just in case something changes, but structs... 2018-02-09T19:26:19Z Bike: you could define a new one later 2018-02-09T19:26:27Z Bike: sbcl doesn't know you won't 2018-02-09T19:26:55Z Bike: in the first place, is this actually a slow part of your code? 2018-02-09T19:26:57Z alexmlw joined #lisp 2018-02-09T19:27:36Z stacksmith: Bike: true, but structs are not generally too forward-looking in my experience, unlike CLOS. 2018-02-09T19:27:55Z oleo: why are there no subtypes ? 2018-02-09T19:28:07Z Bike: many kinds of redefinition are forbidden, but that doesn't change the fact that you could define a subtype 2018-02-09T19:29:20Z oleo: wouldn't obj be subtype of t ? 2018-02-09T19:29:30Z oleo: and the opposite of nil ? 2018-02-09T19:30:02Z stacksmith: oleo: there are no subtypes of obj. 2018-02-09T19:30:06Z fourier quit (Changing host) 2018-02-09T19:30:06Z fourier joined #lisp 2018-02-09T19:30:11Z Bike: don't worry about oleo 2018-02-09T19:30:44Z shka joined #lisp 2018-02-09T19:31:03Z stacksmith: Anyway - thanks, I think it makes sense. 2018-02-09T19:31:25Z stacksmith: Maybe. 2018-02-09T19:31:42Z FreeBirdLjj joined #lisp 2018-02-09T19:34:13Z _death: (declaim (sb-ext:freeze-type mytype)) 2018-02-09T19:34:48Z _death: "The sb-ext:freeze-type declaration declares that a type will never change, which can make type testing (typep, etc.) more efficient for structure types." 2018-02-09T19:34:56Z warweasle joined #lisp 2018-02-09T19:35:44Z stacksmith: _death - bingo! Thanks. 2018-02-09T19:39:09Z nowhereman_ quit (Ping timeout: 256 seconds) 2018-02-09T19:41:02Z FreeBirdLjj quit (Ping timeout: 276 seconds) 2018-02-09T19:41:48Z random-nick quit (Read error: Connection reset by peer) 2018-02-09T19:53:45Z fikka quit (Ping timeout: 264 seconds) 2018-02-09T19:59:52Z fourier quit (Remote host closed the connection) 2018-02-09T20:00:28Z fikka joined #lisp 2018-02-09T20:01:13Z Josh_2: Does CLX let me get the position of my mouse in my current x session or only in one created with CLX? 2018-02-09T20:01:34Z flip214: Shinmera: stream oriented isn't possible, some early data might need fixing up when the later items are processed... 2018-02-09T20:01:44Z flip214: the parts that can do streaming already are. 2018-02-09T20:01:55Z flip214: but thanks for taking an interest! 2018-02-09T20:01:59Z solene left #lisp 2018-02-09T20:03:59Z Xach: Josh_2: current 2018-02-09T20:05:32Z Josh_2: Thanks Xach 2018-02-09T20:05:39Z random-nick joined #lisp 2018-02-09T20:06:21Z fikka quit (Ping timeout: 264 seconds) 2018-02-09T20:08:13Z Xach: Josh_2: when X was being specified, CL was considered very much a peer of C and other potential client languages 2018-02-09T20:12:30Z Josh_2: Alrighty. I just gotta work out how to get the mouse input now. 2018-02-09T20:17:49Z vtomole joined #lisp 2018-02-09T20:19:50Z Rawriful joined #lisp 2018-02-09T20:20:00Z BitPuffin quit (Remote host closed the connection) 2018-02-09T20:20:34Z smasta joined #lisp 2018-02-09T20:23:10Z wigust quit (Quit: ZNC 1.6.5 - http://znc.in) 2018-02-09T20:25:13Z fikka joined #lisp 2018-02-09T20:29:51Z fikka quit (Ping timeout: 248 seconds) 2018-02-09T20:31:47Z Josh_2: So I downloaded CLX with quicklisp, and slime is saying that (clx:open-display .. ) isn't recognized. What's the package name? 2018-02-09T20:32:01Z LiamH quit (Read error: Connection reset by peer) 2018-02-09T20:32:04Z Josh_2: clx-system didn't work either 2018-02-09T20:32:04Z Cymew joined #lisp 2018-02-09T20:32:36Z Xach: Josh_2: clx defines a package called XLIB. 2018-02-09T20:33:04Z deng_cn quit (Read error: Connection reset by peer) 2018-02-09T20:33:38Z Josh_2: Alrighty thanks, that worked. 2018-02-09T20:33:42Z Xach: no problem 2018-02-09T20:35:35Z deng_cn joined #lisp 2018-02-09T20:36:15Z FreeBirdLjj joined #lisp 2018-02-09T20:36:47Z Cymew quit (Ping timeout: 248 seconds) 2018-02-09T20:38:15Z smasta quit (Ping timeout: 260 seconds) 2018-02-09T20:38:18Z Josh_2: I see it now at the back of the pdf manual.. 2018-02-09T20:38:26Z Cymew joined #lisp 2018-02-09T20:39:21Z LiamH joined #lisp 2018-02-09T20:39:42Z smurfrobot joined #lisp 2018-02-09T20:42:17Z EvW joined #lisp 2018-02-09T20:42:57Z Cymew quit (Ping timeout: 240 seconds) 2018-02-09T20:44:32Z Cymew joined #lisp 2018-02-09T20:44:53Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-09T20:45:23Z smurfrobot quit (Ping timeout: 276 seconds) 2018-02-09T20:45:39Z smasta joined #lisp 2018-02-09T20:48:21Z z3t0 joined #lisp 2018-02-09T20:49:17Z Cymew quit (Ping timeout: 276 seconds) 2018-02-09T20:50:08Z z3t0 quit (Remote host closed the connection) 2018-02-09T20:50:31Z Cymew joined #lisp 2018-02-09T20:52:20Z Josh_2: When (open-display .. ) asks for host it's asking for my computers hostname or localhost I assume? 2018-02-09T20:52:44Z Josh_2: Darn documentation assuming I know what I'm doing 2018-02-09T20:53:50Z Xach: Josh_2: in the past I've used (xlib:open-default-display) to have it try to connect to the display set in $DISPLAY 2018-02-09T20:54:22Z fikka joined #lisp 2018-02-09T20:54:27Z Josh_2: ahh that's probably a better way 2018-02-09T20:55:13Z Cymew quit (Ping timeout: 268 seconds) 2018-02-09T20:56:30Z Cymew joined #lisp 2018-02-09T20:58:23Z fisxoj joined #lisp 2018-02-09T20:59:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-09T20:59:20Z Josh_2: Finally got it. Thanks for the help 2018-02-09T20:59:39Z vtomole quit (Ping timeout: 260 seconds) 2018-02-09T21:00:35Z Cymew quit (Ping timeout: 240 seconds) 2018-02-09T21:02:29Z Cymew joined #lisp 2018-02-09T21:03:01Z Xach: No problem 2018-02-09T21:03:20Z fikka joined #lisp 2018-02-09T21:03:31Z deng_cn quit (Read error: Connection reset by peer) 2018-02-09T21:06:09Z deng_cn joined #lisp 2018-02-09T21:06:09Z FreeBirdLjj joined #lisp 2018-02-09T21:07:25Z Cymew quit (Ping timeout: 260 seconds) 2018-02-09T21:08:22Z fikka quit (Ping timeout: 256 seconds) 2018-02-09T21:10:40Z fikka joined #lisp 2018-02-09T21:11:01Z fisxoj quit (Quit: fisxoj) 2018-02-09T21:15:05Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-09T21:15:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-09T21:16:04Z ckonstanski joined #lisp 2018-02-09T21:19:14Z fikka joined #lisp 2018-02-09T21:23:45Z fikka quit (Ping timeout: 248 seconds) 2018-02-09T21:29:49Z fikka joined #lisp 2018-02-09T21:33:57Z Josh_2: With X server can I create a window that is offscreen? 2018-02-09T21:34:38Z fikka quit (Ping timeout: 255 seconds) 2018-02-09T21:36:09Z Josh_2: Or I need to get raw mouse movement 2018-02-09T21:36:26Z Josh_2: hmm 2018-02-09T21:37:20Z mnoonan_ quit (Quit: Leaving) 2018-02-09T21:41:46Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-02-09T21:43:58Z fikka joined #lisp 2018-02-09T21:44:34Z Devon joined #lisp 2018-02-09T21:47:47Z smasta quit (Ping timeout: 276 seconds) 2018-02-09T21:48:40Z fikka quit (Ping timeout: 240 seconds) 2018-02-09T21:50:29Z Chream_2 joined #lisp 2018-02-09T21:51:31Z JohnnyL joined #lisp 2018-02-09T21:51:47Z smasta joined #lisp 2018-02-09T21:53:11Z Chream_ quit (Ping timeout: 268 seconds) 2018-02-09T21:53:42Z Chream_ joined #lisp 2018-02-09T21:54:39Z Chream_2 quit (Ping timeout: 248 seconds) 2018-02-09T21:57:17Z FreeBirdLjj joined #lisp 2018-02-09T21:58:10Z Chream_ quit (Ping timeout: 260 seconds) 2018-02-09T21:59:27Z Chream_ joined #lisp 2018-02-09T21:59:56Z attila_lendvai joined #lisp 2018-02-09T21:59:56Z attila_lendvai quit (Changing host) 2018-02-09T21:59:56Z attila_lendvai joined #lisp 2018-02-09T22:02:16Z karswell_ quit (Read error: No route to host) 2018-02-09T22:03:16Z gbyers quit 2018-02-09T22:03:34Z gbyers joined #lisp 2018-02-09T22:03:55Z deng_cn quit (Read error: Connection reset by peer) 2018-02-09T22:04:57Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-09T22:05:01Z hiroaki joined #lisp 2018-02-09T22:06:05Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-09T22:06:32Z deng_cn joined #lisp 2018-02-09T22:06:59Z attila_lendvai joined #lisp 2018-02-09T22:06:59Z attila_lendvai quit (Changing host) 2018-02-09T22:06:59Z attila_lendvai joined #lisp 2018-02-09T22:13:52Z Devon quit (Ping timeout: 252 seconds) 2018-02-09T22:13:58Z rme quit (Quit: ) 2018-02-09T22:13:58Z rme quit 2018-02-09T22:14:15Z rme joined #lisp 2018-02-09T22:18:59Z nowhereman_ joined #lisp 2018-02-09T22:20:09Z flak quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-02-09T22:20:31Z nowhere_man joined #lisp 2018-02-09T22:21:25Z gendl quit 2018-02-09T22:21:40Z Chream_2 joined #lisp 2018-02-09T22:21:54Z gendl joined #lisp 2018-02-09T22:23:27Z nowhereman_ quit (Ping timeout: 248 seconds) 2018-02-09T22:23:28Z fikka joined #lisp 2018-02-09T22:23:57Z Chream_ quit (Ping timeout: 240 seconds) 2018-02-09T22:25:26Z pagnol joined #lisp 2018-02-09T22:26:07Z sunwukong quit (Ping timeout: 256 seconds) 2018-02-09T22:27:33Z FreeBirdLjj joined #lisp 2018-02-09T22:28:15Z Chream_2 quit (Ping timeout: 248 seconds) 2018-02-09T22:28:42Z Chream_ joined #lisp 2018-02-09T22:32:06Z Josh_2 quit (Remote host closed the connection) 2018-02-09T22:33:05Z shifty joined #lisp 2018-02-09T22:33:16Z tobel quit 2018-02-09T22:33:34Z tobel joined #lisp 2018-02-09T22:36:49Z random-nick quit (Ping timeout: 248 seconds) 2018-02-09T22:37:07Z Chream_ quit (Ping timeout: 260 seconds) 2018-02-09T22:37:51Z smasta quit (Ping timeout: 248 seconds) 2018-02-09T22:37:57Z LiamH quit (Quit: Leaving.) 2018-02-09T22:39:02Z Chream_ joined #lisp 2018-02-09T22:40:51Z smurfrobot joined #lisp 2018-02-09T22:40:57Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-09T22:41:50Z smasta joined #lisp 2018-02-09T22:42:06Z python476 quit (Ping timeout: 252 seconds) 2018-02-09T22:43:25Z Chream_2 joined #lisp 2018-02-09T22:44:04Z milanj quit (Quit: This computer has gone to sleep) 2018-02-09T22:45:26Z smurfrobot quit (Ping timeout: 255 seconds) 2018-02-09T22:45:44Z Chream_ quit (Ping timeout: 255 seconds) 2018-02-09T22:45:59Z pmc_ joined #lisp 2018-02-09T22:48:27Z rumbler31 quit (Ping timeout: 240 seconds) 2018-02-09T22:49:54Z Bike quit (Ping timeout: 260 seconds) 2018-02-09T22:50:10Z FreeBirdLjj joined #lisp 2018-02-09T22:50:51Z Chream_ joined #lisp 2018-02-09T22:53:20Z milanj joined #lisp 2018-02-09T22:53:26Z Chream_2 quit (Ping timeout: 276 seconds) 2018-02-09T22:55:29Z Chream_ quit (Ping timeout: 248 seconds) 2018-02-09T22:56:37Z infinisil joined #lisp 2018-02-09T22:57:38Z pierpa joined #lisp 2018-02-09T22:57:50Z sjl joined #lisp 2018-02-09T22:58:17Z Chream_ joined #lisp 2018-02-09T22:59:17Z FreeBirdLjj quit (Ping timeout: 276 seconds) 2018-02-09T23:01:13Z orivej joined #lisp 2018-02-09T23:02:10Z Chream_2 joined #lisp 2018-02-09T23:03:53Z FreeBirdLjj joined #lisp 2018-02-09T23:05:06Z Chream_ quit (Ping timeout: 256 seconds) 2018-02-09T23:07:00Z shifty quit (Ping timeout: 260 seconds) 2018-02-09T23:07:33Z Pixel_Outlaw joined #lisp 2018-02-09T23:08:27Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-09T23:09:18Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-09T23:09:58Z moei quit (Quit: Leaving...) 2018-02-09T23:10:07Z asarch quit (Quit: Leaving) 2018-02-09T23:11:34Z attila_lendvai joined #lisp 2018-02-09T23:12:49Z borei joined #lisp 2018-02-09T23:12:57Z borei: hi all 2018-02-09T23:13:35Z Chream_ joined #lisp 2018-02-09T23:13:41Z EvW quit (Ping timeout: 276 seconds) 2018-02-09T23:13:52Z borei: trying to find more or less detailed documentation on VOPs, but failed. Only couple articles. Any hint is more then welcome 2018-02-09T23:16:35Z hhdave joined #lisp 2018-02-09T23:16:47Z Chream_3 joined #lisp 2018-02-09T23:17:03Z Chream_2 quit (Ping timeout: 268 seconds) 2018-02-09T23:17:45Z varjag quit (Ping timeout: 264 seconds) 2018-02-09T23:17:51Z Chream_ quit (Ping timeout: 248 seconds) 2018-02-09T23:17:52Z Cymew joined #lisp 2018-02-09T23:18:29Z wxie joined #lisp 2018-02-09T23:18:59Z varjag joined #lisp 2018-02-09T23:19:00Z varjag quit (Remote host closed the connection) 2018-02-09T23:19:24Z FreeBirdLjj joined #lisp 2018-02-09T23:19:52Z vlatkoB quit (Remote host closed the connection) 2018-02-09T23:21:02Z JohnnyL quit (Quit: leaving) 2018-02-09T23:21:04Z hhdave quit (Ping timeout: 248 seconds) 2018-02-09T23:21:06Z milanj quit (Quit: This computer has gone to sleep) 2018-02-09T23:22:18Z Cymew quit (Ping timeout: 240 seconds) 2018-02-09T23:22:40Z milanj joined #lisp 2018-02-09T23:23:13Z Chream_3 quit (Ping timeout: 248 seconds) 2018-02-09T23:24:17Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-09T23:26:19Z FreeBirdLjj joined #lisp 2018-02-09T23:28:46Z Chream_ joined #lisp 2018-02-09T23:33:19Z shka quit (Ping timeout: 248 seconds) 2018-02-09T23:33:33Z Chream_ quit (Ping timeout: 256 seconds) 2018-02-09T23:33:58Z Chream_ joined #lisp 2018-02-09T23:34:16Z deng_cn quit (Read error: Connection reset by peer) 2018-02-09T23:35:05Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-09T23:35:15Z rann quit 2018-02-09T23:35:44Z rann joined #lisp 2018-02-09T23:36:26Z FreeBirdLjj joined #lisp 2018-02-09T23:36:59Z jack_rabbit quit (Ping timeout: 276 seconds) 2018-02-09T23:43:34Z Chream_ quit (Ping timeout: 268 seconds) 2018-02-09T23:44:01Z papachan quit (Quit: WeeChat 2.0.1) 2018-02-09T23:45:10Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-09T23:45:32Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2018-02-09T23:46:33Z Bike joined #lisp 2018-02-09T23:47:22Z attila_lendvai joined #lisp 2018-02-09T23:50:25Z smasta quit (Ping timeout: 248 seconds) 2018-02-09T23:53:09Z Chream_ joined #lisp 2018-02-09T23:55:01Z deng_cn joined #lisp 2018-02-09T23:56:31Z FreeBirdLjj joined #lisp 2018-02-09T23:57:57Z Chream_ quit (Ping timeout: 263 seconds) 2018-02-10T00:00:35Z nirved quit (Quit: Leaving) 2018-02-10T00:00:37Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-10T00:01:33Z FreeBirdLjj quit (Ping timeout: 264 seconds) 2018-02-10T00:01:38Z attila_lendvai joined #lisp 2018-02-10T00:01:38Z attila_lendvai quit (Changing host) 2018-02-10T00:01:38Z attila_lendvai joined #lisp 2018-02-10T00:04:22Z FreeBirdLjj joined #lisp 2018-02-10T00:05:01Z Chream_ joined #lisp 2018-02-10T00:05:18Z mishoo_ quit (Ping timeout: 240 seconds) 2018-02-10T00:07:10Z pagnol quit (Ping timeout: 265 seconds) 2018-02-10T00:07:23Z Devon joined #lisp 2018-02-10T00:08:41Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-10T00:09:24Z Chream_2 joined #lisp 2018-02-10T00:11:57Z Chream_ quit (Ping timeout: 240 seconds) 2018-02-10T00:12:23Z attila_lendvai quit (Quit: Leaving.) 2018-02-10T00:12:46Z attila_lendvai joined #lisp 2018-02-10T00:12:46Z attila_lendvai quit (Changing host) 2018-02-10T00:12:46Z attila_lendvai joined #lisp 2018-02-10T00:16:02Z rumbler31 joined #lisp 2018-02-10T00:16:52Z Devon quit (Ping timeout: 260 seconds) 2018-02-10T00:22:27Z FreeBirdLjj joined #lisp 2018-02-10T00:25:14Z Karl_Dscc quit (Remote host closed the connection) 2018-02-10T00:25:28Z dieggsy quit (Remote host closed the connection) 2018-02-10T00:25:41Z hiroaki quit (Ping timeout: 256 seconds) 2018-02-10T00:27:21Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2018-02-10T00:27:41Z rumbler31 quit (Remote host closed the connection) 2018-02-10T00:28:20Z Chream_ joined #lisp 2018-02-10T00:28:49Z heurist quit (Ping timeout: 248 seconds) 2018-02-10T00:29:16Z heurist joined #lisp 2018-02-10T00:30:22Z Chream_2 quit (Ping timeout: 265 seconds) 2018-02-10T00:30:53Z dieggsy joined #lisp 2018-02-10T00:31:02Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-10T00:33:35Z attila_lendvai joined #lisp 2018-02-10T00:33:35Z attila_lendvai quit (Changing host) 2018-02-10T00:33:35Z attila_lendvai joined #lisp 2018-02-10T00:33:45Z FreeBirdLjj joined #lisp 2018-02-10T00:35:12Z jack_rabbit joined #lisp 2018-02-10T00:35:13Z heurist` joined #lisp 2018-02-10T00:36:21Z pmc_ quit (Quit: Leaving) 2018-02-10T00:37:33Z heurist quit (Ping timeout: 264 seconds) 2018-02-10T00:38:00Z wxie quit (Ping timeout: 260 seconds) 2018-02-10T00:39:35Z wxie joined #lisp 2018-02-10T00:40:32Z Chream_2 joined #lisp 2018-02-10T00:41:44Z smurfrobot joined #lisp 2018-02-10T00:42:21Z Chream_ quit (Ping timeout: 264 seconds) 2018-02-10T00:42:27Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-10T00:46:24Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-10T00:51:24Z fittestbits quit (Quit: Leaving.) 2018-02-10T00:51:30Z fittestbits1 joined #lisp 2018-02-10T00:54:42Z Chream_ joined #lisp 2018-02-10T00:57:27Z Chream_2 quit (Ping timeout: 240 seconds) 2018-02-10T00:59:24Z JuanDaugherty joined #lisp 2018-02-10T01:01:27Z wxie quit (Ping timeout: 240 seconds) 2018-02-10T01:05:01Z Chream_2 joined #lisp 2018-02-10T01:05:06Z JuanDaugherty: i don't get the point of the debian distribution of slime 2018-02-10T01:05:45Z eschatologist quit (Ping timeout: 264 seconds) 2018-02-10T01:05:56Z eschatologist joined #lisp 2018-02-10T01:06:49Z Chream_ quit (Ping timeout: 268 seconds) 2018-02-10T01:09:27Z Chream_2 quit (Ping timeout: 240 seconds) 2018-02-10T01:10:07Z FreeBirdLjj joined #lisp 2018-02-10T01:10:35Z dieggsy quit (Ping timeout: 276 seconds) 2018-02-10T01:11:42Z Chream_ joined #lisp 2018-02-10T01:11:43Z Rawriful quit (Quit: WeeChat 1.4) 2018-02-10T01:15:27Z python476 joined #lisp 2018-02-10T01:15:43Z smurfrobot joined #lisp 2018-02-10T01:16:12Z python476 quit (Remote host closed the connection) 2018-02-10T01:17:05Z python476 joined #lisp 2018-02-10T01:20:28Z attila_lendvai quit (Quit: Leaving.) 2018-02-10T01:20:32Z Chream_2 joined #lisp 2018-02-10T01:22:39Z Chream_ quit (Ping timeout: 248 seconds) 2018-02-10T01:23:30Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-10T01:24:25Z Chream_ joined #lisp 2018-02-10T01:24:44Z Chream_2 quit (Ping timeout: 255 seconds) 2018-02-10T01:25:42Z dieggsy joined #lisp 2018-02-10T01:27:36Z FreeBirdLjj joined #lisp 2018-02-10T01:31:05Z markong quit (Ping timeout: 260 seconds) 2018-02-10T01:31:56Z FreeBirdLjj quit (Ping timeout: 255 seconds) 2018-02-10T01:32:40Z FreeBirdLjj joined #lisp 2018-02-10T01:35:06Z Arcaelyx joined #lisp 2018-02-10T01:37:39Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2018-02-10T01:43:01Z smurfrobot quit (Remote host closed the connection) 2018-02-10T01:43:49Z iqubic joined #lisp 2018-02-10T01:54:18Z arescorpio joined #lisp 2018-02-10T01:54:36Z whoman joined #lisp 2018-02-10T01:58:17Z FreeBirdLjj joined #lisp 2018-02-10T02:00:04Z wxie joined #lisp 2018-02-10T02:04:05Z wxie quit (Ping timeout: 240 seconds) 2018-02-10T02:04:53Z smurfrobot joined #lisp 2018-02-10T02:06:45Z asarch joined #lisp 2018-02-10T02:07:41Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-10T02:09:26Z FreeBirdLjj joined #lisp 2018-02-10T02:09:37Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-10T02:13:53Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-10T02:16:31Z FreeBirdLjj joined #lisp 2018-02-10T02:18:32Z marusich joined #lisp 2018-02-10T02:21:10Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-10T02:24:21Z red-dot joined #lisp 2018-02-10T02:24:52Z Arcaelyx_ joined #lisp 2018-02-10T02:25:46Z Arcaelyx quit (Ping timeout: 252 seconds) 2018-02-10T02:28:35Z zooey quit (Ping timeout: 255 seconds) 2018-02-10T02:28:50Z d4ryus1 joined #lisp 2018-02-10T02:28:59Z zooey joined #lisp 2018-02-10T02:30:09Z nowhereman_ joined #lisp 2018-02-10T02:30:35Z Oladon joined #lisp 2018-02-10T02:30:37Z smurfrobot joined #lisp 2018-02-10T02:30:48Z nowhere_man quit (Ping timeout: 256 seconds) 2018-02-10T02:31:59Z d4ryus quit (Ping timeout: 248 seconds) 2018-02-10T02:32:11Z damke_ joined #lisp 2018-02-10T02:33:22Z iqubic: Why is this channel so quiet. Are people out partying on Friday night? 2018-02-10T02:34:17Z asarch: Can you define a new function and then, immediately, call it? 2018-02-10T02:34:30Z White_Flame: party like you're living a jargon file entry! 2018-02-10T02:34:33Z damke quit (Ping timeout: 264 seconds) 2018-02-10T02:34:38Z White_Flame: asarch: yes 2018-02-10T02:34:42Z asarch: How? 2018-02-10T02:34:48Z White_Flame: defining a function mutates the current Lisp image 2018-02-10T02:34:56Z White_Flame: (defun foo (x) (+ x 3)) 2018-02-10T02:34:57Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-10T02:35:00Z White_Flame: (foo 3) => 6 2018-02-10T02:35:19Z JuanDaugherty: asarch yeah of course 2018-02-10T02:35:22Z White_Flame: or, if you mean an anonymous function, for some reason? 2018-02-10T02:35:25Z FreeBirdLjj joined #lisp 2018-02-10T02:35:27Z JuanDaugherty: it's the essential nature of lisp 2018-02-10T02:35:30Z White_Flame: ((lambda (x) (+ x 3)) 3) 2018-02-10T02:35:43Z White_Flame: although that's equivalent to (+ 3 3), so having a function there that's called doesn't make a lot of sense 2018-02-10T02:35:48Z JuanDaugherty: it might not be the fastest version though 2018-02-10T02:37:15Z asarch: ((DEFUN FOO () (FORMAT T "Hello, world!"))? 2018-02-10T02:37:37Z JuanDaugherty facepalms 2018-02-10T02:37:59Z White_Flame: asarch: you can either evaluated (defun foo ...) right in the REPL, or you could edit a source code file by inserting that DEFUN with emacs/SLIME and load it in. Both methods will immediately have your function available to call. 2018-02-10T02:38:11Z White_Flame: asarch: you have 1 extra layer of parens 2018-02-10T02:38:37Z asarch: I can (defun foo () (format t "Hello, world!")) 2018-02-10T02:38:43Z asarch: And then just (foo) 2018-02-10T02:38:51Z White_Flame: and you don't need to type in uppercase. The reader auto-upcases text internally when reading symbols 2018-02-10T02:38:55Z White_Flame: yes 2018-02-10T02:38:58Z lerax quit (Ping timeout: 252 seconds) 2018-02-10T02:39:03Z asarch: Sorry, that was a paste from SLIME 2018-02-10T02:39:04Z asarch: Sorry 2018-02-10T02:39:08Z White_Flame: ah, k 2018-02-10T02:39:24Z asarch: How could I do the same on a single line. Declare and call the new function 2018-02-10T02:39:29Z White_Flame: there's also the #clnoobs channel, which might be more appropriate for this level of question 2018-02-10T02:39:36Z White_Flame: (defun foo () ...) (foo) ? 2018-02-10T02:39:49Z White_Flame: lisp doesn't care much about whitespace 2018-02-10T02:39:55Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-10T02:40:59Z asarch: I thought I could something a la JavaScript: (function foo () {...})(); 2018-02-10T02:41:07Z asarch: Thank you White_Flame 2018-02-10T02:41:11Z asarch: Thank you very much :-) 2018-02-10T02:41:25Z asarch: I think I will go to that channel for my next question 2018-02-10T02:41:39Z White_Flame: asarch: that's the equivalent of ((lambda ...) ..params) 2018-02-10T02:41:43Z White_Flame: which is kidn of pointless 2018-02-10T02:41:56Z White_Flame: the only reason people do that in JS is so that their "var"s are contained 2018-02-10T02:42:15Z White_Flame: so it's a hack to get around JS weaknesses 2018-02-10T02:42:44Z asarch: I know, but if I declare a lambda function, how could I call it later? 2018-02-10T02:42:58Z White_Flame: you can just do a plain (let ((a 1) (b 2)) (format t "~a ~a~%" a b)) to scope in Lisp 2018-02-10T02:43:02Z White_Flame: defun 2018-02-10T02:43:11Z White_Flame: lambda is just an anonymous function 2018-02-10T02:43:25Z White_Flame: defun is basically lambda + put it in a symbol's function slot 2018-02-10T02:43:45Z White_Flame: sort of similar to var foo = function ...; vs function foo () ... 2018-02-10T02:44:23Z asarch: Because I could do in the first 5 lines of my code: (defun foo () ...) (foo), and then later in the line #1000 recall foo: (foo) 2018-02-10T02:44:39Z White_Flame: line numbers don't matter 2018-02-10T02:45:03Z asarch: How could I recall a lambda function in the line # 1000 2018-02-10T02:45:03Z White_Flame: you can call (foo) after (defun foo ...) has been executed, and you can manually mung with ordering 2018-02-10T02:45:04Z asarch: ? 2018-02-10T02:45:52Z White_Flame: JS is a very, very weak language when it comes to scoping & controlling source code ordering 2018-02-10T02:46:02Z White_Flame: so you really don't have to worry about a ton of stuff that JS makes you worry about 2018-02-10T02:46:33Z White_Flame: (of course, later versions of JS are cleaning things up, but your examples are kinda oldschool JS)_ 2018-02-10T02:47:16Z White_Flame: so a lot of "How do I do ?" will be answered with "You don't need to" 2018-02-10T02:47:52Z asarch: That was my second question :'-( 2018-02-10T02:48:35Z asarch: How could I store (defun foo () (...)) into a variable? 2018-02-10T02:48:55Z White_Flame: I'm answering in #clnoobs 2018-02-10T02:49:03Z fikka quit (Ping timeout: 248 seconds) 2018-02-10T02:49:04Z asarch: Thank you 2018-02-10T02:49:15Z asarch: I'll go that place 2018-02-10T02:49:18Z asarch left #lisp 2018-02-10T02:50:09Z wxie joined #lisp 2018-02-10T02:50:18Z smurfrobot joined #lisp 2018-02-10T02:50:39Z nowhereman_ quit (Ping timeout: 248 seconds) 2018-02-10T02:50:48Z nowhereman_ joined #lisp 2018-02-10T02:52:43Z iqubic: Should I join #clnoobs? 2018-02-10T02:52:53Z chenbin joined #lisp 2018-02-10T02:54:26Z stacksmith: If you have to ask, YES! 2018-02-10T02:54:36Z FreeBirdLjj joined #lisp 2018-02-10T02:58:57Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-10T03:03:15Z damke joined #lisp 2018-02-10T03:03:16Z smurfrobot quit (Remote host closed the connection) 2018-02-10T03:03:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-10T03:05:59Z FreeBirdLjj joined #lisp 2018-02-10T03:10:54Z pjb quit (Ping timeout: 256 seconds) 2018-02-10T03:10:56Z FreeBirdLjj quit (Ping timeout: 255 seconds) 2018-02-10T03:12:01Z chenbin quit (Remote host closed the connection) 2018-02-10T03:12:03Z Tobbi quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-10T03:12:08Z chenbin joined #lisp 2018-02-10T03:14:29Z daniel-s joined #lisp 2018-02-10T03:14:59Z FreeBirdLjj joined #lisp 2018-02-10T03:17:29Z fikka joined #lisp 2018-02-10T03:18:21Z Cymew joined #lisp 2018-02-10T03:19:01Z SaganMan joined #lisp 2018-02-10T03:19:32Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-10T03:20:27Z python476 quit (Ping timeout: 240 seconds) 2018-02-10T03:21:17Z k-hos: what if I ask if you should join #clnoobs 2018-02-10T03:22:58Z Cymew quit (Ping timeout: 252 seconds) 2018-02-10T03:23:44Z pjb joined #lisp 2018-02-10T03:24:27Z Bike: you don't have to ask that 2018-02-10T03:24:40Z k-hos: :> 2018-02-10T03:24:47Z Cymew joined #lisp 2018-02-10T03:25:41Z stacksmith: It's what's known as a 'rhetorical question'. 2018-02-10T03:29:38Z chenbin quit (Remote host closed the connection) 2018-02-10T03:29:45Z Cymew quit (Ping timeout: 264 seconds) 2018-02-10T03:30:05Z chenbin` joined #lisp 2018-02-10T03:30:45Z Cymew joined #lisp 2018-02-10T03:33:15Z FreeBirdLjj joined #lisp 2018-02-10T03:34:39Z chenbin` quit (Remote host closed the connection) 2018-02-10T03:35:21Z milanj quit (Quit: This computer has gone to sleep) 2018-02-10T03:36:30Z Cymew quit (Ping timeout: 260 seconds) 2018-02-10T03:42:55Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-10T03:46:04Z safe joined #lisp 2018-02-10T03:47:15Z FreeBirdLjj joined #lisp 2018-02-10T03:49:00Z deng_cn quit (Read error: Connection reset by peer) 2018-02-10T03:50:50Z iqubic left #lisp 2018-02-10T03:51:35Z deng_cn joined #lisp 2018-02-10T03:51:57Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-10T04:02:13Z JuanDaugherty: on the debian vs slime, the time came when all the debian cl things were completely removed 2018-02-10T04:07:02Z pjb quit (Ping timeout: 255 seconds) 2018-02-10T04:09:20Z SaganMan: Good Morning! 2018-02-10T04:12:40Z krwq joined #lisp 2018-02-10T04:13:06Z krwq: hey, why does this code produce warning that *foo* is undefined? (defun foo () (defvar *foo* 0) (incf *foo*)) 2018-02-10T04:14:49Z Bike: the defvar is not run at compile time, so the compiler doesn't know that *foo* is special as it compiles the incf 2018-02-10T04:14:56Z Bike: in general, you should not have defvar inside a function body 2018-02-10T04:15:18Z krwq: Bike: I need construct like this for a macro 2018-02-10T04:15:37Z krwq: Bike: so that I can define a lock which is used only in one place 2018-02-10T04:15:39Z Bike: having a macro expand into a defvar is different 2018-02-10T04:15:56Z krwq: Bike: how do I approach this then? 2018-02-10T04:15:57Z Bike: if you need a special variable that's only used in one place, you don't need to use defvar, either 2018-02-10T04:16:08Z Bike: i don't understand your problem well enough to give you an approach 2018-02-10T04:16:11Z krwq: Bike: how do I do it? 2018-02-10T04:16:48Z Bike: could you explain exactly what you'd like to do? 2018-02-10T04:17:44Z krwq: scenario is following: I want a macro which makes a non complicated place thread safe, i.e.: (defun pformat (control-string &rest args) 2018-02-10T04:17:44Z krwq: (with-single-use-lock 2018-02-10T04:17:44Z krwq: (apply #'format t control-string args))) 2018-02-10T04:17:59Z krwq: I'm currently implementing this as: (defmacro with-single-use-lock (&body body) 2018-02-10T04:18:00Z krwq: (with-gensyms (lock) 2018-02-10T04:18:00Z krwq: `(progn 2018-02-10T04:18:00Z krwq: (defvar ,lock (bt:make-lock)) 2018-02-10T04:18:00Z krwq: (bt:with-lock-held (,lock) 2018-02-10T04:18:00Z krwq: ,@body)))) 2018-02-10T04:18:41Z Bike: mm, so you want one lock per call site 2018-02-10T04:19:17Z krwq: yes, I'd prefer not to do anything like pdefun wrapped with let 2018-02-10T04:19:33Z krwq: I mean pdefun doing something like (let (defun ...)) 2018-02-10T04:19:38Z Bike: alright, for that i think you should do something a bit unusual 2018-02-10T04:19:44Z schoppenhauer quit (Ping timeout: 276 seconds) 2018-02-10T04:19:53Z krwq: oversimplified lol 2018-02-10T04:20:04Z krwq: Bike: how do I approach this then? 2018-02-10T04:20:05Z Bike: (with-gensyms (lock) `(let ((,lock (load-time-value (bt:make-lock)))) (bt:with-lock-held (,lock) ,@body))) 2018-02-10T04:20:55Z schoppenhauer joined #lisp 2018-02-10T04:20:58Z Bike: now, if you just had (let ((,lock (bt:make-lock))) ...), that wouldn't work since it would make a new lock for each time you execute it 2018-02-10T04:20:58Z krwq: Thanks Bike, I'll read about this load-time-value - never heard of that before 2018-02-10T04:21:17Z Bike: load-time-value is a special operator that makes its operand be evaluated only once, when the fasl is loaded, and reused thereafter 2018-02-10T04:21:42Z krwq: Bike: I assume this will work also when I just load a file (ok if it redefines it then) 2018-02-10T04:22:01Z Bike: if you just load a file it's not quite as one-time 2018-02-10T04:22:56Z fikka quit (Ping timeout: 255 seconds) 2018-02-10T04:23:02Z Bike: but then, if you're just loading the macro could be expanded more than once, giving it different gensyms anyway 2018-02-10T04:23:14Z krwq: (defun foo () (let ((x (load-time-value 4))) (incf x))) (foo) => 5; (foo) => 5 2018-02-10T04:23:32Z Bike: sure. the load-time-value is 4 2018-02-10T04:23:49Z Bike: (incf x) is just (setf x (1+ x)), it doesn't modify the value of x, just changes what it's set to 2018-02-10T04:23:56Z arescorpio quit (Excess Flood) 2018-02-10T04:24:03Z Bike: try (defun foo () (let ((x (load-time-value (list 1)))) (incf (car x))) 2018-02-10T04:24:19Z krwq: Bike: ok good enough :) thank you! 2018-02-10T04:27:56Z Oladon quit (Quit: Leaving.) 2018-02-10T04:29:54Z fikka joined #lisp 2018-02-10T04:34:38Z Devon joined #lisp 2018-02-10T04:37:00Z FreeBirdLjj joined #lisp 2018-02-10T04:45:47Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-10T04:52:14Z FreeBirdLjj joined #lisp 2018-02-10T04:55:09Z nika joined #lisp 2018-02-10T04:57:35Z heurist` quit (Ping timeout: 248 seconds) 2018-02-10T05:00:49Z heurist` joined #lisp 2018-02-10T05:01:14Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2018-02-10T05:01:53Z krwq quit (Ping timeout: 248 seconds) 2018-02-10T05:04:57Z damke_ joined #lisp 2018-02-10T05:05:41Z FreeBirdLjj joined #lisp 2018-02-10T05:06:38Z khisanth_ quit (Ping timeout: 256 seconds) 2018-02-10T05:06:57Z damke quit (Ping timeout: 264 seconds) 2018-02-10T05:07:06Z heurist` quit (Ping timeout: 252 seconds) 2018-02-10T05:11:29Z beach: Good morning everyone! 2018-02-10T05:11:47Z heurist` joined #lisp 2018-02-10T05:12:10Z nowhere_man joined #lisp 2018-02-10T05:13:04Z nowhereman_ quit (Ping timeout: 248 seconds) 2018-02-10T05:14:43Z heurist`_ joined #lisp 2018-02-10T05:16:17Z heurist` quit (Ping timeout: 248 seconds) 2018-02-10T05:19:27Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-10T05:19:48Z khisanth_ joined #lisp 2018-02-10T05:22:47Z dieggsy quit (Ping timeout: 276 seconds) 2018-02-10T05:27:04Z iqubic joined #lisp 2018-02-10T05:27:15Z FreeBirdLjj joined #lisp 2018-02-10T05:30:35Z heurist`_ quit (Ping timeout: 240 seconds) 2018-02-10T05:30:43Z drewc_ joined #lisp 2018-02-10T05:31:19Z heurist`_ joined #lisp 2018-02-10T05:31:56Z pierpa quit (Quit: Page closed) 2018-02-10T05:33:23Z drewc quit (Ping timeout: 256 seconds) 2018-02-10T05:35:14Z fikka quit (Ping timeout: 255 seconds) 2018-02-10T05:36:02Z iqubic: I have a few questions about slime. There are a few places where the docs are woefully inadequete. 1) What does the STRING argument do in (slime-eval-print-last-expression STRING) and 2) What does the PREFIX argument do in (slime-eval-last-expression-in-repl PREFIX). I'm trying to call these from my init.el, but I can't because these are required arguments. 2018-02-10T05:36:10Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-10T05:38:16Z drmeister: If I have three lists '(a b c) '(d e) '(f g) and I want every combination of the first, second and third lists - what is that called? Outer-product? Cross-product? Is there a CL function to do this? 2018-02-10T05:38:32Z drmeister: I think I ask this every six months and then forget the answer. 2018-02-10T05:38:36Z drmeister: (sigh) 2018-02-10T05:40:12Z FreeBirdLjj joined #lisp 2018-02-10T05:40:21Z fikka joined #lisp 2018-02-10T05:40:23Z beach: I don't know what it is called, and there is no standard function to do that. You will have to write it yourself. 2018-02-10T05:40:33Z eschatologist quit (Ping timeout: 264 seconds) 2018-02-10T05:40:38Z beach: Do you always have three lists? 2018-02-10T05:43:05Z Bike: cartesian product 2018-02-10T05:43:25Z beach: Right. 2018-02-10T05:43:56Z beach: Maybe Alexandria has something. 2018-02-10T05:45:13Z ahungry joined #lisp 2018-02-10T05:45:15Z eschatologist joined #lisp 2018-02-10T05:45:23Z iqubic: I found this: http://computer-programming-forum.com/50-lisp/ac4c69a7b3ada3b5.htm 2018-02-10T05:45:34Z iqubic: Just see the second post there. 2018-02-10T05:46:40Z aeth: drmeister: Iirc mfiano wrote something like that. 2018-02-10T05:47:12Z drmeister: Yes - I think that was it "cartesian". 2018-02-10T05:48:39Z drmeister: Thank you both. 2018-02-10T05:48:53Z FreeBirdLjj quit (Ping timeout: 255 seconds) 2018-02-10T05:49:07Z drmeister: Sorry - thank you everyone. 2018-02-10T05:50:10Z drmeister: And it can be any number of lists. 2018-02-10T05:50:49Z marusich quit (Ping timeout: 265 seconds) 2018-02-10T05:54:04Z marusich joined #lisp 2018-02-10T05:54:21Z SaganMan quit (Ping timeout: 256 seconds) 2018-02-10T05:54:55Z FreeBirdLjj joined #lisp 2018-02-10T05:55:51Z SaganMan joined #lisp 2018-02-10T05:57:24Z heurist_ joined #lisp 2018-02-10T05:57:52Z Arathnim joined #lisp 2018-02-10T05:59:01Z damke joined #lisp 2018-02-10T05:59:02Z heurist`_ quit (Ping timeout: 265 seconds) 2018-02-10T05:59:27Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-10T06:01:11Z FreeBirdLjj joined #lisp 2018-02-10T06:01:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-10T06:06:09Z mlf quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-10T06:10:53Z FreeBirdLjj quit (Ping timeout: 276 seconds) 2018-02-10T06:13:51Z wxie quit (Ping timeout: 248 seconds) 2018-02-10T06:19:11Z Devon quit (Ping timeout: 248 seconds) 2018-02-10T06:19:30Z FreeBirdLjj joined #lisp 2018-02-10T06:21:21Z damke quit (Ping timeout: 264 seconds) 2018-02-10T06:25:56Z Bike quit (Quit: Lost terminal) 2018-02-10T06:26:27Z dddddd quit (Remote host closed the connection) 2018-02-10T06:27:46Z Arathnim quit (Quit: leaving) 2018-02-10T06:29:29Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2018-02-10T06:32:10Z Pixel_Outlaw quit (Quit: Leaving) 2018-02-10T06:33:21Z FreeBirdLjj quit (Ping timeout: 265 seconds) 2018-02-10T06:36:16Z damke joined #lisp 2018-02-10T06:43:42Z FreeBirdLjj joined #lisp 2018-02-10T06:45:14Z fikka quit (Ping timeout: 256 seconds) 2018-02-10T06:47:25Z panji joined #lisp 2018-02-10T06:48:11Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-10T06:48:25Z red-dot joined #lisp 2018-02-10T06:48:51Z asarch joined #lisp 2018-02-10T06:49:32Z asarch: In PCL, chapter 8 there is a paragraph: "Common Lisp doesn't support macros so every Lisp programmer can create their own variants of standard control constructs any more than C supports functions so every C programmer can write trivial variants of the functions in the C standard library." Is it correct? 2018-02-10T06:50:27Z asarch: "Common Lisp doesn't support macros..." <- ? 2018-02-10T06:52:40Z asarch quit (Quit: Leaving) 2018-02-10T06:54:42Z Devon joined #lisp 2018-02-10T06:55:24Z FreeBirdLjj joined #lisp 2018-02-10T06:55:43Z fikka joined #lisp 2018-02-10T06:59:40Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2018-02-10T06:59:47Z JohnnyL joined #lisp 2018-02-10T07:02:43Z stacksmith: Nah, it's like "I don't work hard so my kids will waste my money" - does not mean that I don't work hard. Just unfortunate turn of phrase. 2018-02-10T07:03:39Z stacksmith: The point is that although you could change standard constructs, it does not mean that that's what macros are for. 2018-02-10T07:05:37Z terpri quit (Ping timeout: 248 seconds) 2018-02-10T07:05:47Z White_Flame: I don't post information on #lisp so that people who already left miss it 2018-02-10T07:06:14Z White_Flame: my protip is to always use tab-completion on nicks to ensure they're still on 2018-02-10T07:06:46Z stacksmith: I don't crap in my pants just to make a point! 2018-02-10T07:07:23Z ahungry quit (Remote host closed the connection) 2018-02-10T07:08:11Z orivej quit (Ping timeout: 268 seconds) 2018-02-10T07:10:12Z FreeBirdLjj joined #lisp 2018-02-10T07:14:49Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-10T07:16:25Z SaganMan quit (Quit: WeeChat 1.6) 2018-02-10T07:17:10Z borei quit (Ping timeout: 240 seconds) 2018-02-10T07:17:39Z JuanDaugherty quit (Ping timeout: 256 seconds) 2018-02-10T07:18:27Z Devon quit (Ping timeout: 240 seconds) 2018-02-10T07:18:40Z vlatkoB joined #lisp 2018-02-10T07:22:06Z Arcaelyx_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-10T07:23:01Z FreeBirdLjj joined #lisp 2018-02-10T07:24:15Z fikka quit (Ping timeout: 248 seconds) 2018-02-10T07:25:46Z damke_ joined #lisp 2018-02-10T07:28:31Z fikka joined #lisp 2018-02-10T07:28:33Z damke quit (Ping timeout: 264 seconds) 2018-02-10T07:29:20Z Arcaelyx joined #lisp 2018-02-10T07:31:45Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-10T07:35:33Z SaganMan joined #lisp 2018-02-10T07:37:48Z FreeBirdLjj joined #lisp 2018-02-10T07:42:24Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-10T07:46:00Z smokeink joined #lisp 2018-02-10T07:49:02Z daniel-s quit (Ping timeout: 255 seconds) 2018-02-10T07:52:20Z panji: Hi 2018-02-10T07:53:02Z panji: I am wondering what advantage using funcallable instead using method like in this sample https://gist.github.com/epanji/c93fea8ed9f7adaafb0a782f877dcc1b 2018-02-10T07:53:23Z panji: My understanding about metaclass is not that good, so i always wondering when the right time to use metaclass? 2018-02-10T07:53:46Z panji: Until now, I don't understand what kind of case need using metaclass? :( 2018-02-10T07:55:47Z JohnnyL quit (Quit: leaving) 2018-02-10T07:56:19Z BitPuffin joined #lisp 2018-02-10T07:57:33Z ThUnD3R256 joined #lisp 2018-02-10T08:04:51Z thinkpad quit (Quit: lawl) 2018-02-10T08:07:02Z FreeBirdLjj joined #lisp 2018-02-10T08:07:53Z ThUnD3R256 left #lisp 2018-02-10T08:08:16Z thinkpad joined #lisp 2018-02-10T08:08:41Z ThUnD3R256 joined #lisp 2018-02-10T08:09:01Z ThUnD3R257 joined #lisp 2018-02-10T08:09:03Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-10T08:09:15Z ThUnD3R257 quit (Remote host closed the connection) 2018-02-10T08:10:07Z |3b|: panji: using funcallable-standard-class gives you an object you could pass to things expecting a function 2018-02-10T08:10:32Z ThUnD3R256 quit (Client Quit) 2018-02-10T08:10:51Z ThUnD3R256 joined #lisp 2018-02-10T08:10:57Z krwq joined #lisp 2018-02-10T08:11:34Z panji: same thing like method right? eql-specializer? or it is different? 2018-02-10T08:11:47Z |3b|: not really 2018-02-10T08:12:25Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-10T08:12:51Z panji: hmm still confusing. 2018-02-10T08:13:09Z |3b|: for example if you wanted something you could pass to mapcar, you could use a funcallable instance 2018-02-10T08:13:38Z |3b|: more like a closure than a method 2018-02-10T08:14:03Z |3b|: also, if that is your code, don't use EQ to compare numbers 2018-02-10T08:14:05Z jackdaniel: funcallable instances are a cool concept, because you can have slots and stuff in them, also you may specialize on them if you subclass this metaclass 2018-02-10T08:14:06Z ThUnD3R256 quit (Client Quit) 2018-02-10T08:14:12Z |3b|: well, even if it isn't your code, don't do that :) 2018-02-10T08:14:21Z ThUnD3R256 joined #lisp 2018-02-10T08:15:02Z Devon joined #lisp 2018-02-10T08:15:32Z panji: ah, it is my code.. i just thing about eq when i wrote that, 2018-02-10T08:16:02Z panji: what should i use then? 2018-02-10T08:16:14Z |3b|: EQ is specified to not work on numbers or characters, I would just always use EQL instead of EQ 2018-02-10T08:16:32Z panji: noted. :) 2018-02-10T08:16:33Z jackdaniel: panji: if it's numbers, then = (and if its floats – <=) 2018-02-10T08:17:50Z |3b|: if you know it is numbers (and want error if it isn't), and might be different types of numbers, use = 2018-02-10T08:17:54Z ThUnD3R256 quit (Client Quit) 2018-02-10T08:18:14Z ThUnD3R256 joined #lisp 2018-02-10T08:18:15Z |3b|: (eql 1 1.0)=>NIL (= 1 1.0)=>T 2018-02-10T08:18:39Z |3b|: (eql 1 t)=>NIL (= 1 t)=>error 2018-02-10T08:19:10Z FreeBirdLjj joined #lisp 2018-02-10T08:19:29Z Devon quit (Ping timeout: 255 seconds) 2018-02-10T08:19:45Z panji: but if i want exact test, is it right to use eq? 2018-02-10T08:20:07Z |3b|: if you know you aren't comparing numbers or characters, it is OK to use EQ 2018-02-10T08:20:12Z jackdaniel: panji: no, because 1 is not necessarily eq to 1 (i.e it may be stored in the pointer - immediate type) 2018-02-10T08:20:32Z Kevslinger quit (Quit: Connection closed for inactivity) 2018-02-10T08:21:14Z panji: oh, i see.. i thought value is always store in same pointer. my bad. 2018-02-10T08:21:17Z |3b|: and since that's the only difference between EQ and EQL, it is easier to just always use eql (other people disagree, and think you should use EQ if you know it is safe) 2018-02-10T08:21:49Z jackdaniel: it is nicely discussed in pcl, but the gist of it is what |3b| said 2018-02-10T08:22:02Z |3b|: the idea is that EQ compares "identity", but numbers don't have any specific "identity" in CL terms 2018-02-10T08:23:02Z |3b|: where "identity" usually translates to something like "pointer" at implementation level, and numbers might for example exist only in a register so have nothing to point at 2018-02-10T08:23:32Z FreeBirdLjj quit (Ping timeout: 255 seconds) 2018-02-10T08:26:02Z SaganMan quit (Quit: WeeChat 1.6) 2018-02-10T08:28:33Z FreeBirdLjj joined #lisp 2018-02-10T08:29:20Z Ven`` joined #lisp 2018-02-10T08:31:57Z vtomole joined #lisp 2018-02-10T08:33:03Z fikka quit (Ping timeout: 248 seconds) 2018-02-10T08:33:54Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2018-02-10T08:35:07Z safe quit (Quit: Leaving) 2018-02-10T08:38:06Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-10T08:38:23Z Ven`` joined #lisp 2018-02-10T08:39:42Z shrdlu68 quit (Ping timeout: 260 seconds) 2018-02-10T08:41:24Z shrdlu68 joined #lisp 2018-02-10T08:41:33Z fikka joined #lisp 2018-02-10T08:41:58Z schoppenhauer quit (Ping timeout: 252 seconds) 2018-02-10T08:42:12Z FreeBirdLjj joined #lisp 2018-02-10T08:43:14Z vtomole quit (Quit: Page closed) 2018-02-10T08:46:37Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-10T08:48:12Z pjb joined #lisp 2018-02-10T08:48:16Z pjb is now known as Guest22498 2018-02-10T08:48:35Z fikka quit (Ping timeout: 240 seconds) 2018-02-10T08:49:18Z Guest22498 is now known as pjb` 2018-02-10T08:49:37Z fikka joined #lisp 2018-02-10T08:50:48Z FreeBirdLjj joined #lisp 2018-02-10T08:51:27Z pjb` is now known as pjb 2018-02-10T08:52:05Z schoppenhauer joined #lisp 2018-02-10T08:55:00Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-10T08:55:11Z DeadTrickster quit (Remote host closed the connection) 2018-02-10T08:55:51Z manualcrank quit (Quit: WeeChat 2.0.1) 2018-02-10T08:56:10Z fikka quit (Ping timeout: 260 seconds) 2018-02-10T08:56:27Z fikka joined #lisp 2018-02-10T08:57:26Z markong joined #lisp 2018-02-10T08:57:32Z DeadTrickster joined #lisp 2018-02-10T09:01:21Z damke joined #lisp 2018-02-10T09:03:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-10T09:10:30Z shka joined #lisp 2018-02-10T09:11:39Z nirved joined #lisp 2018-02-10T09:14:08Z FreeBirdLjj joined #lisp 2018-02-10T09:15:02Z earl-ducaine quit (Remote host closed the connection) 2018-02-10T09:17:14Z Devon joined #lisp 2018-02-10T09:18:44Z thinkpad quit (Ping timeout: 276 seconds) 2018-02-10T09:18:49Z th1nkpad joined #lisp 2018-02-10T09:18:55Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-10T09:19:14Z wxie joined #lisp 2018-02-10T09:19:22Z fikka quit (Ping timeout: 256 seconds) 2018-02-10T09:19:23Z panji: |3b|: I added more test about mapcar you talk earlier (in https://gist.github.com/epanji/c93fea8ed9f7adaafb0a782f877dcc1b), and i still can't satisfy my curiosity about advantage using funcallable versus method. Maybe I should play around with it more often. :) 2018-02-10T09:19:30Z deng_cn quit (Read error: Connection reset by peer) 2018-02-10T09:19:47Z th1nkpad is now known as thinkpad 2018-02-10T09:21:33Z |3b|: panji: i mean as first argument of mapcar 2018-02-10T09:21:39Z |3b|: the function 2018-02-10T09:21:45Z Devon quit (Ping timeout: 256 seconds) 2018-02-10T09:22:11Z deng_cn joined #lisp 2018-02-10T09:22:26Z fikka joined #lisp 2018-02-10T09:22:58Z panji: Is funcallable instance can have parameters? i don't know about that. 2018-02-10T09:24:11Z mishoo_ joined #lisp 2018-02-10T09:24:12Z wxie quit (Quit: AtomicIRC: The nuclear option.) 2018-02-10T09:27:01Z beach: panji: Yes, it is a function, but it can have other slots just like a standard object. 2018-02-10T09:27:02Z panji: |3b|: maybe i just don't know the right case to implement what you means. Anyway thanks. :) 2018-02-10T09:27:05Z fikka quit (Ping timeout: 260 seconds) 2018-02-10T09:27:23Z wigust joined #lisp 2018-02-10T09:27:37Z beach: panji: You can't pass a method to functions like MAPCAR. 2018-02-10T09:28:28Z p_l: beach: a specific method, yes. But GFs are fine IIRC? 2018-02-10T09:28:35Z beach: Of course. 2018-02-10T09:33:29Z beach: A generic function is a funcallable-standard-object: http://metamodular.com/CLOS-MOP/graph.png 2018-02-10T09:33:51Z BitPuffin quit (Ping timeout: 256 seconds) 2018-02-10T09:34:28Z panji: beach: what about this? (mapcar #'method instances) is it allowed? 2018-02-10T09:34:42Z beach: What is #'method? 2018-02-10T09:35:01Z beach: Sure, if you have a function that is named METHOD, you could do that. 2018-02-10T09:35:36Z DeadTrickster quit (Read error: Connection reset by peer) 2018-02-10T09:35:37Z beach: But if by #'method you mean a method, then no. You can't pass a method to function like MAPCAR. 2018-02-10T09:36:04Z panji: beach: in my case i create method named calculate in the link above. 2018-02-10T09:36:21Z p_l: ... can you even get a reference to a method to pass it there?... wait, yes, you can, through MOP... 2018-02-10T09:37:20Z beach: panji: When you do DEFMETHOD, unless you have an explicit DEFGENERIC for the same name, you implicitly create a generic function with the same name, and that generic function is what becomes the result of #'method. 2018-02-10T09:37:27Z DeadTrickster joined #lisp 2018-02-10T09:37:58Z beach: er, I mean #'calculate. 2018-02-10T09:38:10Z beach: panji: So you are not passing a method to MAPCAR, you are passing a generic function named CALCULATE. 2018-02-10T09:39:54Z panji: beach: so, it is actually generic function. hmm... i see... noted 2018-02-10T09:40:14Z beach: Try typing #'calculate to the REPL and look at the result. 2018-02-10T09:40:57Z beach: panji: Do you take remarks on your code? 2018-02-10T09:41:28Z panji: beach: I don't understand remarks. 2018-02-10T09:41:47Z beach: Would you like me to tell you how I think your code could be improved? 2018-02-10T09:42:03Z panji: beach: yes. 2018-02-10T09:42:13Z fikka joined #lisp 2018-02-10T09:42:29Z beach: It is better to use slot accessors than to use slot-value and with-slots. Accessors are generic functions so they can participate in a protocol, whereas slots are implementation details that should be hidden. 2018-02-10T09:42:32Z milanj joined #lisp 2018-02-10T09:43:03Z beach: It would be simpler to use :INITFORM than :DEFAULT-INITARGS with the slots in AREA. 2018-02-10T09:44:25Z beach: If you want your code to be portable across implementations, you can use the system CLOSER-MOP rather than the implementation-specific sb-mop. 2018-02-10T09:45:52Z beach: These days, I :USE only the COMMON-LISP package. I use explicit package prefixes for other symbols. If you :USE packages that may evolve, such evolution may break your code in the future, because a new version of such a package might export a symbol with a name that you also need from a different package. 2018-02-10T09:47:35Z fikka quit (Ping timeout: 240 seconds) 2018-02-10T09:49:09Z panji: beach: I know about closer-mop, but it is just experiment code, so i don't think about compatibility. Thanks. 2018-02-10T09:52:45Z thinkpad quit (Ping timeout: 260 seconds) 2018-02-10T09:53:47Z ThUnD3R256 quit (Read error: Connection reset by peer) 2018-02-10T09:54:06Z thinkpad joined #lisp 2018-02-10T09:55:09Z pagnol joined #lisp 2018-02-10T09:56:35Z fikka joined #lisp 2018-02-10T09:57:35Z DeadTrickster quit (Read error: Connection reset by peer) 2018-02-10T09:57:59Z jameser joined #lisp 2018-02-10T09:58:07Z DeadTrickster joined #lisp 2018-02-10T10:02:14Z jackdaniel: panji: experimenting based on good abstractions builds good habits 2018-02-10T10:02:34Z jackdaniel: (so it will be easier for you to pick c2mop when you use it in "real" code) 2018-02-10T10:06:25Z shifty joined #lisp 2018-02-10T10:08:50Z wxie joined #lisp 2018-02-10T10:11:08Z panji: jackdaniel: Ok. Thanks :) 2018-02-10T10:11:31Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2018-02-10T10:14:32Z krwq quit (Remote host closed the connection) 2018-02-10T10:15:41Z wxie quit (Ping timeout: 265 seconds) 2018-02-10T10:20:35Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-10T10:21:12Z jameser joined #lisp 2018-02-10T10:22:26Z jameser quit (Client Quit) 2018-02-10T10:23:55Z attila_lendvai joined #lisp 2018-02-10T10:23:55Z attila_lendvai quit (Changing host) 2018-02-10T10:23:55Z attila_lendvai joined #lisp 2018-02-10T10:25:05Z lnostdal quit (Remote host closed the connection) 2018-02-10T10:25:26Z lnostdal joined #lisp 2018-02-10T10:30:08Z jameser joined #lisp 2018-02-10T10:30:48Z damke_ joined #lisp 2018-02-10T10:32:47Z fikka quit (Ping timeout: 256 seconds) 2018-02-10T10:33:57Z damke quit (Ping timeout: 264 seconds) 2018-02-10T10:36:30Z fikka joined #lisp 2018-02-10T10:39:11Z Josh_2 joined #lisp 2018-02-10T10:40:22Z thinkpad quit (Quit: lawl) 2018-02-10T10:42:47Z shrdlu68 quit (Ping timeout: 268 seconds) 2018-02-10T10:43:24Z JuanDaugherty joined #lisp 2018-02-10T10:43:47Z thinkpad joined #lisp 2018-02-10T10:46:31Z damke joined #lisp 2018-02-10T10:48:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-10T10:49:05Z fikka quit (Ping timeout: 248 seconds) 2018-02-10T10:50:15Z red-dot joined #lisp 2018-02-10T10:50:57Z chrnybo joined #lisp 2018-02-10T10:53:37Z Murii joined #lisp 2018-02-10T10:56:14Z Josh_2: Is there a library that has bindings to Windows functions like mouse pointer position? 2018-02-10T10:56:57Z Tobbi joined #lisp 2018-02-10T10:58:12Z pjb: Josh_2: just use CFFI to call directly MS-Windows API. It works nicely. Microsoft has a nice documentation website. 2018-02-10T10:58:28Z Josh_2: alrighty thanks. I thought that might be the case 2018-02-10T10:58:47Z Josh_2: I've never used CFFI so that'll be a learning experience 2018-02-10T11:01:51Z damke_ joined #lisp 2018-02-10T11:01:53Z Shinmera: Josh_2: What do you want to do with the position? 2018-02-10T11:02:33Z Josh_2: Well I want to make some software that lets me share my mouse/keyboard across my Gentoo install and Windoge 2018-02-10T11:02:50Z raynold quit (Quit: Connection closed for inactivity) 2018-02-10T11:03:32Z Josh_2: And use threading etc so that I can use it for my Uni coursework work 2018-02-10T11:03:57Z damke quit (Ping timeout: 264 seconds) 2018-02-10T11:06:26Z Karl_Dscc joined #lisp 2018-02-10T11:08:41Z Josh_2: Not sure if it is something that is going to be very difficult. 2018-02-10T11:09:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-10T11:09:21Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-10T11:10:24Z attila_lendvai joined #lisp 2018-02-10T11:10:24Z attila_lendvai quit (Changing host) 2018-02-10T11:10:24Z attila_lendvai joined #lisp 2018-02-10T11:21:54Z fikka joined #lisp 2018-02-10T11:22:48Z random-nick joined #lisp 2018-02-10T11:22:59Z panji left #lisp 2018-02-10T11:28:07Z nika quit (Quit: Leaving...) 2018-02-10T11:29:00Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-10T11:29:03Z JuanDaugherty: what's Windoge? 2018-02-10T11:29:08Z Josh_2: Windows 2018-02-10T11:29:12Z JuanDaugherty: ah 2018-02-10T11:30:30Z JuanDaugherty: well i essentially have tnat now. looking at a 36 desktop fvwm pager, don't have a dos vnc session right now 2018-02-10T11:31:01Z pjb quit (Read error: Connection reset by peer) 2018-02-10T11:31:40Z JuanDaugherty: so if i used guacamole or any of a plethora of other things could share it with others in a browser 2018-02-10T11:32:28Z JuanDaugherty: and this is way way off topic 2018-02-10T11:34:35Z JuanDaugherty: as to whether there's a cl binding to whatever currently replaces win32, i would guess not but not with confidence 2018-02-10T11:35:07Z JuanDaugherty: i.e. not in the free lisps 2018-02-10T11:35:30Z JuanDaugherty: prolly a path to it though 2018-02-10T11:36:07Z Josh_2: vnc seems like a nice solution, although it seems more like X forwarding with SSH 2018-02-10T11:36:34Z JuanDaugherty: vnc is an X server but it does run on windows 2018-02-10T11:36:49Z JuanDaugherty: only the windows native gui is what that thing 2018-02-10T11:37:37Z JuanDaugherty: it used to be win32 and wouldn be surprised if it was win64 now but doubt that, again with little confidence 2018-02-10T11:38:01Z JuanDaugherty: 50/50 it's win64 2018-02-10T11:38:17Z python476 joined #lisp 2018-02-10T11:38:37Z JuanDaugherty: lisp wants to be on unix 2018-02-10T11:38:42Z terrorjack quit 2018-02-10T11:38:43Z JuanDaugherty: the free ones anyway 2018-02-10T11:38:47Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-10T11:40:33Z terrorjack joined #lisp 2018-02-10T11:42:01Z JuanDaugherty: doesn't slime show up on the main menu bar anymore? it executes fine but there's no slime menu when I have a lisp file open 2018-02-10T11:46:42Z ludston: JaunDaugherty: It shows up for me 2018-02-10T11:47:08Z ludston: JuanDaugherty: You have a hard name to spell 2018-02-10T11:47:14Z JuanDaugherty: ah good, just wanted to know if i needed to adjust expectations 2018-02-10T11:47:25Z JuanDaugherty: most people use disambig 2018-02-10T11:48:46Z JuanDaugherty: or nick completion igess would be better term 2018-02-10T11:48:54Z JuanDaugherty: if your client supports it 2018-02-10T11:50:14Z JuanDaugherty: and yeah prelude d un midi une jaun is common 2018-02-10T11:50:45Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-10T11:52:22Z attila_lendvai joined #lisp 2018-02-10T11:54:25Z wxie joined #lisp 2018-02-10T11:54:41Z Rawriful joined #lisp 2018-02-10T11:55:27Z JuanDaugherty *is what that thing is 2018-02-10T11:57:14Z EvW joined #lisp 2018-02-10T12:01:45Z fikka quit (Ping timeout: 256 seconds) 2018-02-10T12:13:07Z damke_ joined #lisp 2018-02-10T12:15:28Z igemnace joined #lisp 2018-02-10T12:19:10Z pjb joined #lisp 2018-02-10T12:22:32Z Murii quit (Ping timeout: 260 seconds) 2018-02-10T12:22:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-10T12:22:49Z damke joined #lisp 2018-02-10T12:26:28Z fikka joined #lisp 2018-02-10T12:30:22Z orivej joined #lisp 2018-02-10T12:33:34Z rippa joined #lisp 2018-02-10T12:33:35Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-10T12:35:09Z attila_lendvai joined #lisp 2018-02-10T12:35:09Z attila_lendvai quit (Changing host) 2018-02-10T12:35:09Z attila_lendvai joined #lisp 2018-02-10T12:43:53Z varjag joined #lisp 2018-02-10T12:44:09Z smokeink quit (Ping timeout: 264 seconds) 2018-02-10T12:57:18Z kobain joined #lisp 2018-02-10T13:02:23Z fikka quit (Ping timeout: 248 seconds) 2018-02-10T13:06:40Z Bike joined #lisp 2018-02-10T13:06:52Z dieggsy joined #lisp 2018-02-10T13:08:26Z dddddd joined #lisp 2018-02-10T13:11:26Z attila_lendvai quit (Quit: Leaving.) 2018-02-10T13:14:45Z fikka joined #lisp 2018-02-10T13:17:22Z igemnace quit (Ping timeout: 256 seconds) 2018-02-10T13:19:52Z antgreen joined #lisp 2018-02-10T13:20:53Z igemnace joined #lisp 2018-02-10T13:22:56Z fikka quit (Ping timeout: 255 seconds) 2018-02-10T13:23:46Z fikka joined #lisp 2018-02-10T13:29:16Z knicklux joined #lisp 2018-02-10T13:38:11Z zooey quit (Ping timeout: 255 seconds) 2018-02-10T13:39:00Z zooey joined #lisp 2018-02-10T13:44:03Z shrdlu68 joined #lisp 2018-02-10T14:05:51Z fikka quit (Ping timeout: 256 seconds) 2018-02-10T14:06:25Z antgreen quit (Remote host closed the connection) 2018-02-10T14:06:59Z attila_lendvai joined #lisp 2018-02-10T14:06:59Z attila_lendvai quit (Changing host) 2018-02-10T14:06:59Z attila_lendvai joined #lisp 2018-02-10T14:08:01Z orivej quit (Ping timeout: 248 seconds) 2018-02-10T14:08:51Z damke_ joined #lisp 2018-02-10T14:11:09Z damke quit (Ping timeout: 264 seconds) 2018-02-10T14:15:38Z BitPuffin joined #lisp 2018-02-10T14:19:33Z deng_cn quit (Read error: Connection reset by peer) 2018-02-10T14:19:58Z fikka joined #lisp 2018-02-10T14:22:10Z deng_cn joined #lisp 2018-02-10T14:22:56Z shifty quit (Ping timeout: 268 seconds) 2018-02-10T14:24:21Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-10T14:30:45Z asarch joined #lisp 2018-02-10T14:33:05Z josemanuel joined #lisp 2018-02-10T14:33:16Z moei joined #lisp 2018-02-10T14:37:11Z EvW quit (Ping timeout: 255 seconds) 2018-02-10T14:37:16Z igemnace quit (Ping timeout: 256 seconds) 2018-02-10T14:37:58Z milanj quit (Quit: This computer has gone to sleep) 2018-02-10T14:38:43Z igemnace joined #lisp 2018-02-10T14:39:32Z Ven`` joined #lisp 2018-02-10T14:42:22Z attila_lendvai joined #lisp 2018-02-10T14:42:27Z Murii joined #lisp 2018-02-10T14:45:19Z wxie quit (Ping timeout: 248 seconds) 2018-02-10T14:49:40Z fikka quit (Ping timeout: 240 seconds) 2018-02-10T14:53:03Z Baggers joined #lisp 2018-02-10T14:53:26Z Baggers quit (Client Quit) 2018-02-10T14:55:36Z fikka joined #lisp 2018-02-10T14:59:20Z milanj joined #lisp 2018-02-10T15:04:35Z lnostdal quit (Ping timeout: 255 seconds) 2018-02-10T15:08:09Z hvxgr quit (Ping timeout: 264 seconds) 2018-02-10T15:15:23Z solyd joined #lisp 2018-02-10T15:17:01Z solyd quit (Client Quit) 2018-02-10T15:17:26Z lnostdal joined #lisp 2018-02-10T15:25:20Z attila_lendvai quit (Quit: Leaving.) 2018-02-10T15:26:38Z schoppenhauer quit (Ping timeout: 276 seconds) 2018-02-10T15:28:48Z schoppenhauer joined #lisp 2018-02-10T15:29:37Z smurfrobot joined #lisp 2018-02-10T15:29:45Z fikka quit (Ping timeout: 264 seconds) 2018-02-10T15:30:19Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2018-02-10T15:34:06Z smurfrobot quit (Ping timeout: 252 seconds) 2018-02-10T15:37:00Z fikka joined #lisp 2018-02-10T15:43:15Z Ukari joined #lisp 2018-02-10T15:44:54Z antgreen joined #lisp 2018-02-10T15:58:08Z EvW1 joined #lisp 2018-02-10T16:02:20Z pagnol quit (Ping timeout: 252 seconds) 2018-02-10T16:03:57Z _mjl quit (Quit: WeeChat 1.9.1) 2018-02-10T16:05:24Z milanj quit (Quit: This computer has gone to sleep) 2018-02-10T16:06:35Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-10T16:06:48Z Ven`` joined #lisp 2018-02-10T16:07:20Z Ven`` quit (Client Quit) 2018-02-10T16:07:47Z pagnol joined #lisp 2018-02-10T16:14:35Z pagnol quit (Quit: Ex-Chat) 2018-02-10T16:18:42Z Ven`` joined #lisp 2018-02-10T16:18:54Z lnostdal_ joined #lisp 2018-02-10T16:20:07Z fikka quit (Ping timeout: 265 seconds) 2018-02-10T16:21:53Z asarch quit (Quit: Leaving) 2018-02-10T16:22:26Z lnostdal quit (Ping timeout: 255 seconds) 2018-02-10T16:24:22Z rumbler31 joined #lisp 2018-02-10T16:26:41Z fikka joined #lisp 2018-02-10T16:27:18Z _mjl joined #lisp 2018-02-10T16:28:44Z lnostdal_ quit (Ping timeout: 255 seconds) 2018-02-10T16:37:05Z makomo joined #lisp 2018-02-10T16:37:07Z drewc_ is now known as drewc 2018-02-10T16:39:16Z random-nick quit (Quit: quit) 2018-02-10T16:39:33Z random-nick joined #lisp 2018-02-10T16:41:40Z lnostdal_ joined #lisp 2018-02-10T16:42:04Z sunwukong joined #lisp 2018-02-10T16:43:24Z makomo quit (Ping timeout: 252 seconds) 2018-02-10T16:47:01Z nosefouratyou joined #lisp 2018-02-10T16:48:58Z AxelAlex joined #lisp 2018-02-10T16:56:19Z iqubic quit (Remote host closed the connection) 2018-02-10T16:56:58Z JohnnyL joined #lisp 2018-02-10T16:57:51Z makomo joined #lisp 2018-02-10T16:59:48Z igemnace quit (Quit: WeeChat 2.0.1) 2018-02-10T17:02:14Z Ukari quit (Remote host closed the connection) 2018-02-10T17:03:02Z orivej joined #lisp 2018-02-10T17:07:26Z Oladon joined #lisp 2018-02-10T17:11:14Z nowhereman_ joined #lisp 2018-02-10T17:11:24Z nowhere_man quit (Ping timeout: 256 seconds) 2018-02-10T17:14:04Z Devon joined #lisp 2018-02-10T17:15:37Z Tobbi quit (Remote host closed the connection) 2018-02-10T17:16:30Z kobain quit (Ping timeout: 256 seconds) 2018-02-10T17:16:58Z Tobbi joined #lisp 2018-02-10T17:21:26Z aindilis quit (Ping timeout: 255 seconds) 2018-02-10T17:22:09Z ante_ joined #lisp 2018-02-10T17:22:22Z ante_ is now known as Cymew 2018-02-10T17:22:49Z yates joined #lisp 2018-02-10T17:24:49Z knicklux quit (Ping timeout: 248 seconds) 2018-02-10T17:27:00Z yates left #lisp 2018-02-10T17:28:15Z Arcaelyx joined #lisp 2018-02-10T17:30:24Z smurfrobot joined #lisp 2018-02-10T17:33:03Z attila_lendvai joined #lisp 2018-02-10T17:33:03Z attila_lendvai quit (Changing host) 2018-02-10T17:33:03Z attila_lendvai joined #lisp 2018-02-10T17:33:28Z mfiano: drmeister: Hello 2018-02-10T17:35:19Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-10T17:35:27Z fikka quit (Ping timeout: 248 seconds) 2018-02-10T17:35:45Z safe joined #lisp 2018-02-10T17:37:57Z mfiano: drmeister: It depends, really. Do you mean combinations or permutations? Are repetitions allowed? Are the inputs always guaranteed to be "sets"? etc 2018-02-10T17:41:51Z mfiano: drmeister: Depending on your answers, it can be a Cartesian product, combination, permutation, permutation with repetitions (different), the "Power set", etc 2018-02-10T17:42:06Z dddddd quit (Remote host closed the connection) 2018-02-10T17:43:02Z JuanDaugherty quit (Ping timeout: 255 seconds) 2018-02-10T17:44:14Z makomo quit (Quit: WeeChat 1.9.1) 2018-02-10T17:47:12Z attila_lendvai quit (Quit: Leaving.) 2018-02-10T17:51:36Z Arathnim joined #lisp 2018-02-10T17:52:30Z python476 quit (Read error: Connection reset by peer) 2018-02-10T17:55:31Z ckonstanski quit (Remote host closed the connection) 2018-02-10T17:56:15Z Cymew quit (Quit: Konversation terminated!) 2018-02-10T17:58:25Z pseudonymous_ joined #lisp 2018-02-10T17:59:04Z nowhere_man joined #lisp 2018-02-10T18:02:27Z nowhereman_ quit (Ping timeout: 240 seconds) 2018-02-10T18:03:05Z AxelAlex quit (Ping timeout: 268 seconds) 2018-02-10T18:03:27Z JuanDaugherty joined #lisp 2018-02-10T18:04:15Z fikka joined #lisp 2018-02-10T18:04:16Z makomo joined #lisp 2018-02-10T18:05:32Z EvW1 quit (Ping timeout: 255 seconds) 2018-02-10T18:07:28Z mlf joined #lisp 2018-02-10T18:18:20Z mishoo__ joined #lisp 2018-02-10T18:19:50Z mishoo_ quit (Ping timeout: 256 seconds) 2018-02-10T18:21:15Z jonh left #lisp 2018-02-10T18:21:59Z fikka quit (Ping timeout: 260 seconds) 2018-02-10T18:23:18Z knicklux joined #lisp 2018-02-10T18:28:18Z python476 joined #lisp 2018-02-10T18:29:21Z terpri joined #lisp 2018-02-10T18:30:28Z fikka joined #lisp 2018-02-10T18:31:11Z smurfrobot joined #lisp 2018-02-10T18:31:52Z raynold joined #lisp 2018-02-10T18:35:45Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-10T18:36:53Z milanj joined #lisp 2018-02-10T18:37:53Z richardjdare joined #lisp 2018-02-10T18:40:56Z attila_lendvai joined #lisp 2018-02-10T18:40:56Z attila_lendvai quit (Changing host) 2018-02-10T18:40:56Z attila_lendvai joined #lisp 2018-02-10T18:52:25Z fikka quit (Ping timeout: 268 seconds) 2018-02-10T18:53:32Z ThUnD3R256 joined #lisp 2018-02-10T18:59:56Z makomo quit (Ping timeout: 276 seconds) 2018-02-10T19:03:13Z ThUnD3R256 quit (Read error: Connection reset by peer) 2018-02-10T19:03:58Z ThUnD3R256 joined #lisp 2018-02-10T19:04:17Z AxelAlex joined #lisp 2018-02-10T19:08:04Z fikka joined #lisp 2018-02-10T19:08:47Z AxelAlex quit (Ping timeout: 248 seconds) 2018-02-10T19:10:21Z moonfght joined #lisp 2018-02-10T19:10:46Z smasta joined #lisp 2018-02-10T19:12:31Z fikka quit (Ping timeout: 248 seconds) 2018-02-10T19:14:14Z moon_ joined #lisp 2018-02-10T19:14:24Z moonfght quit (Remote host closed the connection) 2018-02-10T19:16:57Z EvW joined #lisp 2018-02-10T19:18:26Z Devon quit (Ping timeout: 255 seconds) 2018-02-10T19:18:35Z fikka joined #lisp 2018-02-10T19:23:10Z fikka quit (Ping timeout: 240 seconds) 2018-02-10T19:23:28Z knicklux_ joined #lisp 2018-02-10T19:23:48Z zotan quit (Ping timeout: 240 seconds) 2018-02-10T19:24:35Z d4ryus1 is now known as d4ryus 2018-02-10T19:26:20Z attila_lendvai quit (Ping timeout: 268 seconds) 2018-02-10T19:28:25Z zotan joined #lisp 2018-02-10T19:29:25Z hiroaki joined #lisp 2018-02-10T19:30:08Z elazul joined #lisp 2018-02-10T19:31:04Z Devon joined #lisp 2018-02-10T19:31:34Z vlatkoB quit (Remote host closed the connection) 2018-02-10T19:38:30Z fikka joined #lisp 2018-02-10T19:39:57Z hiroaki quit (Ping timeout: 264 seconds) 2018-02-10T19:41:24Z attila_lendvai joined #lisp 2018-02-10T19:41:24Z attila_lendvai quit (Changing host) 2018-02-10T19:41:24Z attila_lendvai joined #lisp 2018-02-10T19:43:23Z fikka quit (Ping timeout: 256 seconds) 2018-02-10T19:43:38Z aindilis joined #lisp 2018-02-10T19:45:57Z Devon quit (Ping timeout: 264 seconds) 2018-02-10T19:47:19Z moon_ quit (Remote host closed the connection) 2018-02-10T19:47:24Z Baggers joined #lisp 2018-02-10T19:48:57Z fikka joined #lisp 2018-02-10T19:53:18Z fikka quit (Ping timeout: 240 seconds) 2018-02-10T19:55:47Z fikka joined #lisp 2018-02-10T20:01:12Z Pixel_Outlaw joined #lisp 2018-02-10T20:02:00Z megeve joined #lisp 2018-02-10T20:02:01Z makomo joined #lisp 2018-02-10T20:02:04Z BitPuffin quit (Remote host closed the connection) 2018-02-10T20:02:09Z damke_ quit (Ping timeout: 264 seconds) 2018-02-10T20:04:12Z damke_ joined #lisp 2018-02-10T20:04:34Z attila_lendvai quit (Quit: Leaving.) 2018-02-10T20:06:15Z attila_lendvai joined #lisp 2018-02-10T20:06:15Z attila_lendvai quit (Changing host) 2018-02-10T20:06:15Z attila_lendvai joined #lisp 2018-02-10T20:08:56Z attila_lendvai quit (Client Quit) 2018-02-10T20:08:57Z drcode joined #lisp 2018-02-10T20:09:40Z Oladon quit (Read error: Connection reset by peer) 2018-02-10T20:10:40Z Oladon joined #lisp 2018-02-10T20:14:16Z void_gazer joined #lisp 2018-02-10T20:15:39Z drmeister: Hi mfiano - thank you - it was the cartesian product that I was looking for. This function does the job nicely. 2018-02-10T20:16:12Z drmeister: https://www.irccloud.com/pastebin/a6T061fj/ 2018-02-10T20:17:27Z chrnybo quit (Ping timeout: 240 seconds) 2018-02-10T20:17:50Z richardjdare quit (Ping timeout: 276 seconds) 2018-02-10T20:18:01Z mfiano: Great 2018-02-10T20:18:04Z akkad quit (Excess Flood) 2018-02-10T20:18:15Z akkad joined #lisp 2018-02-10T20:18:21Z richardjdare joined #lisp 2018-02-10T20:18:41Z void_gazer quit (Ping timeout: 248 seconds) 2018-02-10T20:20:36Z Kevslinger joined #lisp 2018-02-10T20:23:10Z knicklux_ quit (Ping timeout: 240 seconds) 2018-02-10T20:23:35Z knicklux quit (Ping timeout: 240 seconds) 2018-02-10T20:27:10Z smurfrobot joined #lisp 2018-02-10T20:28:54Z attila_lendvai joined #lisp 2018-02-10T20:29:18Z fikka quit (Ping timeout: 240 seconds) 2018-02-10T20:32:53Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-10T20:39:11Z akkad quit (Excess Flood) 2018-02-10T20:40:45Z knicklux joined #lisp 2018-02-10T20:40:54Z knicklux_ joined #lisp 2018-02-10T20:41:09Z phoe: this function is surprisingly satisfying 2018-02-10T20:42:17Z kolko joined #lisp 2018-02-10T20:42:18Z pagnol joined #lisp 2018-02-10T20:42:42Z smurfrobot quit (Remote host closed the connection) 2018-02-10T20:45:10Z fikka joined #lisp 2018-02-10T20:47:06Z eug_venalainen joined #lisp 2018-02-10T20:47:23Z _mjl quit (Quit: WeeChat 1.9.1) 2018-02-10T20:47:36Z elazul quit (Ping timeout: 252 seconds) 2018-02-10T20:47:44Z JuanDaugherty quit (Ping timeout: 256 seconds) 2018-02-10T20:48:51Z sjl: (defun cartesian (l) (apply #'alexandria:map-permutations #'list l)) 2018-02-10T20:48:57Z sjl: er, map-product 2018-02-10T20:49:16Z akkad joined #lisp 2018-02-10T20:49:42Z phoe: sjl: woah 2018-02-10T20:50:20Z fikka quit (Ping timeout: 276 seconds) 2018-02-10T20:50:48Z kundry_wag joined #lisp 2018-02-10T20:51:15Z kundry_wag quit (Client Quit) 2018-02-10T20:51:31Z Kundry_Wag joined #lisp 2018-02-10T20:51:57Z Bike: oh, is there a map-product now? 2018-02-10T20:52:49Z Bike: and it collects for you, nice 2018-02-10T20:53:10Z Tristam quit (Ping timeout: 240 seconds) 2018-02-10T20:54:22Z Tristam joined #lisp 2018-02-10T20:54:43Z sjl: yeah unlike map-(permutations|combinations) 2018-02-10T20:55:11Z Bike: i wonder why the difference... i suppose because those ones can reuse the sequence 2018-02-10T20:55:12Z sjl wishes those were called do-* instead of map-* 2018-02-10T20:55:35Z Bike: but most do- things are macxros. how terrible 2018-02-10T20:56:20Z sjl: true. not sure what a better naming scheme would be 2018-02-10T20:56:59Z arbv quit (Ping timeout: 255 seconds) 2018-02-10T20:57:00Z phoe: a better naming scheme would be a Lisp-2 instead of Lisp-1 2018-02-10T20:57:04Z sjl: but it always confuses me that some of the map-* ones collect the results of the function you pass and others dont 2018-02-10T20:57:18Z Bike: it's confusing, yes 2018-02-10T20:58:00Z sjl: well, map-permutations returns nil, map-combinations returns the sequence you pass it, and map-product returns a list of the results 2018-02-10T20:58:02Z arbv joined #lisp 2018-02-10T20:58:33Z phoe: wtf 2018-02-10T20:58:37Z phoe: why does the first one return nil 2018-02-10T20:58:51Z eug_venalainen quit (Read error: Connection reset by peer) 2018-02-10T20:59:50Z shrdlu68: It doesn't collect the output. 2018-02-10T21:00:02Z phoe: neither does MAPC, and it returns its input 2018-02-10T21:00:05Z random-nick: maybe they should be called mapc-* 2018-02-10T21:00:16Z sjl: map-derangements returns the original sequence as well 2018-02-10T21:03:57Z sjl: oh fun, map-permutations sometimes returns nil only if you permute the entire sequence, but returns the original sequence if you permute a subsequence of it 2018-02-10T21:04:04Z sjl: s/sometimes // 2018-02-10T21:05:17Z nowhereman_ joined #lisp 2018-02-10T21:05:26Z fikka joined #lisp 2018-02-10T21:05:43Z phoe: why 2018-02-10T21:05:50Z sjl: hah, if you pass it a one-element sequence though, it returns the result of your function :) 2018-02-10T21:06:13Z sjl: because the return is just an implementation detail right now 2018-02-10T21:06:18Z sjl: it depends on which branch you go down 2018-02-10T21:08:04Z phoe: So it isn't mean to return anything meaningful, correct? 2018-02-10T21:08:14Z sjl: I believe so 2018-02-10T21:08:40Z nowhere_man quit (Ping timeout: 265 seconds) 2018-02-10T21:09:16Z Karl_Dscc quit (Remote host closed the connection) 2018-02-10T21:09:29Z phoe: should be specified in the docstring then 2018-02-10T21:09:39Z phoe: attila_lendvai: what do you think? 2018-02-10T21:10:23Z fikka quit (Ping timeout: 248 seconds) 2018-02-10T21:14:04Z megeve quit 2018-02-10T21:19:01Z sjl: patch sent, maybe it'll get merged and be slightly less confusing now 2018-02-10T21:20:10Z mishoo__ quit (Ping timeout: 256 seconds) 2018-02-10T21:24:08Z tylerdmace quit (Ping timeout: 256 seconds) 2018-02-10T21:25:43Z fikka joined #lisp 2018-02-10T21:26:14Z wigust quit (Quit: ZNC 1.6.5 - http://znc.in) 2018-02-10T21:28:51Z hhdave joined #lisp 2018-02-10T21:29:28Z shka quit (Quit: Konversation terminated!) 2018-02-10T21:30:42Z stacksmith: Could someone clarify CLHS eval description "The evaluator expands macro calls as if through the use of macroexpand-1"... Why is it limited to 1 level of expansion? 2018-02-10T21:30:44Z Ven`` joined #lisp 2018-02-10T21:32:17Z Bike: because the algorithm is more complicated. for example, it can do compiler macroexpansion too 2018-02-10T21:32:36Z stacksmith: it being what? 2018-02-10T21:32:38Z kolko quit (Ping timeout: 256 seconds) 2018-02-10T21:32:40Z Bike: the evaluator 2018-02-10T21:32:51Z phoe: can you do define-compiler-macro for macros? 2018-02-10T21:32:52Z Bike: it might also be emphasizing that *macroexpand-hook* is still used, and stuff 2018-02-10T21:32:55Z Bike: phoe: yes 2018-02-10T21:32:56Z phoe: or would it be sorta pointless? 2018-02-10T21:32:58Z phoe: oh, hm 2018-02-10T21:33:01Z Bike: i don't know why you would, but you can 2018-02-10T21:33:27Z ryanbw quit (Ping timeout: 240 seconds) 2018-02-10T21:34:27Z stacksmith: a compiler macro for macro-function... interesting. 2018-02-10T21:35:04Z shka joined #lisp 2018-02-10T21:35:32Z stacksmith: However, if eval is limited to 1 level of macroexpansion, would it not behave differently from compiling identical code? 2018-02-10T21:35:46Z Bike: it's not limited 2018-02-10T21:35:56Z phoe: stacksmith: remember that eval normally operates recursively 2018-02-10T21:36:00Z bigfondue quit (Ping timeout: 252 seconds) 2018-02-10T21:36:06Z Bike: it says it works like macroexpand-1 does, but it doesn't say it can't do that more than once 2018-02-10T21:36:28Z phoe: if you have (+ (foo) (bar)) then eval first starts evaluating the whole call, but then since it's a function call, it must evaluate its arguments 2018-02-10T21:36:36Z phoe: and if (foo) and (bar) are macros then they're expanded 2018-02-10T21:36:44Z phoe: otherwise eval wouldn't work 2018-02-10T21:37:09Z stacksmith: Does eval invoke eval on non-self-evaluating forms? 2018-02-10T21:37:13Z phoe: no 2018-02-10T21:37:21Z phoe: oh wait 2018-02-10T21:37:24Z Bike: well, it might? 2018-02-10T21:37:34Z phoe: what do you mean, non-self-evaluating forms? 2018-02-10T21:37:36Z antgreen quit (*.net *.split) 2018-02-10T21:37:36Z DeadTrickster quit (*.net *.split) 2018-02-10T21:37:37Z scymtym quit (*.net *.split) 2018-02-10T21:37:38Z kini quit (*.net *.split) 2018-02-10T21:37:38Z mfiano quit (*.net *.split) 2018-02-10T21:37:38Z msb quit (*.net *.split) 2018-02-10T21:37:40Z jackdaniel quit (*.net *.split) 2018-02-10T21:37:41Z sword quit (*.net *.split) 2018-02-10T21:37:41Z lemoinem quit (*.net *.split) 2018-02-10T21:37:42Z fdfdf quit (*.net *.split) 2018-02-10T21:37:42Z Posterdati quit (*.net *.split) 2018-02-10T21:37:43Z Patzy quit (*.net *.split) 2018-02-10T21:37:43Z Walex quit (*.net *.split) 2018-02-10T21:37:43Z em quit (*.net *.split) 2018-02-10T21:37:43Z joga quit (*.net *.split) 2018-02-10T21:37:47Z borodust quit (*.net *.split) 2018-02-10T21:37:47Z vsync quit (*.net *.split) 2018-02-10T21:37:49Z Aritheanie quit (*.net *.split) 2018-02-10T21:37:49Z gingerale quit (*.net *.split) 2018-02-10T21:37:50Z Murii quit (*.net *.split) 2018-02-10T21:37:50Z dieggsy quit (*.net *.split) 2018-02-10T21:37:53Z kajo quit (*.net *.split) 2018-02-10T21:37:54Z dirb quit (*.net *.split) 2018-02-10T21:37:55Z mhitchman[m] quit (*.net *.split) 2018-02-10T21:37:57Z ben3 quit (*.net *.split) 2018-02-10T21:37:57Z Firedancer quit (*.net *.split) 2018-02-10T21:37:58Z pmden quit (*.net *.split) 2018-02-10T21:37:58Z reu quit (*.net *.split) 2018-02-10T21:37:59Z wladz_ quit (*.net *.split) 2018-02-10T21:38:00Z parseval quit (*.net *.split) 2018-02-10T21:38:01Z galdor quit (*.net *.split) 2018-02-10T21:38:03Z Bike: not really specified whether it calls itself recursively, or something else, or what 2018-02-10T21:38:03Z Bike: it's irrelevant, as long as the behavior is as specified there's no problem 2018-02-10T21:38:14Z rippa quit (*.net *.split) 2018-02-10T21:38:15Z splittist quit (*.net *.split) 2018-02-10T21:38:17Z Jach[m] quit (*.net *.split) 2018-02-10T21:38:19Z jibanes quit (*.net *.split) 2018-02-10T21:38:19Z kozy quit (*.net *.split) 2018-02-10T21:38:20Z ym quit (*.net *.split) 2018-02-10T21:38:22Z johs quit (*.net *.split) 2018-02-10T21:38:22Z bailon quit (*.net *.split) 2018-02-10T21:38:23Z sigjuice quit (*.net *.split) 2018-02-10T21:38:27Z mikaelj quit (*.net *.split) 2018-02-10T21:38:27Z sshirokov quit (*.net *.split) 2018-02-10T21:38:28Z sthalik quit (*.net *.split) 2018-02-10T21:38:28Z Cthulhux quit (*.net *.split) 2018-02-10T21:38:29Z deba5e12 quit (*.net *.split) 2018-02-10T21:39:13Z stacksmith: phoe: CLHS 3.1.2.1.3 A form that is neither a symbol nor a cons is defined to be a self-evaluating object. 2018-02-10T21:39:57Z Ven`` quit (Ping timeout: 240 seconds) 2018-02-10T21:40:12Z saki quit (Ping timeout: 260 seconds) 2018-02-10T21:40:23Z stacksmith: Bike: why is it relevant to mention that eval acts as if it does a macroexpand-1? 2018-02-10T21:40:37Z Bike: macroexpand hook and stuff, i guess 2018-02-10T21:40:48Z Bike: doesn't seem like an important thing to worry about, really 2018-02-10T21:40:49Z stacksmith: BIke: yes. Thanks 2018-02-10T21:41:23Z stacksmith: Bike: not important at all. I just don't like not understanding things. 2018-02-10T21:41:37Z Bike: reasonable 2018-02-10T21:42:16Z rippa joined #lisp 2018-02-10T21:42:16Z splittist joined #lisp 2018-02-10T21:42:16Z Jach[m] joined #lisp 2018-02-10T21:42:16Z jibanes joined #lisp 2018-02-10T21:42:16Z kozy joined #lisp 2018-02-10T21:42:16Z ym joined #lisp 2018-02-10T21:42:16Z johs joined #lisp 2018-02-10T21:42:16Z bailon joined #lisp 2018-02-10T21:42:16Z sigjuice joined #lisp 2018-02-10T21:42:16Z mikaelj joined #lisp 2018-02-10T21:42:16Z sshirokov joined #lisp 2018-02-10T21:42:16Z sthalik joined #lisp 2018-02-10T21:42:16Z Cthulhux joined #lisp 2018-02-10T21:42:16Z deba5e12 joined #lisp 2018-02-10T21:42:19Z stacksmith: Sometimes not understanding seemingly trivial things leads to terrible problems in the 'internal model' of how things work. 2018-02-10T21:42:32Z phoe: stacksmith: oh, right 2018-02-10T21:42:46Z Bike: well, as concerns your comment about compile/eval divergences, those are pretty strictly laid out 2018-02-10T21:42:47Z phoe: I have no idea. It wouldn't affect them anyway. 2018-02-10T21:42:52Z Ven`` joined #lisp 2018-02-10T21:42:59Z shrdlu68 quit (Ping timeout: 276 seconds) 2018-02-10T21:43:09Z phoe: You can't define any macros on self-evaluating objects, hence evaluating them can have no side effects. 2018-02-10T21:43:14Z fikka quit (Ping timeout: 268 seconds) 2018-02-10T21:43:20Z phoe: So even if EVAL is called on them, you can't really notice it. 2018-02-10T21:43:37Z stacksmith: phoe: got it. 2018-02-10T21:43:38Z phoe: So theoretically an implementation would be allowed to optimize away such calls when it notices that it would have no effect anyway. 2018-02-10T21:43:53Z phoe: Or, for simplicity, it could call eval on them anyway just to have it immediately return. 2018-02-10T21:44:01Z phoe: Dunno. 2018-02-10T21:44:05Z hvxgr joined #lisp 2018-02-10T21:44:21Z msb joined #lisp 2018-02-10T21:44:21Z kini joined #lisp 2018-02-10T21:44:27Z drcode quit (Ping timeout: 240 seconds) 2018-02-10T21:44:43Z ryanbw joined #lisp 2018-02-10T21:45:21Z stacksmith: Anyway, thanks for your answers. 2018-02-10T21:45:30Z antgreen joined #lisp 2018-02-10T21:45:30Z Murii joined #lisp 2018-02-10T21:45:30Z dieggsy joined #lisp 2018-02-10T21:45:30Z DeadTrickster joined #lisp 2018-02-10T21:45:30Z scymtym joined #lisp 2018-02-10T21:45:30Z mfiano joined #lisp 2018-02-10T21:45:30Z kajo joined #lisp 2018-02-10T21:45:30Z dirb joined #lisp 2018-02-10T21:45:30Z mhitchman[m] joined #lisp 2018-02-10T21:45:30Z jackdaniel joined #lisp 2018-02-10T21:45:30Z sword joined #lisp 2018-02-10T21:45:30Z lemoinem joined #lisp 2018-02-10T21:45:30Z fdfdf joined #lisp 2018-02-10T21:45:30Z Posterdati joined #lisp 2018-02-10T21:45:30Z ben3 joined #lisp 2018-02-10T21:45:30Z Patzy joined #lisp 2018-02-10T21:45:30Z Firedancer joined #lisp 2018-02-10T21:45:30Z Walex joined #lisp 2018-02-10T21:45:30Z em joined #lisp 2018-02-10T21:45:30Z joga joined #lisp 2018-02-10T21:45:30Z parseval joined #lisp 2018-02-10T21:45:30Z pmden joined #lisp 2018-02-10T21:45:30Z reu joined #lisp 2018-02-10T21:45:30Z wladz_ joined #lisp 2018-02-10T21:45:30Z borodust joined #lisp 2018-02-10T21:45:30Z galdor joined #lisp 2018-02-10T21:45:30Z vsync joined #lisp 2018-02-10T21:45:30Z Aritheanie joined #lisp 2018-02-10T21:45:30Z gingerale joined #lisp 2018-02-10T21:45:48Z cryptomarauder quit (Ping timeout: 240 seconds) 2018-02-10T21:45:48Z ArthurAGleckler[ quit (Ping timeout: 240 seconds) 2018-02-10T21:45:49Z equalunique[m] quit (Ping timeout: 240 seconds) 2018-02-10T21:46:12Z RichardPaulBck[m quit (Ping timeout: 240 seconds) 2018-02-10T21:46:17Z plll[m] quit (Ping timeout: 252 seconds) 2018-02-10T21:46:22Z kfdenden[m] quit (Ping timeout: 248 seconds) 2018-02-10T21:46:23Z dirb quit (Ping timeout: 255 seconds) 2018-02-10T21:46:23Z mhitchman[m] quit (Ping timeout: 255 seconds) 2018-02-10T21:46:34Z Jach[m] quit (Ping timeout: 256 seconds) 2018-02-10T21:46:37Z CharlieBrown quit (Ping timeout: 260 seconds) 2018-02-10T21:46:37Z katco[m] quit (Ping timeout: 260 seconds) 2018-02-10T21:46:38Z kammd[m] quit (Ping timeout: 260 seconds) 2018-02-10T21:46:59Z hiq[m] quit (Ping timeout: 276 seconds) 2018-02-10T21:46:59Z hdurer[m] quit (Ping timeout: 276 seconds) 2018-02-10T21:47:55Z saki joined #lisp 2018-02-10T21:49:37Z makomo_ joined #lisp 2018-02-10T21:50:08Z fikka joined #lisp 2018-02-10T21:50:13Z JuanDaugherty joined #lisp 2018-02-10T21:50:48Z JuanDaugherty quit (Remote host closed the connection) 2018-02-10T21:52:33Z makomo quit (Ping timeout: 264 seconds) 2018-02-10T21:54:58Z attila_lendvai quit (Quit: Leaving.) 2018-02-10T21:55:08Z fikka quit (Quit: leaving) 2018-02-10T21:55:28Z fikka joined #lisp 2018-02-10T21:55:42Z bigfondue joined #lisp 2018-02-10T22:00:43Z phoe: I just imagined the ability to define macros on self-evaluating objects 2018-02-10T22:01:07Z phoe: every time you evaluate the number 42, a random file is deleted on your computer as a side effect 2018-02-10T22:01:13Z phoe: this idea gives me the creeps 2018-02-10T22:02:48Z Bike: mh, make-load-form is a bit like that. 2018-02-10T22:02:55Z Bike: though not for standard things like numbers. 2018-02-10T22:03:11Z phoe: yep 2018-02-10T22:09:58Z stacksmith: Here is another one: CLHS 3.4.4.1 Destructuring lambda-lists starts with "Anywhere in a macro lambda list where a parameter name can appear, and where ordinary lambda list syntax (as described in Section 3.4.1 (Ordinary Lambda Lists)) does not otherwise allow a list, a destructuring lambda list can appear in place of the parameter name"... Does this imply that &rest parameter may be a destructuring lambda-list? 2018-02-10T22:10:55Z Bike: yes 2018-02-10T22:11:27Z Bike: it is rare to do, of course 2018-02-10T22:11:51Z sunwukong quit (Ping timeout: 256 seconds) 2018-02-10T22:12:07Z stacksmith: I don't think I've ever encountered it... Is it any different from using &whole and destructuring in required parameters? 2018-02-10T22:12:51Z stacksmith: Hmm. Forget &whole, just destructuring in required parameters? 2018-02-10T22:13:18Z Bike: well, it would deconstruct the argument list itself, i suppose 2018-02-10T22:13:33Z eschatologist quit (Ping timeout: 264 seconds) 2018-02-10T22:15:12Z pseudonymous_ quit (Quit: Leaving) 2018-02-10T22:15:53Z stacksmith: Bike: example: (defmacro foo (a &rest (b c))) as opposed to (defmacro bar (a (b c)))? Is there any difference? 2018-02-10T22:16:08Z Bike: oh, yes 2018-02-10T22:16:21Z eschatologist joined #lisp 2018-02-10T22:16:27Z Bike: (foo 1 2 3) is valid for the first but not the second, (foo 1 (2 3)) is valid for the second but not the first 2018-02-10T22:17:16Z Bike: it's the rest LIST being destructured, see 2018-02-10T22:17:33Z stacksmith: (defmacro foo (a &rest ((b c)))) as opposed to (defmacro bar (a (b c))) then. I think I see. 2018-02-10T22:17:54Z Bike: you could understand them as (defmacro foo (a &rest s) (destructuring-bind (b c) s ...)) and (defmacro foo (a s) (destructuring-bind (b c) s ...)) 2018-02-10T22:18:05Z porky11 joined #lisp 2018-02-10T22:18:10Z jmercouris joined #lisp 2018-02-10T22:18:28Z stacksmith: What about &whole? 2018-02-10T22:18:33Z Bike: What about it? 2018-02-10T22:18:49Z stacksmith: Can it destructure? 2018-02-10T22:18:54Z Bike: I guess so. 2018-02-10T22:19:06Z stacksmith: &environment? 2018-02-10T22:19:22Z Bike: oh, actually, whole and rest are specifically laid out 2018-02-10T22:19:26Z Bike: clhs 3.4.4.1.2 2018-02-10T22:19:26Z specbot: Lambda-list-directed Destructuring by Lambda Lists: http://www.lispworks.com/reference/HyperSpec/Body/03_ddab.htm 2018-02-10T22:19:51Z Bike: environment... i suppose cannot be destructured. 2018-02-10T22:21:35Z Petit_Dejeuner quit (Ping timeout: 240 seconds) 2018-02-10T22:23:37Z Bike: what the environment object is is a mystery, so it couldn't reasonably be destructured. 2018-02-10T22:23:47Z stacksmith: "&environment is followed by a single variable..." Forgive my ignorance, but what does the environment look like? Is it a list? 2018-02-10T22:24:07Z stacksmith: You are way ahead 2018-02-10T22:24:10Z Bike: it is a mystery. you, the programmer, cannot manipulate it 2018-02-10T22:24:20Z Bike: the implementation is allowed to have environment objects be whatever they want 2018-02-10T22:24:31Z Bike: the only thing programmers can do with them is pass them to functions (e.g. macroexpand-1) 2018-02-10T22:24:37Z stacksmith: So it's an opaque object you can pass 2018-02-10T22:24:39Z Bike: yes. 2018-02-10T22:24:41Z phoe: yes 2018-02-10T22:24:42Z stacksmith: Damn, you got me again. 2018-02-10T22:25:11Z Bike: as examples, on sbcl it's a structure object (so it couldn't be destructured), while on ecl last i checked it's an alist. 2018-02-10T22:25:19Z Bike: messing with them is messing with internals. 2018-02-10T22:25:34Z Bike: in fact, the standard goes so far as to give them dynamic extent, meaning that it's not allowed to keep them after the macro is done expanding. 2018-02-10T22:26:13Z phoe: and you can't return them because of this 2018-02-10T22:26:32Z stacksmith: Interesting. I think that covers all lambda-list-keywords that have no init-forms... 2018-02-10T22:26:35Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-10T22:26:44Z phoe: not really 2018-02-10T22:26:51Z stacksmith: ? 2018-02-10T22:26:53Z phoe: they're lexical by default I think 2018-02-10T22:27:07Z phoe: where environments have dynamic scope 2018-02-10T22:27:29Z Bike: huh? 2018-02-10T22:27:32Z phoe: wait 2018-02-10T22:27:37Z phoe: I am confusing things 2018-02-10T22:27:44Z phoe: I should go to sleep instead of confusing things 2018-02-10T22:27:51Z Bike: good night 2018-02-10T22:27:57Z stacksmith: 72 hours is my limit 2018-02-10T22:29:22Z stacksmith: Anyway - thanks again. 2018-02-10T22:29:34Z random-nick quit (Read error: Connection reset by peer) 2018-02-10T22:32:49Z hhdave_ joined #lisp 2018-02-10T22:33:21Z hhdave quit (Ping timeout: 264 seconds) 2018-02-10T22:33:21Z hhdave_ is now known as hhdave 2018-02-10T22:34:16Z Murii quit (Quit: WeeChat 1.4) 2018-02-10T22:35:31Z aindilis quit (Remote host closed the connection) 2018-02-10T22:35:59Z stacksmith: Bike: last question on the topic... Is (lambda foo (&rest rest &key a b c)) identical to (lambda (bar &rest (&key a b c))? 2018-02-10T22:36:17Z Bike: you can't destructure in an ordinary lambda list. 2018-02-10T22:37:24Z stacksmith: I mean in a macro. Let me try again (defmacro foo (&rest rest &key a b c)) vs (defmacro bar (&rest (&key a b c))) 2018-02-10T22:37:43Z Bike: well, the former binds a variable called 'rest', but otherwise i think they'd be the same. 2018-02-10T22:37:49Z stacksmith: right. 2018-02-10T22:38:23Z shka quit (Ping timeout: 248 seconds) 2018-02-10T22:38:32Z aindilis joined #lisp 2018-02-10T22:39:28Z attila_lendvai joined #lisp 2018-02-10T22:39:28Z attila_lendvai quit (Changing host) 2018-02-10T22:39:28Z attila_lendvai joined #lisp 2018-02-10T22:41:58Z Xal joined #lisp 2018-02-10T22:44:25Z hhdave_ joined #lisp 2018-02-10T22:45:18Z Ven`` joined #lisp 2018-02-10T22:45:52Z stacksmith: Bah, apparently I am not done here... CHLS 3.4.4.1.2 : each element of &key may be a ."..or a list of a list of a keyword and a destructuring pattern, an optional initialization form, and an optional supplied-p variable.". In this context, what can a destructuring pattern be? 2018-02-10T22:46:16Z stacksmith: clhs 3.4.4.1.2 2018-02-10T22:46:17Z specbot: Lambda-list-directed Destructuring by Lambda Lists: http://www.lispworks.com/reference/HyperSpec/Body/03_ddab.htm 2018-02-10T22:46:38Z Bike: a lambda list. 2018-02-10T22:47:14Z hhdave quit (Ping timeout: 255 seconds) 2018-02-10T22:47:15Z hhdave_ is now known as hhdave 2018-02-10T22:48:21Z stacksmith: I am having trouble envisioning it... I've seen single symbols and assumed it was just a way to change the name of the binding inside... 2018-02-10T22:48:48Z Bike: well, like in the lambda list (a (&key x) &rest r) the (&key x) is a destructuring pattern. 2018-02-10T22:50:27Z Josh_2: I'm trying to read from /dev/mouse1 which is a 32bit integer (I believe) using read-line/read-byte doesn't work and I'm not sure how to specify 32 bit unsigned int as the type spec to (with-open-file .. 2018-02-10T22:50:30Z stacksmith: Could you give me an example of something more complicated than ..&key ((:x localx)) 2018-02-10T22:50:54Z Josh_2: Also am doing it in Terminal which is no fun xD 2018-02-10T22:51:25Z Bike: stacksmith: &key ((:x (z w))) 2018-02-10T22:51:42Z Bike: by the way, if it's not clear, i've never seen any of this stuff you're asking about in real code 2018-02-10T22:51:50Z stacksmith: Josh_2 try (unsigned-byte 32)? 2018-02-10T22:52:01Z Bike: Josh_2: :element-type 2018-02-10T22:52:24Z EvW quit (Remote host closed the connection) 2018-02-10T22:52:27Z Josh_2: yah I tried that :element-type '(unsigned-byte 32) 2018-02-10T22:52:35Z EvW joined #lisp 2018-02-10T22:53:14Z Josh_2: " # is not a character input stream." 2018-02-10T22:53:27Z Josh_2: I am using read-line, I will try read-byte 2018-02-10T22:53:29Z Bike: oh, well, read-line isn't going to work with a byte stream. 2018-02-10T22:53:39Z Bike: you can use read-byte and read-sequence. 2018-02-10T22:54:01Z Josh_2: Okay read-byte is doing something 2018-02-10T22:54:43Z stacksmith: Bike: in your example, what does that mean? Does it mean that :x (1 2) is a valid argument that will bind z=1 and w=2? 2018-02-10T22:54:52Z Bike: yeah. 2018-02-10T22:55:38Z Bike: try it: (defmacro foo (&key ((:x (z w)) '(3 4))) `(values ,z ,w)) 2018-02-10T22:55:41Z Bike: (foo (1 2)) 2018-02-10T22:56:22Z stacksmith: Bike: that is incredible...I never thought of it. I am so happy I asked! Bike: I truly appreciate you putting up with my nonsense. 2018-02-10T22:56:30Z Bike: no problem 2018-02-10T22:56:53Z Josh_2: (loop :do .. should loop infinitely no? 2018-02-10T22:56:58Z stacksmith: Bike: Shouldn't it be (foo :x (1 2)) 2018-02-10T22:57:03Z Josh_2: or (loop :do (read-byte stream))? 2018-02-10T22:57:04Z orivej quit (Ping timeout: 256 seconds) 2018-02-10T22:57:09Z Bike: yes, mistpaste. 2018-02-10T22:57:25Z Bike: Josh_2: read-byte will signal an error on eof, but otherwise yeah. 2018-02-10T22:57:45Z varjag quit (Ping timeout: 256 seconds) 2018-02-10T22:57:48Z Josh_2: hmm 2018-02-10T22:58:20Z Josh_2: I'm wondering why it isn't working... and I'm using the wrong device. 2018-02-10T22:58:41Z Bike: well, i don't know how /dev/mouse1 works, but it might not be an infinitely long file. 2018-02-10T22:59:03Z Josh_2: Well as you scroll it prints new, so when I cat /dev/mouse1 it appears to be infinite 2018-02-10T22:59:08Z Josh_2: mouse0 sorry 2018-02-10T22:59:19Z stacksmith: Josh_2: it is problematic to read from a device in terms of portability... You should look at evdev or something like that.. 2018-02-10T22:59:35Z Bike: what if your mouse is still, though? 2018-02-10T22:59:35Z Josh_2: Okay I will 2018-02-10T22:59:52Z fuulispfuu joined #lisp 2018-02-10T23:00:18Z aeth: Hmm... specialization-store inlining in SBCL only appears to work when either type declarations are used for a variable or THE is used in the call itself. No other thing seems to work, like THE in a LET variable definition or CHECK-TYPE of a variable before the function call, or just relying on type inference based on all of the type information being available because the make-foo is inline. 2018-02-10T23:00:33Z stacksmith: Josh_2: the name of the active mouse device may be just about anything.. 2018-02-10T23:00:41Z Josh_2: Yep you are right. 2018-02-10T23:00:45Z Bike: aeth: obviously not. it's just a macro, it doesn't have access to type inference. 2018-02-10T23:00:53Z stacksmith: Josh_2: And the device may not be accessible unless you are a superuser... 2018-02-10T23:01:19Z Josh_2: Well I tried X but I need to get the raw mouse movement even if I am still moving the mouse against the edge of the screen 2018-02-10T23:01:21Z aeth: Bike: It doesn't have any access to type information unless made explicit, though? 2018-02-10T23:01:30Z Bike: right. 2018-02-10T23:01:40Z Bike: THE can be seen from the form. type declarations are stored in the environment, so it can get at those. 2018-02-10T23:01:53Z Bike: the other stuff you talk about is nothing anybody knows about at macroexpansion time. 2018-02-10T23:02:59Z stacksmith: Josh_2: I've written some bogus code on raspberry pi to do the same... https://github.com/LISPPI/lisppi-mouse/blob/master/lisppi-mouse.lisp - maybe it helps... But I warn you - it may suck. 2018-02-10T23:07:24Z kammd[m] joined #lisp 2018-02-10T23:07:26Z smurfrobot joined #lisp 2018-02-10T23:07:56Z stacksmith: Josh_2: my experience is: the lower you go into the OS expecting things to be simple, the more insane it gets. Keyboard and mouse drivers in linux are prime examples of absolute insanity. 2018-02-10T23:08:01Z hhdave quit (Quit: hhdave) 2018-02-10T23:10:00Z Josh_2: yah :O is there an evdev library in CL? 2018-02-10T23:11:03Z smurfrobot quit (Remote host closed the connection) 2018-02-10T23:11:25Z stacksmith: aeth: I am always bothered by things like (when (integerp q) (incf q)) and sbcl complains that it doesn't know the type of q... 2018-02-10T23:13:37Z stacksmith: Josh_2: are you sure there is no way to coax X into giving you the information? 2018-02-10T23:13:52Z varjag joined #lisp 2018-02-10T23:14:21Z aeth: stacksmith: Integer issues are mainly because there are two very different kinds of integers, fixnum and bignum. And it can even go beyond that in implementations. You can e.g. store (unsigned-byte 64)s fine in arrays in SBCL even if they're larger than the fixnum size, and SBCL will handle them in an optimized way just like double-floats. 2018-02-10T23:14:40Z fuulispfuu quit (Ping timeout: 260 seconds) 2018-02-10T23:15:05Z stacksmith: aeth: my example was unfortunate... pick a type that's not ambiguous... 2018-02-10T23:15:26Z Bike: it probably won't complain on single float or something 2018-02-10T23:15:40Z Bike: with fixnum itll still complain since it doesn't know if it has to drop to bignum arithmetic for the result 2018-02-10T23:15:49Z Bike: arithmetic is hard. 2018-02-10T23:16:24Z stacksmith: (and (symbolp foo) (member (the symbol foo) list)) required the... 2018-02-10T23:16:47Z Bike: ha? member? 2018-02-10T23:16:52Z Bike: what's the complete code? 2018-02-10T23:17:09Z aeth: Bike: The annoying thing about floats is if you have a typecase that includes short-float and long-float in addition to single-float and double-float (for completeness), SBCL will complain that the short-float and long-float are unreachable (because they're synonymous in SBCL) 2018-02-10T23:17:31Z Bike: yes, the float type collapsing is a bit difficult. 2018-02-10T23:17:33Z aeth: (Assuming you order them single-float double-float long-float short-float or something) 2018-02-10T23:17:49Z Josh_2: stacksmith: hmm I'm not sure, if I only needed a position then that would be fine, but I believe I need some sort of movement information straight from the mouse that I can translate into movement 2018-02-10T23:18:33Z knicklux quit (Quit: Leaving) 2018-02-10T23:18:35Z varjag quit (Ping timeout: 255 seconds) 2018-02-10T23:18:38Z knicklux_ quit (Quit: Leaving) 2018-02-10T23:18:51Z aeth: s/synonymous/equivalent to single-float and double-float respectively/ 2018-02-10T23:19:01Z aeth: (In case someone wants to nitpick, which is fairly common in IRC.) 2018-02-10T23:19:16Z stacksmith: Bike: that's pretty much verbatim... What is the problem? 2018-02-10T23:19:31Z Bike: well, i mean, i was wondering if i could try it myself locally. 2018-02-10T23:19:58Z Bike: and the problem is i'd expect sbcl to get that. 2018-02-10T23:21:20Z stacksmith: (defun bar (symbol list) (declare (optimize (speed 3) (safety 0) (debug 0))) (member symbol list)) 2018-02-10T23:21:34Z stacksmith: ; note: unable to 2018-02-10T23:21:34Z stacksmith: ; optimize 2018-02-10T23:21:34Z stacksmith: ; due to type uncertainty: 2018-02-10T23:21:34Z stacksmith: ; can't tell whether the first argument is a (OR FIXNUM SINGLE-FLOAT 2018-02-10T23:21:34Z stacksmith: ; (NOT NUMBER)) 2018-02-10T23:21:35Z smurfrobot joined #lisp 2018-02-10T23:21:45Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-10T23:21:46Z jmercouris: stacksmith: use a pastebin 2018-02-10T23:23:07Z stacksmith: Darn, now it works. It was giving me problems earlier, deeper in code... Perhaps it was another issue... 2018-02-10T23:23:10Z Bike: Er, I don't understand. I get the note with that code, but if i have (and (symbolp symbol) (member symbol list)) it goes away. 2018-02-10T23:23:19Z Bike: Oh. 2018-02-10T23:23:25Z stacksmith: Let me look into that.. 2018-02-10T23:23:27Z jmercouris: I'm thinking about breaking apart my GUI into a "native" application (e.g. cocoa with objective-c, gtk with c) that communicates via socket back and forth with a lisp core, is this a stupid, or a smart idea? 2018-02-10T23:23:41Z Bike: And yes, don't paste more than one line into irc at a time, please. 2018-02-10T23:24:06Z jmercouris: and if the idea is smart, is there a better form of IPC in Lisp than sockets (for some library or support reason)? 2018-02-10T23:24:53Z Bike: it's not my area, but i think sockets are usual. slime/swank use sockets, of course 2018-02-10T23:25:11Z jmercouris: I figured sockets were fine 2018-02-10T23:25:18Z dirb joined #lisp 2018-02-10T23:25:18Z CharlieBrown joined #lisp 2018-02-10T23:25:18Z Jach[m] joined #lisp 2018-02-10T23:25:18Z kfdenden[m] joined #lisp 2018-02-10T23:25:18Z equalunique[m] joined #lisp 2018-02-10T23:25:18Z mhitchman[m] joined #lisp 2018-02-10T23:25:18Z hdurer[m] joined #lisp 2018-02-10T23:25:18Z RichardPaulBck[m joined #lisp 2018-02-10T23:25:18Z ArthurAGleckler[ joined #lisp 2018-02-10T23:25:18Z plll[m] joined #lisp 2018-02-10T23:25:18Z cryptomarauder joined #lisp 2018-02-10T23:25:19Z hiq[m] joined #lisp 2018-02-10T23:25:19Z jmercouris: so thank you for confirming 2018-02-10T23:25:25Z katco[m] joined #lisp 2018-02-10T23:25:36Z jmercouris: the big doubt I have is whether this idea will be smart or stupid in the long term as GUI changes will have to result in protocol extension etc 2018-02-10T23:25:49Z moei quit (Quit: Leaving...) 2018-02-10T23:25:52Z jmercouris: and I guess my lisp core will have to exec the other program as a "backend" 2018-02-10T23:26:29Z jmercouris: and both the lisp core and the gui will have to act as client and server as events will need to propagate in both directions 2018-02-10T23:27:49Z stacksmith: Bike: it failed to optimize in my code, possibly because the value checked with symbolp is an accessor... I guess SBCL can't tell the type even though symbolp just got it. 2018-02-10T23:28:31Z Shinmera: jmercouris: What would be the benefit of this 2018-02-10T23:29:18Z dddddd joined #lisp 2018-02-10T23:30:18Z jmercouris: Shinmera: I don't have to rely on implementation bindings to create interfaces, I can use any technology as long as it is capable of communicating via sockets 2018-02-10T23:30:28Z hhdave joined #lisp 2018-02-10T23:30:55Z jmercouris: Shinmera: For example, in CCL, I can't use wkwebview because ffigen hasn't been updated to create new bindings for it yet, and thus I have to use an older version 2018-02-10T23:31:12Z jmercouris: or rather, a deprecated version, webview 2018-02-10T23:31:20Z stacksmith: Josh-2: unless you really need a stream of mouse data that's off-bounds, you could keep track of positions and figure out a derivative when it hits the edge. Perhaps that's enough? 2018-02-10T23:31:52Z Shinmera: jmercouris: I thought the point of your project was that it is in lisp 2018-02-10T23:32:00Z Shinmera: having 50% of it not lisp seems to defeat the point 2018-02-10T23:32:06Z jmercouris: Shinmera: Yeah, but why must the GUI itself be in Lisp? 2018-02-10T23:32:06Z Shinmera: not to mention that it would add a lot of complexity. 2018-02-10T23:32:15Z jmercouris: It would add a ton of complexity, that is for sure 2018-02-10T23:32:26Z jmercouris: I've been thinking about this for a couple months 2018-02-10T23:32:36Z jmercouris: but a crash in the GUI would not crash the lisp core 2018-02-10T23:32:38Z jmercouris: for example 2018-02-10T23:32:45Z eschatologist quit (Ping timeout: 264 seconds) 2018-02-10T23:33:18Z jmercouris: All of the functionality would still be available in Lisp, just in some sort of adapter that connects via a Socket 2018-02-10T23:33:48Z jmercouris: We'd probably have some sort of next-gui object that we'd issue commands to, and recieve commands from, and none of the core would change 2018-02-10T23:34:39Z Bike: stacksmith: access...? so your code is different 2018-02-10T23:35:16Z jmercouris: Shinmera: Also, I think the ratio we'd have here is something more like 90-10. The GUI program would only need to be very simple 2018-02-10T23:35:21Z hhdave quit (Client Quit) 2018-02-10T23:37:09Z richardjdare quit (Quit: Leaving) 2018-02-10T23:38:30Z eschatologist joined #lisp 2018-02-10T23:39:49Z nowhere_man joined #lisp 2018-02-10T23:41:18Z jmercouris: Shinmera: also the point of the project is that it is extensible in lisp, not that it is in lisp. It could have been a c program like emacs :D 2018-02-10T23:41:32Z jmercouris: almost was 2018-02-10T23:42:01Z jmercouris: and of course that it is easily extensible 2018-02-10T23:42:04Z jmercouris: anyways, more to think about 2018-02-10T23:42:08Z jmercouris: goodnight 2018-02-10T23:43:52Z nowhereman_ quit (Ping timeout: 260 seconds) 2018-02-10T23:44:04Z smurfrobot quit (Remote host closed the connection) 2018-02-10T23:44:28Z nirved quit (Quit: Leaving) 2018-02-10T23:46:47Z jmercouris quit (Ping timeout: 260 seconds) 2018-02-10T23:54:42Z Kundry_Wag quit (Remote host closed the connection) 2018-02-10T23:55:14Z smurfrobot joined #lisp 2018-02-11T00:00:02Z kozy quit (Remote host closed the connection) 2018-02-11T00:00:41Z kozy joined #lisp 2018-02-11T00:01:33Z smurfrobot quit (Remote host closed the connection) 2018-02-11T00:07:14Z pmc_ joined #lisp 2018-02-11T00:11:06Z quazimodo joined #lisp 2018-02-11T00:11:26Z TriBeck34 joined #lisp 2018-02-11T00:11:53Z TriBeck34 is now known as pinkertonmall 2018-02-11T00:12:26Z lnostdal_ quit (Remote host closed the connection) 2018-02-11T00:13:15Z lnostdal joined #lisp 2018-02-11T00:15:02Z erikc joined #lisp 2018-02-11T00:17:12Z pinkertonmall quit (Quit: http://www.okay.uz/ (Ping timeout)) 2018-02-11T00:17:20Z borei joined #lisp 2018-02-11T00:20:19Z Josh_2 quit (Remote host closed the connection) 2018-02-11T00:21:06Z JohnnyL quit (Quit: leaving) 2018-02-11T00:25:34Z Kundry_Wag joined #lisp 2018-02-11T00:26:14Z makomo_ quit (Ping timeout: 255 seconds) 2018-02-11T00:27:06Z smurfrobot joined #lisp 2018-02-11T00:28:30Z troydm quit (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset) 2018-02-11T00:33:27Z Kundry_Wag quit (Ping timeout: 260 seconds) 2018-02-11T00:33:37Z Baggers quit (Remote host closed the connection) 2018-02-11T00:34:51Z red-dot joined #lisp 2018-02-11T00:35:55Z smurfrobot quit (Remote host closed the connection) 2018-02-11T00:36:10Z python476 quit (Ping timeout: 240 seconds) 2018-02-11T00:38:39Z Kundry_Wag joined #lisp 2018-02-11T00:39:22Z smurfrobot joined #lisp 2018-02-11T00:40:39Z smurfrobot quit (Remote host closed the connection) 2018-02-11T00:43:16Z Kundry_Wag quit (Ping timeout: 265 seconds) 2018-02-11T00:43:16Z Ukari joined #lisp 2018-02-11T00:43:21Z Cthulhux quit (Ping timeout: 256 seconds) 2018-02-11T00:45:03Z Cthulhux joined #lisp 2018-02-11T00:46:00Z smurfrobot joined #lisp 2018-02-11T00:46:59Z Cthulhux quit (Changing host) 2018-02-11T00:47:00Z Cthulhux joined #lisp 2018-02-11T00:47:19Z smurfrobot quit (Remote host closed the connection) 2018-02-11T00:48:39Z Ukari quit (Remote host closed the connection) 2018-02-11T00:49:11Z dieggsy quit (Ping timeout: 255 seconds) 2018-02-11T00:51:38Z porky11 quit (Remote host closed the connection) 2018-02-11T00:51:52Z karswell_ joined #lisp 2018-02-11T00:54:42Z pmc_ quit (Quit: Leaving) 2018-02-11T00:56:49Z smurfrobot joined #lisp 2018-02-11T00:58:09Z ckonstanski joined #lisp 2018-02-11T00:59:07Z smasta quit (Ping timeout: 260 seconds) 2018-02-11T01:02:37Z dtornabene joined #lisp 2018-02-11T01:04:01Z ckonstanski quit (Remote host closed the connection) 2018-02-11T01:05:47Z attila_lendvai quit (Quit: Leaving.) 2018-02-11T01:09:59Z fikka quit (Ping timeout: 256 seconds) 2018-02-11T01:15:39Z fikka joined #lisp 2018-02-11T01:15:56Z Oladon quit (Quit: Leaving.) 2018-02-11T01:18:45Z stacksmith: Bike: it was different and I was mislead by a layer of macros that I forgot about... I take it back. 2018-02-11T01:18:52Z josemanuel quit (Quit: leaving) 2018-02-11T01:20:45Z fikka quit (Ping timeout: 264 seconds) 2018-02-11T01:26:15Z smurfrobot quit (Remote host closed the connection) 2018-02-11T01:27:01Z smurfrobot joined #lisp 2018-02-11T01:30:57Z pierpa joined #lisp 2018-02-11T01:31:43Z krwq joined #lisp 2018-02-11T01:35:02Z marusich quit (Ping timeout: 276 seconds) 2018-02-11T01:35:11Z wxie joined #lisp 2018-02-11T01:35:19Z krwq: why does (let ((foo '(a b))) ``(,,@foo)) evaluate to `(,A ,B) and not to `(a b)? is there any way to do this except for ,@',foo? 2018-02-11T01:35:39Z fikka joined #lisp 2018-02-11T01:38:29Z arescorpio joined #lisp 2018-02-11T01:39:01Z Kundry_Wag joined #lisp 2018-02-11T01:39:08Z arescorpio quit (Max SendQ exceeded) 2018-02-11T01:40:17Z fikka quit (Ping timeout: 248 seconds) 2018-02-11T01:41:46Z isoraqathedh_ is now known as isoraqathedh 2018-02-11T01:44:08Z Kundry_Wag quit (Ping timeout: 276 seconds) 2018-02-11T01:49:00Z pagnol quit (Ping timeout: 252 seconds) 2018-02-11T01:55:58Z fikka joined #lisp 2018-02-11T01:57:33Z Rawriful quit (Quit: WeeChat 1.4) 2018-02-11T02:00:25Z arescorpio joined #lisp 2018-02-11T02:00:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-11T02:02:53Z ghard` quit (Remote host closed the connection) 2018-02-11T02:02:59Z ghard`` joined #lisp 2018-02-11T02:06:12Z EvW quit (Ping timeout: 260 seconds) 2018-02-11T02:06:27Z fikka joined #lisp 2018-02-11T02:10:59Z fikka quit (Ping timeout: 256 seconds) 2018-02-11T02:12:05Z markong quit (Ping timeout: 276 seconds) 2018-02-11T02:16:31Z fikka joined #lisp 2018-02-11T02:16:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-11T02:18:38Z damke_ joined #lisp 2018-02-11T02:20:15Z vaporatorius quit (Ping timeout: 248 seconds) 2018-02-11T02:21:19Z fikka quit (Ping timeout: 248 seconds) 2018-02-11T02:27:07Z d4ryus1 joined #lisp 2018-02-11T02:29:57Z d4ryus quit (Ping timeout: 240 seconds) 2018-02-11T02:29:58Z deng_cn quit (Read error: Connection reset by peer) 2018-02-11T02:32:11Z deng_cn joined #lisp 2018-02-11T02:32:50Z smurfrobot quit (Remote host closed the connection) 2018-02-11T02:33:37Z wxie2 joined #lisp 2018-02-11T02:35:09Z quazimodo quit (Ping timeout: 264 seconds) 2018-02-11T02:36:05Z wxie quit (Ping timeout: 260 seconds) 2018-02-11T02:36:38Z fikka joined #lisp 2018-02-11T02:38:26Z mfiano quit (Quit: WeeChat 2.0.1) 2018-02-11T02:39:03Z mfiano joined #lisp 2018-02-11T02:40:33Z wxie2 quit (Ping timeout: 264 seconds) 2018-02-11T02:40:58Z guicho joined #lisp 2018-02-11T02:41:42Z fikka quit (Ping timeout: 268 seconds) 2018-02-11T02:42:31Z mfiano quit (Client Quit) 2018-02-11T02:45:31Z mfiano joined #lisp 2018-02-11T02:46:54Z smurfrobot joined #lisp 2018-02-11T02:47:15Z fikka joined #lisp 2018-02-11T02:51:35Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-11T02:51:40Z fikka quit (Ping timeout: 256 seconds) 2018-02-11T02:52:34Z mfiano quit (Quit: WeeChat 2.0.1) 2018-02-11T02:53:11Z smurfrobot joined #lisp 2018-02-11T02:55:59Z ThUnD3R256 quit (Ping timeout: 248 seconds) 2018-02-11T02:56:18Z mfiano joined #lisp 2018-02-11T02:59:46Z deng_cn quit (Read error: Connection reset by peer) 2018-02-11T03:00:37Z damke joined #lisp 2018-02-11T03:00:40Z zmt00 quit (Quit: Leaving) 2018-02-11T03:01:11Z Karl_Dscc joined #lisp 2018-02-11T03:02:20Z orivej joined #lisp 2018-02-11T03:02:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-11T03:04:30Z zmt00 joined #lisp 2018-02-11T03:04:50Z pfdietz: Don't use nested backquotes. Break the parts out into a separate form. Nested backquotes are write-only code. 2018-02-11T03:05:01Z mlf|2 joined #lisp 2018-02-11T03:07:04Z fikka joined #lisp 2018-02-11T03:11:18Z ckonstanski joined #lisp 2018-02-11T03:12:01Z fikka quit (Ping timeout: 248 seconds) 2018-02-11T03:13:22Z borei quit (Quit: Leaving.) 2018-02-11T03:13:45Z krwq: pfdietz: how do you write a macro generating a macro? split into fake func? 2018-02-11T03:19:56Z deng_cn joined #lisp 2018-02-11T03:21:36Z stacksmith: Depends on how you define 'generating'. You can make a macro that returns a defmacro form, but I suspect that's not what you mean... 2018-02-11T03:24:06Z stacksmith: If you mean a something that returns an expression that can be expanded by a macro, such as a backquoted form, that doesn't even require a macro - it can be a function. 2018-02-11T03:25:14Z stacksmith: And generally speaking, a macro is just a function that runs at compile time and is expected to return something that lisp can process in its place. 2018-02-11T03:25:28Z stacksmith: Roughly speaking. 2018-02-11T03:27:23Z fikka joined #lisp 2018-02-11T03:27:59Z beach: Good morning everyone! 2018-02-11T03:28:26Z stacksmith: Good morning to you as well. 2018-02-11T03:30:23Z krwq: stacksmith: i meant macro outputting the macro otherwise I'd go with regular list 2018-02-11T03:30:43Z Oladon joined #lisp 2018-02-11T03:31:16Z stacksmith: I am confused. What do you mean by 'outputting'? 2018-02-11T03:31:35Z stacksmith: How do you output a macro? 2018-02-11T03:31:43Z fisxoj joined #lisp 2018-02-11T03:32:16Z fikka quit (Ping timeout: 268 seconds) 2018-02-11T03:32:58Z krwq: (defmacro foo (...) `(defmacro ... (...) ...)) 2018-02-11T03:33:06Z krwq: macro generating macro 2018-02-11T03:33:26Z krwq: i don't know how else you could say it - it's not returning it 2018-02-11T03:33:46Z Bike: macro expanding into a defmacro 2018-02-11T03:34:12Z stacksmith: It does not generate it. It just returns a list '(defmacro ...). 2018-02-11T03:34:25Z krwq: Bike: thanks - I'm not good with nomenclature 2018-02-11T03:34:56Z stacksmith: ` is just syntactic sugar for listmaking. 2018-02-11T03:35:35Z stacksmith: `(defmacro ...) is the same as (list 'defmacro ...) 2018-02-11T03:35:50Z krwq: stacksmith: I know the question was very specific: why does (let ((foo '(a b))) ``(,,@foo)) evaluate to 2018-02-11T03:35:50Z krwq: `(,A ,B) and not to `(a b) 2018-02-11T03:36:38Z stacksmith: I see. It has absolutely nothing to do with macros then. 2018-02-11T03:37:18Z krwq: stacksmith: i need to for macro but it was not related 2018-02-11T03:37:18Z Bike: like pfdietz said, i avoid nested backquotes 2018-02-11T03:37:29Z Bike: try replacing the inner backquote with calls to list/append/etc instead 2018-02-11T03:37:38Z Bike: if that's too complicated, move the macroexpander into some other function 2018-02-11T03:39:20Z krwq: as i said, i did ,@',foo - I just wanted to learn how to do it, not planning to use it too extensively 2018-02-11T03:40:16Z stacksmith: Conser that (let ((foo '(a b))) `(,@foo)) expands to a list (a b). Why would ``(,,@foo) do the same? 2018-02-11T03:42:13Z krwq: stacksmith: I'd expect ``(,@,foo) to do the same since in this case ,foo would be a list and ,@ inline expands it 2018-02-11T03:42:26Z krwq: that's not the case though 2018-02-11T03:43:31Z krwq: on the other hand it evals it so the version with quote is probably correct but not best 2018-02-11T03:44:56Z krwq: anyways double backquotes are confusing but still would like to understand them more to at least be able to read the code with them faster 2018-02-11T03:47:40Z Devon joined #lisp 2018-02-11T03:47:42Z fikka joined #lisp 2018-02-11T03:48:16Z beach: krwq: My experience is that you need to understand the algorithm for expanding backquoted expressions. 2018-02-11T03:49:01Z megeve joined #lisp 2018-02-11T03:49:15Z megeve quit (Excess Flood) 2018-02-11T03:49:36Z megeve joined #lisp 2018-02-11T03:51:37Z Karl_Dscc quit (Remote host closed the connection) 2018-02-11T03:52:25Z fikka quit (Ping timeout: 256 seconds) 2018-02-11T03:53:00Z krwq: beach: thanks beach - i will take a look in clhs 2018-02-11T03:53:45Z stacksmith: ``(,,@foo) = ``(,,a ,,b) 2018-02-11T03:54:01Z fikka joined #lisp 2018-02-11T03:56:47Z Devon quit (Ping timeout: 248 seconds) 2018-02-11T03:58:07Z krwq: stacksmith: i noticed but not a clue why 2018-02-11T04:00:56Z beach: clhs 2.4.6 2018-02-11T04:00:56Z specbot: Backquote: http://www.lispworks.com/reference/HyperSpec/Body/02_df.htm 2018-02-11T04:01:04Z beach: krwq: Did you read this page? 2018-02-11T04:01:30Z krwq: beach: haven't started on clhs yet, in the middle of something :) 2018-02-11T04:02:12Z beach: I think you need to read and understand that page in order to understand the result of your exercise. 2018-02-11T04:03:10Z krwq: beach: will do my homework :) 2018-02-11T04:13:22Z arescorpio quit (Quit: Leaving.) 2018-02-11T04:20:16Z guicho quit (Remote host closed the connection) 2018-02-11T04:21:06Z stacksmith: krwq: take a look at http://repository.readscheme.org/ftp/papers/pepm99/bawden.pdf especially 3.3 Nested Splicing. 2018-02-11T04:22:18Z drcode joined #lisp 2018-02-11T04:23:04Z stacksmith: ""intuitively, an at-sign has the effect of causing the comma to be mapped over the elements ..." 2018-02-11T04:25:25Z stacksmith: ergo `(,@foo) = `(,a ,b) and ``(,,@foo) = ``(,,a ,,b) 2018-02-11T04:26:41Z Ukari joined #lisp 2018-02-11T04:28:11Z fikka quit (Ping timeout: 255 seconds) 2018-02-11T04:33:44Z fikka joined #lisp 2018-02-11T04:34:22Z stacksmith: And since foo quotes a and b, the real equations are `(,@foo) = `(,'a ,'b) and ``(,,@foo) = ``(,,'a ,,'b) 2018-02-11T04:37:02Z schoppenhauer quit (Ping timeout: 276 seconds) 2018-02-11T04:38:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-11T04:38:49Z schoppenhauer joined #lisp 2018-02-11T04:41:55Z nosefouratyou quit (Ping timeout: 260 seconds) 2018-02-11T04:45:53Z pfdietz: If you want to write code that you won't understand later, go ahead and nest your backquotes. 2018-02-11T04:48:00Z mfiano: Is there an easy format control string that comma-separates a list of elements, and inserts the word "and" before the last? Something with ~{ and ~^ perhaps, such as: (format nil "..." '(1 2 3)) ; => "1, 2, and 3" 2018-02-11T04:50:10Z Arcaelyx_ joined #lisp 2018-02-11T04:50:23Z krwq: stacksmith: I think I get the idea now - the pdf you sent is easier to understand than clhs. I think I wanted something like this: (let ((foo '(a b c))) ``(,,@(mapcar #'(lambda (x) `',x) foo))) (btw. not sure why (mapcar #'quote '(a b c)) is not working) 2018-02-11T04:51:07Z jonh joined #lisp 2018-02-11T04:51:13Z Arcaelyx quit (Ping timeout: 265 seconds) 2018-02-11T04:53:47Z fikka joined #lisp 2018-02-11T04:54:15Z mfiano: Nevermind, it's in PCL 2018-02-11T04:54:31Z mfiano: krwq: What makes you think it's not working? 2018-02-11T04:54:37Z stylewarning: mfiano: ~{~A~^, ~} 2018-02-11T04:54:48Z stylewarning: super common idiom 2018-02-11T04:55:02Z mfiano: stylewarning: read again :) 2018-02-11T04:55:14Z pierpa: CLHS is not a tutorial! 2018-02-11T04:55:33Z stylewarning: mfiano: I read that you found it but you never said the answer! 2018-02-11T04:55:42Z krwq: mfiano: (mapcar #'quote '(a b c)) => Cannot FUNCALL the SYMBOL-FUNCTION of special operator QUOTE. 2018-02-11T04:55:49Z mfiano: stylewarning: page 229 of PCL has the answer 2018-02-11T04:56:02Z pierpa: MAPCAR expects to be passed a function. QUOTE is not a function 2018-02-11T04:56:43Z stylewarning: krwq: why that doesn't work can be understood by what pierpa said, but also by reading it as it means 2018-02-11T04:56:54Z Bike: (lambda (x) `',x) is (lambda (x) (list 'quote x)) 2018-02-11T04:57:08Z Bike: no reason for any kind of quote function to do that 2018-02-11T04:57:09Z krwq: pierpa: I get it might not work but not getting why does #' work on quote: #' => # 2018-02-11T04:57:16Z stylewarning: which is: evaluate the first argument, evaluate the second argument, then map "don't evaluate" across the evaluated list 2018-02-11T04:57:20Z stylewarning: which makes no sense of course! 2018-02-11T04:57:57Z Bike: krwq: clhs defines #'quote as an error. your implementation is just a bit lazy. 2018-02-11T04:58:02Z Bike: (which is allowed) 2018-02-11T04:58:14Z pierpa: krwq: that's some implementation dependent detail 2018-02-11T04:58:29Z fisxoj quit (Quit: fisxoj) 2018-02-11T04:58:36Z fikka quit (Ping timeout: 268 seconds) 2018-02-11T04:58:41Z krwq: pierpa: Bike: ok makes sense then, #'quote result has confused me 2018-02-11T04:59:45Z pierpa: for example, I get: #'quote ==> Error: QUOTE names a special form -- bad arg for FUNCTION. 2018-02-11T05:00:07Z krwq: I think when apropos says QUOTE (fbound) it should be funcallable though 2018-02-11T05:00:31Z Bike: special operators are still fbound 2018-02-11T05:00:34Z krwq: (fboundp 'quote) => T 2018-02-11T05:00:51Z Bike: you can't use #'quote, but you can do (fdefinition 'quote), and you will get something 2018-02-11T05:00:52Z pierpa: krwq: you are too late to change how CL works :) 2018-02-11T05:01:05Z Bike: what that something is is implementation dependent 2018-02-11T05:01:12Z Bike: i don't know why it's all defined this way 2018-02-11T05:01:32Z Bike: anyway, quote is definitely not a function; the entire point of its semantics is that (quote x) is not evaluated like a function call 2018-02-11T05:01:37Z krwq: pierpa: at least (special-operator-p 'quote) is T too - makes sense it doesn't work now - i'd rather have it always not work than work on half of the implementations :P 2018-02-11T05:01:48Z damke_ joined #lisp 2018-02-11T05:02:31Z pierpa: perhaps QUOTE is fdefined in some implementations only to give a better error message, rather than a nonspecific undefined function 2018-02-11T05:03:23Z krwq: but still would be nice if some of the special operators worked with mapcar i.e. #'or 2018-02-11T05:03:45Z Bike: or is a macro, not a special operator 2018-02-11T05:03:49Z Bike: what would it even do with mapcar though... 2018-02-11T05:03:50Z krwq: omg 2018-02-11T05:03:57Z damke quit (Ping timeout: 264 seconds) 2018-02-11T05:04:04Z Bike: well, what you probably have in mind is some 2018-02-11T05:04:05Z Bike: clhs some 2018-02-11T05:04:05Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_everyc.htm 2018-02-11T05:04:08Z krwq: (mapcar #'or '(t t nil) '(nil nil t)) 2018-02-11T05:04:15Z Bike: oh, right, multiple arguments 2018-02-11T05:04:16Z krwq: logxor 2018-02-11T05:04:17Z Bike: well, that's some 2018-02-11T05:04:20Z krwq: logor 2018-02-11T05:04:21Z pierpa: krwq: do you know SOME? 2018-02-11T05:04:23Z mlf|2 quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-11T05:04:24Z Bike: (some #'identity '(t t nil) '(nil nil t)) 2018-02-11T05:04:29Z Bike: errrr 2018-02-11T05:04:41Z Bike: wow, i am mxied up. 2018-02-11T05:04:56Z igemnace joined #lisp 2018-02-11T05:05:03Z Bike: i guess that would be (mapcar (lambda (x y) (or x y)) ...), sux 2018-02-11T05:05:03Z krwq: pierpa: i knew at one point and forgot about it existance - too many functions :) 2018-02-11T05:05:48Z Bike: or (defun f-or (&rest arguments) (some #'identity arguments)) then (mapcar #'f-or ...) 2018-02-11T05:06:16Z mfiano: stylewarning: The solution PCL gives is a bit annoying but it'll do: (format nil "~{~a~#[~;, and ~:;, ~]~}" list) 2018-02-11T05:06:36Z Bike: ~#[... fancy 2018-02-11T05:06:54Z stylewarning: mfiano: that's too complicated if you don't need the "and" 2018-02-11T05:07:19Z mfiano: This is to generate docstrings for ~4000 functions. I'd like them to read like English, so yeah. 2018-02-11T05:07:21Z stylewarning: just ~{~a~^, ~} if you just want a comma and space between everything 2018-02-11T05:07:44Z Bike: i thought mfiano specifically said they wanted the and 2018-02-11T05:07:51Z mfiano: That is correct 2018-02-11T05:07:52Z stylewarning: sorry im not following along closely 2018-02-11T05:08:11Z mfiano: stylewarning: Indeed, I've used that idiom for years, but this requires an "and" 2018-02-11T05:08:18Z stylewarning: as a favor for my fault, check out the newest problem i've posted http://www.watrophy.com/posts/37-Staircase-Paths.html 2018-02-11T05:11:30Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-02-11T05:12:25Z vsync quit (Ping timeout: 260 seconds) 2018-02-11T05:12:34Z stylewarning: (if you have cool lisp, functional programming, or meta-syntactic problems, pm me! :D) 2018-02-11T05:14:02Z krwq: mfiano since you're here, this was yours right? https://git.axity.net/axion/net.axity.common-lisp.gamedev.git 2018-02-11T05:14:03Z fikka joined #lisp 2018-02-11T05:14:12Z krwq: mfiano: your certificate has expired 2018-02-11T05:14:33Z vsync joined #lisp 2018-02-11T05:14:51Z krwq: or something else is wrong 2018-02-11T05:15:09Z krwq: mfiano: either way firefox complains about your cert 2018-02-11T05:15:21Z aindilis quit (Ping timeout: 256 seconds) 2018-02-11T05:15:43Z mfiano: krwq: That domain hasn't been up for about 6 months 2018-02-11T05:16:07Z mfiano: and also, that CL system was deprecated and removed even longer ago 2018-02-11T05:16:08Z krwq: mfiano: I have a copy of that repo, but had it as one of the remotes setup and git started complaining 2018-02-11T05:16:21Z aindilis` joined #lisp 2018-02-11T05:16:25Z krwq: mfiano: don't remember what I used it for 2018-02-11T05:16:36Z beach: Maclisp had a KWOTE function as I recall. :) 2018-02-11T05:17:03Z mfiano: I do. You were troubled with transposed PNG image loading, because OpenGL has an origin at the bottom-left instead of top-left 2018-02-11T05:17:12Z mfiano: err y-flipped, not transposed 2018-02-11T05:17:21Z krwq: mfiano: yep - that was it 2018-02-11T05:17:32Z krwq: mfiano: explains why I have a fork :P 2018-02-11T05:17:36Z mfiano: krwq: Good news then. I solved the problem entirely 2018-02-11T05:17:50Z krwq: mfiano: where is the new version of that code? 2018-02-11T05:18:36Z damke joined #lisp 2018-02-11T05:18:45Z krwq: mfiano: how did you solve it? did you manually transpose or was there some deeper problem? 2018-02-11T05:18:45Z vaporatorius joined #lisp 2018-02-11T05:18:45Z vaporatorius quit (Changing host) 2018-02-11T05:18:45Z vaporatorius joined #lisp 2018-02-11T05:18:50Z vap1 joined #lisp 2018-02-11T05:18:55Z fikka quit (Ping timeout: 248 seconds) 2018-02-11T05:19:12Z mfiano: There isn't. That code is horrible. Use this instead, and pay particular attention to the README options, :flip-y, :flatten, and :static-vector...all useful for OpenGL, and the first solves your issue. https://github.com/HackerTheory/pngload 2018-02-11T05:19:25Z mfiano: 3b and I wrote that out of much frustration 2018-02-11T05:19:40Z LocaMocha is now known as Sauvin 2018-02-11T05:19:53Z krwq: mfiano: nice, thanks! 2018-02-11T05:20:22Z krwq: mfiano: is opticl consuming it? 2018-02-11T05:20:34Z mfiano: Yes it is, but not the OpenGL options. Use pngload directly please. 2018-02-11T05:20:59Z vaporatorius quit (Client Quit) 2018-02-11T05:21:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-11T05:22:07Z krwq: mfiano: do you have any story for lazy load any image type? :) 2018-02-11T05:22:41Z krwq: mfiano: your own fork of opticl or something else 2018-02-11T05:22:55Z mfiano: Once upon a time I implemented a lazy memoization with a hash table. The end. 2018-02-11T05:24:14Z mfiano: Oh any image type. I missed that part. Sadly, I no longer support non-PNG types 2018-02-11T05:24:54Z mfiano: I was using TGA for the larger images, but that was due to the only native CL option, png-read, being incredibly slow. That is solved with pngload, being x times (i forget exactly how much) faster 2018-02-11T05:25:22Z les quit (Quit: "") 2018-02-11T05:25:51Z krwq: mfiano: makes sense - I usually use 1 type anyways but like generic heavier solutions - png being most common so thanks for writing that :) 2018-02-11T05:26:44Z mfiano: Before I wrote pngload, I had an attempt at writing SBCL-specific compiler optimizations for png-read, until I got so disgusted with the quality of the codebase and didn't want to spend anymore time. I did manage quite a bit of success though: https://lispcoder.net/blog/article/7 2018-02-11T05:26:57Z les joined #lisp 2018-02-11T05:28:32Z mfiano: and pngload is even faster than the optimized png-read hacks, so I'd say I solved my frustration with how slow PNG parsing was in Common Lisp :) 2018-02-11T05:28:51Z damke_ joined #lisp 2018-02-11T05:29:03Z Pixel_Outlaw quit (Quit: Leaving) 2018-02-11T05:29:45Z damke quit (Ping timeout: 264 seconds) 2018-02-11T05:30:11Z erikc quit 2018-02-11T05:34:23Z fikka joined #lisp 2018-02-11T05:35:51Z pierpa quit (Quit: Page closed) 2018-02-11T05:38:10Z Kevslinger quit (Quit: Connection closed for inactivity) 2018-02-11T05:39:04Z drewc quit (Ping timeout: 265 seconds) 2018-02-11T05:39:17Z les quit (Quit: "") 2018-02-11T05:39:18Z fikka quit (Ping timeout: 268 seconds) 2018-02-11T05:39:47Z les joined #lisp 2018-02-11T05:40:14Z deng_cn quit (Read error: Connection reset by peer) 2018-02-11T05:41:04Z FreeBirdLjj joined #lisp 2018-02-11T05:42:49Z deng_cn joined #lisp 2018-02-11T05:50:18Z Bike quit (Quit: Lost terminal) 2018-02-11T05:54:42Z fikka joined #lisp 2018-02-11T05:58:04Z les quit (Quit: "") 2018-02-11T05:58:06Z AxelAlex joined #lisp 2018-02-11T05:59:38Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-11T05:59:41Z fikka quit (Ping timeout: 255 seconds) 2018-02-11T05:59:55Z igemnace quit (Ping timeout: 256 seconds) 2018-02-11T06:01:05Z krwq quit (Ping timeout: 248 seconds) 2018-02-11T06:02:10Z krwq joined #lisp 2018-02-11T06:04:17Z AX31_A13X joined #lisp 2018-02-11T06:05:06Z fikka joined #lisp 2018-02-11T06:05:44Z FreeBirdLjj joined #lisp 2018-02-11T06:06:27Z AxelAlex quit (Ping timeout: 240 seconds) 2018-02-11T06:07:33Z aindilis` quit (Remote host closed the connection) 2018-02-11T06:08:27Z les joined #lisp 2018-02-11T06:09:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-11T06:10:58Z aindilis` joined #lisp 2018-02-11T06:12:48Z JenElizabeth joined #lisp 2018-02-11T06:14:03Z BitPuffin joined #lisp 2018-02-11T06:15:09Z fikka joined #lisp 2018-02-11T06:18:47Z Arathnim quit (Quit: leaving) 2018-02-11T06:19:47Z aindilis` quit (Remote host closed the connection) 2018-02-11T06:20:00Z fikka quit (Ping timeout: 268 seconds) 2018-02-11T06:21:28Z AX31_A13X quit (Quit: AX31_A13X) 2018-02-11T06:31:59Z drewc joined #lisp 2018-02-11T06:35:16Z fikka joined #lisp 2018-02-11T06:35:54Z Kundry_Wag joined #lisp 2018-02-11T06:39:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-11T06:40:27Z Kundry_Wag quit (Ping timeout: 265 seconds) 2018-02-11T06:44:18Z deng_cn quit (Read error: Connection reset by peer) 2018-02-11T06:44:54Z Arcaelyx_ is now known as Arcaelyx 2018-02-11T06:45:39Z deng_cn joined #lisp 2018-02-11T06:45:42Z fikka joined #lisp 2018-02-11T06:47:40Z Ukari quit (Remote host closed the connection) 2018-02-11T06:50:25Z fikka quit (Ping timeout: 260 seconds) 2018-02-11T06:55:46Z fikka joined #lisp 2018-02-11T06:57:37Z dddddd quit (Remote host closed the connection) 2018-02-11T07:00:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-11T07:00:34Z shrdlu68 joined #lisp 2018-02-11T07:05:59Z fikka joined #lisp 2018-02-11T07:07:27Z Oladon quit (Quit: Leaving.) 2018-02-11T07:10:40Z fikka quit (Ping timeout: 240 seconds) 2018-02-11T07:14:09Z damke joined #lisp 2018-02-11T07:14:20Z SuperJen joined #lisp 2018-02-11T07:16:01Z fikka joined #lisp 2018-02-11T07:16:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-11T07:18:14Z JenElizabeth quit (Ping timeout: 276 seconds) 2018-02-11T07:20:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-11T07:26:21Z fikka joined #lisp 2018-02-11T07:29:37Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-11T07:29:58Z FreeBirdLjj joined #lisp 2018-02-11T07:30:25Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-11T07:30:44Z FreeBirdLjj joined #lisp 2018-02-11T07:31:11Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-11T07:31:14Z fikka quit (Ping timeout: 276 seconds) 2018-02-11T07:34:42Z Kundry_Wag joined #lisp 2018-02-11T07:36:41Z vlatkoB joined #lisp 2018-02-11T07:36:47Z mjl_ joined #lisp 2018-02-11T07:39:39Z terpri quit (Ping timeout: 256 seconds) 2018-02-11T07:40:40Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-11T07:46:24Z fikka joined #lisp 2018-02-11T07:47:12Z wigust joined #lisp 2018-02-11T07:48:53Z elazul joined #lisp 2018-02-11T07:51:04Z fikka quit (Ping timeout: 260 seconds) 2018-02-11T07:54:04Z jack_rabbit: I'm building an executable lisp image for my program. I'm planning on distributing it in a tarball, and want it to be launchable via either direct execution or launcher script. 2018-02-11T07:55:03Z jack_rabbit: I'm trying to figure out how best to figure out where the resources are. They will be located in a subdirectory of the unpacked tarball. 2018-02-11T07:55:42Z jack_rabbit: But if I'm not sure how best to figure out a path to that directory. 2018-02-11T07:56:42Z Arcaelyx_ joined #lisp 2018-02-11T07:56:48Z fikka joined #lisp 2018-02-11T07:58:27Z Arcaelyx quit (Ping timeout: 240 seconds) 2018-02-11T07:59:07Z jack_rabbit: I could force the user to run an install program, which puts things in predictable places, but I'd prefer to be able to run it without that kind of "install" 2018-02-11T08:01:23Z Shinmera: (uiop:argv0) will give you the path to the binary. 2018-02-11T08:01:34Z fikka quit (Ping timeout: 260 seconds) 2018-02-11T08:03:21Z megeve quit (Ping timeout: 264 seconds) 2018-02-11T08:03:27Z jack_rabbit: Shinmera, oh, great! I couldn't find that for some reason. 2018-02-11T08:06:49Z fikka joined #lisp 2018-02-11T08:08:26Z quazimodo joined #lisp 2018-02-11T08:11:35Z fikka quit (Ping timeout: 240 seconds) 2018-02-11T08:14:42Z FreeBirdLjj joined #lisp 2018-02-11T08:15:06Z ninegrid quit (Ping timeout: 256 seconds) 2018-02-11T08:15:57Z krwq quit (Ping timeout: 240 seconds) 2018-02-11T08:17:06Z fikka joined #lisp 2018-02-11T08:19:20Z FreeBirdLjj quit (Ping timeout: 276 seconds) 2018-02-11T08:20:10Z safe quit (Read error: Connection reset by peer) 2018-02-11T08:21:59Z fikka quit (Ping timeout: 260 seconds) 2018-02-11T08:23:28Z lerax joined #lisp 2018-02-11T08:25:22Z jack_rabbit: hmm :/ seems to be returning nil consistently. I'll have to dig through the asdf docs. 2018-02-11T08:27:09Z fikka joined #lisp 2018-02-11T08:28:08Z Arcaelyx_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-11T08:28:45Z Shinmera: It returns NIL if you're not a binary. 2018-02-11T08:29:04Z jackdaniel: jack_rabbit: if you build binaries it may be worth directing your attention at library clon (on quicklisp: net.diderverna.clon) 2018-02-11T08:30:35Z jack_rabbit looks 2018-02-11T08:31:00Z jack_rabbit: ahh, yeah. That may be the way to go. 2018-02-11T08:31:46Z jack_rabbit: IIRC, asdf provided some facilities for binary building, but I can't find any docs about that. Or am I mistaken? 2018-02-11T08:31:59Z fikka quit (Ping timeout: 248 seconds) 2018-02-11T08:32:11Z jackdaniel: Shinmera: uiop seems to have a bug wrt argv0 2018-02-11T08:32:30Z jackdaniel: CL-TEST> (ext:argv 0) ;-> /home/jack/bin/ecl-develop" 2018-02-11T08:32:30Z jackdaniel: CL-TEST> (uiop:argv0) ; -> NIL 2018-02-11T08:32:46Z phoe: jackdaniel: not really 2018-02-11T08:32:53Z Shinmera: As I said. It intentionally returns NIL if you are not operating from a deployed binary. 2018-02-11T08:33:03Z phoe: look at its source, it first checks if--- what Shinmera said 2018-02-11T08:33:03Z Shinmera: I don't agree with that being a good idea, but it's not a bug. 2018-02-11T08:33:08Z jack_rabbit: what does it mean to be a "deployed binary" 2018-02-11T08:33:11Z jackdaniel: ah, OK 2018-02-11T08:33:19Z phoe: created via save-lisp-and-die 2018-02-11T08:33:22Z phoe: or similar facilities 2018-02-11T08:33:31Z jackdaniel: jack_rabbit: asdf considers binaries created with asdf's make-image sacred ;-) 2018-02-11T08:34:00Z Shinmera: You can do (first (uiop:raw-command-line-arguments)) to always get it 2018-02-11T08:34:08Z jack_rabbit: jackdaniel, That makes sense. My image created with save-lisp-and-die still returns nil for (uiop:argv0) 2018-02-11T08:34:47Z jackdaniel: I'd stick to clon, it is less, hm, asdf 2018-02-11T08:34:59Z jack_rabbit: :) sounds good to me 2018-02-11T08:35:06Z solyd joined #lisp 2018-02-11T08:35:11Z jackdaniel: (and has a good abstraction for parsing cli arguments) 2018-02-11T08:37:34Z jack_rabbit: Thanks, everyone. 2018-02-11T08:43:47Z pillton quit (Remote host closed the connection) 2018-02-11T08:44:29Z hhdave joined #lisp 2018-02-11T08:46:04Z troydm joined #lisp 2018-02-11T08:47:17Z fikka joined #lisp 2018-02-11T08:47:23Z hhdave quit (Client Quit) 2018-02-11T08:48:18Z mlf quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-11T08:52:19Z fikka quit (Ping timeout: 260 seconds) 2018-02-11T08:53:23Z deng_cn quit (Quit: deng_cn) 2018-02-11T08:53:24Z jameser joined #lisp 2018-02-11T08:53:29Z jameser quit (Client Quit) 2018-02-11T08:55:39Z mishoo__ joined #lisp 2018-02-11T08:55:43Z makomo joined #lisp 2018-02-11T08:55:57Z igemnace joined #lisp 2018-02-11T08:57:42Z fikka joined #lisp 2018-02-11T09:00:00Z FreeBirdLjj joined #lisp 2018-02-11T09:00:04Z damke_ joined #lisp 2018-02-11T09:01:57Z shka joined #lisp 2018-02-11T09:02:08Z Chream_ quit (Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org) 2018-02-11T09:02:42Z Chream_ joined #lisp 2018-02-11T09:02:45Z damke quit (Ping timeout: 264 seconds) 2018-02-11T09:02:50Z fikka quit (Ping timeout: 260 seconds) 2018-02-11T09:04:32Z FreeBird_ joined #lisp 2018-02-11T09:04:39Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2018-02-11T09:05:17Z hhdave joined #lisp 2018-02-11T09:07:44Z fikka joined #lisp 2018-02-11T09:08:37Z shifty joined #lisp 2018-02-11T09:09:03Z marusich joined #lisp 2018-02-11T09:09:51Z hhdave quit (Ping timeout: 248 seconds) 2018-02-11T09:10:47Z pilfink joined #lisp 2018-02-11T09:11:27Z FreeBird_ quit (Ping timeout: 240 seconds) 2018-02-11T09:12:31Z fikka quit (Ping timeout: 248 seconds) 2018-02-11T09:13:50Z hhdave joined #lisp 2018-02-11T09:17:42Z FreeBirdLjj joined #lisp 2018-02-11T09:18:27Z hhdave quit (Ping timeout: 240 seconds) 2018-02-11T09:22:23Z FreeBirdLjj quit (Ping timeout: 276 seconds) 2018-02-11T09:27:54Z fikka joined #lisp 2018-02-11T09:32:49Z fikka quit (Ping timeout: 248 seconds) 2018-02-11T09:34:26Z ludston quit (Remote host closed the connection) 2018-02-11T09:35:53Z terpri joined #lisp 2018-02-11T09:36:16Z marusich quit (Ping timeout: 256 seconds) 2018-02-11T09:39:14Z FreeBirdLjj joined #lisp 2018-02-11T09:41:09Z quazimodo quit (Ping timeout: 264 seconds) 2018-02-11T09:43:38Z FreeBirdLjj quit (Ping timeout: 265 seconds) 2018-02-11T09:46:37Z milanj quit (Quit: This computer has gone to sleep) 2018-02-11T09:48:11Z fikka joined #lisp 2018-02-11T09:50:09Z FreeBirdLjj joined #lisp 2018-02-11T09:53:03Z fikka quit (Ping timeout: 248 seconds) 2018-02-11T09:54:53Z FreeBirdLjj quit (Ping timeout: 255 seconds) 2018-02-11T09:56:23Z SuperJen quit (Remote host closed the connection) 2018-02-11T10:04:14Z FreeBirdLjj joined #lisp 2018-02-11T10:08:32Z fikka joined #lisp 2018-02-11T10:09:08Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-11T10:11:43Z FreeBirdLjj joined #lisp 2018-02-11T10:13:13Z fikka quit (Ping timeout: 256 seconds) 2018-02-11T10:13:21Z random-nick joined #lisp 2018-02-11T10:14:58Z shrdlu68: I'm getting "doing signed word to integer coercion (cost 20)" while doing (make-array n...) 2018-02-11T10:15:11Z shrdlu68: What type should I declare for n to fix this? 2018-02-11T10:15:32Z shrdlu68: I'm currently declaring n as fixnum 2018-02-11T10:16:01Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-11T10:16:01Z phoe: shrdlu68: post your code 2018-02-11T10:16:19Z phoe: post the make-array call, that is 2018-02-11T10:16:28Z hhdave joined #lisp 2018-02-11T10:18:42Z shrdlu68: phoe: Hmm, I think I've caught it. There was a possibility that n would be negative. 2018-02-11T10:18:55Z shrdlu68: (make-array (- x y)...) 2018-02-11T10:18:56Z fikka joined #lisp 2018-02-11T10:20:59Z hhdave quit (Ping timeout: 260 seconds) 2018-02-11T10:23:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-11T10:29:02Z fikka joined #lisp 2018-02-11T10:29:53Z elazul quit (Quit: Lost terminal) 2018-02-11T10:29:56Z nirved joined #lisp 2018-02-11T10:31:06Z phoe: shka: (the unsigned-byte (- x y)) 2018-02-11T10:31:09Z phoe: I mean shrdlu68 2018-02-11T10:32:18Z FreeBirdLjj joined #lisp 2018-02-11T10:33:04Z jackdaniel: (truly (the unsinged-byte (- x y)) :seriously t) 2018-02-11T10:33:27Z beach: I like that. 2018-02-11T10:33:35Z fikka quit (Ping timeout: 248 seconds) 2018-02-11T10:33:58Z phoe: (declare (trust-me-im-a-lisper)) 2018-02-11T10:34:49Z _death: (the unsung-byte) 2018-02-11T10:34:59Z loke: SBCL has TRULY-THE 2018-02-11T10:36:34Z Chream joined #lisp 2018-02-11T10:36:46Z elazul joined #lisp 2018-02-11T10:36:47Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-11T10:37:51Z pagnol joined #lisp 2018-02-11T10:44:56Z pilfink quit (Quit: ERC (IRC client for Emacs 26.0.91)) 2018-02-11T10:49:08Z fikka joined #lisp 2018-02-11T10:49:23Z Murii joined #lisp 2018-02-11T10:53:12Z Ven`` joined #lisp 2018-02-11T10:53:50Z fikka quit (Ping timeout: 255 seconds) 2018-02-11T10:54:59Z Ven`` quit (Client Quit) 2018-02-11T10:55:58Z varjag joined #lisp 2018-02-11T10:56:34Z Ven`` joined #lisp 2018-02-11T10:58:56Z Tobbi quit (Remote host closed the connection) 2018-02-11T10:59:30Z damke joined #lisp 2018-02-11T10:59:33Z fikka joined #lisp 2018-02-11T11:02:09Z damke_ quit (Ping timeout: 264 seconds) 2018-02-11T11:02:13Z wg1024 joined #lisp 2018-02-11T11:03:39Z FreeBirdLjj joined #lisp 2018-02-11T11:03:58Z Tobbi joined #lisp 2018-02-11T11:04:11Z fikka quit (Ping timeout: 255 seconds) 2018-02-11T11:09:34Z fikka joined #lisp 2018-02-11T11:10:29Z hhdave joined #lisp 2018-02-11T11:11:38Z wg1024 quit (Quit: Leaving.) 2018-02-11T11:13:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-11T11:15:21Z hhdave quit (Ping timeout: 264 seconds) 2018-02-11T11:17:27Z shrdlu68 quit (Ping timeout: 260 seconds) 2018-02-11T11:19:55Z orivej quit (Ping timeout: 260 seconds) 2018-02-11T11:19:55Z scymtym quit (Ping timeout: 260 seconds) 2018-02-11T11:19:56Z fikka joined #lisp 2018-02-11T11:24:35Z fikka quit (Ping timeout: 240 seconds) 2018-02-11T11:29:54Z fikka joined #lisp 2018-02-11T11:34:59Z fikka quit (Ping timeout: 276 seconds) 2018-02-11T11:35:40Z Chream quit (Ping timeout: 252 seconds) 2018-02-11T11:38:09Z damke quit (Ping timeout: 264 seconds) 2018-02-11T11:39:50Z nowhereman_ joined #lisp 2018-02-11T11:40:08Z scymtym joined #lisp 2018-02-11T11:40:57Z Amplituhedron joined #lisp 2018-02-11T11:41:39Z fikka joined #lisp 2018-02-11T11:44:11Z nowhere_man quit (Ping timeout: 276 seconds) 2018-02-11T11:44:50Z pmden quit (Ping timeout: 255 seconds) 2018-02-11T11:47:16Z pmden joined #lisp 2018-02-11T11:47:16Z pmden quit (Changing host) 2018-02-11T11:47:16Z pmden joined #lisp 2018-02-11T11:51:21Z milanj joined #lisp 2018-02-11T11:51:33Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-11T11:54:53Z Kundry_W_ joined #lisp 2018-02-11T11:56:48Z FreeBirdLjj joined #lisp 2018-02-11T12:00:31Z Josh_2 joined #lisp 2018-02-11T12:01:56Z markong joined #lisp 2018-02-11T12:01:57Z solyd quit (Read error: Connection reset by peer) 2018-02-11T12:07:05Z Amplituhedron quit (Read error: Connection reset by peer) 2018-02-11T12:09:39Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-11T12:12:08Z saki quit (Ping timeout: 255 seconds) 2018-02-11T12:14:57Z FreeBirdLjj joined #lisp 2018-02-11T12:17:25Z hhdave joined #lisp 2018-02-11T12:18:42Z Kundry_W_ quit (Remote host closed the connection) 2018-02-11T12:19:58Z AntiSpamMeta quit (Read error: Connection reset by peer) 2018-02-11T12:20:08Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2018-02-11T12:20:12Z AntiSpamMeta joined #lisp 2018-02-11T12:21:51Z hhdave quit (Ping timeout: 248 seconds) 2018-02-11T12:22:36Z nowhereman_ quit (Ping timeout: 268 seconds) 2018-02-11T12:23:54Z solyd joined #lisp 2018-02-11T12:25:45Z hhdave joined #lisp 2018-02-11T12:27:42Z FreeBirdLjj joined #lisp 2018-02-11T12:29:10Z saki joined #lisp 2018-02-11T12:29:20Z AntiSpamMeta quit (Read error: Connection reset by peer) 2018-02-11T12:29:33Z AntiSpamMeta joined #lisp 2018-02-11T12:30:09Z moei joined #lisp 2018-02-11T12:30:27Z hhdave quit (Ping timeout: 240 seconds) 2018-02-11T12:31:55Z damke joined #lisp 2018-02-11T12:32:13Z random-nick quit (Read error: Connection reset by peer) 2018-02-11T12:32:14Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-11T12:34:58Z Kundry_W_ joined #lisp 2018-02-11T12:36:37Z hhdave joined #lisp 2018-02-11T12:36:38Z python476 joined #lisp 2018-02-11T12:37:49Z ludston joined #lisp 2018-02-11T12:41:52Z Bike joined #lisp 2018-02-11T12:42:02Z hhdave quit (Ping timeout: 276 seconds) 2018-02-11T12:44:57Z fikka quit (Ping timeout: 260 seconds) 2018-02-11T12:46:54Z phoe: (verily (the unsigned-byte (- x y))) 2018-02-11T12:47:36Z EvW1 joined #lisp 2018-02-11T12:47:57Z hhdave joined #lisp 2018-02-11T12:49:58Z heurist`_` joined #lisp 2018-02-11T12:50:58Z heurist_ quit (Ping timeout: 268 seconds) 2018-02-11T12:51:36Z White_Flame: wouldn't (integer 0) be more appropriate than unsigned? 2018-02-11T12:52:04Z White_Flame: if you were informing the system that it would never be negative 2018-02-11T12:52:55Z White_Flame: ah, nevermind 2018-02-11T12:53:29Z White_Flame: "unsigned" still makes me think of -1 => ffffffff style wraparound 2018-02-11T12:54:09Z hhdave quit (Ping timeout: 256 seconds) 2018-02-11T12:55:27Z FreeBirdLjj joined #lisp 2018-02-11T13:00:37Z Baggers joined #lisp 2018-02-11T13:00:43Z fikka joined #lisp 2018-02-11T13:03:33Z random-nick joined #lisp 2018-02-11T13:03:36Z Karl_Dscc joined #lisp 2018-02-11T13:04:47Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-11T13:05:29Z fikka quit (Ping timeout: 260 seconds) 2018-02-11T13:08:10Z dieggsy joined #lisp 2018-02-11T13:08:38Z dieggsy quit (Remote host closed the connection) 2018-02-11T13:11:07Z fikka joined #lisp 2018-02-11T13:15:53Z fikka quit (Ping timeout: 256 seconds) 2018-02-11T13:16:44Z dieggsy joined #lisp 2018-02-11T13:21:13Z fikka joined #lisp 2018-02-11T13:21:52Z rippa joined #lisp 2018-02-11T13:23:11Z dtornabene quit (Ping timeout: 248 seconds) 2018-02-11T13:25:58Z fikka quit (Ping timeout: 265 seconds) 2018-02-11T13:28:19Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-11T13:30:59Z shifty quit (Ping timeout: 256 seconds) 2018-02-11T13:31:22Z fikka joined #lisp 2018-02-11T13:35:47Z Kevslinger joined #lisp 2018-02-11T13:36:32Z fikka quit (Ping timeout: 276 seconds) 2018-02-11T13:38:40Z Murii quit (Ping timeout: 240 seconds) 2018-02-11T13:43:58Z dddddd joined #lisp 2018-02-11T13:47:47Z specbot quit (Disconnected by services) 2018-02-11T13:47:51Z specbot joined #lisp 2018-02-11T13:48:27Z minion quit (Disconnected by services) 2018-02-11T13:48:40Z specbot quit (Disconnected by services) 2018-02-11T13:48:59Z specbot joined #lisp 2018-02-11T13:49:13Z minion joined #lisp 2018-02-11T13:49:20Z minion quit (Disconnected by services) 2018-02-11T13:49:22Z minion joined #lisp 2018-02-11T13:50:05Z hhdave joined #lisp 2018-02-11T13:50:12Z minion quit (Disconnected by services) 2018-02-11T13:50:55Z jealousmonk joined #lisp 2018-02-11T13:51:29Z fikka joined #lisp 2018-02-11T13:51:41Z minion joined #lisp 2018-02-11T13:54:18Z hhdave quit (Ping timeout: 240 seconds) 2018-02-11T13:54:33Z yaewa joined #lisp 2018-02-11T13:55:47Z moei quit (Ping timeout: 255 seconds) 2018-02-11T13:55:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-11T13:56:45Z makomo quit (Ping timeout: 264 seconds) 2018-02-11T14:01:53Z fikka joined #lisp 2018-02-11T14:04:56Z Baggers quit (Remote host closed the connection) 2018-02-11T14:06:25Z fikka quit (Ping timeout: 248 seconds) 2018-02-11T14:12:03Z shrdlu68 joined #lisp 2018-02-11T14:16:41Z guicho joined #lisp 2018-02-11T14:21:57Z fikka joined #lisp 2018-02-11T14:24:12Z Ven`` joined #lisp 2018-02-11T14:25:11Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2018-02-11T14:26:39Z fikka quit (Ping timeout: 248 seconds) 2018-02-11T14:27:02Z froggey quit (Ping timeout: 260 seconds) 2018-02-11T14:30:15Z igemnace quit (Ping timeout: 268 seconds) 2018-02-11T14:39:57Z specbot quit (Ping timeout: 264 seconds) 2018-02-11T14:41:57Z solyd quit (Ping timeout: 240 seconds) 2018-02-11T14:42:04Z fikka joined #lisp 2018-02-11T14:42:33Z specbot joined #lisp 2018-02-11T14:42:34Z minion quit (Disconnected by services) 2018-02-11T14:43:19Z minion joined #lisp 2018-02-11T14:43:26Z minion quit (Disconnected by services) 2018-02-11T14:43:45Z hhdave joined #lisp 2018-02-11T14:46:20Z specbot quit (Read error: No route to host) 2018-02-11T14:47:27Z specbot joined #lisp 2018-02-11T14:47:53Z Chream joined #lisp 2018-02-11T14:48:07Z minion joined #lisp 2018-02-11T14:48:30Z hhdave quit (Ping timeout: 256 seconds) 2018-02-11T14:48:56Z hhdave joined #lisp 2018-02-11T14:51:59Z mfiano: jack_rabbit: Assuming you dump your image with UIOP, or you manually set uiop:*image-dumped-p* to T before you dump, this will work. It accepts the name of a system and a relative path. This will do the right thing whether dumped or not, solving your NIL problem. https://gist.github.com/mfiano/e215b3e6414c0d003b8c6b00215963ca 2018-02-11T14:53:55Z hhdave quit (Ping timeout: 256 seconds) 2018-02-11T14:58:12Z Ukari joined #lisp 2018-02-11T14:58:50Z froggey joined #lisp 2018-02-11T15:07:01Z Oladon joined #lisp 2018-02-11T15:20:30Z raynold quit (Quit: Connection closed for inactivity) 2018-02-11T15:21:40Z rumbler31 quit (Remote host closed the connection) 2018-02-11T15:22:26Z mgsk: Running this ascii math edito here https://github.com/tarballs-are-good/formulador/tree/master/editor Trying to connect to it over swank, using (swank:create-server :port 4008). When I connect with M-x slime-connect, the variable formulador-editor:*editor-initialized* is always set to its default NIL where it should obviously be T. How do I access the runtime variables over swank? 2018-02-11T15:22:55Z mgsk: obviously equiv. i expect 2018-02-11T15:26:20Z Murii joined #lisp 2018-02-11T15:27:46Z makomo joined #lisp 2018-02-11T15:30:47Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-11T15:34:24Z Chream quit (Ping timeout: 256 seconds) 2018-02-11T15:41:04Z Kundry_W_ quit (Remote host closed the connection) 2018-02-11T15:41:41Z Kundry_Wag joined #lisp 2018-02-11T15:45:42Z Ven`` joined #lisp 2018-02-11T15:46:18Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-11T15:47:19Z Josh_2: The C library I'm trying to use has an example that starts with "struct libevdev *dev = NULL" libevdev is a struct defined in the library, am I able to use this struct? 2018-02-11T15:48:47Z Bike: Sure? 2018-02-11T15:48:59Z Josh_2: Does that mean yah? 2018-02-11T15:49:43Z Bike: yes. do you mean, can you manipulate objects of that type, like from cffi? sure 2018-02-11T15:50:08Z hhdave joined #lisp 2018-02-11T15:50:25Z Josh_2: I would like to pretty much just translate that C code into CL using CFFI 2018-02-11T15:51:17Z Josh_2: Is it with-foreign-object? 2018-02-11T15:51:28Z Bike: well, there is no object, given that it's null 2018-02-11T15:51:57Z Bike: maybe with-foreign-pointer 2018-02-11T15:52:27Z Josh_2: Well it is set to null then another function sets all the values in the struct afterwards 2018-02-11T15:52:53Z Bike: what allocates space for the object? 2018-02-11T15:53:43Z Josh_2: A function called "libevdev_new_from_fd(fd, &dev);" 2018-02-11T15:54:27Z hhdave quit (Ping timeout: 240 seconds) 2018-02-11T15:54:27Z Bike: so i guess with foreign object, and then in the body call that. 2018-02-11T15:54:29Z Josh_2: fd is an opened device like /dev/input/mouse0 2018-02-11T15:54:53Z Bike: (with-foreign-object (dev :libevdev) (libevdev-new-from-fd fd dev) ...) or something. 2018-02-11T15:55:16Z mjl_ quit (Quit: leaving) 2018-02-11T15:56:24Z mjl_ joined #lisp 2018-02-11T15:56:56Z Bike: though that doesn't actually have the allocation, does it 2018-02-11T15:57:14Z Josh_2: I don't know 2018-02-11T15:57:44Z Bike: right, you're passing &dev, not dev. my mistake. 2018-02-11T15:58:00Z Bike: (with-foreign-object (dev (:pointer :libevdev)) ...) i guess. 2018-02-11T15:59:13Z hhdave joined #lisp 2018-02-11T16:02:19Z Ukari quit (Remote host closed the connection) 2018-02-11T16:03:59Z hhdave quit (Ping timeout: 256 seconds) 2018-02-11T16:04:36Z Josh_2: Right, I'll try that. 2018-02-11T16:06:18Z puchacz joined #lisp 2018-02-11T16:06:41Z puchacz: hi, what function call is #p"/home/puchacz/foo.txt" equivalent of please? 2018-02-11T16:07:21Z Bike: function call? it's a literal. 2018-02-11T16:07:55Z puchacz: Bike: if it was a regular macro, I would ctrl+enter on it to macroexpand in slime 2018-02-11T16:08:06Z puchacz: I don't know how to check reader macros 2018-02-11T16:08:12Z Bike: i mean, what are you trying to do 2018-02-11T16:08:15Z Bike: get a pathname from a string? 2018-02-11T16:08:27Z puchacz: yes, in the same way as #p"string" does 2018-02-11T16:08:34Z Bike: clhs #p 2018-02-11T16:08:35Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/02_dhn.htm 2018-02-11T16:08:42Z puchacz: Bike - thanks 2018-02-11T16:08:43Z Bike: oh, that's pretty convenient 2018-02-11T16:09:09Z Shinmera: It also knows about format directives 2018-02-11T16:09:13Z Shinmera: clhs ~{ 2018-02-11T16:09:13Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/22_cgd.htm 2018-02-11T16:09:26Z Bike: yeah, i meant it was convenient that the page gives a form equivalent to #p, though. 2018-02-11T16:09:33Z Shinmera: Ah 2018-02-11T16:09:34Z puchacz: indeed 2018-02-11T16:09:41Z Josh_2: When the docs for with-foreign-object say "bind var to a pointer" does that mean it is now a global variable or is it destroyed when I leave the body of with-foreign-object? 2018-02-11T16:09:48Z Bike: the latter 2018-02-11T16:09:52Z puchacz: so the answer to my question is parse-namestring, roughly 2018-02-11T16:12:05Z hhdave joined #lisp 2018-02-11T16:12:46Z junes2 joined #lisp 2018-02-11T16:14:01Z makomo quit (Quit: WeeChat 1.9.1) 2018-02-11T16:14:49Z junes2: displaced-array(gigabytes_in_size) in Portacle? 2018-02-11T16:15:21Z junes2: SBCL? 2018-02-11T16:16:00Z beach: junes2: I don't understand your questions. 2018-02-11T16:16:49Z hhdave quit (Ping timeout: 260 seconds) 2018-02-11T16:18:51Z junes2: going to install Portacle, it uses SBCL. I'm new to LISP. want to use a -displaced-array ;assumed to be gigabytes in its size 2018-02-11T16:19:29Z beach: Shouldn't be a problem on a 64-bit machine, but you have to start SBCL with a big-enough heap. 2018-02-11T16:19:47Z makomo joined #lisp 2018-02-11T16:20:05Z beach: junes2: Also we quit writing it LISP a few decades ago. Nowadays we write it Lisp. 2018-02-11T16:21:03Z hhdave joined #lisp 2018-02-11T16:21:36Z Josh_2: although the throwback LISP is fun 2018-02-11T16:22:10Z beach: junes2: I just did (defparameter *a* (make-array 1000000000 :element-type '(unsigned-byte 8))) and it worked no problem. I use a 10GB heap for other reasons. 2018-02-11T16:22:55Z junes2: see how new I am,but not in life. so this heap. is it a buffer? 2018-02-11T16:23:19Z beach: Buffer? Are you confusing Common Lisp with Emacs Lisp? 2018-02-11T16:23:45Z shrdlu68: junes2: It's like how much storage your implementation can malloc 2018-02-11T16:23:46Z beach: The heap is whatever Common Lisp uses to allocate objects. 2018-02-11T16:24:05Z junes2: probably. malloc is? 2018-02-11T16:24:36Z beach: Nothing to worry about if you don't already know it. 2018-02-11T16:24:41Z beach: It is a C function. 2018-02-11T16:25:57Z jackdaniel: minion: tell junes2 about gentle 2018-02-11T16:25:57Z minion: junes2: look at gentle: "Common Lisp: A Gentle Introduction to Symbolic Computation" is a smoother introduction to lisp programming. http://www.cs.cmu.edu/~dst/LispBook/ 2018-02-11T16:26:02Z hhdave quit (Ping timeout: 260 seconds) 2018-02-11T16:26:15Z beach: junes2: This explains the heap: https://en.wikipedia.org/wiki/Memory_management#HEAP 2018-02-11T16:26:43Z Oladon quit (Quit: Leaving.) 2018-02-11T16:27:48Z EvW1 quit (Ping timeout: 240 seconds) 2018-02-11T16:32:01Z hhdave joined #lisp 2018-02-11T16:32:38Z junes2: new also to OOP(s).old 1995-COBOL. like the idea of data=code.read some of the Lisp hyperspec 2018-02-11T16:33:12Z junes2: what is the "it" your supposed to "finally get"? 2018-02-11T16:34:26Z SaganMan joined #lisp 2018-02-11T16:35:02Z junes2: Portacle chatroom says "dump an executable" huh? 2018-02-11T16:35:20Z beach: junes2: I think you need to be a bit more explicit in your phrases. Using complete sentences would help, for starters. I, for one, am having a hard time understanding. 2018-02-11T16:35:55Z junes2: Lisp makes executables new to object-oriented-programming 2018-02-11T16:35:56Z pagnol quit (Ping timeout: 276 seconds) 2018-02-11T16:36:13Z junes2: COBOL world 1995 2018-02-11T16:36:23Z beach: junes2: I wouldn't want you to get the impression that we are ignoring you as opposed to just having a hard time understanding. 2018-02-11T16:37:22Z junes2: that's ok. been visiting jwz.org for some free Lispy insights 2018-02-11T16:37:52Z hhdave quit (Ping timeout: 256 seconds) 2018-02-11T16:39:05Z junes2: what's the "when you finally get it" is it relative to Lisp ? 2018-02-11T16:39:42Z beach: I don't know what you are referring to. I searched for `get' in the scrollbacks and didn't see anything relevant. 2018-02-11T16:39:53Z Chream_2 joined #lisp 2018-02-11T16:40:03Z pagnol joined #lisp 2018-02-11T16:41:06Z nowhereman_ joined #lisp 2018-02-11T16:42:05Z Chream_ quit (Ping timeout: 240 seconds) 2018-02-11T16:42:47Z junes2: hello each. read an article on Lisp somewhere that mentioned "when "one" finally gets it. Is it functional programming?data=code?dat 2018-02-11T16:43:04Z hhdave joined #lisp 2018-02-11T16:45:10Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-11T16:45:10Z beach: Hard to say. People can write and publish anything on the web, so it may not make sense. 2018-02-11T16:48:00Z Josh_2: I think this peep is talking about the idea that Lisp is really confusing for a while then boop you get it, or maybe the more advanced, you've been coding in lisp for a while and then boop you understand how everything fits together. Kinda like this https://www.xkcd.com/224/ 2018-02-11T16:48:48Z nika joined #lisp 2018-02-11T16:49:00Z hhdave quit (Ping timeout: 268 seconds) 2018-02-11T16:49:26Z trocado joined #lisp 2018-02-11T16:50:05Z elazul quit (Ping timeout: 260 seconds) 2018-02-11T16:50:18Z junes2: Want to build a data structure.In my Lisp readings a displaced-array seems to fit what I'd want. But its size and incorporating keys seem threating 2018-02-11T16:51:24Z phoe: incorporating keys? 2018-02-11T16:51:27Z phoe: what do you mean? 2018-02-11T16:52:15Z SaganMan: is there any good material to study socket and web related programming with lisp or in general? 2018-02-11T16:52:58Z porky11 joined #lisp 2018-02-11T16:53:45Z Josh_2: Yes there is a book called "Using Common Lisp to Build Web Applications" 2018-02-11T16:53:51Z hhdave joined #lisp 2018-02-11T16:54:55Z Shinmera: Web applications typically don't deal with sockets or anything that low level themselves. 2018-02-11T16:55:24Z Shinmera: "Web applications" refers to software built on top of an HTTP server. 2018-02-11T16:56:32Z junes2: when thinking about Lisp sometimes those boops hit me. keys=pointers? :::Each list is called an entry, and the car of each entry is its key.need to open 2018-02-11T16:57:18Z beach: junes2: You make absolutely no sense. 2018-02-11T16:57:32Z Josh_2: Aye you are correct that was my bad :O I do remember a book I had that had a lot of CL socket programming in it though 2018-02-11T16:57:59Z SaganMan: Josh_2: what's the book? 2018-02-11T16:58:21Z Josh_2: I don't know, I thought it was that but obviously not 2018-02-11T16:59:18Z hhdave quit (Ping timeout: 240 seconds) 2018-02-11T16:59:19Z Rawriful joined #lisp 2018-02-11T16:59:20Z pagnol quit (Ping timeout: 276 seconds) 2018-02-11T17:01:00Z junes2: openned my "agentle-lisp_book.pdf"- 6.8 LISTS AS TABLES copy-pasted a key reference. boops was response to Josh_2 2018-02-11T17:01:45Z Josh_2: SaganMan: This isn't a book but it helped me http://cl-cookbook.sourceforge.net/sockets.html 2018-02-11T17:02:21Z SaganMan: ah thanks Josh_2 2018-02-11T17:02:52Z junes2: the data-structure desired seems to need key-values 2018-02-11T17:02:58Z SaganMan: I'm completely new to this stuff. Don't know about how to go on with sockets, http and all other stuff 2018-02-11T17:03:24Z Josh_2: It's pretty similar to how you handle file i/o 2018-02-11T17:03:45Z makomo quit (Quit: WeeChat 1.9.1) 2018-02-11T17:04:13Z makomo joined #lisp 2018-02-11T17:06:18Z hhdave joined #lisp 2018-02-11T17:06:38Z Shinmera: TCP sockets provide a stream abstraction, so it's like reading/writing a file. The only significant differences are: 1) it's much slower 2) the stream might close at any point in time 2018-02-11T17:06:46Z fikka quit (Ping timeout: 256 seconds) 2018-02-11T17:06:56Z Shinmera: So you need to design your protocol to deal with 2) 2018-02-11T17:08:17Z Shinmera: If you want to do UDP, then it's pretty different. UDP only offers fixed size datagrams, and they may or may not arrive, and may or may not arrive in the order you send them. 2018-02-11T17:09:11Z SaganMan: what about accessing websites online and pass login details and such 2018-02-11T17:09:28Z Shinmera: That has nothing to do with sockets. That's HTTP. 2018-02-11T17:09:34Z SaganMan: isn't there some kind of protocal or datastream format for these things? 2018-02-11T17:09:48Z SaganMan: ohh 2018-02-11T17:09:50Z Shinmera: There's many different protocols to handle authentication. 2018-02-11T17:10:30Z Shinmera: HTTP is built on top of TCP. Typically you'll use libraries like drakma to handle the protocol for you. 2018-02-11T17:10:36Z milanj quit (Quit: This computer has gone to sleep) 2018-02-11T17:10:50Z Shinmera: That is, if you're on the client side. On the server side you'd use hunchentoot or similar. 2018-02-11T17:11:03Z hhdave quit (Ping timeout: 256 seconds) 2018-02-11T17:11:13Z caladrius joined #lisp 2018-02-11T17:11:27Z rumbler31 joined #lisp 2018-02-11T17:15:13Z junes2: It's ok.Until I actually implement some Lisp code, I'm in "The CADT Model" -"cascade of attention-deficit teenagers" model -from jwz.org 2018-02-11T17:15:38Z Shinmera: Anyhoo, the lesson to take away is that the web is built on layers. For a website those would be ETH/802.11 > IP > TCP > HTTP > HTML 2018-02-11T17:15:49Z hhdave joined #lisp 2018-02-11T17:15:55Z Shinmera: Usually you only want to care about the topmost layer and let libraries and other parts deal with the rest. 2018-02-11T17:18:53Z junes2: read somewhere the a-list was less than an optimal use case, but keys seem necessary,even in my top layer 2018-02-11T17:20:48Z trocado quit (Ping timeout: 240 seconds) 2018-02-11T17:22:18Z hhdave quit (Ping timeout: 268 seconds) 2018-02-11T17:23:05Z fikka joined #lisp 2018-02-11T17:24:54Z junes2 quit (Ping timeout: 260 seconds) 2018-02-11T17:27:44Z fikka quit (Ping timeout: 256 seconds) 2018-02-11T17:27:54Z SaganMan: I see 2018-02-11T17:28:03Z SaganMan: brb, need to shutdown 2018-02-11T17:28:06Z SaganMan quit (Quit: WeeChat 1.6) 2018-02-11T17:33:29Z fikka joined #lisp 2018-02-11T17:38:18Z fikka quit (Ping timeout: 252 seconds) 2018-02-11T17:39:50Z fikka joined #lisp 2018-02-11T17:42:08Z Ven`` joined #lisp 2018-02-11T17:43:05Z junes2 joined #lisp 2018-02-11T17:43:28Z junes2 quit (Client Quit) 2018-02-11T17:44:28Z junes2 joined #lisp 2018-02-11T17:44:50Z SaganMan joined #lisp 2018-02-11T17:45:38Z SaganMan: Shinmera: you still here? 2018-02-11T17:45:57Z scymtym quit (Ping timeout: 260 seconds) 2018-02-11T17:47:30Z puchacz quit (Read error: Connection reset by peer) 2018-02-11T17:48:15Z SaganMan quit (Client Quit) 2018-02-11T17:48:27Z damke_ joined #lisp 2018-02-11T17:51:21Z damke quit (Ping timeout: 264 seconds) 2018-02-11T17:53:20Z Shinmera: Ah well 2018-02-11T17:53:25Z junes2: hello Saganman. what is -query in the user list? I seem frozen too 2018-02-11T17:53:49Z chiyosaki joined #lisp 2018-02-11T17:53:50Z saki quit (Ping timeout: 255 seconds) 2018-02-11T17:54:16Z pjb: junes2: use heating elements to unfreeze. 2018-02-11T17:54:55Z junes2: maybe freenode not free today 2018-02-11T17:56:27Z junes2: maybe I need to turn back on my HotspotShield 2018-02-11T17:56:46Z pjb: junes2: indeed, today there's a fee; send 0.001 btc to bitcoin:1KVKurHKV7jDjVqPSz6ATLEy8TY7iMnxRb 2018-02-11T17:57:15Z pjb: junes2: the standard data structures in Common Lisp for key-value associations are a-list, p-list and hash-table. 2018-02-11T17:58:25Z junes2: ok. have you heard of hashed-array-tree? 2018-02-11T17:58:32Z pjb: junes2: a-list and p-list are O(n) and equivalent in space and time. p-list may be more convenient in some cases since this the format used to pass &key arguments, but the provided operators assume the keys are always compared with EQL, while for a-list, this is parameterizable. 2018-02-11T17:59:23Z pjb: junes2: hash-tables are also O(n), but amortized, which means that they're slower for small tables, (about 5 to 35 entries depending on the implementation), and foremost, they have a much bigger space overhead. 2018-02-11T17:59:52Z pjb: junes2: otherwise, you can find all kind of data structures in libraries, or you can implement your own. You're a big boy programmer! 2018-02-11T18:00:26Z fikka quit (Ping timeout: 276 seconds) 2018-02-11T18:01:47Z junes2: no so big coming from COBOL and no OOP(s). 0(n) remind me. is this space or time? 2018-02-11T18:02:07Z pjb: both in this case 2018-02-11T18:02:43Z pjb: junes2: and you still are not making much sense. 2018-02-11T18:04:26Z kobain joined #lisp 2018-02-11T18:04:38Z Josh_2: I'm a small boy programmer. 2018-02-11T18:05:00Z xrash joined #lisp 2018-02-11T18:05:30Z junes2: I want to implement a displaced-array with &keys. New to Object-Oriented-Programming paradyn.Only familar with EXCEL and COBOL ?data structures? 2018-02-11T18:05:52Z junes2: no Lisp experience 2018-02-11T18:06:43Z pjb: I want to implement a bycicle with whipped cream. 2018-02-11T18:06:55Z Josh_2: Sounds like a good bicycle to me 2018-02-11T18:07:23Z Josh_2: junes2: Lisp doesn't make you use OO. 2018-02-11T18:07:41Z jackdaniel: minion: tell junes2 about gentle. 2018-02-11T18:07:42Z minion: junes2: please look at gentle: "Common Lisp: A Gentle Introduction to Symbolic Computation" is a smoother introduction to lisp programming. http://www.cs.cmu.edu/~dst/LispBook/ 2018-02-11T18:07:50Z pjb: junes2: you've been advised to read Gentle. It should take you at least a few weeks. Come back when you've learned lisp by reading it and practicing. 2018-02-11T18:08:32Z damke joined #lisp 2018-02-11T18:09:09Z Josh_2: To be fair, I've read that and idk what I'm doing. 2018-02-11T18:09:09Z Josh_2: lel 2018-02-11T18:09:38Z mjl_ quit (Quit: leaving) 2018-02-11T18:10:13Z pjb: junes2: forget about cobol and excel. It's like telling us that you've learned how to cook an omlet, and asking now how do snorkel to the corail barrier. 2018-02-11T18:10:13Z Arcaelyx joined #lisp 2018-02-11T18:10:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-11T18:11:23Z nika quit (Quit: Leaving...) 2018-02-11T18:11:54Z junes2: Oh, and it'll also be transistor-laser PIC(photonic-integrated-circuit) backplane for a photonic-swtch-fabric in the SDN north-bound-controller plane :) 2018-02-11T18:12:50Z junes2: just that LISP allows me to make my on data-structure 2018-02-11T18:14:32Z jmercouris joined #lisp 2018-02-11T18:14:52Z jmercouris: Shinmera: is there tracking and/or logging in radiance? 2018-02-11T18:15:09Z Shinmera: tracking or logging of what 2018-02-11T18:15:37Z jmercouris: routes hit by a user 2018-02-11T18:15:46Z jmercouris: I guess this can be achieved by a hook? 2018-02-11T18:16:22Z fikka joined #lisp 2018-02-11T18:16:30Z Shinmera: It uses the logger interface to log events 2018-02-11T18:16:43Z Shinmera: Which request are executed are on the trace log level 2018-02-11T18:17:03Z Shinmera: So consult whichever logger implementation is active to figure out how to make them visible 2018-02-11T18:17:19Z Shinmera: By default that's Verbose, so http://shinmera.github.io/verbose 2018-02-11T18:18:09Z hhdave joined #lisp 2018-02-11T18:18:14Z pjb: junes2: Now, if you insist on using LISP, please provide pictures of your punched cards: http://www.kloth.net/services/cardpunch.php 2018-02-11T18:18:50Z jmercouris: Okay, so basically what you're suggesting is, logger writes to log file for events, I write some information in that log file about the request, I then look at the log files? 2018-02-11T18:18:58Z Shinmera: What 2018-02-11T18:19:19Z jmercouris: What's your confusion? 2018-02-11T18:19:21Z Shinmera: I have no idea how you got any part of that out of any of what I ever said. 2018-02-11T18:19:26Z junes2: no can do actually used AS/400 2018-02-11T18:19:39Z jmercouris: Shinmera: I said "I'm trying to log which routes are hit" 2018-02-11T18:19:47Z jmercouris: Shinmera: Then you said "There is a logger interface" 2018-02-11T18:20:00Z jmercouris: I assume therefore you imply I should use this logger interface to persist that information 2018-02-11T18:20:02Z makomo quit (Ping timeout: 276 seconds) 2018-02-11T18:20:05Z jmercouris: otherwise it would be something really random to bring up, no? 2018-02-11T18:20:23Z Shinmera: Radiance already logs requests 2018-02-11T18:20:26Z Shinmera: by using that interface 2018-02-11T18:20:55Z Shinmera: I don't know where files came in in any part of this 2018-02-11T18:20:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-11T18:21:01Z Oladon joined #lisp 2018-02-11T18:21:10Z Shinmera: https://github.com/Shirakumo/radiance/blob/master/handle.lisp#L32 2018-02-11T18:21:10Z jmercouris: I'm not sure what format your logs take, but I expect a log to be a log file 2018-02-11T18:21:27Z Shinmera: Then you expect wrong 2018-02-11T18:21:38Z jmercouris: Okay, so what will the logs produce? 2018-02-11T18:21:41Z junes2: pjb:will try Portacle. hoping the GUI gets me past driving a cli 2018-02-11T18:22:09Z jmercouris: Are they just written to some stream? 2018-02-11T18:22:20Z Shinmera: Whatever the implementation of the logger interface does. May be writing to the repl/stdout, may be sending it to a database, may be telling google about it, whatever. 2018-02-11T18:22:23Z hhdave quit (Ping timeout: 248 seconds) 2018-02-11T18:22:29Z jmercouris: Ah, so it is configurable 2018-02-11T18:22:40Z jmercouris: Okay cool, I have a good picture of how to do this really easily then 2018-02-11T18:22:42Z jmercouris: thanks 2018-02-11T18:22:58Z Shinmera: Colleen: tell jmercouris look up radiance 2.6 2018-02-11T18:22:58Z Colleen: jmercouris: 2.6 logger https://shirakumo.github.io/radiance#2.6_logger 2018-02-11T18:24:05Z junes2: josh_2:CLOS does the OOPs? 2018-02-11T18:24:18Z makomo joined #lisp 2018-02-11T18:24:27Z junes2: should I say OO? 2018-02-11T18:24:28Z Shinmera: The default implementation for the logger interface is i-verbose, which uses verbose as I already mentioned. 2018-02-11T18:25:14Z orivej joined #lisp 2018-02-11T18:25:53Z jmercouris: Right, time to go through your tutorials now then :D 2018-02-11T18:25:58Z erikc joined #lisp 2018-02-11T18:26:10Z jmercouris: I just wanted to make sure it was possible before embarking on this journey 2018-02-11T18:26:55Z Shinmera: Logging every request ever is probably not very constructive though. You'll get lots of spam. Probably better to log requests to your pages instead. 2018-02-11T18:27:11Z Josh_2: Getting lost on the 5th page of CFFI's tutorial page Q_Q 2018-02-11T18:27:22Z jmercouris: I have a really specific use case for a specific route, I don't imagine it will get hit very often 2018-02-11T18:27:56Z sabrac quit (Remote host closed the connection) 2018-02-11T18:28:01Z jmercouris: As it will not be a crawlable/published address anywhere 2018-02-11T18:28:09Z Shinmera: Okey. 2018-02-11T18:28:28Z jmercouris: well, anything is crawlable I guess, but it would be hard to find at least 2018-02-11T18:31:16Z mjl_ joined #lisp 2018-02-11T18:32:59Z random-nick quit (Remote host closed the connection) 2018-02-11T18:34:11Z junes2: PJB: OK :"It is imperative, procedural and, since 2002, object-oriented. COBOL is".So I;m off to implement this Portacle to try some Lisp 2018-02-11T18:35:10Z junes2: pjb:making my marshmellow bike 2018-02-11T18:36:40Z fikka joined #lisp 2018-02-11T18:36:47Z random-nick joined #lisp 2018-02-11T18:37:16Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-11T18:37:34Z junes2 quit (Quit: Page closed) 2018-02-11T18:38:27Z rumbler31 quit (Remote host closed the connection) 2018-02-11T18:41:45Z fikka quit (Ping timeout: 264 seconds) 2018-02-11T18:48:11Z junes2 joined #lisp 2018-02-11T18:48:31Z mlf joined #lisp 2018-02-11T18:48:51Z junes2: here it is ""Lisp is worth learning for the profound enlightenment experience you will have when you finally get it; that experience will make you a better programmer for the rest of your days, even if you never actually use Lisp itself a lot."- http://www.defmacro.org/ramblings/lisp.html and I'm gone 2018-02-11T18:49:51Z ghard`` quit (Remote host closed the connection) 2018-02-11T18:49:53Z pagnol joined #lisp 2018-02-11T18:50:08Z mjl_ quit (Quit: Lost terminal) 2018-02-11T18:50:38Z dieggsy quit (Quit: ERC (IRC client for Emacs 27.0.50)) 2018-02-11T18:53:33Z junes2: pjb:"when you finally get it", it? 2018-02-11T18:53:40Z lerax: There is a way to look for the available packages on the REPL? Like apropos but for packages 2018-02-11T18:54:00Z lerax: (really packages, not systems) 2018-02-11T18:54:21Z Bike: (list-all-packages), but you have to filter it yourself. 2018-02-11T18:54:23Z mjl_ joined #lisp 2018-02-11T18:54:29Z lerax: Thank you Bike 2018-02-11T18:54:38Z lerax: This is enough 2018-02-11T18:54:45Z Bike: glad to help 2018-02-11T18:54:54Z junes2 quit (Quit: Page closed) 2018-02-11T18:54:55Z lerax: :) 2018-02-11T18:56:57Z fikka joined #lisp 2018-02-11T18:57:10Z damke_ joined #lisp 2018-02-11T18:59:45Z damke quit (Ping timeout: 264 seconds) 2018-02-11T19:00:00Z trocado joined #lisp 2018-02-11T19:00:20Z lerax quit (Remote host closed the connection) 2018-02-11T19:00:27Z guicho quit (Remote host closed the connection) 2018-02-11T19:00:29Z smasta joined #lisp 2018-02-11T19:00:39Z scymtym joined #lisp 2018-02-11T19:01:32Z fikka quit (Ping timeout: 252 seconds) 2018-02-11T19:04:43Z EvW joined #lisp 2018-02-11T19:05:35Z jstypo joined #lisp 2018-02-11T19:07:18Z rumbler31 joined #lisp 2018-02-11T19:10:05Z random-nick quit (Ping timeout: 240 seconds) 2018-02-11T19:11:14Z milanj joined #lisp 2018-02-11T19:13:21Z kajo quit (Remote host closed the connection) 2018-02-11T19:13:56Z drcode quit (Quit: ZNC 1.6.5 - http://znc.in) 2018-02-11T19:14:08Z kajo joined #lisp 2018-02-11T19:16:10Z dieggsy joined #lisp 2018-02-11T19:17:14Z fikka joined #lisp 2018-02-11T19:22:11Z fikka quit (Ping timeout: 265 seconds) 2018-02-11T19:23:19Z drmeister: Hey folks - are there any Javascript programmers who could take a look at something and maybe tell me why it's not working? I've got a Common Lisp program that is generating HTML incorporating Javascript and I want it to render on a web page 2018-02-11T19:23:50Z drmeister: This CL string contains the code - I can remove the escaping if you like 2018-02-11T19:23:52Z drmeister: https://www.irccloud.com/pastebin/7j0Hhyng/ 2018-02-11T19:24:27Z drmeister: The idea is to create a canvas within which it renders the graph that is constructed by the javascript 2018-02-11T19:25:43Z pjb: Bike: com.informatimago.common-lisp.interactive.interactive:lspack is a nicer interactive alternative to list packages in the REPL. 2018-02-11T19:27:16Z fortitude: drmeister: I'm wholly unfamiliar with the library you're using, but onLoad isn't being used anywhere in that paste 2018-02-11T19:27:42Z fikka joined #lisp 2018-02-11T19:28:01Z drmeister: fortitude: Thanks for responding - yeah - I cooked up the name "onLoad" and stuck it in there with the hope that it would do what I meant - I'm a babe in the woods here. 2018-02-11T19:28:24Z drmeister: Is the HTML tag appropriate here? How do you get the script to start? 2018-02-11T19:29:44Z fortitude: drmeister: I'm no web expert, but if you want that function called when the page is ready for dom manipulation, you could load jquery and use $.ready(onLoad) 2018-02-11T19:30:44Z aindilis joined #lisp 2018-02-11T19:31:34Z fortitude: I think the canvas part is ok, but it depends on what that library is expecting (and it looks like that uses another library, raphael.js, to do the actual rendering) 2018-02-11T19:32:31Z fikka quit (Ping timeout: 256 seconds) 2018-02-11T19:33:35Z fortitude: looks like the syntax might actually be $(onLoad) these days 2018-02-11T19:36:33Z d4ryus1 is now known as d4ryus 2018-02-11T19:36:33Z Oladon quit (Read error: Connection reset by peer) 2018-02-11T19:37:25Z Oladon joined #lisp 2018-02-11T19:37:47Z fikka joined #lisp 2018-02-11T19:38:05Z drmeister: Ok, I'll try something simpler first. 2018-02-11T19:38:30Z mjl_ quit (Quit: Lost terminal) 2018-02-11T19:38:32Z damke joined #lisp 2018-02-11T19:41:32Z erikc quit 2018-02-11T19:41:41Z Ven`` joined #lisp 2018-02-11T19:41:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-11T19:42:23Z fikka quit (Ping timeout: 248 seconds) 2018-02-11T19:50:22Z random-nick joined #lisp 2018-02-11T19:51:37Z Kundry_W_ joined #lisp 2018-02-11T19:52:22Z knicklux joined #lisp 2018-02-11T19:54:22Z fikka joined #lisp 2018-02-11T19:58:25Z jmercouris quit (Ping timeout: 248 seconds) 2018-02-11T20:00:29Z jstypo quit (Remote host closed the connection) 2018-02-11T20:00:56Z zooey quit (Remote host closed the connection) 2018-02-11T20:01:40Z zooey joined #lisp 2018-02-11T20:05:09Z clog quit (Ping timeout: 264 seconds) 2018-02-11T20:05:35Z hhdave joined #lisp 2018-02-11T20:09:44Z razzy: hi, is there graphical explanation how quicklisp and slime works? 2018-02-11T20:10:05Z fisxoj joined #lisp 2018-02-11T20:10:11Z hhdave quit (Ping timeout: 255 seconds) 2018-02-11T20:10:33Z razzy: i have got many libraries downloaded from git and quicklisp, and i am bit lost :] 2018-02-11T20:10:51Z junes2 joined #lisp 2018-02-11T20:11:41Z razzy: i would like to know how packaging work :] 2018-02-11T20:12:20Z junes2 quit (Client Quit) 2018-02-11T20:19:11Z mjl_ joined #lisp 2018-02-11T20:20:54Z damke_ joined #lisp 2018-02-11T20:21:05Z Ven`` quit (Ping timeout: 240 seconds) 2018-02-11T20:22:14Z pjb: slime: [CL implementation]<->[swank]<->[slime]<->[emacs] 2018-02-11T20:22:47Z pjb: quicklisp: [git-repo]->[quicklisp-aws]->[~/quicklisp]->[CL-implementation] 2018-02-11T20:22:57Z pjb: What else is there to know? 2018-02-11T20:23:14Z pjb: razzy: read the source. 2018-02-11T20:23:45Z damke quit (Ping timeout: 264 seconds) 2018-02-11T20:24:33Z jstypo joined #lisp 2018-02-11T20:27:08Z Pixel_Outlaw joined #lisp 2018-02-11T20:27:59Z alexmlw quit (Ping timeout: 276 seconds) 2018-02-11T20:28:17Z fikka quit (Ping timeout: 248 seconds) 2018-02-11T20:29:36Z openthesky joined #lisp 2018-02-11T20:30:35Z jack_rabbit quit (Ping timeout: 276 seconds) 2018-02-11T20:33:12Z damke joined #lisp 2018-02-11T20:34:39Z mjl_ quit (Ping timeout: 260 seconds) 2018-02-11T20:36:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-11T20:37:17Z razzy: pjb: when i call package, is it first checking running CL, than local /quicklisp then remote QL? 2018-02-11T20:37:32Z Chream joined #lisp 2018-02-11T20:39:40Z jackdaniel: packages and packaging are two different concepts (the latter may refer to distributing libraries etc) 2018-02-11T20:40:42Z jackdaniel: http://mirror.informatimago.com/lisp/weitz.de/packages.html 2018-02-11T20:40:50Z jackdaniel: razzy: ↑ check out this 2018-02-11T20:43:58Z fikka joined #lisp 2018-02-11T20:43:59Z BitPuffin quit (Remote host closed the connection) 2018-02-11T20:44:00Z jack_rabbit joined #lisp 2018-02-11T20:44:07Z drewc quit (Read error: Connection reset by peer) 2018-02-11T20:47:16Z pjb: razzy: packages cannot be called. Only functions can be called. 2018-02-11T20:48:05Z damke_ joined #lisp 2018-02-11T20:48:06Z pjb: [git-repo]--(Xach's magic)-->[quicklisp-aws]--(ql:quickload)-->[~/quicklisp]--(ql:quickload(asdf:oos))-->[CL-implementation] 2018-02-11T20:48:40Z fikka quit (Ping timeout: 260 seconds) 2018-02-11T20:49:25Z razzy: pjb: i heard that CL have only data and functions :] (bad troling, i am not sure about terminology) 2018-02-11T20:50:26Z pjb: Yes, you shouldn't be concerned about libraries and packaging, before knowing how to program in lisp, knowing the terminology and being able to write your own library and packaging system. 2018-02-11T20:50:45Z damke quit (Ping timeout: 264 seconds) 2018-02-11T20:51:09Z damke__ joined #lisp 2018-02-11T20:51:11Z pjb: Why don't you try first http://cliki.net/Getting+Started and http://cliki.net/Online+Tutorial 2018-02-11T20:52:16Z razzy: i am trying to digest some working code :] 2018-02-11T20:52:32Z pjb: Not before learning the language. 2018-02-11T20:52:57Z pjb: You're telling us you're trying to digest La Comédie Humaine, but you've not learned French first. 2018-02-11T20:53:03Z pjb: Fat chance! 2018-02-11T20:53:09Z damke_ quit (Ping timeout: 264 seconds) 2018-02-11T20:53:55Z pjb: http://cliki.net/Getting+Started tells you what French Grammar and French Dictionary to fetch, and http://cliki.net/Online+Tutorial teaches you French 101. 2018-02-11T20:53:56Z vlatkoB quit (Remote host closed the connection) 2018-02-11T20:54:10Z fikka joined #lisp 2018-02-11T20:57:31Z eatonphil joined #lisp 2018-02-11T20:59:19Z razzy: pjb: trying to digest broken code would be like trying to digest La Comedie Humaine. trying to digest working functional code is like trying to understand french people in french restaurant :] 2018-02-11T21:01:09Z parjanya joined #lisp 2018-02-11T21:01:53Z pierpa joined #lisp 2018-02-11T21:03:28Z razzy: first year of trying you only interrupt ongoing conversation :] 2018-02-11T21:05:41Z dieggsy quit (Ping timeout: 276 seconds) 2018-02-11T21:06:31Z razzy: on the plus side, you learn how it is done in the wild :] 2018-02-11T21:06:37Z S joined #lisp 2018-02-11T21:07:01Z S is now known as Guest8636 2018-02-11T21:07:07Z Guest8636 quit (Client Quit) 2018-02-11T21:11:59Z Chream quit (Ping timeout: 260 seconds) 2018-02-11T21:25:37Z jack_rabbit quit (Quit: Leaving) 2018-02-11T21:27:07Z random-nick quit (Ping timeout: 268 seconds) 2018-02-11T21:27:53Z fikka quit (Ping timeout: 255 seconds) 2018-02-11T21:28:47Z mishoo__ quit (Ping timeout: 260 seconds) 2018-02-11T21:29:28Z sabrac joined #lisp 2018-02-11T21:30:08Z easye quit (Read error: Connection reset by peer) 2018-02-11T21:30:23Z shrdlu68 quit (Ping timeout: 256 seconds) 2018-02-11T21:33:07Z specbot quit (Disconnected by services) 2018-02-11T21:33:09Z specbot joined #lisp 2018-02-11T21:33:39Z fikka joined #lisp 2018-02-11T21:33:41Z minion quit (Disconnected by services) 2018-02-11T21:33:51Z minion joined #lisp 2018-02-11T21:33:52Z minion quit (Disconnected by services) 2018-02-11T21:35:39Z specbot quit (Disconnected by services) 2018-02-11T21:36:03Z shka quit (Ping timeout: 256 seconds) 2018-02-11T21:36:05Z hhdave joined #lisp 2018-02-11T21:38:14Z fikka quit (Ping timeout: 260 seconds) 2018-02-11T21:41:09Z orivej quit (Ping timeout: 256 seconds) 2018-02-11T21:41:36Z damke joined #lisp 2018-02-11T21:41:40Z specbot joined #lisp 2018-02-11T21:42:24Z minion joined #lisp 2018-02-11T21:42:32Z hhdave_ joined #lisp 2018-02-11T21:43:18Z hhdave quit (Ping timeout: 256 seconds) 2018-02-11T21:43:18Z hhdave_ is now known as hhdave 2018-02-11T21:43:40Z fikka joined #lisp 2018-02-11T21:43:47Z Kundry_W_ quit (Remote host closed the connection) 2018-02-11T21:44:22Z hhdave quit (Read error: Connection reset by peer) 2018-02-11T21:44:45Z damke__ quit (Ping timeout: 264 seconds) 2018-02-11T21:46:08Z hhdave joined #lisp 2018-02-11T21:46:27Z shifty joined #lisp 2018-02-11T21:47:37Z damke_ joined #lisp 2018-02-11T21:48:17Z fikka quit (Ping timeout: 248 seconds) 2018-02-11T21:48:48Z dtornabene joined #lisp 2018-02-11T21:49:20Z fikka joined #lisp 2018-02-11T21:49:26Z makomo_ joined #lisp 2018-02-11T21:50:09Z damke quit (Ping timeout: 264 seconds) 2018-02-11T21:52:11Z makomo quit (Ping timeout: 255 seconds) 2018-02-11T21:52:14Z fisxoj quit (Quit: fisxoj) 2018-02-11T21:54:52Z troydm quit (Ping timeout: 268 seconds) 2018-02-11T21:59:25Z Denommus joined #lisp 2018-02-11T22:02:41Z troydm joined #lisp 2018-02-11T22:03:39Z clog joined #lisp 2018-02-11T22:03:45Z fikka quit (Ping timeout: 248 seconds) 2018-02-11T22:06:00Z smurfrobot quit (Remote host closed the connection) 2018-02-11T22:07:23Z Denommus quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2018-02-11T22:10:41Z attila_lendvai joined #lisp 2018-02-11T22:10:41Z attila_lendvai quit (Changing host) 2018-02-11T22:10:41Z attila_lendvai joined #lisp 2018-02-11T22:11:38Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-11T22:13:06Z attila_lendvai joined #lisp 2018-02-11T22:14:39Z igemnace joined #lisp 2018-02-11T22:17:49Z aeth: What's the naming convention for a multiple values version of a function? I don't think there is one. 2018-02-11T22:18:04Z Shinmera: What does that even mean? 2018-02-11T22:18:26Z Shinmera: What is a "multiple values version" of a function? 2018-02-11T22:18:37Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-11T22:19:04Z aeth: a function that's (foo-vec+ 1f0 2f0 3f0 4f0 5f0 6f0) -> (values 5f0 7f0 9f0) instead of (vec+ (vec 1f0 2f0 3f0) (vec 4f0 5f0 6f0)) -> (vec 5f0 7f0 9f0) 2018-02-11T22:19:31Z Shinmera: Returning a whole structure as multiple values sounds like a terrible idea 2018-02-11T22:19:57Z fikka joined #lisp 2018-02-11T22:20:14Z aeth: It's not like CL compilers are smart enough to optimize the alternatives. 2018-02-11T22:20:38Z Shinmera: CL compilers do optimise the one-value return case. 2018-02-11T22:20:47Z Shinmera: multiple values are always going to be a performance penalty. 2018-02-11T22:20:49Z attila_lendvai joined #lisp 2018-02-11T22:20:49Z attila_lendvai quit (Changing host) 2018-02-11T22:20:49Z attila_lendvai joined #lisp 2018-02-11T22:20:53Z knicklux quit (Quit: Leaving) 2018-02-11T22:21:20Z aeth: I implement multiple versions of the same function with an inline function on multiple return values 2018-02-11T22:21:28Z aeth: e.g. vec+ and vec+-into! 2018-02-11T22:21:39Z wigust quit (Quit: ZNC 1.6.5 - http://znc.in) 2018-02-11T22:21:45Z Kundry_W_ joined #lisp 2018-02-11T22:22:41Z aeth: The performance penalty is not noticable, and it makes the whole thing more elegant. At the moment, I call it %vec+ 2018-02-11T22:24:36Z smurfrobot joined #lisp 2018-02-11T22:24:47Z fikka quit (Ping timeout: 256 seconds) 2018-02-11T22:24:54Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-11T22:24:55Z hhdave quit (Quit: hhdave) 2018-02-11T22:25:36Z raynold joined #lisp 2018-02-11T22:25:42Z Josh_2: The CFFI tutorial seems like more of a demonstration of Lisp not CFFI. Idk 2018-02-11T22:26:07Z fikka joined #lisp 2018-02-11T22:27:18Z aeth: Oh, and it's probably not always a performance penalty because working with multiple return values is non-allocating. 2018-02-11T22:27:38Z attila_lendvai joined #lisp 2018-02-11T22:27:38Z attila_lendvai quit (Changing host) 2018-02-11T22:27:38Z attila_lendvai joined #lisp 2018-02-11T22:27:41Z Shinmera: Well, if it's inlined, maybe. 2018-02-11T22:27:51Z Shinmera: If it's a standard call it'll allocate. 2018-02-11T22:29:08Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-02-11T22:29:19Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-11T22:29:58Z caladrius_ joined #lisp 2018-02-11T22:30:36Z smurfrobot joined #lisp 2018-02-11T22:30:37Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-11T22:31:35Z minion quit (Ping timeout: 256 seconds) 2018-02-11T22:31:45Z drewc joined #lisp 2018-02-11T22:32:27Z smurfrobot quit (Remote host closed the connection) 2018-02-11T22:32:31Z caladrius quit (Ping timeout: 248 seconds) 2018-02-11T22:32:43Z smurfrobot joined #lisp 2018-02-11T22:32:52Z attila_lendvai joined #lisp 2018-02-11T22:32:52Z attila_lendvai quit (Changing host) 2018-02-11T22:32:52Z attila_lendvai joined #lisp 2018-02-11T22:36:57Z igemnace quit (Ping timeout: 240 seconds) 2018-02-11T22:38:10Z aeth: Shinmera: The multiple value code does not seem noticably slower, and in some cases can be faster. (In the latter case, though, it tends to be a lot uglier. It wins in functions with lots of multiple-value-bind temporary variables instead of temporary dynamic-extent vectors.) 2018-02-11T22:38:26Z aeth: It won't (afaik) allocate, though, because it's single-float. 2018-02-11T22:39:43Z pillton joined #lisp 2018-02-11T22:39:44Z aeth: It's very hard to profile things that are already very fast, though. 2018-02-11T22:40:50Z Shinmera: It needs to stuff the values somewhere to cross the function boundary, regardless of what the values are. They can't all be in registers. 2018-02-11T22:41:45Z Josh_2 quit (Remote host closed the connection) 2018-02-11T22:41:45Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-11T22:42:11Z aeth: 3 values can afaik be free. 2018-02-11T22:42:19Z aeth: Doing this for a 4x4 matrix, that's another story. 2018-02-11T22:42:29Z caladrius_ quit (Quit: Leaving) 2018-02-11T22:43:02Z attila_lendvai joined #lisp 2018-02-11T22:43:02Z attila_lendvai quit (Changing host) 2018-02-11T22:43:02Z attila_lendvai joined #lisp 2018-02-11T22:43:52Z rumbler31 quit (Read error: Connection reset by peer) 2018-02-11T22:43:52Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-11T22:44:28Z rumbler31 joined #lisp 2018-02-11T22:44:56Z Karl_Dscc quit (Remote host closed the connection) 2018-02-11T22:45:02Z pjb: Shinmera: unless you have a good processor instead of some Intel shit. (And even, I hear some 64-bit Intel processors have a lot of registers too). it may be a good idea to return multiple values instead of small vectors or lists. 2018-02-11T22:45:31Z aeth: My rule of thumb is to stop at 4 for multiple return values. 2018-02-11T22:45:38Z pjb: aeth: there's no convention. Make up one. 2018-02-11T22:45:44Z pjb: You may use perhaps foo/mv 2018-02-11T22:46:00Z aeth: I considered using multiple-value-foo but that's far too verbose. 2018-02-11T22:46:05Z attila_lendvai joined #lisp 2018-02-11T22:46:13Z pjb: mv-foo 2018-02-11T22:47:47Z pjb: it can be a big win if the function called with multiple-value-call is inlined, so that multiple-value-call can be inlined too. 2018-02-11T22:48:32Z aeth: pjb: Up to 2x a win, but *only* because SIMD support is weak in current CL implementations. I don't think anything is done automatically. 2018-02-11T22:48:54Z aeth: And it looks really ugly and hard to read with all of those multiple-value-calls and multiple-value-binds 2018-02-11T22:48:57Z pjb: (multiple-value-call 3d+/mv (multiple-value-call 3d+/mv (vec-values a) (vec-values b)) (vec-values c)) 2018-02-11T22:49:31Z Murii quit (Quit: WeeChat 1.4) 2018-02-11T22:49:37Z pjb: Of course, you would write a (with-mv (3d+ (3d+ a b) c)) macro to expand to the previous. 2018-02-11T22:50:27Z Arcaelyx quit (Ping timeout: 260 seconds) 2018-02-11T22:50:29Z Arcaelyx_ joined #lisp 2018-02-11T22:50:35Z aeth: The problem is that I'm going to add length 2 and 4 variants and possibly double float variants for the 2, 3, 4. The vector versions are fine, I can just use specialization-store. The mv versions need many different names. 2018-02-11T22:51:21Z aeth: (I might not do double float multiple value versions. It might be too easy to carelessly cons with them.) 2018-02-11T22:53:06Z quazimodo joined #lisp 2018-02-11T22:58:38Z aeth: I guess it's fine if I stick to single float. By my convention "vec" and "vec3" are equivalent, and the other lengths are "vec2" and "vec4". So vec4+, vec2+ and vec+ 2018-02-11T22:58:39Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-11T22:59:35Z attila_lendvai joined #lisp 2018-02-11T23:01:14Z yaewa quit (Quit: Leaving...) 2018-02-11T23:02:11Z xrash quit (Remote host closed the connection) 2018-02-11T23:02:32Z aeth: pjb: is mv-vec+ or vec+/mv more idiomatic? 2018-02-11T23:03:52Z damke_ quit (Ping timeout: 260 seconds) 2018-02-11T23:04:01Z aeth: I think the latter might actually be clearer. 2018-02-11T23:05:41Z troydm quit (Ping timeout: 255 seconds) 2018-02-11T23:06:42Z troydm joined #lisp 2018-02-11T23:06:53Z Amplituhedron joined #lisp 2018-02-11T23:09:34Z nirved quit (Quit: Leaving) 2018-02-11T23:09:35Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-11T23:11:06Z attila_lendvai joined #lisp 2018-02-11T23:11:06Z attila_lendvai quit (Changing host) 2018-02-11T23:11:06Z attila_lendvai joined #lisp 2018-02-11T23:19:38Z rumbler31 quit (Remote host closed the connection) 2018-02-11T23:20:12Z quazimodo quit (Ping timeout: 256 seconds) 2018-02-11T23:20:35Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-11T23:21:12Z whoman: SVO subject-object-verb 2018-02-11T23:23:18Z razzy: I am spend 2018-02-11T23:23:20Z attila_lendvai joined #lisp 2018-02-11T23:23:20Z attila_lendvai quit (Changing host) 2018-02-11T23:23:20Z attila_lendvai joined #lisp 2018-02-11T23:23:41Z whoman: rest ^_^ 2018-02-11T23:24:12Z razzy: good advice :] 2018-02-11T23:25:10Z whoman: i find it is especially important to let the hands and eyes idle 2018-02-11T23:25:10Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-11T23:25:33Z whoman: (and stomach and face and feet if aiming for full charge^_^) 2018-02-11T23:25:48Z attila_lendvai joined #lisp 2018-02-11T23:25:48Z attila_lendvai quit (Changing host) 2018-02-11T23:25:48Z attila_lendvai joined #lisp 2018-02-11T23:28:01Z razzy: i learned to distribute workload at different parts of body :] 2018-02-11T23:29:36Z rumbler31 joined #lisp 2018-02-11T23:32:22Z Pixel_Outlaw quit (Quit: Leaving) 2018-02-11T23:34:20Z rumbler31 quit (Ping timeout: 252 seconds) 2018-02-11T23:36:08Z varjag quit (Ping timeout: 255 seconds) 2018-02-11T23:39:45Z makomo_ quit (Ping timeout: 248 seconds) 2018-02-11T23:40:07Z rumbler31 joined #lisp 2018-02-11T23:43:54Z red-dot joined #lisp 2018-02-11T23:44:53Z rumbler31 quit (Ping timeout: 256 seconds) 2018-02-11T23:45:17Z EvW quit (Ping timeout: 255 seconds) 2018-02-11T23:47:38Z stacksmith quit (Read error: Connection reset by peer) 2018-02-11T23:49:42Z jealousmonk quit (Quit: Leaving) 2018-02-11T23:50:13Z rumbler31 joined #lisp 2018-02-11T23:51:39Z sabrac: postmodern 2018-02-11T23:51:49Z sabrac: ignore that 2018-02-11T23:54:35Z rumbler31 quit (Ping timeout: 240 seconds) 2018-02-11T23:58:55Z shifty quit (Ping timeout: 248 seconds) 2018-02-12T00:00:19Z rumbler31 joined #lisp 2018-02-12T00:03:13Z Rawriful quit (Quit: WeeChat 1.4) 2018-02-12T00:05:05Z rumbler31 quit (Ping timeout: 256 seconds) 2018-02-12T00:07:16Z varjag joined #lisp 2018-02-12T00:10:24Z rumbler31 joined #lisp 2018-02-12T00:12:14Z Amplituhedron quit (Ping timeout: 276 seconds) 2018-02-12T00:12:14Z varjag quit (Ping timeout: 260 seconds) 2018-02-12T00:15:21Z rumbler31 quit (Ping timeout: 264 seconds) 2018-02-12T00:19:55Z orivej joined #lisp 2018-02-12T00:22:57Z python476 quit (Ping timeout: 248 seconds) 2018-02-12T00:23:35Z pmc_ joined #lisp 2018-02-12T00:24:12Z markong quit (Ping timeout: 252 seconds) 2018-02-12T00:25:47Z Kundry_W_ quit (Remote host closed the connection) 2018-02-12T00:26:09Z JuanDaugherty joined #lisp 2018-02-12T00:26:21Z Kundry_Wag joined #lisp 2018-02-12T00:30:44Z Kundry_Wag quit (Ping timeout: 255 seconds) 2018-02-12T00:39:48Z damke_ joined #lisp 2018-02-12T00:39:58Z thallia quit (Ping timeout: 256 seconds) 2018-02-12T00:41:27Z thallia joined #lisp 2018-02-12T00:44:17Z fikka quit (Ping timeout: 248 seconds) 2018-02-12T00:44:41Z justinmcp quit (Remote host closed the connection) 2018-02-12T00:44:55Z justinmcp joined #lisp 2018-02-12T00:45:22Z damke_ quit (Ping timeout: 260 seconds) 2018-02-12T00:55:06Z z3t0 joined #lisp 2018-02-12T01:00:24Z fikka joined #lisp 2018-02-12T01:02:43Z Oladon quit (Quit: Leaving.) 2018-02-12T01:02:46Z thallia quit (Ping timeout: 256 seconds) 2018-02-12T01:04:33Z Tobbi quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-12T01:04:57Z thallia joined #lisp 2018-02-12T01:05:21Z fikka quit (Ping timeout: 256 seconds) 2018-02-12T01:05:55Z milanj quit (Quit: This computer has gone to sleep) 2018-02-12T01:06:30Z aeth: Is there any unit test framework specifically aimed at handling floating point tests? 2018-02-12T01:06:36Z aeth: i.e. where = isn't good enough 2018-02-12T01:06:47Z aeth: Or do people tend to work around that on their own? 2018-02-12T01:10:52Z fikka joined #lisp 2018-02-12T01:11:00Z whoman: razzy, oh ? that is very good advice 2018-02-12T01:11:27Z whoman: aeth, i would think that CL tests of any kind would be kind enough to consider the awesome pantheon of CL numbers 2018-02-12T01:12:13Z JuanDaugherty: i sm not sure what people do do but am sure what they should do 2018-02-12T01:14:04Z JuanDaugherty: and it would not be to test numerical results but to test that the code reflected the proper understanding of mapping of floats to reals 2018-02-12T01:14:26Z JuanDaugherty: i.e. the gap functions and that the proprer representation was used 2018-02-12T01:15:35Z aeth: Apparently you can fairly quickly brute force test *all* (single?) floats fairly quickly. https://randomascii.wordpress.com/2014/01/27/theres-only-four-billion-floatsso-test-them-all/ 2018-02-12T01:15:45Z fikka quit (Ping timeout: 248 seconds) 2018-02-12T01:15:57Z aeth: I'm guessing it'd be slower in CL and could be exponentially slower as you require more floats (matrix multiplication or something?) 2018-02-12T01:21:53Z Xach: attila_lendvai: apparently https://github.com/quicklisp/quicklisp-client/commit/207e7498b71d51cbe3d17a752b61800753531adf can break on windows as it tries to rename an open file 2018-02-12T01:22:08Z Kaisyu joined #lisp 2018-02-12T01:22:31Z pierpa: there are (expt (expt 2 32) (* m n)) single float m x n matrices, so yes, it will be slower (a lot) 2018-02-12T01:23:50Z dieggsy joined #lisp 2018-02-12T01:25:26Z attila_lendvai: Xach: ouch, sorry for that! I looked at it just now briefly, but I don't see any obvious and trivial fix 2018-02-12T01:26:34Z attila_lendvai: although... moving the probe-file and the recursion outside of the loop is reasonably non-intrusive 2018-02-12T01:27:13Z attila_lendvai: I mean outside of w-o-f 2018-02-12T01:27:32Z JuanDaugherty: also, i'd expect there to be existing tools to check data flow, possibly internal to a compiler 2018-02-12T01:29:09Z Xach: attila_lendvai: yeah 2018-02-12T01:30:55Z fikka joined #lisp 2018-02-12T01:31:09Z attila_lendvai: Xach: maybe it's also better to put the search logic into an flet, and then call it twice. then it won't end up in an infinite recursion in case of [insert something we don't know yet] 2018-02-12T01:31:53Z attila_lendvai: Xach: do you want me to send you a version quickly in an email? 2018-02-12T01:33:44Z dddddd quit (Remote host closed the connection) 2018-02-12T01:34:46Z Xach: ok 2018-02-12T01:35:35Z fikka quit (Ping timeout: 240 seconds) 2018-02-12T01:35:57Z stacksmith joined #lisp 2018-02-12T01:41:18Z fikka joined #lisp 2018-02-12T01:41:52Z openthesky quit (Quit: Leaving.) 2018-02-12T01:45:27Z pagnol quit (Ping timeout: 240 seconds) 2018-02-12T01:46:07Z fikka quit (Ping timeout: 268 seconds) 2018-02-12T01:50:18Z porky11 quit (Ping timeout: 265 seconds) 2018-02-12T01:50:49Z JuanDaugherty had jemais vu about the response to the common query 2018-02-12T01:52:10Z JuanDaugherty: *jamais 2018-02-12T01:53:39Z z3t0: How would I go about writing a macro to traverse a property list 2018-02-12T01:53:45Z pjb: Well, usually it's good to have jamais vu the response to a question. This is the way you get the most information from the question. On the other hand, if you have déjà vu the response, why did you ask the question? 2018-02-12T01:54:00Z z3t0: sort of like this where (get-data data :a :b) would generate (getf (getf data :a) :b) 2018-02-12T01:54:01Z pjb: z3t0: there's already one. Why do you want to write another one? 2018-02-12T01:54:13Z z3t0: pjb: which one? 2018-02-12T01:54:18Z pjb: loop 2018-02-12T01:54:30Z pjb: (loop for (k v) on p-list by (function cddr) do (something-with k v)) 2018-02-12T01:56:12Z zooey quit (Ping timeout: 255 seconds) 2018-02-12T01:56:34Z z3t0: i dont think that achieves what I am looking for 2018-02-12T01:57:15Z pierpa: why you want to do it with a macro, when a function would do? 2018-02-12T01:57:31Z pierpa: the performance difference would be insignificant 2018-02-12T01:57:51Z aindilis quit (Ping timeout: 256 seconds) 2018-02-12T01:57:53Z Oladon joined #lisp 2018-02-12T01:58:01Z zooey joined #lisp 2018-02-12T01:58:27Z z3t0: i can't figure out how to write it as a function either 2018-02-12T01:58:58Z aeth: Generally, people prefer inline functions over macros when it can be written as either. 2018-02-12T01:59:48Z White_Flame: z3t0: what do you mean? in order for the macro to read the property list, it would have to be a plist literal being passed in as a parameter 2018-02-12T02:01:09Z aeth: z3t0: why doesn't doplist work for you? 2018-02-12T02:01:22Z fikka joined #lisp 2018-02-12T02:02:06Z z3t0: Because I am not trying to iterate over the entire list 2018-02-12T02:02:09Z whoman quit (Ping timeout: 264 seconds) 2018-02-12T02:02:12Z z3t0: just walk through a specific path 2018-02-12T02:02:24Z pierpa: (defun get-data (data keys) (if (null (cdr keys)) (getf data (first keys)) (get-data data (getf data (first keys)) (rest keys)))) ;; not tested 2018-02-12T02:02:32Z terpri quit (Ping timeout: 255 seconds) 2018-02-12T02:03:53Z whoman joined #lisp 2018-02-12T02:06:14Z pierpa: do you want this: (get-data '(a 1 b (c (d 3))) '(b c d)) ===> 3 ? 2018-02-12T02:06:21Z fikka quit (Ping timeout: 256 seconds) 2018-02-12T02:06:43Z pierpa: in the DEFUN above there's a superfluous DATA 2018-02-12T02:06:49Z z3t0: yes that is what I am trying to achieve. Thanks, I will take a look 2018-02-12T02:07:06Z pierpa: then, remove the last occurrence of DATA in the defun abocve 2018-02-12T02:09:02Z pierpa: and you can improve the handling of boundary cases, of course :) 2018-02-12T02:11:44Z fikka joined #lisp 2018-02-12T02:13:28Z Zhivago: Always implement it as a function first -- consider macros to be for translating new syntax into calls to functions. :) 2018-02-12T02:15:59Z troydm quit (Ping timeout: 256 seconds) 2018-02-12T02:15:59Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-12T02:16:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-12T02:17:46Z aindilis joined #lisp 2018-02-12T02:18:14Z attila_lendvai joined #lisp 2018-02-12T02:18:14Z attila_lendvai quit (Changing host) 2018-02-12T02:18:14Z attila_lendvai joined #lisp 2018-02-12T02:19:05Z z3t0: Got it thanks 2018-02-12T02:21:48Z fikka joined #lisp 2018-02-12T02:22:41Z pierpa: good ;) 2018-02-12T02:23:21Z igemnace joined #lisp 2018-02-12T02:26:20Z d4ryus1 joined #lisp 2018-02-12T02:26:39Z fikka quit (Ping timeout: 248 seconds) 2018-02-12T02:27:17Z pmc_ quit (Quit: Leaving) 2018-02-12T02:29:31Z Pixel_Outlaw joined #lisp 2018-02-12T02:29:45Z d4ryus quit (Ping timeout: 264 seconds) 2018-02-12T02:30:07Z troydm joined #lisp 2018-02-12T02:32:00Z attila_lendvai quit (Quit: Leaving.) 2018-02-12T02:33:48Z wxie joined #lisp 2018-02-12T02:38:32Z wxie quit (Ping timeout: 256 seconds) 2018-02-12T02:41:03Z trocado quit (Ping timeout: 248 seconds) 2018-02-12T02:41:12Z stacksmith: Greetings... Am I correct that ordinary lambda-lists do not allow destructuring lambda-list components anywhere? That is, conceptually, arguments are supplied to a function as a flat list? 2018-02-12T02:41:24Z pjb: z3t0: isn't (get-data '(a 1 b (c (d 3))) '(b c d)) == (get-data '(c (d 3)) '(c d)) ? 2018-02-12T02:41:42Z pjb: z3t0: isn't (get-data foo '()) == foo ? 2018-02-12T02:41:57Z fikka joined #lisp 2018-02-12T02:42:05Z White_Flame: stacksmith: correct. Macro parameters can destructure, and destructuring-bind can 2018-02-12T02:42:21Z pjb: stacksmith: yep. 2018-02-12T02:43:00Z pjb: stacksmith: notice that if you want to use destructuring-bind on a function parameter, then this argument will have to be built, at run-time, using consing functions… 2018-02-12T02:43:09Z pjb: Perhaps there's no point. 2018-02-12T02:43:46Z White_Flame: or destructure a &rest parameter which might be a bit cheaper 2018-02-12T02:45:20Z stacksmith: As for macro lambda-lists... Are macro-functions different from regular functions in terms of destructuring? 2018-02-12T02:45:50Z White_Flame: yes 2018-02-12T02:46:27Z White_Flame: probably because it happens at compile-time, so they were willing to do more work there than add per-call overhead 2018-02-12T02:46:56Z fikka quit (Ping timeout: 276 seconds) 2018-02-12T02:48:36Z pjb: macro functions work on literal data, present in the lisp source! 2018-02-12T02:49:15Z pjb: (unless you use #. to compute "read-time" objects that will become "compilation-time" objects, ie. "macroexpansion time" objects.). 2018-02-12T02:49:41Z stacksmith: CLHS mentions that a macro-function accepts two arguments - the entire macro call and the environment... So the 'macro call' is the entire argument list of the macro invocation, and the macro-function does the destructuring? 2018-02-12T02:50:03Z pjb: Notice that macros are specifically forbidden to try to access, at macroexpansion time the lexical environment of the macro call! 2018-02-12T02:50:27Z pjb: stacksmith: yes. 2018-02-12T02:50:43Z pjb: The macro function receives the &whole. 2018-02-12T02:51:16Z stacksmith: And the environment it receives is what? 2018-02-12T02:51:23Z pjb: implementation dependent. 2018-02-12T02:51:35Z pjb: Only useful to functions such as macroexpand and find-class. 2018-02-12T02:51:44Z pjb: It's opaque to the user's program. 2018-02-12T02:52:27Z pjb: stacksmith: it abstracts the lexical environment where the macro call occurs, but only gives access to macro-like stuff: macros and macrolets. 2018-02-12T02:52:31Z pjb: plus classes! 2018-02-12T02:52:34Z stacksmith: I mean, it is not the lexical environment of the macro call - as I presume it is established at runtime - but what is the environment at expansion-time? 2018-02-12T02:52:42Z pjb: So you can write a macro that defines lexical classes :-) 2018-02-12T02:52:58Z pjb: Yes, it's only a part of the lexical environment of the macro call. 2018-02-12T02:53:19Z pjb: It's established at macro-expansion time, which occurs at compilation time usually. It has nothing to do with the runtime. 2018-02-12T02:53:50Z pjb: Macroexpansion doesn't occurs are run-time, since there's a minimal-compilation that should occur. 2018-02-12T02:54:11Z pjb: http://www.lispworks.com/documentation/HyperSpec/Body/03_bbb.htm 2018-02-12T02:55:43Z stacksmith: Forgive me, I need to run out for a few minutes as my dog is getting dangerously flatulent... I would love to finish up in a few... 2018-02-12T02:55:58Z Zhivago: It allows the compiler to pass stuff through your macro back to itself. 2018-02-12T02:56:21Z pjb: ie. even interpreters usually apply minimal compilation to avoid expanding macros again and again at run-time. 2018-02-12T03:02:13Z fikka joined #lisp 2018-02-12T03:02:45Z damke_ joined #lisp 2018-02-12T03:03:57Z eschatologist quit (Ping timeout: 264 seconds) 2018-02-12T03:04:08Z eschatologist joined #lisp 2018-02-12T03:07:11Z fikka quit (Ping timeout: 248 seconds) 2018-02-12T03:15:54Z wxie joined #lisp 2018-02-12T03:21:12Z arescorpio joined #lisp 2018-02-12T03:22:32Z fikka joined #lisp 2018-02-12T03:23:06Z wxie quit (Ping timeout: 265 seconds) 2018-02-12T03:24:01Z stacksmith: I am back... So the macro-function has access to a subset of the lexical environment of the expansion site... At that point the compiler knows things like names of lexical bindings but the macro-function cannot use these in the macroexpansion, as they do not belong to the lexical environment of the macro definition? Thus a macro cannot 'capture' a lexical binding at the invocation site as it would make these bindings no longer lexi 2018-02-12T03:27:29Z fikka quit (Ping timeout: 248 seconds) 2018-02-12T03:27:45Z kobain quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-12T03:30:08Z stacksmith: pjb: could you explain what you mean by lexical classes? 2018-02-12T03:30:39Z Bike: your message cut off at "these bindings no longer lexi" 2018-02-12T03:31:01Z stacksmith: "cal?" was the remaining text... 2018-02-12T03:31:07Z Bike: how simple. 2018-02-12T03:31:08Z pillton: stacksmith: You cannot evaluate lexical variables which were introduced outside of the scope of a macro. 2018-02-12T03:31:20Z stacksmith: Right. 2018-02-12T03:31:34Z pillton: stacksmith: This is illegal: (let ((x 1)) (macrolet ((example () x)) (example))) 2018-02-12T03:32:01Z stacksmith: I found that the hard way, and of course, it makes sense. 2018-02-12T03:32:12Z pillton: stack: Though a reading of 3.1.2.1.1 would suggest it was legal. 2018-02-12T03:32:25Z Bike: clhs 3.1.2.1.1 2018-02-12T03:32:25Z specbot: Symbols as Forms: http://www.lispworks.com/reference/HyperSpec/Body/03_abaa.htm 2018-02-12T03:32:28Z pillton: stacksmith: It is only by reading the section on minimal compilation that it becomes illegal. 2018-02-12T03:32:50Z Bike: well, the current lexical environment doesn't include the value, i guess. 2018-02-12T03:33:03Z stacksmith: There was a place that made clear that macrolets do not get access to that environment... 2018-02-12T03:33:05Z troydm quit (Ping timeout: 240 seconds) 2018-02-12T03:33:15Z Bike: yeah, clhs macrolet has it. 2018-02-12T03:33:43Z pillton: Which is unfortunate, because section 3.1 is pretty awesome. 2018-02-12T03:34:45Z stacksmith: So please clarify what it means to have access to macros, macrolets and classes in the macro-function as it expands. 2018-02-12T03:35:02Z Bike: well, you can have an &environment parameter, right. 2018-02-12T03:35:07Z stacksmith: yes 2018-02-12T03:35:21Z Bike: if you call macroexpand etc with the environment argument, it'll deal properly with the local macros. 2018-02-12T03:35:55Z fisxoj joined #lisp 2018-02-12T03:36:11Z Bike: (defmacro foo () 17) (macrolet ((foo () 19)) (macrolet ((test (&environment env) `',(macroexpand-1 '(foo) env))) (test))) will be 19, kind of thing. 2018-02-12T03:36:20Z stacksmith: So macroexpand sees the macros that are lexically in scope at the expansion site? 2018-02-12T03:36:34Z Bike: if - IF - you pass it this environment argument 2018-02-12T03:36:41Z Bike: otherwise it uses the global environment. 2018-02-12T03:36:43Z stacksmith: ah. 2018-02-12T03:37:00Z Bike: macroexpand is just a function. functions "know" nothing about the lexical environment they were called from. 2018-02-12T03:37:08Z stacksmith: That is limited to macroexpand? 2018-02-12T03:37:17Z Bike: no, some other functions take environment arguments. 2018-02-12T03:37:32Z stacksmith: OK. 2018-02-12T03:37:42Z Bike: but macroexpand, macroexpand-1, and macro-function are the main ones people use. 2018-02-12T03:38:09Z Bike: other things (e.g., classes) don't usually have lexical shadowing. 2018-02-12T03:38:34Z troydm joined #lisp 2018-02-12T03:38:55Z stacksmith: But not a macro-invocation inside the macro being expanded, as that is lexically restricted to the macro definition... 2018-02-12T03:39:07Z Bike: i'm not sure what you mean. 2018-02-12T03:40:47Z stacksmith: I mean that just like I have no access to the lexical bindings at the expansion site, I similarly have no access to the macrolets or anything else... 2018-02-12T03:41:07Z Bike: No access in what? Perhaps you could express this with code? 2018-02-12T03:42:20Z pillton: stacksmith: A macro can return code which contains forms that use lexically defined macros. 2018-02-12T03:42:49Z fikka joined #lisp 2018-02-12T03:43:45Z stacksmith: Bike: sorry, my terminology is not clear. I am just regurgitating what was clarified above, in pillton's example with macrolet. There, x was inaccessible. I was trying to extend that to not just lexical bindings, but also to any names of macrolets and really anything else that constitutes the so-called environment at expansion site. 2018-02-12T03:44:15Z Bike: well, in that case it's not about the expansion site but rather the macro function itself 2018-02-12T03:44:24Z stacksmith: yes. 2018-02-12T03:44:31Z Bike: essentially, it has to be possible to make the macro functions at compile time 2018-02-12T03:44:39Z Bike: since at compile time it won't actually bind x to 1, no dice 2018-02-12T03:45:11Z Bike: a lexical macro function referring to outer macro functions is okay, though 2018-02-12T03:45:23Z Bike: (macrolet ((foo ())) (macrolet ((bar () (foo))) ...)) kinda thing 2018-02-12T03:45:58Z Oladon quit (Quit: Leaving.) 2018-02-12T03:46:24Z stacksmith: Hmm.. 2018-02-12T03:47:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-12T03:47:53Z stacksmith: And that is restricted to macrolets and symbol-macros? 2018-02-12T03:48:17Z Bike: those are probably the only lexical ones, yeah. 2018-02-12T03:49:21Z stacksmith: That is a little confusing, although I suppose it makes sense since these are not real bindings, but just stand-ins for some expansion tasks to be performed... 2018-02-12T03:49:33Z Bike: that's a decent way to think of it. 2018-02-12T03:49:59Z Bike: though note that an evaluator might choose to be very basic, and have "actual" runtime bindings for macros. 2018-02-12T03:51:54Z stacksmith: Although, in a similar vein, a macrolet could theoretically have access to the binding names in the environment (not the values, of course)... 2018-02-12T03:52:12Z pillton: Yes! People use that all of the time. 2018-02-12T03:52:15Z Bike: Yes. Actually, in a previous revision of the language that information was accessible. 2018-02-12T03:52:26Z Bike: I don't know if i'd say that it's used all the time though. 2018-02-12T03:52:39Z pillton: stacksmith: https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html 2018-02-12T03:52:47Z stacksmith: Thank you. 2018-02-12T03:52:49Z pillton: Well, I use it all of the time. 2018-02-12T03:53:00Z stacksmith: pillton: what are you referring to? 2018-02-12T03:53:20Z fikka joined #lisp 2018-02-12T03:54:00Z pillton: The function variable-information in the link I sent allows macros to test for the existence of a lexical variable and get information about it. 2018-02-12T03:54:16Z stacksmith: Which implementations support that? 2018-02-12T03:54:51Z pillton: SBCL, CCL and CMUCL. I am not sure about the others. 2018-02-12T03:54:57Z Bike: none of them support everything in the page completely, but some do ok. 2018-02-12T03:55:07Z Bike: i think lispworks has its own api that gives you similar information. 2018-02-12T03:55:08Z pillton: It is best to use Bike's introspect-environment system. 2018-02-12T03:55:22Z stacksmith: Great. I will look into that. 2018-02-12T03:55:28Z Bike: it's pretty rare for macroexpanders to need this information, though 2018-02-12T03:55:40Z Bike: it's pretty rare to need an environment parameter at all 2018-02-12T03:56:06Z stacksmith: I noticed. 2018-02-12T03:56:18Z z3t0 quit (Remote host closed the connection) 2018-02-12T03:56:24Z pillton wonders why he is always in rare areas. 2018-02-12T03:56:44Z Bike: exploratory spirit? 2018-02-12T03:57:09Z damke joined #lisp 2018-02-12T03:57:23Z pillton: Quite possibly. 2018-02-12T03:57:42Z stacksmith: Some people invariably wind up under the car, looking at the innards, while most just look at the shiny side... 2018-02-12T03:57:53Z fikka quit (Ping timeout: 248 seconds) 2018-02-12T03:58:11Z Bike: well, and some people do that while others hack the ECU 2018-02-12T03:58:58Z arescorpio quit (Excess Flood) 2018-02-12T03:59:02Z terpri joined #lisp 2018-02-12T03:59:02Z Zhivago: ... while the life is slowly crushed out of them by an inexorable pressure due to having failed to correctly secure the wheel chocks. 2018-02-12T03:59:24Z Bike: geez, mon. 2018-02-12T03:59:51Z shka joined #lisp 2018-02-12T03:59:56Z pjb: stacksmith: you can define classes that are visible only in lexical scopes, using (setf find-class) with a local environment. 2018-02-12T04:00:12Z pjb: stacksmith: this is a very powerful tool in CL. I don't know if it has ever been used. 2018-02-12T04:00:21Z damke_ quit (Ping timeout: 263 seconds) 2018-02-12T04:00:26Z stacksmith: pjb: thank you. I was about to ask about that. 2018-02-12T04:00:32Z Bike: i don't think there's any guarantee that it wouldn't just alter the global environment (so like a dynamic binding) 2018-02-12T04:00:46Z smokeink joined #lisp 2018-02-12T04:00:56Z pillton: stacksmith: It is good that you encountered this issue. It is an important topic. 2018-02-12T04:01:11Z Bike: stacksmith is certainly being unusually scrupulous 2018-02-12T04:01:16Z stacksmith: I am very satisfied with this discussion. 2018-02-12T04:01:27Z Bike: you should try writing an evaluator, it makes things clearer than almost any amount of talking 2018-02-12T04:02:27Z pillton: The "Macros" chapter in the book Lisp in Small Pieces touches on other related issues. 2018-02-12T04:02:43Z stacksmith: Bike: I've been writing something close to an evaluator... 2018-02-12T04:02:45Z damke quit (Ping timeout: 264 seconds) 2018-02-12T04:02:50Z Bike: close to? 2018-02-12T04:03:04Z pillton has been meaning to follow the references in that book. 2018-02-12T04:04:29Z damke joined #lisp 2018-02-12T04:04:30Z stacksmith: Well, it stops short of evaluating; it checks lists for lambda-list correctness, when possible. Kind of a level above, or below, an evaluator. 2018-02-12T04:04:45Z Oladon joined #lisp 2018-02-12T04:05:46Z Pixel_Outlaw quit (Quit: Leaving) 2018-02-12T04:06:00Z beach: Good morning everyone! 2018-02-12T04:06:19Z damke_ joined #lisp 2018-02-12T04:06:26Z stacksmith: Another question. Macro lambda-list keywords, when keyword checking is disabled by &allow-other-keys. I assumed that no checking is done. However when keywords use destructuring syntax, such as ((:x (a b))) SBCL actually checks arguments and flags destructuring mismatches... 2018-02-12T04:09:17Z Bike: er, what? 2018-02-12T04:09:25Z Bike: allow-other-keys just means other keywords are allowed 2018-02-12T04:09:33Z Bike: it doesn't say not to destructure specified parameters 2018-02-12T04:09:57Z damke quit (Ping timeout: 264 seconds) 2018-02-12T04:10:19Z stacksmith: There is a chapter on &key and allow-other-keywords disabling keyword checking... I am looking for it. 2018-02-12T04:11:01Z Bike quit (Quit: Lost terminal) 2018-02-12T04:11:40Z stacksmith: clhs 3.4.1.4.1 2018-02-12T04:11:40Z specbot: Suppressing Keyword Argument Checking: http://www.lispworks.com/reference/HyperSpec/Body/03_dada.htm 2018-02-12T04:11:51Z damke joined #lisp 2018-02-12T04:13:21Z fikka joined #lisp 2018-02-12T04:13:57Z nowhere_man joined #lisp 2018-02-12T04:14:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-12T04:16:28Z stacksmith: Is keyword argument checking defined anywhere in CLHS? 2018-02-12T04:17:14Z beach: It is. But I don't remember where by heart. 2018-02-12T04:17:21Z beach: What is it that you need to know. 2018-02-12T04:17:47Z beach: Multiple occurrences of a keyword/value pair are allowed, and it is the first one that is used in that case. 2018-02-12T04:17:56Z nowhereman_ quit (Ping timeout: 276 seconds) 2018-02-12T04:18:12Z fikka quit (Ping timeout: 265 seconds) 2018-02-12T04:20:38Z stacksmith: I was assuming that when keyword argument checking is suppressed, no such checking takes place and any keyword may have any value in the argument list. However it appears that even with checking suppressed, specifying a key that has a destructuring lambda-list associated with its value, requires a value that will destructure correctly. So some checking does take place. 2018-02-12T04:21:44Z pjb: yes. And that keys shall be symbols. 2018-02-12T04:22:40Z pjb: (defun foo (&key &allow-other-keys) (values)) (foo 42 0) ; but only clisp signals the error: CLISP FOO: &KEY marker 42 is not a symbol 2018-02-12T04:23:02Z pjb: Good old faithful clisp! 2018-02-12T04:23:47Z fikka joined #lisp 2018-02-12T04:24:23Z beach: stacksmith: Yes, checking suppressed only makes it possible to supply keyword arguments that have no corresponding parameter definitions. It doesn't give you any additional rights about explicit parameter definitions. 2018-02-12T04:25:30Z stacksmith: OK. Argument checking suppression is somewhat misleading, and I am still unable to find what CLHS means by it. 2018-02-12T04:27:32Z z3t0 joined #lisp 2018-02-12T04:27:51Z dieggsy quit (Remote host closed the connection) 2018-02-12T04:28:27Z beach: clhs 3.5.1 2018-02-12T04:28:28Z specbot: Argument Mismatch Detection: http://www.lispworks.com/reference/HyperSpec/Body/03_ea.htm 2018-02-12T04:28:29Z beach: maybe? 2018-02-12T04:28:40Z dieggsy joined #lisp 2018-02-12T04:28:47Z fikka quit (Ping timeout: 260 seconds) 2018-02-12T04:29:58Z pillton: stacksmith: Have you specified a correct initial value? 2018-02-12T04:30:21Z pillton: s/initial/default/ 2018-02-12T04:30:37Z stacksmith: Yes, and not using the argument is fine. 2018-02-12T04:32:04Z z3t0 quit (Ping timeout: 252 seconds) 2018-02-12T04:34:38Z JenElizabeth joined #lisp 2018-02-12T04:35:16Z schoppenhauer quit (Ping timeout: 256 seconds) 2018-02-12T04:35:30Z z3t0 joined #lisp 2018-02-12T04:37:10Z schoppenhauer joined #lisp 2018-02-12T04:38:43Z stacksmith: I am still not clear on what argument checking suppression means, and if it's done at runtime or compile time. When does destructuring happen? I suppose it never happens at runtime because it is limited strictly to macro lambda-lists. But is it possible to replace an argument with a function call that returns a list that matches the destructuring requirements? Or do destructuring arguments require a literal list in the value po 2018-02-12T04:39:25Z beach: Yes, destructuring only happens at macro-expansion time. 2018-02-12T04:39:44Z beach: Keyword argument matching for functions is done at runtime of course. 2018-02-12T04:39:59Z z3t0 quit (Ping timeout: 260 seconds) 2018-02-12T04:40:46Z beach: All function arguments are evaluated, so an argument can be any form. 2018-02-12T04:42:43Z fourroot joined #lisp 2018-02-12T04:43:07Z fourroot: hi 2018-02-12T04:43:09Z nika joined #lisp 2018-02-12T04:43:12Z fourroot: why is lisp so undervalued ? 2018-02-12T04:43:40Z stacksmith: OK, in SBCL: (defmacro foo (&key ((:a (b c)) '(9 10)) &allow-other-keys) `(values ,b ,c)) 2018-02-12T04:43:51Z aeth: fourroot: network effects 2018-02-12T04:44:03Z fourroot: is it really better than python ? 2018-02-12T04:44:03Z beach: fourroot: Because most people in charge are uneducated and ignorant. 2018-02-12T04:44:08Z fikka joined #lisp 2018-02-12T04:44:08Z stacksmith: Now: (defun bar () (list 99 100)) 2018-02-12T04:44:31Z beach: fourroot: A good Common Lisp is about 50 times faster than Python for starters. 2018-02-12T04:44:53Z beach: fourroot: And Common Lisp can do almost everything Python can, and lots of things that Python can't. 2018-02-12T04:45:07Z pjb: fourroot: basically, each 5 years, the programmer population doubles. That means that at any time, there are always 50% of the programming population that is newbie. 2018-02-12T04:45:19Z stacksmith: (foo :a (bar)) provides foo with :a '(99 100) and yet it SBCL does not allow it. 2018-02-12T04:45:54Z pjb: fourroot: when we'll reach peak programming population, this percentage will improve, and things hopefully will improve too. This will be the dawn of lisp! 2018-02-12T04:45:58Z beach: stacksmith: Why do you mix up keyword matching and destructuring. 2018-02-12T04:46:02Z beach: stacksmith: They are unrelated. 2018-02-12T04:46:24Z fisxoj quit (Ping timeout: 260 seconds) 2018-02-12T04:46:32Z fourroot: hmm guys and how long is it gonna take to learn it ? 2018-02-12T04:46:40Z pjb: ten years. 2018-02-12T04:47:05Z beach: fourroot: Same as any other endeavor. Not long to get started. Ten years to become an expert. 2018-02-12T04:47:05Z aeth: fourroot: You have to balance a better language against (1) most potential hires (or contributors if FOSS) using other languages and (2) the availability of libraries in other languages. Also, Lisp was traditionally associated with symbolic AI, while machine learning is what's in style in AI these days. 2018-02-12T04:47:12Z quazimodo joined #lisp 2018-02-12T04:47:45Z beach: fourroot: Provided you do the work required of course. In software development, it is common to not have ten years of experience, but one year of experience ten times. 2018-02-12T04:48:18Z stacksmith: beach: because I was assuming keyword argument checking has to do with checking keyword arguments - in my mind, including the values. However my assumption may not be correct. 2018-02-12T04:48:19Z pjb: (+ 2014 (* 5 (log (/ 8e9 18.5e6) 2))) #| --> 2057.7817 |# 2018-02-12T04:48:21Z aeth: fourroot: The libraries issue is increasingly false, but the perception is still there, unfortunately. Also the "Lisp is for symbolic AI" perception is definitely still there. It's an image issue now, rather than actual difficulties imo. 2018-02-12T04:48:23Z fourroot: even the top companies are not supporting lisp 2018-02-12T04:48:35Z fourroot: like google, they haven't made tensorflow library for lips 2018-02-12T04:48:55Z beach: fourroot: Popularity and quality are orthogonal, and sometimes contradictory concepts. 2018-02-12T04:48:58Z pjb: so basically, lisp will start to rise in popularity in 2057 and soon after, it will establish itself as the standard programming language for all software. Then singularity will occur. 2018-02-12T04:48:59Z fikka quit (Ping timeout: 256 seconds) 2018-02-12T04:49:17Z beach: fourroot: If you want a job, use what others use. If you want good stuff, your criteria should be different. 2018-02-12T04:49:42Z stacksmith: fourroot: if you spend some time with Lisp, you will laugh at the idea of using anything else. 2018-02-12T04:50:00Z aeth: fourroot: Another problem is that a lot of people learn Lisp superficially, thinking that it's all about list processing, when lists really aren't that important in modern Lisp except for macros. There's a lot of alternative data structures in modern CL available. Hash tables, (multidimensional) arrays, etc. Most tutorials are about how to do practical things, except Lisp. Those are about how to do esoteric recursive list processing. 2018-02-12T04:50:10Z beach: stacksmith: The Common Lisp HyperSpec is explicit about it. Suppressing keyword argument checking means that you can supply a keyword argument that does not have a corresponding parameter definition. And that's all. 2018-02-12T04:50:19Z pjb: Just in time to transfer the mind of all of you future old programmers into the universal computer system :-) 2018-02-12T04:50:29Z fourroot: THANK YOU SO MUCH GUYS 2018-02-12T04:50:31Z fourroot: THANK YOU !! 2018-02-12T04:50:38Z stacksmith: beach: thank you. 2018-02-12T04:50:39Z pjb: beach: a symbol &key argument. 2018-02-12T04:50:41Z beach: fourroot: Anytime. Good luck. 2018-02-12T04:50:46Z pjb: any symbol can be a &key argument. 2018-02-12T04:50:49Z fourroot: im going to start learning lisp from now 2018-02-12T04:50:59Z fourroot: can you guys suggest me some good resources 2018-02-12T04:51:04Z beach: pjb: Right. 2018-02-12T04:51:11Z pjb: fourroot: http://cliki.net 2018-02-12T04:51:16Z stacksmith: fourroot: what languages are you familiar with? 2018-02-12T04:51:21Z pjb: fourroot: http://cliki.net/Getting+Started and http://cliki.net/Online+Tutorial 2018-02-12T04:51:32Z beach: fourroot: The book Practical Common Lisp is good and online. 2018-02-12T04:51:51Z fourroot: stacksmith: c,c++, python ,php, bash 2018-02-12T04:52:06Z beach: fourroot: PCL should be fine then. 2018-02-12T04:52:08Z wxie joined #lisp 2018-02-12T04:52:34Z beach: pjb: They are still called "keyword arguments" in the Common Lisp HyperSpec. 2018-02-12T04:52:43Z pjb: Ah, ok. Sorry. 2018-02-12T04:53:04Z beach: It's a bit confusing I admit. 2018-02-12T04:54:07Z fikka joined #lisp 2018-02-12T04:54:09Z stacksmith: fourroot: you have a fun road ahead of you. Lisp will completely rock your world, if you push through the immediate hump in the learning curve. 2018-02-12T04:54:30Z fourroot: thank you so much guys 2018-02-12T04:54:41Z fourroot: can you suggest me some videos on youtube ? 2018-02-12T04:54:43Z beach: fourroot: I agree with stacksmith. Plus, it is risky. You might never want to return to any of your previous languages. 2018-02-12T04:55:05Z beach: fourroot: The author of PCL has a few videos I believe. 2018-02-12T04:56:07Z pjb: https://www.youtube.com/channel/UC55S8D_44ge2cV10aQmxNVQ 2018-02-12T04:56:25Z beach: fourroot: This one for instance: https://www.youtube.com/watch?v=VeAdryYZ7ak 2018-02-12T04:56:35Z pjb: https://www.youtube.com/watch?v=M-BFgErib4k&list=PLFGwvw1jHU_THdNvecNthaKBHnRv9hxbL 2018-02-12T04:56:36Z stacksmith: If you do it right, you _will_ never want to return to any of your previous languages. There is simply no possible good reason, other than I suppose someone giving you large sums of money. Although I've turned down many such offers. 2018-02-12T04:57:27Z pjb: https://www.youtube.com/watch?v=K13_sWm_gZw&list=PLFGwvw1jHU_Q7loPO_uK4q90MgnU4TEQ3 2018-02-12T04:58:16Z pjb: https://www.youtube.com/watch?v=gZmcmdsoAXU&list=PLFGwvw1jHU_S1Sas5cYngDq16mk7O0H2a ; too. 2018-02-12T04:58:59Z pjb: fourroot: and of course, sicp and https://www.youtube.com/watch?v=2Op3QLzMgSY&list=PL8FE88AA54363BC46 ; but this course uses scheme instead of Common Lisp (still very useful and mind blowing). 2018-02-12T04:59:11Z fikka quit (Ping timeout: 256 seconds) 2018-02-12T04:59:12Z pjb: Structure and Interpretation of Computer Programs http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/ 2018-02-12T04:59:17Z aeth: CL is an incredibly multiparadigm language. It can do a large number of programming paradigms out there, much more than something like Java or Haskell that tries to dogmatically push one paradigm. 2018-02-12T04:59:42Z aeth: You can't really put CL in a nice little categorization like you can with most popular languages. 2018-02-12T05:01:35Z pjb: fourroot: there are not that many books that have a manga fanclub following: https://www.youtube.com/watch?v=rdj6deraQ6k 2018-02-12T05:02:20Z aeth: You can port your GOTO-filled BASIC program from the 1980s to CL without really changing much. Because CL supports so many different styles. You don't even need to port it if you write a reader macro. 2018-02-12T05:02:35Z beach: I suspect fourroot has enough material to get started. 2018-02-12T05:02:51Z pjb: If you don't believe: http://informatimago.com/develop/lisp/com/informatimago/small-cl-pgms/basic/index.html 2018-02-12T05:02:53Z beach: And the enthusiasm of #lisp participants has been made clear. 2018-02-12T05:03:13Z fourroot: haha yes now im kinda confused to select which one to start 2018-02-12T05:03:34Z beach: fourroot: Well, this being IRC, it was to be expected. 2018-02-12T05:04:06Z pjb: bookmark, browse and select what rings a bell to your ears. 2018-02-12T05:04:16Z fourroot: i will watch some videos on youtube then go with PCL's pdf 2018-02-12T05:04:22Z beach: Good luck! 2018-02-12T05:04:22Z fikka joined #lisp 2018-02-12T05:04:39Z beach: fourroot: And you are welcome to come back and ask specific questions. 2018-02-12T05:04:50Z fourroot: im saving all of these links, thank you. I'll come back soon with a lot of questions :) 2018-02-12T05:04:57Z Kristof_HT joined #lisp 2018-02-12T05:04:59Z beach: Great! 2018-02-12T05:05:15Z stacksmith: fourroot: #lisp and especially #clnoobs are really good places for help. Contrary to popular myth, Smug Lisp Weenies are very generous with help, especially if you do a little homework before asking questions and make an effort to use reasonable terminology. 2018-02-12T05:05:43Z z3t0 joined #lisp 2018-02-12T05:05:48Z fourroot: okay 2018-02-12T05:06:22Z fourroot: i like this group 2018-02-12T05:07:11Z pierpa quit (Quit: Page closed) 2018-02-12T05:07:33Z fourroot: what are your views on HASKELL ? 2018-02-12T05:08:00Z beach: fourroot: We try to avoid having opinions about languages other than the one that is on topic. 2018-02-12T05:08:37Z stacksmith: Or any religious topics, for that matter. 2018-02-12T05:09:01Z beach: fourroot: It is a completely different language, so people who prefer a particular paradigms may like it or not. 2018-02-12T05:09:02Z fourroot: should i start with IDE or normal VIM editor 2018-02-12T05:09:13Z beach: We recommend using SLIME. 2018-02-12T05:09:17Z fikka quit (Ping timeout: 276 seconds) 2018-02-12T05:09:26Z beach: In fact, the best way to get started these days seems to be to use Portacle. 2018-02-12T05:09:26Z orivej quit (Ping timeout: 265 seconds) 2018-02-12T05:10:05Z stacksmith: With portacle you will be up and running in under a minute. 2018-02-12T05:10:21Z beach: Portacle packages up Emacs, SLIME, and SBCL in a convenient way. 2018-02-12T05:10:56Z stacksmith: If you are not used to Emacs, prepare to spend a few days learning your way around. 2018-02-12T05:14:33Z z3t0 quit (Ping timeout: 268 seconds) 2018-02-12T05:15:00Z stacksmith: fourroot: Lisp is fantastic as almost all aspects of Lisp are programmable in Lisp. The way it looks largely has to do with the fact that Lisp programs can be manipulated by Lisp. The parentheses are not just someone's idea of syntax - they are extremely meaningful. 2018-02-12T05:18:48Z alexmlw joined #lisp 2018-02-12T05:19:59Z drmeister: Are there any Javascript programmers online who have time to give me a little off-line advice? I'm running a jupyter notebook kernel written in Common Lisp and I am trying to run some Javascript code within it. 2018-02-12T05:20:06Z z3t0 joined #lisp 2018-02-12T05:21:32Z drmeister: I' 2018-02-12T05:21:34Z drmeister: I 2018-02-12T05:21:37Z drmeister: Grrr 2018-02-12T05:22:01Z Zhivago: I've done a bit with Javascript, but not jupyter. 2018-02-12T05:22:15Z drmeister: I'm evaluating this code in a notebook cell using the HTML function 2018-02-12T05:22:26Z drmeister: https://www.irccloud.com/pastebin/6KPW1weR/ 2018-02-12T05:23:04Z drmeister: My second question will be "how do I get draw() to evaluate once the javascript is loaded from line 2" 2018-02-12T05:23:33Z quazimodo quit (Ping timeout: 256 seconds) 2018-02-12T05:23:44Z drmeister: My first question is, when I evaluate 'draw()' in the Javascript console the message "Logging" shows up in the console (yay) 2018-02-12T05:23:54Z drmeister: But I get the following error - why? 2018-02-12T05:24:20Z drmeister: ReferenceError: Can't find variable: Dracula 2018-02-12T05:24:30Z fikka joined #lisp 2018-02-12T05:24:45Z drmeister: Dracula is supposed to be defined by the code in: https://cdnjs.cloudflare.com/ajax/libs/graphdracula/1.0.3/dracula.min.js 2018-02-12T05:24:55Z Zhivago: Yeah, but it hasn't loaded yet. 2018-02-12T05:25:15Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2018-02-12T05:25:17Z drmeister: Ok - good - why not - and how do I get it to load? 2018-02-12T05:25:27Z smokeink: https://stackoverflow.com/questions/4842590/run-function-when-page-is-loaded 2018-02-12T05:26:04Z drmeister: smokeink: Thanks, but this isn't an HTML page loading - it's displaying html for a single cell. 2018-02-12T05:26:07Z Zhivago: There's an onload event you can catch for the individual script dom element. 2018-02-12T05:26:09Z drmeister: I'll post a picture 2018-02-12T05:26:52Z Zhivago: But that might require restructuring the code, hmm. 2018-02-12T05:26:56Z smokeink: maybe this one? https://stackoverflow.com/questions/16230886/trying-to-fire-the-onload-event-on-script-tag 2018-02-12T05:27:57Z Zhivago: There's also a document level onload which might be suitable. 2018-02-12T05:28:57Z Zhivago: Otherwise follow the trying-to-fire-the-onload-event-on-script-tag and add the script element dynamically, I guess. 2018-02-12T05:29:03Z fikka quit (Ping timeout: 248 seconds) 2018-02-12T05:29:56Z Zhivago: And it's this way so that people can micro-optimize insanely for load-times, if you were wondering -- since those can be crippling. 2018-02-12T05:30:20Z drmeister: https://usercontent.irccloud-cdn.com/file/QzG7BBIM/test.png 2018-02-12T05:31:09Z mjl_ joined #lisp 2018-02-12T05:31:28Z drmeister: If I wait a while -doesn't the script load? 2018-02-12T05:31:59Z smokeink: well, ,it should 2018-02-12T05:33:10Z stacksmith quit (Remote host closed the connection) 2018-02-12T05:36:24Z Zhivago: For the appropriate value of 'a while'. 2018-02-12T05:37:06Z Zhivago: But you can't wait inside the javascript code, since javascript has an algorithmic evaluation model. 2018-02-12T05:39:36Z stacksmith joined #lisp 2018-02-12T05:41:58Z smokeink: https://stackoverflow.com/questions/16149431/make-function-wait-until-element-exists 2018-02-12T05:44:33Z fikka joined #lisp 2018-02-12T05:49:32Z Kevslinger quit (Quit: Connection closed for inactivity) 2018-02-12T06:00:08Z z3t0 quit (Remote host closed the connection) 2018-02-12T06:01:25Z red-dot joined #lisp 2018-02-12T06:10:14Z Oladon quit (Quit: Leaving.) 2018-02-12T06:12:39Z fourroot quit (Read error: Connection reset by peer) 2018-02-12T06:17:57Z wxie quit (Ping timeout: 240 seconds) 2018-02-12T06:18:34Z fikka quit (Ping timeout: 260 seconds) 2018-02-12T06:21:33Z mjl_ quit (Ping timeout: 256 seconds) 2018-02-12T06:23:33Z fikka joined #lisp 2018-02-12T06:32:42Z Karl_Dscc joined #lisp 2018-02-12T06:42:26Z mishoo__ joined #lisp 2018-02-12T06:50:38Z orivej joined #lisp 2018-02-12T06:57:39Z fikka quit (Ping timeout: 260 seconds) 2018-02-12T07:00:01Z dieggsy quit (Remote host closed the connection) 2018-02-12T07:02:07Z wxie joined #lisp 2018-02-12T07:02:12Z dieggsy joined #lisp 2018-02-12T07:03:00Z fikka joined #lisp 2018-02-12T07:07:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-12T07:08:44Z wxie quit (Ping timeout: 260 seconds) 2018-02-12T07:10:16Z wxie joined #lisp 2018-02-12T07:12:45Z Karl_Dscc quit (Remote host closed the connection) 2018-02-12T07:12:58Z fikka joined #lisp 2018-02-12T07:13:18Z vlatkoB joined #lisp 2018-02-12T07:17:59Z dieggsy quit (Ping timeout: 276 seconds) 2018-02-12T07:18:00Z fikka quit (Ping timeout: 265 seconds) 2018-02-12T07:19:09Z AxelAlex joined #lisp 2018-02-12T07:21:08Z Tobbi joined #lisp 2018-02-12T07:23:16Z fikka joined #lisp 2018-02-12T07:24:49Z damke_ joined #lisp 2018-02-12T07:27:35Z fikka quit (Ping timeout: 240 seconds) 2018-02-12T07:27:57Z damke quit (Ping timeout: 264 seconds) 2018-02-12T07:31:29Z flamebeard joined #lisp 2018-02-12T07:31:57Z heisig joined #lisp 2018-02-12T07:33:17Z fikka joined #lisp 2018-02-12T07:34:23Z shrdlu68 joined #lisp 2018-02-12T07:37:43Z pjb quit (Remote host closed the connection) 2018-02-12T07:38:14Z fikka quit (Ping timeout: 268 seconds) 2018-02-12T07:38:24Z pjb joined #lisp 2018-02-12T07:39:39Z scymtym quit (Ping timeout: 260 seconds) 2018-02-12T07:42:04Z wigust joined #lisp 2018-02-12T07:45:34Z madmalik joined #lisp 2018-02-12T07:45:59Z wxie quit (Quit: AtomicIRC: The nuclear option.) 2018-02-12T07:46:15Z JuanDaugherty quit (Ping timeout: 268 seconds) 2018-02-12T07:46:18Z daniel-s joined #lisp 2018-02-12T07:48:01Z wxie joined #lisp 2018-02-12T07:53:24Z fikka joined #lisp 2018-02-12T07:57:50Z asarch joined #lisp 2018-02-12T07:58:00Z fikka quit (Ping timeout: 256 seconds) 2018-02-12T07:58:32Z asarch: From PCL, chapter 8, footnote #1: "As with functions, macros can also contain declarations..." <- What are these "declarations"? 2018-02-12T07:59:10Z pjb: asarch: things that come after the lambda-list. 2018-02-12T07:59:27Z pjb: (defun foo (x) (declare (type integer x)) (+ x 42)) 2018-02-12T07:59:36Z asarch: Thank you! 2018-02-12T07:59:42Z asarch: Thank you very much pjb :-) 2018-02-12T07:59:45Z pjb: (defmacro moo (x) (declare (type symbol x)) `',x) 2018-02-12T08:00:47Z pjb: Those are not good examples, because type declarations are promises you make to the compiler, and there's no way you can ensure you will keep those promises, so it will break. But other declarations may be ok, such as special declarations, inline declaration, or custom declarations. 2018-02-12T08:02:27Z asarch: Ok 2018-02-12T08:02:44Z pjb: asarch: notice I said "things" because declarations are not forms. They're interpreted specially by the defun, defmacro, defmethod, lambda, flet, labels, and locally operators. (I may have missed a few). 2018-02-12T08:03:52Z fikka joined #lisp 2018-02-12T08:06:49Z makomo_ joined #lisp 2018-02-12T08:07:19Z jack_rabbit joined #lisp 2018-02-12T08:07:20Z asarch: Thank you very much once again 2018-02-12T08:07:26Z asarch: Now I can get back to the bed 2018-02-12T08:07:31Z asarch: Have a nice day 2018-02-12T08:07:35Z asarch: See you later :-) 2018-02-12T08:07:48Z asarch: Tchuss! 2018-02-12T08:07:50Z asarch quit (Quit: leaving) 2018-02-12T08:08:47Z fikka quit (Ping timeout: 276 seconds) 2018-02-12T08:09:05Z Chream joined #lisp 2018-02-12T08:12:12Z Murii joined #lisp 2018-02-12T08:13:55Z fikka joined #lisp 2018-02-12T08:14:06Z easye joined #lisp 2018-02-12T08:15:15Z _main_ joined #lisp 2018-02-12T08:18:32Z __main__ quit (Ping timeout: 276 seconds) 2018-02-12T08:18:33Z _main_ is now known as __main__ 2018-02-12T08:18:39Z fikka quit (Ping timeout: 248 seconds) 2018-02-12T08:18:40Z wxie quit (Quit: AtomicIRC: The nuclear option.) 2018-02-12T08:19:46Z __main__ quit (Read error: Connection reset by peer) 2018-02-12T08:20:31Z __main__ joined #lisp 2018-02-12T08:22:58Z solyd joined #lisp 2018-02-12T08:27:02Z wxie joined #lisp 2018-02-12T08:27:41Z rumbler31 joined #lisp 2018-02-12T08:29:13Z solyd_ joined #lisp 2018-02-12T08:29:16Z varjag joined #lisp 2018-02-12T08:29:19Z shka quit (Ping timeout: 248 seconds) 2018-02-12T08:30:12Z fisxoj joined #lisp 2018-02-12T08:32:05Z solyd quit (Ping timeout: 276 seconds) 2018-02-12T08:32:08Z rumbler31 quit (Ping timeout: 256 seconds) 2018-02-12T08:34:02Z ludston quit (Remote host closed the connection) 2018-02-12T08:34:02Z fikka joined #lisp 2018-02-12T08:41:32Z _cosmonaut_ joined #lisp 2018-02-12T08:41:34Z scymtym joined #lisp 2018-02-12T08:45:08Z wxie quit (Quit: AtomicIRC: The nuclear option.) 2018-02-12T08:45:49Z Kristof_HT quit (Remote host closed the connection) 2018-02-12T08:55:10Z CEnnis91 quit 2018-02-12T08:56:24Z mlf quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-12T08:56:46Z CEnnis91 joined #lisp 2018-02-12T08:58:49Z BitPuffin joined #lisp 2018-02-12T09:01:33Z jantar-tobak joined #lisp 2018-02-12T09:05:36Z JuanDaugherty joined #lisp 2018-02-12T09:07:25Z hhdave joined #lisp 2018-02-12T09:08:57Z damke__ joined #lisp 2018-02-12T09:09:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-12T09:15:11Z SuperJen joined #lisp 2018-02-12T09:16:26Z milanj joined #lisp 2018-02-12T09:18:09Z hhdave quit (Ping timeout: 256 seconds) 2018-02-12T09:18:26Z JenElizabeth quit (Ping timeout: 252 seconds) 2018-02-12T09:24:22Z solyd_ quit (Quit: solyd_) 2018-02-12T09:24:41Z mingus joined #lisp 2018-02-12T09:28:06Z cpape quit (Ping timeout: 256 seconds) 2018-02-12T09:29:57Z solyd joined #lisp 2018-02-12T09:30:45Z Cymew joined #lisp 2018-02-12T09:31:32Z SuperJen quit (Remote host closed the connection) 2018-02-12T09:32:11Z SuperJen joined #lisp 2018-02-12T09:33:02Z SuperJen quit (Remote host closed the connection) 2018-02-12T09:33:47Z SuperJen joined #lisp 2018-02-12T09:34:31Z SuperJen quit (Remote host closed the connection) 2018-02-12T09:34:55Z SuperJen joined #lisp 2018-02-12T09:36:02Z SuperJen quit (Remote host closed the connection) 2018-02-12T09:36:19Z SuperJen joined #lisp 2018-02-12T09:36:47Z scymtym quit (Ping timeout: 260 seconds) 2018-02-12T09:37:02Z Kaisyu quit 2018-02-12T09:37:19Z Kaisyu joined #lisp 2018-02-12T09:38:45Z SuperJen quit (Remote host closed the connection) 2018-02-12T09:38:51Z scymtym joined #lisp 2018-02-12T09:38:56Z JenElizabeth joined #lisp 2018-02-12T09:40:04Z JenElizabeth quit (Remote host closed the connection) 2018-02-12T09:41:06Z pagnol joined #lisp 2018-02-12T09:41:39Z JenElizabeth joined #lisp 2018-02-12T09:43:25Z jyc quit 2018-02-12T09:44:16Z jyc joined #lisp 2018-02-12T09:45:58Z hhdave joined #lisp 2018-02-12T09:46:04Z ninegrid joined #lisp 2018-02-12T09:47:06Z drmeister quit 2018-02-12T09:47:37Z angular_mike_ quit 2018-02-12T09:47:46Z drmeister joined #lisp 2018-02-12T09:48:56Z pagnol quit (Quit: Ex-Chat) 2018-02-12T09:50:12Z angular_mike_ joined #lisp 2018-02-12T09:51:15Z damke joined #lisp 2018-02-12T09:51:18Z daniel-s quit (Remote host closed the connection) 2018-02-12T09:53:09Z damke__ quit (Ping timeout: 264 seconds) 2018-02-12T09:53:42Z dddddd joined #lisp 2018-02-12T09:59:06Z ku joined #lisp 2018-02-12T09:59:15Z damke_ joined #lisp 2018-02-12T10:00:26Z scymtym quit (Ping timeout: 255 seconds) 2018-02-12T10:00:31Z scymtym_ joined #lisp 2018-02-12T10:01:31Z JenElizabeth quit (Remote host closed the connection) 2018-02-12T10:01:33Z damke quit (Ping timeout: 264 seconds) 2018-02-12T10:02:27Z k-hos quit (Ping timeout: 260 seconds) 2018-02-12T10:02:35Z damke joined #lisp 2018-02-12T10:04:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-12T10:09:34Z angelo joined #lisp 2018-02-12T10:09:47Z angelo: hi 2018-02-12T10:10:04Z damke_ joined #lisp 2018-02-12T10:10:06Z Cthulhux: . 2018-02-12T10:10:36Z angelo: please help is there anyone using cl-plplot, I need help in using cl-plplot-system:pllegend - I couldn't find any example on the net! Thanks 2018-02-12T10:10:54Z markong joined #lisp 2018-02-12T10:12:57Z damke quit (Ping timeout: 264 seconds) 2018-02-12T10:14:37Z fisxoj quit (Quit: fisxoj) 2018-02-12T10:21:22Z Josh_2 joined #lisp 2018-02-12T10:22:10Z Josh_2: gonna take another crack at figuring out CFFI today. 2018-02-12T10:22:22Z beach: Sorry to hear that. 2018-02-12T10:22:36Z nika quit 2018-02-12T10:22:57Z JuanDaugherty: in sbcl? 2018-02-12T10:23:37Z beach: Isn't CFFI a compatibility package that works in several implementations? 2018-02-12T10:24:22Z JuanDaugherty: yes but I would assume it's different in each 2018-02-12T10:24:31Z JuanDaugherty: on the lisp side 2018-02-12T10:24:38Z porky11 joined #lisp 2018-02-12T10:24:40Z JuanDaugherty: it isn't? 2018-02-12T10:24:52Z beach: Hmm, really? It seems that would defeat the purpose. But what do I know. 2018-02-12T10:25:10Z jackdaniel: JuanDaugherty: it isn't 2018-02-12T10:25:24Z jackdaniel: API is the same for each implementation 2018-02-12T10:25:27Z JuanDaugherty: ah, good to know 2018-02-12T10:25:54Z JuanDaugherty: if true 2018-02-12T10:25:58Z jackdaniel: that's why it was written, as beach said - why bother writing compability layer otherwise? 2018-02-12T10:26:14Z JuanDaugherty: then FFI'ed things should be portable on their cl sides 2018-02-12T10:26:32Z jackdaniel: each implementation has its own ffi primitives, so if you already need to know them, why writing yet another ffi abstraciton layer 2018-02-12T10:26:34Z JuanDaugherty: if true in fact as well as formally 2018-02-12T10:27:03Z dddddd quit (Remote host closed the connection) 2018-02-12T10:28:12Z JuanDaugherty: sbcl is the only cl I want to use anyway though so ... . 2018-02-12T10:28:26Z rumbler31 joined #lisp 2018-02-12T10:28:44Z beach: That's a strange attitude. 2018-02-12T10:29:05Z JuanDaugherty: really why do you think so? 2018-02-12T10:29:37Z beach: Because if you write software for others to use (which is why we are on freenode), then it would be advantageous for your users to be able to choose. 2018-02-12T10:29:59Z jackdaniel: JuanDaugherty: also mixing medium with the information isn't good for your program 2018-02-12T10:30:02Z JuanDaugherty: that's not why I am on freenode 2018-02-12T10:30:09Z jackdaniel: sbcl is a medium, your program is the information 2018-02-12T10:30:23Z Chream quit (Ping timeout: 248 seconds) 2018-02-12T10:30:43Z JuanDaugherty: ah, well I assume cl carries the implementation independence 2018-02-12T10:31:04Z beach: So why are you on freenode? 2018-02-12T10:31:19Z JuanDaugherty: to gather information, interact 2018-02-12T10:31:56Z JuanDaugherty: also share information, ofc 2018-02-12T10:32:03Z beach: So you are saying that you write Common Lisp code, but you don't share it? 2018-02-12T10:32:13Z JuanDaugherty: not quite 2018-02-12T10:32:27Z devlaf quit 2018-02-12T10:32:41Z JuanDaugherty: i'm saying that I would only be doing end use, image level apps and not reusable libs 2018-02-12T10:32:45Z devlaf joined #lisp 2018-02-12T10:32:57Z JuanDaugherty: and for a living 2018-02-12T10:33:05Z rumbler31 quit (Ping timeout: 248 seconds) 2018-02-12T10:33:28Z JuanDaugherty: but the sources would be made available free to peers 2018-02-12T10:33:46Z beach: I don't see how there is a difference between an application and a library when it comes to making it work on several implementations. 2018-02-12T10:34:51Z milanj quit (Quit: This computer has gone to sleep) 2018-02-12T10:35:22Z python476 joined #lisp 2018-02-12T10:36:01Z shrdlu68: Is there a pre-existing solution to the problem of finding the longest repeating subsequence in a sequence? 2018-02-12T10:37:08Z JuanDaugherty: prolly, saw your twitter page btw yesterday 2018-02-12T10:37:24Z JuanDaugherty: (if ur etaion) 2018-02-12T10:37:37Z shrdlu68: Nope. 2018-02-12T10:37:52Z JuanDaugherty: oh, there's another shrdlu then 2018-02-12T10:38:11Z beach: Not surprising. 2018-02-12T10:38:25Z JuanDaugherty: nope 2018-02-12T10:39:57Z trocado joined #lisp 2018-02-12T10:40:31Z milanj joined #lisp 2018-02-12T10:49:06Z scymtym__ joined #lisp 2018-02-12T10:51:13Z scymtym_ quit (Ping timeout: 248 seconds) 2018-02-12T10:52:09Z Josh_2: CFFI works on most implementations but some features are not available on some 2018-02-12T10:52:47Z mgsk: Any idea what's up with http://www.sbcl.org/manual/Statistical-Profiler.html 2018-02-12T10:52:48Z jackdaniel: could you name an example? 2018-02-12T10:53:00Z jackdaniel: Josh_2: ↑ 2018-02-12T10:53:29Z jackdaniel: mgsk: this is the address now: http://www.sbcl.org/manual/#Statistical-Profiler 2018-02-12T10:53:32Z Josh_2: https://common-lisp.net/project/cffi/manual/html_node/Implementation-Support.html#Implementation-Support 2018-02-12T10:54:01Z jackdaniel: uhm, thanks 2018-02-12T10:54:18Z mgsk: jackdaniel: cheers 2018-02-12T10:57:07Z beach: I think I have decided that computing indentation of sub-forms of compound forms Common Lisp programs can not be based on the symbol of the operator in the compound form, simply because it is useful to be able to edit code before it is compiled. 2018-02-12T10:57:17Z beach: So I think I need to use a hash table with the pair ( . ) instead. Now here is a problem. I also need for client code to supply new indentation functions, specific to that client. 2018-02-12T10:57:19Z beach: In a solution with symbols, I could have a generic function with EQL specializers on the symbol and class specializers on the client instance. But what is the best way of allowing some default indent function at the same time as making it possible for client code to override it and/or supply additional indent functions? 2018-02-12T10:58:48Z beach: I guess I could add the client to the key and then search the client class hierarchy explicitly. 2018-02-12T10:59:07Z Josh_2: beach: what are you doing? 2018-02-12T10:59:11Z Josh_2: Or making 2018-02-12T10:59:44Z beach: I am writing an editor for Common Lisp code, and I want to compute indentation at after each keystroke. 2018-02-12T10:59:47Z m00natic joined #lisp 2018-02-12T11:00:42Z Josh_2: Wouldn't that be slow if you have lots of SLOC? 2018-02-12T11:00:47Z beach: But the important aspect here is how to handle the CLIENT class hierarchy so that I can have default indent functions and client-specific ones. 2018-02-12T11:01:06Z beach: Josh_2: No, I have taken care of that part. 2018-02-12T11:01:31Z Josh_2: 1 million threads and a 7th gen Xeon 2018-02-12T11:01:44Z beach: Smart algorithms and data structures. 2018-02-12T11:02:20Z beach: Plus, Common Lisp code files are usually not that big, at least not compared to the power of today's processors. 2018-02-12T11:02:32Z fikka quit (Ping timeout: 255 seconds) 2018-02-12T11:02:46Z damke joined #lisp 2018-02-12T11:03:05Z Josh_2: Do you check incrementally because the previous code should have already been checked? Like only checking the current (defun .. etc 2018-02-12T11:03:33Z beach: Yes, I only check top-level forms that have been modified between keystrokes. 2018-02-12T11:03:43Z beach: ... roughly speaking at least. 2018-02-12T11:04:43Z scymtym__: beach: maybe provide something like (intern-token PACKAGE-NAME SYMBOL-NAME) => TOKEN-OBJECT. clients can then do (defvar *do-foo-token* (intern-token "MY-DO-FOO-PACKAGE" "DO-FOO")) (defmethod compute-indentation ((operator (eql *do-foo-token*) …)) …) and the automatic indentation would call (when-let ((token (intern-token package-name-string symbol-name-string))) (compute-indentation token)) 2018-02-12T11:05:28Z scymtym__: well, the second call would be FIND-TOKEN instead of INTERN-TOKEN 2018-02-12T11:05:40Z beach: That's not a bad idea. Thanks! 2018-02-12T11:05:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-12T11:05:58Z beach: I will contemplate it over lunch. :) 2018-02-12T11:08:06Z fikka joined #lisp 2018-02-12T11:09:17Z igemnace quit (Quit: WeeChat 2.0.1) 2018-02-12T11:12:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-12T11:14:30Z shrdlu68: Running (gc) then (gc :full t) after running a memory-greedy function works. 2018-02-12T11:14:48Z shrdlu68: But just (gc :full t) exhausts heap. 2018-02-12T11:18:10Z fikka joined #lisp 2018-02-12T11:20:46Z flip214: shrdlu68: because the GC tries to copy objects that are still alive around, and with just a :full T there are too many. 2018-02-12T11:22:48Z fikka quit (Ping timeout: 240 seconds) 2018-02-12T11:24:08Z trocado quit (Ping timeout: 255 seconds) 2018-02-12T11:27:33Z nirved joined #lisp 2018-02-12T11:28:17Z fikka joined #lisp 2018-02-12T11:35:31Z Chream joined #lisp 2018-02-12T11:46:58Z ludston joined #lisp 2018-02-12T11:47:11Z damke_ joined #lisp 2018-02-12T11:47:19Z shifty joined #lisp 2018-02-12T11:47:23Z fittestbits1 left #lisp 2018-02-12T11:49:42Z damke quit (Read error: Connection reset by peer) 2018-02-12T11:53:04Z Kundry_Wag joined #lisp 2018-02-12T11:56:13Z cpape joined #lisp 2018-02-12T11:58:50Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-12T11:59:53Z shrdlu68: I'm using bit vectors as the keys in a large hash-table. All the bit vectors are displaced to a source bit vector, which is around 140kb, but I'm still exhausting the heap. 2018-02-12T12:01:20Z shrdlu68: with --dynamic-space-size 6000 2018-02-12T12:06:53Z _cosmonaut_ quit (Ping timeout: 255 seconds) 2018-02-12T12:07:01Z Chream quit (Ping timeout: 256 seconds) 2018-02-12T12:09:57Z |3b|: how large is the hash table? 2018-02-12T12:10:25Z Josh_2 quit (Ping timeout: 265 seconds) 2018-02-12T12:11:23Z fittestbits joined #lisp 2018-02-12T12:11:25Z |3b|: and what does (ROOM) say about what is taking up most of your heap? 2018-02-12T12:12:19Z ludston: How do you know that you are exhausting the heap? 2018-02-12T12:14:14Z pjb: shrdlu68: what's the size of your bit vectors? 2018-02-12T12:14:53Z shrdlu68: I'll take a closer look at the output of (room), I've momentarily switched to ccl to compare the performance. 2018-02-12T12:15:19Z shrdlu68: ludston: SBCL tells me so, very clearly. 2018-02-12T12:15:33Z shrdlu68: pjb: 0-300 2018-02-12T12:15:39Z pjb: Well, bad. 2018-02-12T12:16:06Z shrdlu68: * 1-300 2018-02-12T12:16:07Z |3b|: looks like displaced arrays take up about 80 bytes each on 64bit sbcl, "array-header objects" in ROOM output 2018-02-12T12:16:30Z pjb: A displaced bit vector on a 64-bit architecture will require a pointer to the original vector, a start offset, a length THat's 192 bits already. And probably more, like type tag or even type. 2018-02-12T12:16:33Z dcluna quit (Ping timeout: 264 seconds) 2018-02-12T12:16:50Z ludston: shrdlu68: Programming languages can lie to you :(. e.g. C# will throw an out of memory exception if you allocate an array of over 32 bits length (even if there is heap-space to spare) 2018-02-12T12:16:56Z pjb: So you would use less space by copying your bits. 2018-02-12T12:17:04Z |3b|: pjb: still a lot smaller than 140k, so back to defining 'large' :) 2018-02-12T12:17:09Z pjb: Also it would be faster. 2018-02-12T12:17:23Z |3b|: never mind, misread :/ 2018-02-12T12:17:42Z |3b|: yeah, probably smaller to copy most of them 2018-02-12T12:17:56Z pjb: shrdlu68: and also, using integers would probably be faster and use even less memory. 2018-02-12T12:18:27Z pjb: and play much nicer with hash-tables. 2018-02-12T12:18:41Z |3b|: depends on whether you want to modify them in both cases though 2018-02-12T12:18:51Z dcluna joined #lisp 2018-02-12T12:19:11Z shrdlu68: I have to operate on bit-strings, unfortunately. I'm implementing dynamic markov compression. 2018-02-12T12:19:34Z pjb: dpb and ldb work nicely too. 2018-02-12T12:20:37Z shrdlu68: Hmm, so represent the bit vector as a sequence of uint64? 2018-02-12T12:20:50Z pjb: no as a bigint. 2018-02-12T12:21:25Z shrdlu68: That would be an extremely large bignum. 2018-02-12T12:21:28Z pjb: Check how your implementation computes the hash of a vector (even bit-vector), it's probably horribly complicated, and with a lot of collisions. 2018-02-12T12:21:39Z pjb: shrdlu68: nope, a 300-bit bignum is nothing. 2018-02-12T12:21:44Z |3b|: shrdlu68: large numerical value, but same # of bits 2018-02-12T12:21:50Z pjb: 5 words. 2018-02-12T12:21:55Z |3b|: (and probably fewer bits of overhead) 2018-02-12T12:22:57Z shrdlu68: On SBCL, the hash-table is surprisingly efficient with bit-vectors as keys. 2018-02-12T12:23:21Z |3b|: hash table size won't depend on key type 2018-02-12T12:23:22Z shrdlu68: Much less so on ccl. Hasn't finished running, think I'll have to kill it. 2018-02-12T12:23:31Z _cosmonaut_ joined #lisp 2018-02-12T12:23:41Z |3b|: performance will depend on hash test 2018-02-12T12:23:58Z smasta quit (Ping timeout: 252 seconds) 2018-02-12T12:24:04Z pjb: shrdlu68: nice. 2018-02-12T12:24:05Z |3b|: so EQ/EQL might be faster for bitvectors 2018-02-12T12:24:47Z Kundry_Wag joined #lisp 2018-02-12T12:24:50Z ludston: You could always use a tree? (with each bit pointing at either nil or another bit/a pair of bits/or an address) 2018-02-12T12:24:56Z pjb: shrdlu68: also, depending on the bits in your vectors, your application, I would suspect that using your own data structure would be more efficient. 2018-02-12T12:25:43Z ludston: Actually don't do that. That would explode :P 2018-02-12T12:26:23Z shrdlu68: So if I used bignums instead, the bottleneck would shift from hash test to bit-vector->integer conversion 2018-02-12T12:26:41Z |3b|: what hash test are you using? 2018-02-12T12:26:47Z shrdlu68: #'equal 2018-02-12T12:27:06Z |3b| expects that would be comparable for bignums or bitvectors 2018-02-12T12:27:36Z attila_lendvai joined #lisp 2018-02-12T12:27:36Z attila_lendvai quit (Changing host) 2018-02-12T12:27:36Z attila_lendvai joined #lisp 2018-02-12T12:27:37Z Kundry_Wag quit (Remote host closed the connection) 2018-02-12T12:28:25Z Kundry_W_ joined #lisp 2018-02-12T12:29:13Z rumbler31 joined #lisp 2018-02-12T12:30:36Z shrdlu68: I like how statistical modelling is separated from coding when using arithmetic coding. I think I'll release this code as an "extensible" arithmetic coder. 2018-02-12T12:31:10Z shrdlu68: Where modelling is simply a function tha returns the odd of the next bit being 0, given a bit vector of thus-far-seen bits. 2018-02-12T12:31:21Z shrdlu68: *the odds of 2018-02-12T12:33:40Z |3b|: one problem with bignums is distinguishing something like #*0 from #*00, if that matters 2018-02-12T12:33:58Z shrdlu68: It does! 2018-02-12T12:33:58Z rumbler31 quit (Ping timeout: 256 seconds) 2018-02-12T12:34:24Z shrdlu68: Gee, I hadn't thought of that. 2018-02-12T12:34:50Z nowhereman_ joined #lisp 2018-02-12T12:34:52Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-12T12:35:46Z EvW1 joined #lisp 2018-02-12T12:37:33Z attila_lendvai joined #lisp 2018-02-12T12:37:33Z attila_lendvai quit (Changing host) 2018-02-12T12:37:33Z attila_lendvai joined #lisp 2018-02-12T12:38:56Z nowhere_man quit (Ping timeout: 265 seconds) 2018-02-12T12:43:48Z flip214: re ELS2018 -- are there any recommended accomodations? 2018-02-12T12:43:48Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-12T12:45:16Z attila_lendvai joined #lisp 2018-02-12T12:50:05Z attila_lendvai quit (Client Quit) 2018-02-12T12:52:18Z attila_lendvai joined #lisp 2018-02-12T12:53:46Z attila_lendvai quit (Client Quit) 2018-02-12T12:56:38Z Kevslinger joined #lisp 2018-02-12T13:00:12Z ludston: shrdlu68: This article seems pretty relevant to what you are doing https://lisp-univ-etc.blogspot.com.au/2018/01/minimal-perfect-hash-tables-in-common.html 2018-02-12T13:06:38Z shrdlu68: ludston: "the table should be filled with a keyset known ahead-of-time" - that constraint makes such hash-tables inapplicable in my case. 2018-02-12T13:06:46Z shrdlu68: Fascinating article though. 2018-02-12T13:08:39Z antgreen quit (Ping timeout: 260 seconds) 2018-02-12T13:09:23Z pjb: shrdlu68: I'd tend to believe that in your case, using a tree or some other custom data structure would be better than a hash-table. 2018-02-12T13:09:37Z gabiruh_ quit (Quit: ZNC - 1.6.0 - http://znc.in) 2018-02-12T13:10:21Z porky11 quit (Ping timeout: 265 seconds) 2018-02-12T13:11:53Z ludston: Are bit vectors pass-by-value in SBCL? 2018-02-12T13:12:08Z beach: Everything is pass by value in every Common Lisp implementation. 2018-02-12T13:12:14Z beach: But, the values are references. 2018-02-12T13:12:51Z ludston: beach: The alternative to pass-by-value is pass-by-reference 2018-02-12T13:13:47Z ludston: beach: either the entire bit-vector is copied each time it is passed as a parameter to a function, or a reference is passed to a memory address in the heap 2018-02-12T13:13:52Z beach: ludston: (defun f (bit-vector) (setf bit-vector (make...))) then (defparameter *bv* (make...)) and (f *bv*) 2018-02-12T13:14:14Z beach: ludston: *bv* is not altered by F, so it is pass by value. 2018-02-12T13:14:31Z rumbler31 joined #lisp 2018-02-12T13:14:47Z beach: But if you modify OBJECT as opposed to the binding, then the value of *bv* is modified. 2018-02-12T13:15:08Z beach: ludston: There is never any implicit object copying in Common Lisp. 2018-02-12T13:15:17Z beach: ludston: That does not mean it is pass by reference. 2018-02-12T13:15:45Z beach: What I described when the value of the variable *bv* is altered by F is pass by reference. Common Lisp does not do that. 2018-02-12T13:16:21Z pjb: ludston: there are other way to pass arguments. pass-by-name for example. 2018-02-12T13:16:35Z beach: ludston: If you know Pascal, it is what you get when you declare your parameter VAR. 2018-02-12T13:17:40Z Xach: It is a system that quickly becomes second nature and not something you think about. 2018-02-12T13:18:30Z raynold quit (Quit: Connection closed for inactivity) 2018-02-12T13:19:24Z shrdlu68 quit (Remote host closed the connection) 2018-02-12T13:19:33Z xrash joined #lisp 2018-02-12T13:19:59Z shrdlu68 joined #lisp 2018-02-12T13:20:00Z ludston: beach: That is lexical scoping, yeah, i.e. modifying the the value of bit-vector does not modify *bv* 2018-02-12T13:20:13Z beach: No, that's call by value. 2018-02-12T13:20:56Z beach: ludston: https://en.wikipedia.org/wiki/Evaluation_strategy#Call_by_reference 2018-02-12T13:20:57Z Xach: The way I tend to think of it is that objects with "internal" state that can be changed (conses, arrays, structs, instances, etc) will be changed if you modify them in a function. 2018-02-12T13:21:37Z Xach: Also keeping in mind that extending a list from the front with a fresh cons doesn't modify an existing cons's state 2018-02-12T13:21:57Z beach: "mutated" is better than "changed" I think. 2018-02-12T13:21:58Z olaf` joined #lisp 2018-02-12T13:21:59Z ludston: beach: Ok we are on the same page. 2018-02-12T13:22:15Z beach: ludston: Sure, you just need to get your terminology right. 2018-02-12T13:22:16Z Xach: But however you think of it, it certainly isn't something CL hackers spend much time thinking about in practice. 2018-02-12T13:22:27Z Xach: It is automatic 2018-02-12T13:22:34Z ludston: beach: Absolutely, and I'm happy to be corrected on it 2018-02-12T13:22:50Z beach: ludston: Let me summarize: how things are passed is not specific to SBCL. It is in the Common Lisp standard. The way Common Lisp does it is best described as call-by-value where the values are references. 2018-02-12T13:22:51Z beach: It is call-by-value, because arguments are evaluated before they are passed to the function being called. It is not call-by-reference because then a function would be able to alter the value of a variable in the caller by affecting the parameter. 2018-02-12T13:23:16Z ludston: beach: But what I am really asking, is whether or not it is if bit-vector is a value type or a reference type 2018-02-12T13:23:30Z ludston: beach: And you have said that it is a reference type 2018-02-12T13:23:35Z Xach: that is not terminology you ever think about in common lisp. 2018-02-12T13:23:36Z beach: ludston: Like I said, all Common Lisp values are references. 2018-02-12T13:23:48Z beach: ludston: At least semantically. 2018-02-12T13:24:06Z ludston: Xach: It is only terminology not to be thought about in common lisp because common lisp doesn't seem to have value types 2018-02-12T13:24:47Z beach: ludston: No Common Lisp object is ever implicitly copied, unless the programmer is unable to verify that fact, simply because the object is not mutable. 2018-02-12T13:25:01Z ludston: Which is fine. 2018-02-12T13:25:29Z pjb: ludston: only numbers and characters can be implemented as values that can be copied (since they're immutable). But also, since they're immutable, it doesn't make any semantic difference if a reference to them is copied or if their value is copied. 2018-02-12T13:26:04Z pjb: ludston: and you cannot even test it with EQ, since if a copy is made, EQ may or may not return T, at the implementation will. 2018-02-12T13:26:31Z beach: ludston: And as Xach pointed out (perhaps not in so many words), this is the only sane semantics for function calls, which is also why most other languages get it wrong. 2018-02-12T13:27:01Z Zhivago: And why you should consider EQL to be the identity test. :) 2018-02-12T13:27:45Z rumbler31 quit (Remote host closed the connection) 2018-02-12T13:28:18Z ludston: I see that. It doesn't make sense for the programmer to opt in to 'value' types in order to avoid allocating things that will be garbage collected 2018-02-12T13:28:26Z beach: ludston: Many newbies ask why this function doesn't "work": (defun maybe-push (element list) (when ... (push element list))) because they expect a list that is passed to maybe-push to be altered. 2018-02-12T13:29:21Z ludston: Yes, but push is only affecting 'element' 2018-02-12T13:29:48Z ludston: *list 2018-02-12T13:30:06Z beach: Because it is call-by-value. 2018-02-12T13:30:14Z nika joined #lisp 2018-02-12T13:30:22Z beach: ludston: That's the wrong way to view it. If you could do what you call a "value type", you would make a copy for each call. In Common Lisp no such copy is made unless you explicitly make one. 2018-02-12T13:31:08Z ludston: beach: I'm not being clear. I do understand that the value of 'list 2018-02-12T13:31:14Z beach: ludston: And that is why Common Lisp is much faster with assignments and parameter passing than you would get in, say, C++ if you pass any non-trivial object by value. 2018-02-12T13:31:40Z ludston: is being overriden by a new cons cell, of which the cdr refers to the previous value of 'list' 2018-02-12T13:31:50Z _cosmonaut_ quit (Ping timeout: 276 seconds) 2018-02-12T13:31:58Z ludston: (without affecting the original list) 2018-02-12T13:32:08Z pjb: Well, C++ is the most ridiculous programming language, doing everything wrong… 2018-02-12T13:32:43Z Zhivago: Hmm, I'm not sure that I'd make that claim. I'd expect C++ to be about on par, providing passing a reference or pointer -- otherwise the semantics wouldn't be comparable. 2018-02-12T13:32:46Z beach: pjb: Well, they kind of had no choice, given the initial requirement to avoid automatic memory management. Everything else follows. 2018-02-12T13:33:02Z EvW1 quit (Ping timeout: 260 seconds) 2018-02-12T13:33:08Z Zhivago: Using const & for parameters pretty much makes that issue disappear. 2018-02-12T13:33:37Z beach: Zhivago: But ludston specifically wanted things to "avoid GC" by not using references. 2018-02-12T13:33:55Z ludston: In theory, lisp ought to be able to avoid allocating objects on the heap in many circumstances, but I have no idea if any lisp implementations do this 2018-02-12T13:33:56Z Zhivago: If I were to complain about C++ it would be on the other end of the problem with the 26 different kinds of move semantics required to make returning stuff efficient. 2018-02-12T13:34:38Z beach: ludston: SBCL does a pretty good job if you use the DYNAMIC-EXTENT declaration. 2018-02-12T13:34:50Z Zhivago: Well, the key to avoiding GC is to use linear references. 2018-02-12T13:35:09Z pfdietz: You scooped what I was about to say, Zhivago. 2018-02-12T13:35:13Z Zhivago: And that's an area where CL doesn't do very well. 2018-02-12T13:35:15Z beach: ludston: In fact, it does too good a job, as I recall, because it believes the declaration even when it is false. 2018-02-12T13:35:52Z ludston: beach: Serves you right for lying to the interpreter 2018-02-12T13:36:01Z beach: The compiler, yes. 2018-02-12T13:36:15Z pfdietz: If you lie to the compiler, it will have its revenge. 2018-02-12T13:36:32Z beach: ludston: SBCL compiles by default. 2018-02-12T13:37:47Z beach: ludston: I am sorry, but I have to correct some more terminology. Many people avoid interactive (or dynamic) languages such as Common Lisp, because they think it is implemented as an interpreter, and therefore think the generated code must be slow. 2018-02-12T13:38:12Z beach: ludston: But a modern Common Lisp implementation would compile on the fly, generating native code before executing it. 2018-02-12T13:38:24Z pfdietz: About the only important user-visible difference is whether dynamic variable bindings are visible at macroexpansion time. 2018-02-12T13:38:24Z Zhivago: Heh, with Javascript clocking 25% of C speed, last I looked, that's a harder claim to make. 2018-02-12T13:38:26Z ludston: beach: I don't mind it at all. I am thankful to be corrected to be honest. I am not so egoic about what I know about lisp 2018-02-12T13:38:47Z jstypo quit (Read error: Connection reset by peer) 2018-02-12T13:39:19Z pfdietz: (let ((*foo* 'bar)) (declare (special *foo*)) (macro-that-refences-*foo*)) 2018-02-12T13:39:25Z beach: ludston: So to avoid putting off ignorant programmers by making them think that all dynamic languages must be implemented as an interpreter, it is best to use some neutral language like "the evaluator" or "the REPL". 2018-02-12T13:39:57Z fikka quit (Ping timeout: 256 seconds) 2018-02-12T13:40:35Z ludston: beach: Ok, haha, I will use "the evaluator" in the future when describing lisp code being evaluated 2018-02-12T13:41:20Z beach: ludston: Good. It may sound silly, but that's unfortunately the level of knowledge of many professional programmers, so you have to be careful with what you tell them. 2018-02-12T13:41:56Z EvW joined #lisp 2018-02-12T13:42:02Z ludston: The eternal pain of using more and more precise language is needing to explain why your choice of wording matters in comparison to different words that the person you are talking to is unfamaliar with anyway 2018-02-12T13:42:10Z ludston: Haha 2018-02-12T13:42:55Z beach: I see your point. But explaining things is part of my job. Perhaps you guessed. 2018-02-12T13:44:30Z ludston: beach: I am familiar with this problem, certainly. It is a vertically integrated problem. (e.g. "You ought to use snapshot protection, and no that word was 'snapshot' and not 'transactioned' because blah blah blah) 2018-02-12T13:45:14Z beach: I see, yes. 2018-02-12T13:45:38Z _cosmonaut_ joined #lisp 2018-02-12T13:45:39Z flip214: correct terminology matters _a_lot_ ... even more if the recipients don't even know the differences in meaning 2018-02-12T13:45:43Z fikka joined #lisp 2018-02-12T13:46:11Z beach: Well said. 2018-02-12T13:47:52Z ludston: Since it's 1am, I am off to bed. Thanks for your time and wisdom :). 2018-02-12T13:47:59Z Zhivago: 'differences in meaning [yet]' :) 2018-02-12T13:48:10Z LiamH joined #lisp 2018-02-12T13:48:10Z jackdaniel: sleep well \o 2018-02-12T13:51:14Z fikka quit (Ping timeout: 276 seconds) 2018-02-12T13:54:16Z asedeno quit 2018-02-12T13:54:21Z orivej quit (Ping timeout: 264 seconds) 2018-02-12T13:54:39Z asedeno joined #lisp 2018-02-12T13:54:45Z Bike joined #lisp 2018-02-12T13:55:52Z fikka joined #lisp 2018-02-12T13:56:39Z olaf` left #lisp 2018-02-12T13:59:03Z _cosmonaut_ quit (Remote host closed the connection) 2018-02-12T14:01:02Z fikka quit (Ping timeout: 260 seconds) 2018-02-12T14:02:01Z l1x quit 2018-02-12T14:02:37Z l1x joined #lisp 2018-02-12T14:05:10Z ludston quit (Quit: Leaving) 2018-02-12T14:07:20Z ludston joined #lisp 2018-02-12T14:08:35Z shrdlu68 quit (Ping timeout: 268 seconds) 2018-02-12T14:09:13Z shrdlu68 joined #lisp 2018-02-12T14:10:39Z MrMc joined #lisp 2018-02-12T14:11:06Z _cosmonaut_ joined #lisp 2018-02-12T14:15:17Z shifty quit (Ping timeout: 276 seconds) 2018-02-12T14:15:56Z fikka joined #lisp 2018-02-12T14:16:14Z beach: scymtym__: I'll go with that idea. There is a minor problem (that I think I have a solution to) which is that the generic function might accumulate "garbage" methods that can no longer be called. But I think I can solve it by using a subclass of standard-generic-function and use a :BEFORE method on ADD-METHOD (or is it ADD-DIRECT-METHOD?) that cleans up garbage methods. 2018-02-12T14:17:13Z wxie joined #lisp 2018-02-12T14:18:11Z wxie quit (Client Quit) 2018-02-12T14:19:14Z wxie joined #lisp 2018-02-12T14:20:26Z rumbler31 joined #lisp 2018-02-12T14:20:40Z Murii quit (Remote host closed the connection) 2018-02-12T14:22:43Z fisxoj joined #lisp 2018-02-12T14:28:18Z rumbler3_ joined #lisp 2018-02-12T14:28:32Z kobain joined #lisp 2018-02-12T14:29:09Z kilimanjaro quit 2018-02-12T14:29:26Z kilimanjaro joined #lisp 2018-02-12T14:30:06Z fisxoj quit (Quit: fisxoj) 2018-02-12T14:31:32Z zkat quit 2018-02-12T14:31:50Z zkat joined #lisp 2018-02-12T14:33:05Z rumbler3_ quit (Ping timeout: 240 seconds) 2018-02-12T14:33:41Z mnoonan joined #lisp 2018-02-12T14:34:04Z moei joined #lisp 2018-02-12T14:34:21Z banjiewen quit 2018-02-12T14:34:39Z igemnace joined #lisp 2018-02-12T14:34:49Z banjiewen joined #lisp 2018-02-12T14:41:03Z Cymew quit (Read error: Connection reset by peer) 2018-02-12T14:41:18Z Cymew joined #lisp 2018-02-12T14:42:41Z wxie quit (Ping timeout: 276 seconds) 2018-02-12T14:42:52Z Chream joined #lisp 2018-02-12T14:43:09Z dieggsy joined #lisp 2018-02-12T14:44:14Z warweasle joined #lisp 2018-02-12T14:48:46Z ckonstanski quit (Remote host closed the connection) 2018-02-12T14:50:01Z rumbler3_ joined #lisp 2018-02-12T14:51:20Z Cymew quit (Read error: Connection reset by peer) 2018-02-12T14:51:45Z Cymew joined #lisp 2018-02-12T14:52:07Z rumbler3_ quit (Remote host closed the connection) 2018-02-12T14:52:25Z rumbler3_ joined #lisp 2018-02-12T14:52:54Z rumbler3_ quit (Remote host closed the connection) 2018-02-12T14:54:39Z rippa joined #lisp 2018-02-12T14:55:05Z flip214: Zhivago: there's hope, at least for some, right. 2018-02-12T14:55:12Z Xach: Hmm, I think either my broken understanding of ptys matches linux's broken behavior (on sbcl), or something related pty stuff is really broken on macos. 2018-02-12T14:55:24Z m00natic quit (Ping timeout: 260 seconds) 2018-02-12T14:55:35Z AxelAlex quit (Quit: AxelAlex) 2018-02-12T14:57:45Z flip214: beach: scymtym__: the (EQL *token*) is taken at _compile_ time though, so re-registering should better return the same token! 2018-02-12T14:58:06Z flip214: you will already know that, I guess - but I got bitten by exactly that, so I'm mentioning it. 2018-02-12T14:58:16Z orivej joined #lisp 2018-02-12T14:59:13Z fikka quit (Ping timeout: 248 seconds) 2018-02-12T15:00:20Z Murii joined #lisp 2018-02-12T15:02:56Z fikka joined #lisp 2018-02-12T15:04:57Z ym: Is there a modern alternative to PaiLisp? 2018-02-12T15:05:23Z ym: Maybe in form of extension to sbcl? 2018-02-12T15:06:05Z nika quit (Quit: Leaving...) 2018-02-12T15:06:26Z ym: I can see lparallel only. 2018-02-12T15:07:54Z beach: flip214: I promise to be careful. :) 2018-02-12T15:09:42Z safe joined #lisp 2018-02-12T15:09:52Z Xach: ym: what is PaiLisp? 2018-02-12T15:10:55Z ym: Lisp made for parallel computing. 2018-02-12T15:12:07Z jackdaniel: is there something wrong with lparallel? 2018-02-12T15:12:33Z jackdaniel: (btw check out also lfarm, library with similar API for them same author for distributed computing) 2018-02-12T15:12:47Z fikka quit (Ping timeout: 260 seconds) 2018-02-12T15:13:49Z ym: I'm not sure how it works and how it corresponds to SBCL's SIMD-pack, which I like very much. 2018-02-12T15:14:19Z dddddd joined #lisp 2018-02-12T15:15:21Z pjb quit (Ping timeout: 256 seconds) 2018-02-12T15:19:04Z KZiemian joined #lisp 2018-02-12T15:19:06Z heisig: ym: lparallel is pretty amazing. What application do you have in mind? 2018-02-12T15:19:20Z KZiemian: CLUS news and advertisement 2018-02-12T15:19:27Z KZiemian: GitHub reviewers needed. My thread of CLUS project is working now on reading source code of CCLDoc, trying to understand it and producing appropriate documentation. 2018-02-12T15:19:33Z KZiemian: I will push my attempts to make this documentation to GitHub repository. CCLDoc community should check if my understanding of code is correct (I know that I don't get it now, is just to big for understand at once). 2018-02-12T15:19:40Z KZiemian: In mean time reviewers are needed to check if English of it is correct and most important, if this documentation is understand for someone outside CCLDoc project. If not I must changed it. 2018-02-12T15:21:35Z orivej quit (Ping timeout: 248 seconds) 2018-02-12T15:22:31Z KZiemian: There is already first humble pull requesthttps://github.com/Clozure/ccldoc/pulls 2018-02-12T15:22:43Z nowhere_man joined #lisp 2018-02-12T15:22:47Z nowhereman_ quit (Ping timeout: 265 seconds) 2018-02-12T15:23:02Z Fourroot joined #lisp 2018-02-12T15:23:14Z Fourroot: lisp has terrible syntax 2018-02-12T15:23:24Z dlowe: no one is making you use it 2018-02-12T15:23:33Z dlowe: *no one here is making you use it 2018-02-12T15:23:33Z pjb joined #lisp 2018-02-12T15:23:42Z Shinmera: Fourroot: If you want to troll you'll have to try harder than that. 2018-02-12T15:23:49Z Fourroot: Shinmera nooo 2018-02-12T15:23:53Z Fourroot: im not here for trolling 2018-02-12T15:23:58Z Fourroot: i just started learning lisp today 2018-02-12T15:24:41Z dlowe: if you show up to a dog show and start conversations with "Dogs are terrible," you might not be taken seriously. 2018-02-12T15:25:08Z Fourroot: dlowe, Don't reply me if you dont want to answer 2018-02-12T15:25:23Z dlowe: Fourroot: don't say anything if you don't expect a reply 2018-02-12T15:25:40Z dlowe: anyway, there wasn't a question 2018-02-12T15:28:02Z makomo_ quit (Ping timeout: 252 seconds) 2018-02-12T15:28:12Z fikka joined #lisp 2018-02-12T15:28:31Z beach: Yeah, it is interesting how a fixed mindset can make people spend a lot of energy to do stupid things. I once had a student who had moved to a different city just to avoid going to a university that taught a programming language he didn't like, but that in fact he knew nothing about. 2018-02-12T15:28:38Z pjb quit (Ping timeout: 256 seconds) 2018-02-12T15:29:46Z sjl quit (Ping timeout: 256 seconds) 2018-02-12T15:29:57Z beach: But this is a classic; being new to a field, but then lecturing to the experienced participants in this field that they have been wrong all along. 2018-02-12T15:30:51Z beach: I think Carol Dweck would recognize it instantly. 2018-02-12T15:31:14Z TMA: arguably doing stupid things is essential to freedom, as is lecturing the experts essential to newbism (which might be an instance thereof) 2018-02-12T15:32:05Z beach: TMA: Sure. That's why I used the word "interesting", rather than something else. 2018-02-12T15:32:28Z jackdaniel: all syntax is awful, I feel lucky that lisp has almost no syntax 2018-02-12T15:32:43Z jackdaniel: (semi-serious ↑) 2018-02-12T15:33:10Z fikka quit (Ping timeout: 256 seconds) 2018-02-12T15:33:11Z igemnace quit (Quit: WeeChat 2.0.1) 2018-02-12T15:33:48Z beach: jackdaniel: About Lisp syntax, I think Paul Wilson put it well: It has a two-level syntax. The low level is very simple as you point out. But then there is the syntax of every special form, not specified as sequences of characters, of course. 2018-02-12T15:35:05Z jackdaniel: tell me about it, I'm fixing closures in ECL's bytecodes compiler right now :) 2018-02-12T15:35:23Z jackdaniel: (namely - compilation of such closures with c compiler) 2018-02-12T15:35:35Z beach: Hmm, good luck. 2018-02-12T15:36:00Z jackdaniel: thanks 2018-02-12T15:36:05Z phoe: Is there a utility function equivalent to (setf place (not place))? 2018-02-12T15:36:37Z phoe: Or rather a utility macro. 2018-02-12T15:37:10Z beach: Don't think so. But that one could be worthwhile so as to avoid multiple evaluation of the sub-forms of the place. 2018-02-12T15:37:23Z phoe: I ask because (setf (left-now-p (walk-parent shape)) (not (left-now-p (walk-parent shape)))) is pretty long for me. 2018-02-12T15:37:33Z phoe: Also what you just said. 2018-02-12T15:37:47Z beach: Especially what I just said! :) 2018-02-12T15:38:14Z nullman quit (Ping timeout: 255 seconds) 2018-02-12T15:38:42Z fikka joined #lisp 2018-02-12T15:39:08Z phoe: (: 2018-02-12T15:39:23Z Fourroot quit (Read error: Connection reset by peer) 2018-02-12T15:41:22Z wigust quit (Quit: ZNC 1.6.5 - http://znc.in) 2018-02-12T15:42:25Z papachan joined #lisp 2018-02-12T15:42:27Z KZiemian: jackdaniel: how ECL is going? 2018-02-12T15:42:53Z KZiemian: jackdaniel: I last heard about it in ELS in 2016 2018-02-12T15:43:28Z smokeink quit (Ping timeout: 248 seconds) 2018-02-12T15:43:38Z mishoo__ quit (Ping timeout: 255 seconds) 2018-02-12T15:43:41Z fikka quit (Ping timeout: 276 seconds) 2018-02-12T15:44:19Z nullman joined #lisp 2018-02-12T15:48:44Z fikka joined #lisp 2018-02-12T15:48:53Z Josh_2 joined #lisp 2018-02-12T15:50:18Z flamebeard quit (Quit: Leaving) 2018-02-12T15:51:26Z jackdaniel: well, it works :-) 2018-02-12T15:52:03Z jackdaniel: and we are working on new release 2018-02-12T15:52:18Z jackdaniel: not something what will happen before ELS'18 though 2018-02-12T15:52:45Z nullman quit (Ping timeout: 265 seconds) 2018-02-12T15:53:18Z fikka quit (Ping timeout: 240 seconds) 2018-02-12T15:53:23Z nullman joined #lisp 2018-02-12T15:53:33Z KZiemian: jackdaniel: good to here 2018-02-12T15:54:50Z ckonstanski joined #lisp 2018-02-12T15:56:51Z nsrahmad joined #lisp 2018-02-12T15:57:42Z makomo_ joined #lisp 2018-02-12T15:59:02Z fikka joined #lisp 2018-02-12T15:59:18Z nullman quit (Ping timeout: 240 seconds) 2018-02-12T16:00:02Z KZiemian: phoe: commenting CCLDoc is slowly going on, but I don't make commits to GitHun 2018-02-12T16:00:10Z phoe: KZiemian: why? 2018-02-12T16:00:50Z KZiemian: phoe: I don't want to do it befeor current pull request get reviewed by CCLDoc man 2018-02-12T16:01:02Z phoe: okay, no problem. 2018-02-12T16:01:04Z phoe: rme: ^ 2018-02-12T16:01:49Z nullman joined #lisp 2018-02-12T16:02:09Z KZiemian: phoe: I anticipated that correction will be needed to recent documentation after finall reviews and changes in first pull request 2018-02-12T16:02:12Z zazzerino joined #lisp 2018-02-12T16:03:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-12T16:04:27Z dan64 quit (Ping timeout: 256 seconds) 2018-02-12T16:04:29Z dan64- joined #lisp 2018-02-12T16:04:51Z al-damiri joined #lisp 2018-02-12T16:05:38Z beach: GitHun, the friendly site for GIT repositories from Baltimore. 2018-02-12T16:07:08Z Xach: i thought it was a service of dwim.hu 2018-02-12T16:07:19Z beach: ("hun" is the default word for addressing people, rather than "sir", etc) 2018-02-12T16:07:25Z beach: in B-more. 2018-02-12T16:08:24Z rumbler3_ joined #lisp 2018-02-12T16:09:07Z fikka joined #lisp 2018-02-12T16:09:47Z shrdlu68: It's one Levenshtein distance from GitHub, probably a typo... 2018-02-12T16:11:21Z KZiemian: beach: yes I make a typo, but there is another joke to it? 2018-02-12T16:11:26Z tfb quit 2018-02-12T16:11:42Z tfb joined #lisp 2018-02-12T16:12:03Z Cymew quit (Remote host closed the connection) 2018-02-12T16:13:02Z beach: KZiemian: Not worth repeating. I should have kept it to myself. 2018-02-12T16:13:34Z rumbler3_ quit (Ping timeout: 260 seconds) 2018-02-12T16:14:05Z fikka quit (Ping timeout: 256 seconds) 2018-02-12T16:14:16Z nowhereman_ joined #lisp 2018-02-12T16:14:59Z arbv quit (Ping timeout: 276 seconds) 2018-02-12T16:15:25Z nullman quit (Ping timeout: 256 seconds) 2018-02-12T16:16:07Z nullman joined #lisp 2018-02-12T16:16:20Z beach: KZiemian: http://www.robinsweb.com/maryland/merlin.html 2018-02-12T16:17:32Z nowhere_man quit (Ping timeout: 260 seconds) 2018-02-12T16:18:24Z ym: heisig, I'm trying to develop physics sandbox, but my interest in computing technique a bit more common, since I curious if I can build reconfigurable MIT CADR on FPGA. 2018-02-12T16:19:12Z fikka joined #lisp 2018-02-12T16:19:23Z Cymew joined #lisp 2018-02-12T16:19:45Z nsrahmad quit (Quit: Leaving) 2018-02-12T16:22:10Z heisig quit (Quit: Leaving) 2018-02-12T16:22:24Z zazzerino quit (Remote host closed the connection) 2018-02-12T16:23:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-12T16:24:03Z rme: KZiemian, phoe: Thanks for making a PR. I just reviewed it. 2018-02-12T16:24:10Z Cymew quit (Ping timeout: 256 seconds) 2018-02-12T16:25:05Z KZiemian quit (Ping timeout: 260 seconds) 2018-02-12T16:29:32Z fikka joined #lisp 2018-02-12T16:31:36Z warweasle quit (Quit: working...sucks...) 2018-02-12T16:31:41Z jerme_ quit 2018-02-12T16:32:01Z jerme_ joined #lisp 2018-02-12T16:33:50Z PuercoPope joined #lisp 2018-02-12T16:34:33Z fikka quit (Ping timeout: 264 seconds) 2018-02-12T16:38:13Z scymtym__: beach: how is the accumulation of garbage methods different from (defmethod foo ((c my-class)) …) (setf (find-class 'my-class) nil)? 2018-02-12T16:38:47Z beach: The same I guess. 2018-02-12T16:39:11Z scymtym__: i wouldn't bother, then 2018-02-12T16:39:43Z beach: Yeah, maybe so. 2018-02-12T16:39:57Z fikka joined #lisp 2018-02-12T16:40:14Z Bike quit (Ping timeout: 260 seconds) 2018-02-12T16:41:08Z beach: ym: What advantages do you expect from an FPGA compared to (say) a software emulator? 2018-02-12T16:42:54Z jackdaniel: what I like about fpga is that you may create your own hardware devices 2018-02-12T16:43:38Z Bike joined #lisp 2018-02-12T16:43:44Z terpri quit (Ping timeout: 248 seconds) 2018-02-12T16:44:45Z fikka quit (Ping timeout: 264 seconds) 2018-02-12T16:44:59Z jackdaniel: for instance parallella (embedded computer with 16 cores, second version had planned 64 cores in a separate chip epiphany) had all the interfacing with arm processor programmer over fpga (on zynq chip, which has both a small fpga and an arm processor connected to the same busbar) 2018-02-12T16:45:50Z jackdaniel: s/programmer over/programmed over/ 2018-02-12T16:49:34Z fikka joined #lisp 2018-02-12T16:54:10Z fikka quit (Ping timeout: 240 seconds) 2018-02-12T16:54:48Z orivej joined #lisp 2018-02-12T16:57:55Z ym: beach, I'm sick of kludges. 2018-02-12T16:59:10Z ym: And I have a decent FPGA-board, I also know about CADR porting attempts and I just can't stay out of this idea. 2018-02-12T16:59:38Z beach: Fair enough. 2018-02-12T16:59:58Z fikka joined #lisp 2018-02-12T17:02:03Z weltung quit 2018-02-12T17:02:16Z weltung joined #lisp 2018-02-12T17:02:59Z khisanth_ quit (Ping timeout: 276 seconds) 2018-02-12T17:03:44Z Josh_2 quit (Ping timeout: 255 seconds) 2018-02-12T17:04:47Z fikka quit (Ping timeout: 260 seconds) 2018-02-12T17:13:13Z makomo_ quit (Ping timeout: 256 seconds) 2018-02-12T17:14:26Z EvW quit (Ping timeout: 265 seconds) 2018-02-12T17:15:17Z khisanth_ joined #lisp 2018-02-12T17:16:05Z arbv joined #lisp 2018-02-12T17:19:59Z fikka joined #lisp 2018-02-12T17:20:31Z solyd quit (Quit: solyd) 2018-02-12T17:28:59Z Josh_2 joined #lisp 2018-02-12T17:32:10Z zaquest quit (Ping timeout: 256 seconds) 2018-02-12T17:35:41Z Baggers joined #lisp 2018-02-12T17:39:26Z hhdave quit (Ping timeout: 255 seconds) 2018-02-12T17:39:52Z Baggers quit (Remote host closed the connection) 2018-02-12T17:40:55Z thodg: When were introduced Common Lisp streams ? 2018-02-12T17:41:23Z thodg: The CLHS truly has no historical information 2018-02-12T17:41:39Z MrMc quit (Remote host closed the connection) 2018-02-12T17:41:56Z raynold joined #lisp 2018-02-12T17:41:59Z thodg: same question for Gray streams ? 2018-02-12T17:42:09Z thodg: Simple streams ? 2018-02-12T17:42:39Z thodg: or are we ungrateful devs for these bad interfaces 2018-02-12T17:42:52Z thodg: not incompatible I guess 2018-02-12T17:42:53Z Baggers joined #lisp 2018-02-12T17:42:54Z Baggers quit (Remote host closed the connection) 2018-02-12T17:42:55Z _cosmonaut_ quit (Ping timeout: 248 seconds) 2018-02-12T17:43:26Z thodg: or maybe just users, one might program without streams or queues at all 2018-02-12T17:43:39Z thodg: they might just be a part of the CL implementation 2018-02-12T17:43:44Z Baggers joined #lisp 2018-02-12T17:43:58Z thodg: in which case it would be possible to entirely do without them in the lisp image 2018-02-12T17:44:00Z beach: thodg: Read CLtL and CLtL2. 2018-02-12T17:44:14Z thodg: beach: right on my shelf =) 2018-02-12T17:44:47Z beach: What do you have against streams? 2018-02-12T17:45:03Z Baggers left #lisp 2018-02-12T17:45:19Z JuanDaugherty quit (Ping timeout: 256 seconds) 2018-02-12T17:45:34Z beach: I am pretty sure the predecessors of Common Lisp had streams, so there were probably in the language from the start. 2018-02-12T17:45:52Z thodg: CLtL ⊂ CLtL2 ? 2018-02-12T17:45:54Z zaquest joined #lisp 2018-02-12T17:46:08Z beach: Common Lisp the Language, edition 1 and 2. 2018-02-12T17:46:32Z beach: by Guy Steele. 2018-02-12T17:46:44Z beach: Yes, the first is a subset of the second. 2018-02-12T17:47:06Z beach: Well, maybe not entirely. But largely. 2018-02-12T17:47:17Z thodg: first time i open the book =) 2018-02-12T17:47:18Z beach: In fact CLtL2 has specific annotations for what changed from CLtL. 2018-02-12T17:47:39Z beach: So you can just see of there are any change bars for streams. 2018-02-12T17:47:48Z beach: see if 2018-02-12T17:47:50Z Jesin joined #lisp 2018-02-12T17:47:52Z mlf joined #lisp 2018-02-12T17:48:10Z thodg: ok i guess it does not talk about gray streams or simple streams though 2018-02-12T17:48:48Z Xach: thodg: http://www.nhplace.com/kent/CL/Issues/stream-definition-by-user.html has info about gray streams. 2018-02-12T17:49:09Z beach: thodg: There are no simple streams or Gray streams in the Common Lisp standard. 2018-02-12T17:52:09Z thodg: so Gray streams are based on CLtL edition 1 only. 2018-02-12T17:52:32Z Karl_Dscc joined #lisp 2018-02-12T17:54:54Z smasta joined #lisp 2018-02-12T17:56:07Z thodg: they immediately specify that a stream is operating on integer or character data 2018-02-12T17:56:25Z thodg: i dont get it how they identify these data types amongst all data types 2018-02-12T17:56:44Z SlowJimmy joined #lisp 2018-02-12T17:57:04Z thodg: it makes no sense, stream primitives are the same for integer, characters, structures, lists, strings, streams 2018-02-12T17:57:07Z Kaisyu quit (Quit: Connection closed for inactivity) 2018-02-12T17:57:36Z thodg: if i want a stream of stream of structures containing integers, floats, and text it should be the same stream interfaces all along 2018-02-12T17:57:48Z thodg: each stream in blocking or non-blocking mode 2018-02-12T17:58:32Z thodg: the integer character limitation seems very artificial 2018-02-12T17:59:45Z thodg: however the standard reserves all implementation and public interface symbols like STREAM, READ, WRITE to these artificially limited concepts vaguely related to streams 2018-02-12T18:00:24Z thodg: and i can find no rationale for it either 2018-02-12T18:00:39Z thodg: they present it as a good thing (tm) 2018-02-12T18:00:56Z thodg: i think it sucks 2018-02-12T18:01:01Z Xach: thodg: I think one possible answer when it comes to the CL standard is it would be a lot of complexity to get right and not standardizing any widespread common existing system. 2018-02-12T18:01:20Z Xach: thodg: whereas character and binary streams were in widespread use at the time of standardization 2018-02-12T18:03:21Z Josh_2 quit (Ping timeout: 264 seconds) 2018-02-12T18:03:22Z thodg: well they only give the bare minimum to build another lisp system and maim the stream interfaces for doing anything beyond, though CLOS being part of the system and providing perfect subclassing abilities 2018-02-12T18:04:03Z thodg: it fails to reinject CLOS functionalities back to the primitive stream systems code 2018-02-12T18:04:17Z Xach: thodg: I am referring only to the rationale, which is discussed early in the standard if you'd like to read it. 2018-02-12T18:04:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-12T18:04:38Z Xach: thodg: I think it would be nice to have higher-level interfaces atop streams, too. But I understand why they are the way they are, mostly. 2018-02-12T18:04:51Z Xach: higher-level in the sense of beyond character and integer. 2018-02-12T18:04:52Z thodg: Xach: I wonder about these widespread common existing systems, I thought SICP was a good read on streams 2018-02-12T18:05:10Z Xach: thodg: No. SICP does not have anything to do with Common Lisp and common lisp streams. 2018-02-12T18:05:17Z Xach: What they call streams is something else entirely. 2018-02-12T18:05:34Z thodg: Not entirely : CL streams are a maimed version of SICP streams 2018-02-12T18:05:41Z thodg: with a few extra features 2018-02-12T18:05:48Z thodg: but the programming intent is the same 2018-02-12T18:05:58Z thodg: you want to push and pull data in order 2018-02-12T18:06:08Z thodg: not in order is an unordered queue 2018-02-12T18:06:11Z thodg: should be right along 2018-02-12T18:06:18Z thodg: on all data types 2018-02-12T18:06:23Z thodg: blocking or non blocking 2018-02-12T18:06:37Z jasom: thodg: for the most part, the underlying OS streams are either character or integer based (with unix winning, they are all integer based now), so you can build higher level functionality on top of those 2018-02-12T18:07:35Z thodg: well in C integer is cast to structured instantly 2018-02-12T18:07:42Z thodg: or every compiler with an ABI 2018-02-12T18:07:53Z thodg: lisp fails at doing that 2018-02-12T18:08:01Z thodg: mostly 2018-02-12T18:08:18Z fe[nl]ix: thodg: that's enough 2018-02-12T18:08:24Z fe[nl]ix: you can go vent somewhere else 2018-02-12T18:08:25Z thodg: being an exception in regard of everything else CL does compared to other languages 2018-02-12T18:08:54Z damke_ joined #lisp 2018-02-12T18:09:37Z rumbler3_ joined #lisp 2018-02-12T18:09:44Z thodg: but I understand these concern sensible parts about when we learned to become compatible with a computer system so these are rarely criticized or even talked about 2018-02-12T18:10:15Z thodg: fe[nl]ix: sorry if I offended you ?? 2018-02-12T18:10:25Z thodg: I really feel on topic 2018-02-12T18:11:35Z thodg: I would not let CL fall behind other languages like NodeJS or even Ruby because of prevalence of archaism 2018-02-12T18:11:40Z jasom: thodg: I can think of 3 different CLOS friendly ways of serializing objects in common lisp; I don't see the problem. 2018-02-12T18:11:40Z panji joined #lisp 2018-02-12T18:12:11Z thodg: jasom: do they provide common lisp streams for multi agent message passing programming ? 2018-02-12T18:12:25Z fe[nl]ix: thodg: you're endlessly ranting about the suboptimality of the standard. I've seen that a hundred times 2018-02-12T18:12:34Z fe[nl]ix: if you're unsatisfied go implement someting better 2018-02-12T18:12:39Z thodg: fe[nl]ix: I did 2018-02-12T18:13:13Z jasom: thodg: why wouldn't they? 2018-02-12T18:13:19Z thodg: though you do not seem very keen on reading it : http://github.com/cl-stream/ 2018-02-12T18:14:29Z rumbler3_ quit (Ping timeout: 276 seconds) 2018-02-12T18:14:39Z thodg: for instance write means add one (element-type) onto stream, implemented though stream-write 2018-02-12T18:15:01Z thodg: there are classes and generics for buffered streams 2018-02-12T18:15:39Z thodg: you can implement and use streams of every lisp data types in blocking or non-blocking mode 2018-02-12T18:15:51Z thodg: and it is compatible with CL streams 2018-02-12T18:16:00Z thodg: for the non-blocking parts 2018-02-12T18:16:04Z thodg: uh blocking i mean 2018-02-12T18:16:38Z thodg: so if stream type is T you have a real common lisp stream 2018-02-12T18:16:49Z thodg: element-type * 2018-02-12T18:17:04Z damke_ quit (Ping timeout: 252 seconds) 2018-02-12T18:17:08Z thodg: so the compiler can be parallelised 2018-02-12T18:17:18Z thodg: and distributed 2018-02-12T18:17:24Z thodg: using typed stream paradigms 2018-02-12T18:18:06Z thodg: why not plug user trust and permissions at the streams level, like unix 2018-02-12T18:19:20Z scymtym__: how does (cl-stream:write stream (lambda (x) x)) work? 2018-02-12T18:19:39Z mjl_ joined #lisp 2018-02-12T18:19:46Z thodg: it provides an interface for you writing an implementation of it, unlike CL stream API 2018-02-12T18:19:56Z thodg: you or others 2018-02-12T18:19:57Z shka joined #lisp 2018-02-12T18:19:59Z thodg: as a package 2018-02-12T18:20:10Z thodg: see unistd-stream for instance 2018-02-12T18:20:23Z thodg: http://github.com/cl-stream/unistd-stream 2018-02-12T18:20:45Z thodg: it gives concurrency of implementation as well as concurrency of users 2018-02-12T18:21:03Z thodg: for the devops or system integrator 2018-02-12T18:21:19Z ku is now known as k-hos 2018-02-12T18:21:21Z fikka quit (Ping timeout: 265 seconds) 2018-02-12T18:21:35Z Chream quit (Ping timeout: 255 seconds) 2018-02-12T18:23:44Z shka: good evening 2018-02-12T18:23:47Z scymtym__: i wanted to remark that UNISTD-OUTPUT-STREAM seems to write the element into a foreign ub8 array but i guess the mention of "concurrency" and "devops" explains it 2018-02-12T18:23:54Z shka: Shinmera: hello! 2018-02-12T18:24:25Z thodg: why not have a real on disk filesystem implementation of streams and be able to switch between implementations 2018-02-12T18:24:53Z Cymew joined #lisp 2018-02-12T18:25:53Z thodg: it has no reason for this to be left to implementors 2018-02-12T18:26:01Z thodg: of the compiler 2018-02-12T18:27:10Z thodg: streams and filesystems are orthogonal to CPU and computing architectures 2018-02-12T18:27:33Z thodg: except maybe considering opcode streams 2018-02-12T18:27:46Z thodg: much like CLOS 2018-02-12T18:28:57Z Cymew quit (Ping timeout: 240 seconds) 2018-02-12T18:30:26Z attila_lendvai joined #lisp 2018-02-12T18:30:26Z attila_lendvai quit (Changing host) 2018-02-12T18:30:26Z attila_lendvai joined #lisp 2018-02-12T18:30:30Z Jesin quit (Quit: Leaving) 2018-02-12T18:31:06Z Cymew joined #lisp 2018-02-12T18:31:09Z thodg: this would give CL very good distributed computing capabilities 2018-02-12T18:31:37Z thodg: works well with threads 2018-02-12T18:35:24Z Cymew quit (Ping timeout: 252 seconds) 2018-02-12T18:36:33Z wigust joined #lisp 2018-02-12T18:36:57Z fikka joined #lisp 2018-02-12T18:37:32Z Cymew joined #lisp 2018-02-12T18:38:54Z shka: thodg: what it has to do with anything? 2018-02-12T18:39:12Z mishoo__ joined #lisp 2018-02-12T18:39:48Z shka: especially with distributed computing? 2018-02-12T18:41:33Z aindilis quit (Read error: Connection reset by peer) 2018-02-12T18:41:34Z terpri joined #lisp 2018-02-12T18:41:59Z fikka quit (Ping timeout: 256 seconds) 2018-02-12T18:42:12Z Cymew quit (Ping timeout: 260 seconds) 2018-02-12T18:43:43Z Cymew joined #lisp 2018-02-12T18:45:50Z thodg: scymtym__: I do not get the reference of your comment ? 2018-02-12T18:46:09Z thodg: where does it write a ub8 array ? 2018-02-12T18:46:33Z scymtym__: thodg: https://github.com/cl-stream/unistd-stream/blob/master/unistd-output-stream.lisp#L41 2018-02-12T18:47:27Z fikka joined #lisp 2018-02-12T18:47:43Z thodg: scymtym__: it's called WRITE-ELEMENT-TO-BUFFER for a reason 2018-02-12T18:48:03Z thodg: but the stream implementation actually provides the buffer 2018-02-12T18:48:13Z thodg: so as to be the most non-copy data type possible 2018-02-12T18:48:20Z thodg: as possible* 2018-02-12T18:48:37Z Cymew quit (Ping timeout: 260 seconds) 2018-02-12T18:49:05Z thodg: also the buffer is lazily created 2018-02-12T18:49:33Z thodg: not consing any memory if the stream is not actually used 2018-02-12T18:50:14Z thodg: by default, for all buffered streams of any data type including unsigned-bytes, characters, symbols, lists, hash-tables 2018-02-12T18:52:11Z fikka quit (Ping timeout: 256 seconds) 2018-02-12T18:53:00Z damke_ joined #lisp 2018-02-12T18:55:46Z jmercouris joined #lisp 2018-02-12T18:55:51Z Cymew joined #lisp 2018-02-12T18:57:25Z fikka joined #lisp 2018-02-12T18:59:57Z Cymew quit (Ping timeout: 240 seconds) 2018-02-12T19:00:42Z razzy quit (Read error: Connection reset by peer) 2018-02-12T19:02:03Z Cymew joined #lisp 2018-02-12T19:02:09Z fikka quit (Ping timeout: 260 seconds) 2018-02-12T19:03:13Z SlowJimmy quit (Quit: good bye cruel world) 2018-02-12T19:04:44Z warweasle joined #lisp 2018-02-12T19:05:06Z kobain quit (Ping timeout: 256 seconds) 2018-02-12T19:05:49Z DrPete left #lisp 2018-02-12T19:06:27Z Cymew quit (Ping timeout: 240 seconds) 2018-02-12T19:06:36Z jmercouris: any mailing list software out there written in common lisp? 2018-02-12T19:06:51Z Xach: jmercouris: no 2018-02-12T19:07:11Z jmercouris: Xach: Thanks for quick answer 2018-02-12T19:07:21Z jmercouris: having said this, any suggestions for mailing list software? 2018-02-12T19:08:00Z Cymew joined #lisp 2018-02-12T19:08:07Z thodg: jmercouris: i remember hacking q-encodings 2018-02-12T19:08:12Z thodg: and mime-types 2018-02-12T19:08:20Z thodg: there are libs to do it yourself 2018-02-12T19:08:40Z thodg: including smtp 2018-02-12T19:08:46Z varjagg joined #lisp 2018-02-12T19:09:16Z Xach: jmercouris: i used google groups. i don't like it much but it works ok. 2018-02-12T19:09:24Z jmercouris: I don't want to have to build my own mailing list software, from what I understand it is way more complex than it appears on the surface 2018-02-12T19:09:54Z jmercouris: Xach: I was using that as well, but I don't like the fact that 1. it is run by google 2. the interface is terrible 2018-02-12T19:10:54Z thodg: you'd have to make it less complex to us, yes 2018-02-12T19:11:46Z jmercouris: The only thing I really see is Mailman or Groupserver 2018-02-12T19:11:57Z jmercouris: I've had bad experiences with Mailman so far, so maybe I can just try Groupserver 2018-02-12T19:12:10Z rme: I've run Postfix and Mailman for a long time. But there is a certain amout of trouble involved in keeping up with all that. 2018-02-12T19:12:19Z thodg: i might write it in lisp by the time a qmail installation would complete 2018-02-12T19:13:15Z thodg: but that would not include much testing 2018-02-12T19:14:14Z jmercouris: I wish I could find a puppet or chef recipe that just provisions everything, and it "just works" 2018-02-12T19:14:31Z jmercouris: rme: If I develop a salt recipe or something to provision this server, I'll ping you 2018-02-12T19:14:50Z jmercouris: or maybe even just a shell script... 2018-02-12T19:15:08Z thodg: jmercouris: well "everything" might be bound to having a grammar 2018-02-12T19:15:57Z jmercouris: thodg: :D 2018-02-12T19:16:02Z rme: I always think that I'm going to make an ansible playbook (or whatever the currently-fashionable tool is), but then I always end up doing it by hand in order to quickly put out some fire or deal with some other trouble. 2018-02-12T19:16:36Z jmercouris: I'm looking at the groupserver installation documentation, looks way simpler and better than mailman 2018-02-12T19:16:36Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-12T19:16:50Z thodg: sysadmins were not shy to do it in C 2018-02-12T19:16:52Z jmercouris: at least from strictly that perspective 2018-02-12T19:17:01Z thodg: closely following RFCs 2018-02-12T19:17:27Z rme: I just happen to be familiar with my particular setup after managing and running it for years. 2018-02-12T19:17:39Z thodg: and sometimes bringing their own on-disk queue systems 2018-02-12T19:17:39Z fikka joined #lisp 2018-02-12T19:17:45Z Cymew quit (Ping timeout: 264 seconds) 2018-02-12T19:17:57Z thodg: as more than just a text file 2018-02-12T19:18:16Z thodg: and a smtp forwarder 2018-02-12T19:18:24Z attila_lendvai joined #lisp 2018-02-12T19:18:24Z attila_lendvai quit (Changing host) 2018-02-12T19:18:24Z attila_lendvai joined #lisp 2018-02-12T19:18:33Z thodg: that's the most of it 2018-02-12T19:19:26Z thodg: i could do it in a week 2018-02-12T19:19:49Z thodg: would.. 2018-02-12T19:20:24Z smasta quit (Ping timeout: 256 seconds) 2018-02-12T19:21:24Z jmercouris quit (Ping timeout: 260 seconds) 2018-02-12T19:22:33Z fikka quit (Ping timeout: 264 seconds) 2018-02-12T19:23:41Z Sauvin quit (Read error: Connection reset by peer) 2018-02-12T19:23:45Z fikka joined #lisp 2018-02-12T19:23:47Z SlowJimmy joined #lisp 2018-02-12T19:23:51Z u0_a193 joined #lisp 2018-02-12T19:24:07Z SlowJimmy is now known as NotSoFastJames 2018-02-12T19:24:35Z lnostdal quit (Remote host closed the connection) 2018-02-12T19:24:55Z Cymew joined #lisp 2018-02-12T19:24:55Z u0_a193 left #lisp 2018-02-12T19:24:58Z thodg: it might exist on github without having registered itself on wikis and such 2018-02-12T19:25:35Z lnostdal joined #lisp 2018-02-12T19:29:34Z Cymew quit (Ping timeout: 260 seconds) 2018-02-12T19:30:07Z fikka quit (Ping timeout: 248 seconds) 2018-02-12T19:30:58Z Cymew joined #lisp 2018-02-12T19:35:27Z Cymew quit (Ping timeout: 240 seconds) 2018-02-12T19:37:10Z Cymew joined #lisp 2018-02-12T19:41:21Z Cymew quit (Ping timeout: 248 seconds) 2018-02-12T19:43:11Z Cymew joined #lisp 2018-02-12T19:45:42Z fikka joined #lisp 2018-02-12T19:47:45Z Cymew quit (Ping timeout: 268 seconds) 2018-02-12T19:49:23Z Cymew joined #lisp 2018-02-12T19:50:26Z fourier joined #lisp 2018-02-12T19:50:50Z fikka quit (Ping timeout: 268 seconds) 2018-02-12T19:52:26Z solyd joined #lisp 2018-02-12T19:53:50Z Cymew quit (Ping timeout: 255 seconds) 2018-02-12T19:54:19Z nowhere_man joined #lisp 2018-02-12T19:54:32Z nowhereman_ quit (Ping timeout: 268 seconds) 2018-02-12T19:55:18Z Cymew joined #lisp 2018-02-12T19:59:35Z Cymew quit (Ping timeout: 240 seconds) 2018-02-12T20:00:24Z fourroot joined #lisp 2018-02-12T20:00:44Z smasta joined #lisp 2018-02-12T20:01:13Z Cymew joined #lisp 2018-02-12T20:01:47Z smurfrobot quit (Remote host closed the connection) 2018-02-12T20:02:20Z makomo_ joined #lisp 2018-02-12T20:05:35Z Cymew quit (Ping timeout: 240 seconds) 2018-02-12T20:06:00Z fikka joined #lisp 2018-02-12T20:07:21Z Cymew joined #lisp 2018-02-12T20:08:34Z makomo_ quit (Ping timeout: 256 seconds) 2018-02-12T20:10:21Z rumbler3_ joined #lisp 2018-02-12T20:10:35Z fikka quit (Ping timeout: 240 seconds) 2018-02-12T20:11:08Z tripty quit (Remote host closed the connection) 2018-02-12T20:11:48Z Cymew quit (Ping timeout: 240 seconds) 2018-02-12T20:11:56Z vlatkoB quit (Remote host closed the connection) 2018-02-12T20:13:36Z Cymew joined #lisp 2018-02-12T20:14:05Z panji quit (Ping timeout: 240 seconds) 2018-02-12T20:14:41Z rumbler3_ quit (Ping timeout: 255 seconds) 2018-02-12T20:15:35Z shka quit (Ping timeout: 240 seconds) 2018-02-12T20:16:23Z fikka joined #lisp 2018-02-12T20:18:17Z Cymew quit (Ping timeout: 255 seconds) 2018-02-12T20:18:46Z parjanya quit (Remote host closed the connection) 2018-02-12T20:19:26Z BitPuffin quit (Remote host closed the connection) 2018-02-12T20:19:34Z Cymew joined #lisp 2018-02-12T20:20:09Z jmercouris joined #lisp 2018-02-12T20:20:59Z fikka quit (Ping timeout: 255 seconds) 2018-02-12T20:22:53Z makomo_ joined #lisp 2018-02-12T20:23:59Z Cymew quit (Ping timeout: 256 seconds) 2018-02-12T20:25:29Z smurfrobot joined #lisp 2018-02-12T20:25:41Z Cymew joined #lisp 2018-02-12T20:26:27Z fikka joined #lisp 2018-02-12T20:26:50Z jmercouris quit (Ping timeout: 255 seconds) 2018-02-12T20:29:28Z solyd quit (Quit: solyd) 2018-02-12T20:30:18Z Cymew quit (Ping timeout: 268 seconds) 2018-02-12T20:30:18Z smurfrobot quit (Ping timeout: 268 seconds) 2018-02-12T20:30:35Z kdridi joined #lisp 2018-02-12T20:31:30Z Cymew joined #lisp 2018-02-12T20:31:38Z fikka quit (Ping timeout: 276 seconds) 2018-02-12T20:35:14Z orivej quit (Ping timeout: 268 seconds) 2018-02-12T20:36:15Z Cymew quit (Ping timeout: 248 seconds) 2018-02-12T20:37:45Z Cymew joined #lisp 2018-02-12T20:38:19Z smurfrobot joined #lisp 2018-02-12T20:38:31Z kdridi quit 2018-02-12T20:38:59Z pierpa joined #lisp 2018-02-12T20:41:11Z aindilis joined #lisp 2018-02-12T20:42:09Z Cymew quit (Ping timeout: 248 seconds) 2018-02-12T20:43:15Z smurfrobot quit (Ping timeout: 268 seconds) 2018-02-12T20:43:52Z Cymew joined #lisp 2018-02-12T20:46:38Z fikka joined #lisp 2018-02-12T20:46:51Z aindilis` joined #lisp 2018-02-12T20:48:14Z smasta quit (Ping timeout: 256 seconds) 2018-02-12T20:48:33Z aindilis quit (Ping timeout: 265 seconds) 2018-02-12T20:48:48Z Cymew quit (Ping timeout: 256 seconds) 2018-02-12T20:49:36Z smasta joined #lisp 2018-02-12T20:50:08Z Cymew joined #lisp 2018-02-12T20:51:27Z fikka quit (Ping timeout: 265 seconds) 2018-02-12T20:52:01Z EvW1 joined #lisp 2018-02-12T20:52:40Z aindilis` quit (Ping timeout: 240 seconds) 2018-02-12T20:54:44Z Cymew quit (Ping timeout: 260 seconds) 2018-02-12T20:56:22Z Cymew joined #lisp 2018-02-12T20:57:03Z fikka joined #lisp 2018-02-12T20:59:08Z wigust quit (Quit: ZNC 1.6.5 - http://znc.in) 2018-02-12T21:00:47Z Cymew quit (Ping timeout: 248 seconds) 2018-02-12T21:01:49Z Murii quit (Quit: WeeChat 1.4) 2018-02-12T21:01:53Z fikka quit (Ping timeout: 248 seconds) 2018-02-12T21:02:13Z Cymew joined #lisp 2018-02-12T21:02:41Z mjl_ quit (Ping timeout: 255 seconds) 2018-02-12T21:06:41Z Cymew quit (Ping timeout: 256 seconds) 2018-02-12T21:10:10Z dTal joined #lisp 2018-02-12T21:12:08Z kobain joined #lisp 2018-02-12T21:14:17Z Cymew joined #lisp 2018-02-12T21:15:17Z scymtym__ quit (Ping timeout: 255 seconds) 2018-02-12T21:17:03Z fikka joined #lisp 2018-02-12T21:18:50Z Cymew quit (Ping timeout: 256 seconds) 2018-02-12T21:19:40Z dTal quit (Changing host) 2018-02-12T21:19:41Z dTal joined #lisp 2018-02-12T21:20:16Z tripty joined #lisp 2018-02-12T21:20:25Z Cymew joined #lisp 2018-02-12T21:21:40Z fikka quit (Ping timeout: 256 seconds) 2018-02-12T21:24:51Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-02-12T21:25:41Z Cymew quit (Ping timeout: 276 seconds) 2018-02-12T21:27:27Z fikka joined #lisp 2018-02-12T21:29:02Z NotSoFastJames quit (Quit: good bye cruel world) 2018-02-12T21:31:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-12T21:34:15Z fourroot quit (Read error: Connection reset by peer) 2018-02-12T21:36:10Z smasta quit (Ping timeout: 240 seconds) 2018-02-12T21:36:10Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-12T21:37:18Z attila_lendvai joined #lisp 2018-02-12T21:37:33Z fikka joined #lisp 2018-02-12T21:42:00Z Cymew joined #lisp 2018-02-12T21:42:27Z fikka quit (Ping timeout: 268 seconds) 2018-02-12T21:42:48Z smasta joined #lisp 2018-02-12T21:43:29Z jmercouris joined #lisp 2018-02-12T21:45:05Z madmalik quit (Quit: Connection closed for inactivity) 2018-02-12T21:47:09Z Cymew quit (Ping timeout: 264 seconds) 2018-02-12T21:48:03Z Cymew joined #lisp 2018-02-12T21:49:10Z makomo joined #lisp 2018-02-12T21:49:10Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-12T21:50:44Z attila_lendvai joined #lisp 2018-02-12T21:50:44Z attila_lendvai quit (Changing host) 2018-02-12T21:50:44Z attila_lendvai joined #lisp 2018-02-12T21:51:11Z fikka joined #lisp 2018-02-12T21:52:20Z makomo_ quit (Ping timeout: 255 seconds) 2018-02-12T21:52:47Z Cymew quit (Ping timeout: 255 seconds) 2018-02-12T21:53:17Z shifty joined #lisp 2018-02-12T21:54:03Z Cymew joined #lisp 2018-02-12T21:54:04Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-12T21:54:56Z dieggsy quit (Quit: ERC (IRC client for Emacs 27.0.50)) 2018-02-12T21:55:24Z attila_lendvai joined #lisp 2018-02-12T21:55:24Z attila_lendvai quit (Changing host) 2018-02-12T21:55:24Z attila_lendvai joined #lisp 2018-02-12T21:55:24Z fourier quit (Ping timeout: 268 seconds) 2018-02-12T21:56:55Z varjagg quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2018-02-12T21:58:37Z Cymew quit (Ping timeout: 256 seconds) 2018-02-12T21:59:16Z dieggsy joined #lisp 2018-02-12T22:00:02Z Cymew joined #lisp 2018-02-12T22:00:50Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-12T22:02:58Z ludston_ joined #lisp 2018-02-12T22:03:15Z attila_lendvai joined #lisp 2018-02-12T22:03:15Z attila_lendvai quit (Changing host) 2018-02-12T22:03:15Z attila_lendvai joined #lisp 2018-02-12T22:03:41Z kdridi joined #lisp 2018-02-12T22:04:47Z ludston quit (Ping timeout: 248 seconds) 2018-02-12T22:04:51Z Cymew quit (Ping timeout: 256 seconds) 2018-02-12T22:06:01Z Cymew joined #lisp 2018-02-12T22:07:15Z porky11 joined #lisp 2018-02-12T22:07:30Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-02-12T22:07:31Z porky11: hi 2018-02-12T22:10:10Z attila_lendvai quit (Quit: Leaving.) 2018-02-12T22:10:43Z Cymew quit (Ping timeout: 265 seconds) 2018-02-12T22:11:08Z rumbler3_ joined #lisp 2018-02-12T22:11:59Z Cymew joined #lisp 2018-02-12T22:13:55Z stacksmith: Greetings... 2018-02-12T22:13:56Z rumbler31 quit (Ping timeout: 255 seconds) 2018-02-12T22:14:02Z xrash quit (Remote host closed the connection) 2018-02-12T22:15:57Z rumbler3_ quit (Ping timeout: 264 seconds) 2018-02-12T22:16:31Z Cymew quit (Ping timeout: 265 seconds) 2018-02-12T22:17:56Z Cymew joined #lisp 2018-02-12T22:19:36Z nydel joined #lisp 2018-02-12T22:22:23Z Cymew quit (Ping timeout: 248 seconds) 2018-02-12T22:23:59Z Cymew joined #lisp 2018-02-12T22:25:07Z nirved quit (Quit: Leaving) 2018-02-12T22:26:41Z rpg joined #lisp 2018-02-12T22:27:54Z quazimodo joined #lisp 2018-02-12T22:28:17Z Cymew quit (Ping timeout: 248 seconds) 2018-02-12T22:30:08Z al-damiri quit (Quit: Connection closed for inactivity) 2018-02-12T22:30:44Z Cymew joined #lisp 2018-02-12T22:30:49Z Bike quit (Ping timeout: 260 seconds) 2018-02-12T22:31:27Z mishoo__ quit (Ping timeout: 248 seconds) 2018-02-12T22:31:52Z scymtym joined #lisp 2018-02-12T22:35:13Z Cymew quit (Ping timeout: 248 seconds) 2018-02-12T22:36:41Z Cymew joined #lisp 2018-02-12T22:37:28Z Kundry_W_ quit (Remote host closed the connection) 2018-02-12T22:38:04Z Kundry_Wag joined #lisp 2018-02-12T22:39:01Z moei quit (Quit: Leaving...) 2018-02-12T22:39:23Z smurfrobot joined #lisp 2018-02-12T22:41:03Z Cymew quit (Ping timeout: 248 seconds) 2018-02-12T22:42:10Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-12T22:43:43Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-12T22:44:20Z SlowJimmy joined #lisp 2018-02-12T22:48:46Z Cymew joined #lisp 2018-02-12T22:48:49Z SlowJimmy quit (Client Quit) 2018-02-12T22:50:22Z pagnol joined #lisp 2018-02-12T22:53:26Z Cymew quit (Ping timeout: 276 seconds) 2018-02-12T22:54:42Z Cymew joined #lisp 2018-02-12T22:58:29Z Karl_Dscc quit (Remote host closed the connection) 2018-02-12T22:58:34Z dieggsy` joined #lisp 2018-02-12T22:59:22Z sjl joined #lisp 2018-02-12T22:59:25Z dieggsy` quit (Remote host closed the connection) 2018-02-12T22:59:34Z Cymew quit (Ping timeout: 260 seconds) 2018-02-12T23:00:43Z Cymew joined #lisp 2018-02-12T23:04:11Z razzy joined #lisp 2018-02-12T23:05:24Z Cymew quit (Ping timeout: 260 seconds) 2018-02-12T23:06:35Z Cymew joined #lisp 2018-02-12T23:07:00Z Bike joined #lisp 2018-02-12T23:09:46Z safe quit (Read error: Connection reset by peer) 2018-02-12T23:11:14Z Cymew quit (Ping timeout: 260 seconds) 2018-02-12T23:11:23Z jasom: jmercouris: lampson is the least-painful tool I've used for writing software with an e-mail interface, and there is an existing mailing list server program written on top of it... 2018-02-12T23:11:35Z jasom: jmercouris: but that server is very minimal 2018-02-12T23:12:29Z smasta quit (Ping timeout: 268 seconds) 2018-02-12T23:12:39Z Cymew joined #lisp 2018-02-12T23:16:46Z Kaisyu joined #lisp 2018-02-12T23:16:57Z Cymew quit (Ping timeout: 240 seconds) 2018-02-12T23:18:41Z Cymew joined #lisp 2018-02-12T23:19:34Z LiamH quit (Quit: Leaving.) 2018-02-12T23:22:18Z stacksmith: Could someone clarify: as a macro-form begins to be expanded, do its arguments get expanded first? CLHS 3.1.2.1.2.2 Macro Forms indicates that the entire macro-form is just handed over to the macro-function... Is the macro-function required to macroexpand the arguments prior to destructuring? 2018-02-12T23:23:15Z Shinmera: The macro gets its arguments as literals 2018-02-12T23:23:22Z Shinmera: There is no macro expansion of arguments. 2018-02-12T23:23:35Z Cymew quit (Ping timeout: 268 seconds) 2018-02-12T23:23:38Z Shinmera: However, the forms emitted by the macro are then further processed and macroexpanded as necessary. 2018-02-12T23:23:47Z Oladon joined #lisp 2018-02-12T23:24:16Z arescorpio joined #lisp 2018-02-12T23:24:43Z Cymew joined #lisp 2018-02-12T23:25:05Z python476 quit (Read error: Connection reset by peer) 2018-02-12T23:25:51Z makomo quit (Quit: WeeChat 1.9.1) 2018-02-12T23:26:52Z stacksmith: So the macro-form's arguments must literally comply with the corresponding macro's lambda-list? 2018-02-12T23:27:18Z stacksmith: as far as destructuring goes... 2018-02-12T23:27:50Z nowhere_man quit (Read error: Connection reset by peer) 2018-02-12T23:27:50Z nowhereman_ joined #lisp 2018-02-12T23:28:20Z Shinmera: Well yeah? 2018-02-12T23:29:17Z Cymew quit (Ping timeout: 256 seconds) 2018-02-12T23:30:02Z Bike: it's simple 2018-02-12T23:30:18Z Bike: macro function just gets the form with no further processing 2018-02-12T23:31:02Z stacksmith: Bike: Shinmera: thanks. 2018-02-12T23:31:39Z Cymew joined #lisp 2018-02-12T23:32:42Z Tobbi quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-12T23:33:01Z stacksmith: A part of me was hoping that the metaprogramming level followed the normal level's conventions; that is, macro arguments would get expanded first much like function arguments get evaluated... 2018-02-12T23:33:17Z Bike: that would prevent a lot of things. 2018-02-12T23:33:23Z Bike: you couldn't make a macro like LET. 2018-02-12T23:33:30Z Xach: or like defclass 2018-02-12T23:33:34Z Bike: in fact you couldn't make a macro that had very different syntax at all. 2018-02-12T23:35:13Z stacksmith: Would it? You could still expand an argument to a destructuring list form prior to the macro's expansion. 2018-02-12T23:35:30Z Bike: how would it know to stop expanding? 2018-02-12T23:36:01Z Cymew quit (Ping timeout: 248 seconds) 2018-02-12T23:36:19Z stacksmith: I suppose it would stop when the expanded form is no longer a macro? I am talking out of my butt however. 2018-02-12T23:36:24Z Bike: like, take with-open-file. you write it like (with-open-file (stream ...) ...) 2018-02-12T23:36:30Z Bike: it would have to treat stream as a macro 2018-02-12T23:36:42Z Bike: and if by chance you used an actual macro name, shit would go pear shaped 2018-02-12T23:37:18Z rpg quit (Quit: Textual IRC Client: www.textualapp.com) 2018-02-12T23:37:37Z Cymew joined #lisp 2018-02-12T23:38:09Z eschatologist quit (Ping timeout: 264 seconds) 2018-02-12T23:38:20Z eschatologist joined #lisp 2018-02-12T23:39:32Z stacksmith: My thinking was that in absence of a macro named stream, it would leave it alone to destructure as usual, but leave you with an option to define a stream macro and have it do something else... 2018-02-12T23:40:10Z mlf quit (Ping timeout: 240 seconds) 2018-02-12T23:41:03Z stacksmith: But yeah, never mind my foolish ideas.. 2018-02-12T23:41:21Z jmercouris quit (Ping timeout: 248 seconds) 2018-02-12T23:42:09Z Cymew quit (Ping timeout: 260 seconds) 2018-02-12T23:43:38Z Cymew joined #lisp 2018-02-12T23:46:44Z jasom: stacksmith: some macros may expand macros that they encounter manually (this is one reason that macros may take the environment as a parameter) 2018-02-12T23:47:03Z smasta joined #lisp 2018-02-12T23:47:33Z jasom: stacksmith: code walkers may need to do this, and this is one reason that code-walkers can be hard to do right... 2018-02-12T23:48:21Z Cymew quit (Ping timeout: 264 seconds) 2018-02-12T23:49:46Z Cymew joined #lisp 2018-02-12T23:49:58Z aindilis joined #lisp 2018-02-12T23:53:11Z stacksmith: jasom: by the time the macro definition's code is executing, the macro-function is done destructuring. I suppose I am curious if there is a way to run code prior to that. Is macroexpand-hook the way to do that? 2018-02-12T23:53:50Z jasom: stacksmith: what do you mean? 2018-02-12T23:54:06Z jasom: stacksmith: you can use &whole to get the un-destructured lambda list 2018-02-12T23:54:06Z Cymew quit (Ping timeout: 256 seconds) 2018-02-12T23:55:01Z stacksmith: But I think the implementation will barf if the arguments are not matching the destructuring list before any of my code gets to process the &whole... 2018-02-12T23:55:33Z jasom: stacksmith: so just use &rest and destructuring-bind? 2018-02-12T23:55:47Z Cymew joined #lisp 2018-02-12T23:55:58Z stacksmith: Duh. Of course. 2018-02-12T23:56:39Z Bike: you can also set the macro-function directly, without going through defmacro, if you want. 2018-02-12T23:56:41Z jasom: you get worse indenting in emacs then though, so specify as much structure as you can to the defmacro 2018-02-12T23:56:53Z stacksmith: right. 2018-02-12T23:57:07Z jasom: e.g. (with-foo (&rest args) &body b) is slightly better than (with-foo arg-list &body b) 2018-02-12T23:57:25Z jasom: but then you can't have a non-list for the first parameter 2018-02-12T23:57:52Z stacksmith: Yes, of course. Thank you. 2018-02-12T23:58:17Z manualcrank joined #lisp 2018-02-12T23:58:23Z smasta quit (Ping timeout: 248 seconds) 2018-02-13T00:00:35Z Cymew quit (Ping timeout: 268 seconds) 2018-02-13T00:00:58Z python476 joined #lisp 2018-02-13T00:01:40Z porky11 quit (Quit: Leaving) 2018-02-13T00:01:58Z Cymew joined #lisp 2018-02-13T00:02:41Z kdridi quit (Remote host closed the connection) 2018-02-13T00:06:05Z Cymew quit (Ping timeout: 240 seconds) 2018-02-13T00:06:23Z lnostdal quit (Ping timeout: 255 seconds) 2018-02-13T00:06:33Z zaquest quit (Quit: Leaving) 2018-02-13T00:07:11Z dtornabene quit (Quit: Leaving) 2018-02-13T00:07:53Z zaquest joined #lisp 2018-02-13T00:07:58Z Cymew joined #lisp 2018-02-13T00:11:49Z rumbler31 joined #lisp 2018-02-13T00:12:10Z Cymew quit (Ping timeout: 240 seconds) 2018-02-13T00:13:43Z smurfrobot joined #lisp 2018-02-13T00:13:59Z Cymew joined #lisp 2018-02-13T00:16:37Z lnostdal joined #lisp 2018-02-13T00:16:53Z rumbler31 quit (Ping timeout: 256 seconds) 2018-02-13T00:18:05Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-13T00:18:38Z pjb joined #lisp 2018-02-13T00:19:02Z pjb is now known as Guest10414 2018-02-13T00:19:14Z Cymew quit (Ping timeout: 276 seconds) 2018-02-13T00:19:53Z Cymew joined #lisp 2018-02-13T00:24:44Z Cymew quit (Ping timeout: 260 seconds) 2018-02-13T00:25:57Z Cymew joined #lisp 2018-02-13T00:27:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-13T00:29:05Z Denommus joined #lisp 2018-02-13T00:30:57Z Cymew quit (Ping timeout: 264 seconds) 2018-02-13T00:31:27Z fisxoj joined #lisp 2018-02-13T00:31:54Z Cymew joined #lisp 2018-02-13T00:33:19Z fikka joined #lisp 2018-02-13T00:34:10Z smurfrobot joined #lisp 2018-02-13T00:34:55Z smasta joined #lisp 2018-02-13T00:36:02Z markong quit (Ping timeout: 276 seconds) 2018-02-13T00:36:57Z Cymew quit (Ping timeout: 264 seconds) 2018-02-13T00:37:58Z Cymew joined #lisp 2018-02-13T00:38:12Z fikka quit (Ping timeout: 268 seconds) 2018-02-13T00:38:45Z smurfrobot quit (Ping timeout: 264 seconds) 2018-02-13T00:40:28Z Kundry_Wag joined #lisp 2018-02-13T00:42:29Z Cymew quit (Ping timeout: 265 seconds) 2018-02-13T00:43:32Z fikka joined #lisp 2018-02-13T00:43:56Z Cymew joined #lisp 2018-02-13T00:44:51Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-13T00:48:01Z fikka quit (Ping timeout: 248 seconds) 2018-02-13T00:48:30Z PuercoPope quit (Ping timeout: 256 seconds) 2018-02-13T00:48:39Z Cymew quit (Ping timeout: 260 seconds) 2018-02-13T00:49:56Z Cymew joined #lisp 2018-02-13T00:53:36Z kobain quit (Ping timeout: 256 seconds) 2018-02-13T00:53:51Z fikka joined #lisp 2018-02-13T00:54:17Z Cymew quit (Ping timeout: 256 seconds) 2018-02-13T00:55:27Z thallia quit (Ping timeout: 240 seconds) 2018-02-13T00:55:55Z parjanya joined #lisp 2018-02-13T00:55:56Z Cymew joined #lisp 2018-02-13T00:57:27Z lima4_ joined #lisp 2018-02-13T00:57:28Z pfdietz quit 2018-02-13T00:57:49Z pfdietz joined #lisp 2018-02-13T00:58:12Z thallia joined #lisp 2018-02-13T00:58:29Z fikka quit (Ping timeout: 255 seconds) 2018-02-13T00:59:12Z Guest10414 is now known as pjb 2018-02-13T01:00:47Z Kundry_Wag joined #lisp 2018-02-13T01:00:47Z Cymew quit (Ping timeout: 260 seconds) 2018-02-13T01:01:54Z Cymew joined #lisp 2018-02-13T01:03:23Z fikka joined #lisp 2018-02-13T01:05:10Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-13T01:06:10Z Cymew quit (Ping timeout: 240 seconds) 2018-02-13T01:06:29Z rumbler31 joined #lisp 2018-02-13T01:07:52Z Cymew joined #lisp 2018-02-13T01:08:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-13T01:08:35Z EvW1 quit (Ping timeout: 265 seconds) 2018-02-13T01:10:10Z Pixel_Outlaw joined #lisp 2018-02-13T01:12:10Z Cymew quit (Ping timeout: 240 seconds) 2018-02-13T01:13:52Z fikka joined #lisp 2018-02-13T01:13:54Z Cymew joined #lisp 2018-02-13T01:17:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-13T01:18:11Z minion joined #lisp 2018-02-13T01:18:22Z Cymew quit (Ping timeout: 252 seconds) 2018-02-13T01:18:25Z fikka quit (Ping timeout: 248 seconds) 2018-02-13T01:19:47Z rgrau quit (Ping timeout: 256 seconds) 2018-02-13T01:19:52Z Cymew joined #lisp 2018-02-13T01:20:05Z MetaYan quit (Ping timeout: 240 seconds) 2018-02-13T01:21:28Z rgrau joined #lisp 2018-02-13T01:22:30Z damke_ joined #lisp 2018-02-13T01:24:14Z fikka joined #lisp 2018-02-13T01:24:21Z Cymew quit (Ping timeout: 264 seconds) 2018-02-13T01:25:50Z Cymew joined #lisp 2018-02-13T01:27:08Z fisxoj quit (Quit: fisxoj) 2018-02-13T01:28:15Z MetaYan joined #lisp 2018-02-13T01:29:09Z fikka quit (Ping timeout: 264 seconds) 2018-02-13T01:29:44Z Xach: The gang of 5 emails are so direct and harsh sometimes. 2018-02-13T01:29:57Z Cymew quit (Ping timeout: 240 seconds) 2018-02-13T01:31:40Z thallia quit (Ping timeout: 240 seconds) 2018-02-13T01:33:18Z thallia joined #lisp 2018-02-13T01:33:51Z fikka joined #lisp 2018-02-13T01:37:14Z stacksmith: Xach: which gang are you referring to? 2018-02-13T01:37:51Z Xach: stacksmith: the gang who started standardizing CL 2018-02-13T01:37:53Z Cymew joined #lisp 2018-02-13T01:38:29Z stacksmith: Ah. That makes more sense than 'Gang of Five: Leaders at the Center of the Conservative Crusade' 2018-02-13T01:38:35Z fikka quit (Ping timeout: 240 seconds) 2018-02-13T01:39:30Z Xach: yeah. they were on what was thought to be a private list so they were candid about assessing peers. 2018-02-13T01:39:43Z Xach: but the mailing list is out there now. there are a lot of interesting threads to pull on. 2018-02-13T01:39:57Z Xach: just made me google bbn's Common Lisp implemented in their Scheme. 2018-02-13T01:40:48Z Kundry_Wag joined #lisp 2018-02-13T01:41:11Z rme: My rule is to assume that any mail I send will be public sooner or later. 2018-02-13T01:41:56Z rme: That rule has already paid off more than once. 2018-02-13T01:41:57Z Cymew quit (Ping timeout: 240 seconds) 2018-02-13T01:42:27Z stacksmith: My rule is to assume anything written or spoken or otherwise leaked outside of my brain can and will be used against me. 2018-02-13T01:42:55Z Xach: That lesson was drilled into me in jwz's history of the bad-attitude list at netscape 2018-02-13T01:43:01Z thallia quit (Ping timeout: 256 seconds) 2018-02-13T01:43:56Z Cymew joined #lisp 2018-02-13T01:44:21Z fikka joined #lisp 2018-02-13T01:44:24Z stacksmith: I am constantly amused by the youngins' inexplicable desire to post frighteningly stupid stuff online. 2018-02-13T01:45:27Z aeth: Just ban social media for people under the age of 25. 2018-02-13T01:45:31Z stacksmith: I suppose there is the presumption that the old fart at HR is too old to know how go google. 2018-02-13T01:45:35Z Kundry_Wag quit (Ping timeout: 276 seconds) 2018-02-13T01:45:47Z aeth: stacksmith: The problem is that the person in HR is probably 28 2018-02-13T01:46:07Z stacksmith: exactly. 2018-02-13T01:46:24Z stacksmith: Not that old farts don't know how to google. 2018-02-13T01:48:44Z Cymew quit (Ping timeout: 260 seconds) 2018-02-13T01:48:47Z fikka quit (Ping timeout: 248 seconds) 2018-02-13T01:49:52Z Cymew joined #lisp 2018-02-13T01:49:56Z igemnace joined #lisp 2018-02-13T01:51:35Z stacksmith: And of course, HR is the least dangerous adversary capable of at the very least googling. 2018-02-13T01:52:11Z aeth: I don't think anyone under 30 is going to be able to go into politics. 2018-02-13T01:52:52Z aeth: Everyone is an idiot as a teenager, it's just that now it's saved forever on the Internet. 2018-02-13T01:53:28Z stacksmith: Definitely no one with an XY chromosome. 2018-02-13T01:54:09Z python476 quit (Ping timeout: 248 seconds) 2018-02-13T01:54:34Z Cymew quit (Ping timeout: 260 seconds) 2018-02-13T01:54:35Z vtomole joined #lisp 2018-02-13T01:54:41Z fikka joined #lisp 2018-02-13T01:55:10Z jasom: Xach: was KMP in the gang of 5? He was pretty direct in the few c.l.l threads I remember reading from him. 2018-02-13T01:55:52Z Cymew joined #lisp 2018-02-13T01:57:15Z mlf joined #lisp 2018-02-13T01:59:20Z fikka quit (Ping timeout: 256 seconds) 2018-02-13T02:00:12Z orivej joined #lisp 2018-02-13T02:00:24Z Cymew quit (Ping timeout: 260 seconds) 2018-02-13T02:01:52Z Cymew joined #lisp 2018-02-13T02:01:54Z fisxoj joined #lisp 2018-02-13T02:04:20Z fikka joined #lisp 2018-02-13T02:06:25Z Cymew quit (Ping timeout: 248 seconds) 2018-02-13T02:07:52Z Cymew joined #lisp 2018-02-13T02:07:58Z pierpa: KMP edited the standard, he came much later 2018-02-13T02:09:05Z fikka quit (Ping timeout: 248 seconds) 2018-02-13T02:09:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-13T02:12:17Z Cymew quit (Ping timeout: 255 seconds) 2018-02-13T02:13:29Z z3t0 joined #lisp 2018-02-13T02:13:51Z Cymew joined #lisp 2018-02-13T02:14:33Z z3t0 quit (Remote host closed the connection) 2018-02-13T02:14:59Z z3t0 joined #lisp 2018-02-13T02:16:10Z pagnol quit (Ping timeout: 240 seconds) 2018-02-13T02:16:19Z smurfrobot joined #lisp 2018-02-13T02:17:57Z Cymew quit (Ping timeout: 240 seconds) 2018-02-13T02:19:32Z z3t0 quit (Ping timeout: 260 seconds) 2018-02-13T02:19:50Z Cymew joined #lisp 2018-02-13T02:21:37Z pjb: Once you record the history of everybody, nobody will be able to do anything anymore. This is what I like in cristal buildings. Eventually, society has either to put back privacy, allowing everybody to be as evil as they wish, or keep the transparency, and admitting people with their benign faults. 2018-02-13T02:22:09Z safe joined #lisp 2018-02-13T02:22:21Z pjb: And democratie is based on free speach, so you should be able to take any speach. You can always go away if you don't want to see or hear. 2018-02-13T02:23:56Z pjb: Of course, mid-term this may very well not matter at all, assuming some kind of hard singularity… 2018-02-13T02:24:23Z Cymew quit (Ping timeout: 256 seconds) 2018-02-13T02:24:27Z pjb: If you're american and smart, go work for Space X! 2018-02-13T02:24:39Z fikka joined #lisp 2018-02-13T02:25:33Z d4ryus2 joined #lisp 2018-02-13T02:27:05Z smurfrobot quit (Remote host closed the connection) 2018-02-13T02:28:40Z d4ryus1 quit (Ping timeout: 240 seconds) 2018-02-13T02:29:05Z aeth: pjb: bad idea, SpaceX probably uses C++ 2018-02-13T02:29:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-13T02:29:25Z smurfrobot joined #lisp 2018-02-13T02:29:37Z aeth: The world needs more people writing CL professionally. 2018-02-13T02:31:50Z pjb: Only way: start up a company and hire CL programmers. 2018-02-13T02:32:15Z fart joined #lisp 2018-02-13T02:32:19Z Cymew joined #lisp 2018-02-13T02:32:49Z fart quit (Client Quit) 2018-02-13T02:34:14Z aeth: pjb: A "startup" implies that there will be a liquidity event at some point. This event is less and less likely to be an IPO. 2018-02-13T02:34:45Z aeth: There aren't really any CL companies that are large enough for a successful exit, either. 2018-02-13T02:35:04Z fikka joined #lisp 2018-02-13T02:36:21Z pjb: aeth: that depends on the size of the company. Basically as founder, you get to decide on the trajectory. 2018-02-13T02:36:44Z Cymew quit (Ping timeout: 256 seconds) 2018-02-13T02:36:57Z aeth: Founders only have control until they decide to sell shares to investors. 2018-02-13T02:37:18Z igemnace quit (Ping timeout: 256 seconds) 2018-02-13T02:37:43Z pjb: Yes, but they decide. 2018-02-13T02:38:18Z Cymew joined #lisp 2018-02-13T02:40:04Z fikka quit (Ping timeout: 260 seconds) 2018-02-13T02:40:20Z Zhivago: The only way for a CL start-up to succeed is for CL not to matter to the start-up. 2018-02-13T02:40:44Z lnostdal quit (Ping timeout: 255 seconds) 2018-02-13T02:40:46Z Zhivago: That is, the decision to use CL should be purely expedient. 2018-02-13T02:40:50Z pjb: Of course. 2018-02-13T02:41:01Z Zhivago: Otherwise all of the network effects are entirely stacked against you. 2018-02-13T02:41:58Z smurfrobot quit (Remote host closed the connection) 2018-02-13T02:42:02Z Zhivago: It's increasingly unclear what actual advantages really remain to CL. 2018-02-13T02:42:19Z aeth: Zhivago: The only thing advertising that you use Lisp gets you is the front page of HN 2018-02-13T02:42:20Z Zhivago: Macros, multiple-dispatch, and conditions, perhaps. 2018-02-13T02:42:37Z aeth: Zhivago: The advantage of CL is imo the performance of SBCL. 2018-02-13T02:43:02Z aeth: The languages faster than CL tend to be very, very different from CL (C, C++, Rust, Fortran, etc.) 2018-02-13T02:43:23Z Cymew quit (Ping timeout: 268 seconds) 2018-02-13T02:43:34Z Zhivago: SBCL performance isn't that great -- last I looked I don't remember it doing significantly better than v8 javascript. 2018-02-13T02:43:44Z aeth: It depends on what you're doing. 2018-02-13T02:43:50Z aeth: JITs are great for magic. 2018-02-13T02:44:13Z Cymew joined #lisp 2018-02-13T02:44:25Z aeth: JITs are great for having the easiest to read source code in carefully crafted microbenchmarks... but those benchmarks probably fall apart if you change even small details in the source 2018-02-13T02:45:11Z fikka joined #lisp 2018-02-13T02:45:16Z Zhivago: JITs are generally not great for microbenchmarks since they usually need do to profiling on the fly. 2018-02-13T02:45:43Z aeth: I've seen some LuaJIT microbenchmarks, and the source examples are very elegant, but that doesn't change the fact that Lua is a language where everything's a giant hash table unless the JIT decides it's safe to ignore that. 2018-02-13T02:45:44Z Zhivago: But sure -- benchmarks are tricky to make meaningful. 2018-02-13T02:46:05Z Zhivago: Yeah, but I'm talking about V8 which is compiling to native code on the fly. 2018-02-13T02:48:17Z aeth: If a CL implementation even had 10% of the resources pouring into JS, it would be much easier to optimize. 2018-02-13T02:48:28Z aeth: JS is not an easy language to make fast, it's just that it has a ton of money behind it. 2018-02-13T02:48:45Z Cymew quit (Ping timeout: 256 seconds) 2018-02-13T02:49:01Z Zhivago: Until we get to typescript, I would agree. 2018-02-13T02:49:23Z Zhivago: At which point the differences pretty much seem to disappear again. 2018-02-13T02:50:06Z Zhivago: So, my conclusion is that macros are really the only interesting feature CL has left. 2018-02-13T02:50:09Z fikka quit (Ping timeout: 264 seconds) 2018-02-13T02:50:11Z Cymew joined #lisp 2018-02-13T02:50:46Z aeth: Most comparable languages to CL are using JITs to be fast. Even Racket, afaik, is moving to a JIT. 2018-02-13T02:51:16Z Zhivago: Sure, JIT even makes sense for C. 2018-02-13T02:51:23Z aeth: With the right GC, an AOT-compiled CL could get *predictable* performance. There's probably a niche for that. 2018-02-13T02:51:30Z igemnace joined #lisp 2018-02-13T02:51:34Z Zhivago: Except rather than JIT, you should be thinking of it as dynamic profile driven optimization. 2018-02-13T02:51:51Z smurfrobot joined #lisp 2018-02-13T02:51:57Z Zhivago: Being AOT means that you're not optimizing for the actual workload. 2018-02-13T02:52:21Z Zhivago: But dynamic profile based optimization isn't quite JIT either. 2018-02-13T02:52:35Z Zhivago: There's a broad space between AOT and JIT. 2018-02-13T02:53:42Z Zhivago: Just as you can get improved cache performance by judicious use of bytecode interpreters. 2018-02-13T02:54:11Z aeth: Zhivago: I think the feature of CL that works well is its development environment. Emacs + SLIME is basically half-Lisp Machine knockoff and half Smalltalk knockoff, but it still beats most languages. 2018-02-13T02:54:32Z Cymew quit (Ping timeout: 260 seconds) 2018-02-13T02:55:23Z aeth: A lot of people do really hacky things in their languages to try to get similar live coding experiences. 2018-02-13T02:56:05Z aeth: What CL needs, though, is a modern written-in-CL IDE. 2018-02-13T02:56:16Z Cymew joined #lisp 2018-02-13T02:56:23Z smurfrobot quit (Remote host closed the connection) 2018-02-13T02:56:36Z smurfrobot joined #lisp 2018-02-13T02:57:24Z vtomole: https://trends.google.com/trends/explore?date=all&q=common%20lisp 2018-02-13T02:57:33Z Zhivago: That's a fair argument. Although the incremental destructve modification of the environment makes that a bit risky. 2018-02-13T02:58:14Z Zhivago: I'm also trying to think of what language level features are important for that. 2018-02-13T02:59:20Z aeth: Zhivago: Well, I think the only safe way to do a CL IDE would be to essentially run two CLs, and keep the inferior-lisp thing going like in the current Emacs+SLIME methodology 2018-02-13T02:59:46Z aeth: The only alternative I know of is to delay the IDE project 5+ years while writing a new CL implementation, etc. 2018-02-13T03:00:46Z Zhivago: Well, it's not like the inferior-lisp is safe, but as long as you have good persistence at the file level, it probably doesn't matter if you also break the IDE. 2018-02-13T03:00:57Z Cymew quit (Ping timeout: 260 seconds) 2018-02-13T03:01:22Z aeth: It's not like Emacs is particularly reliable. 2018-02-13T03:01:49Z aeth: Personally, I 'garbage collect' my Emacs by closing it regularly, and starting a fresh Emacs. People who leave it running for long periods of time tend to see the memory really climb iirc. 2018-02-13T03:01:54Z Zhivago: What I've observed for myself is that I don't really care about live coding or the repl any more, since the machines are so fast today that I can just run a new instance through dynamically from scratch. 2018-02-13T03:02:14Z Cymew joined #lisp 2018-02-13T03:03:13Z aeth: Zhivago: You should look at some of the CEPL videos for some modern live coding. It's always more interesting when graphical. 2018-02-13T03:04:10Z aeth: https://www.youtube.com/user/CBaggers/videos 2018-02-13T03:05:15Z fikka joined #lisp 2018-02-13T03:06:41Z Cymew quit (Ping timeout: 248 seconds) 2018-02-13T03:07:57Z osalberger joined #lisp 2018-02-13T03:08:13Z Cymew joined #lisp 2018-02-13T03:09:53Z fikka quit (Ping timeout: 248 seconds) 2018-02-13T03:12:12Z smurfrobot quit (Remote host closed the connection) 2018-02-13T03:12:45Z Cymew quit (Ping timeout: 256 seconds) 2018-02-13T03:14:14Z Cymew joined #lisp 2018-02-13T03:14:14Z stacksmith: On the other hand, https://trends.google.com/trends/explore?date=all&q=linux 2018-02-13T03:16:36Z lima4_ quit (Quit: Connection closed for inactivity) 2018-02-13T03:16:53Z aeth: I guess (nearly) everything technical dropped as the average Google user became less technical over time? 2018-02-13T03:17:18Z pjb: aeth: have a look at Clozure CL.app, and at MCLIDE.app 2018-02-13T03:17:58Z stacksmith: There seems to be an overall downward bias. except https://trends.google.com/trends/explore?date=all&q=python 2018-02-13T03:18:44Z pjb: aeth: nope, I've got a (uptime)"Up 0d 19h 40m 37s (Mon 2018-02-12 08:37:50), 72 buffers, 19 files" and only 5671080 KB of VSZ. 2018-02-13T03:18:44Z pjb: 2018-02-13T03:18:50Z milanj quit (Quit: This computer has gone to sleep) 2018-02-13T03:19:09Z Cymew quit (Ping timeout: 260 seconds) 2018-02-13T03:19:10Z Zhivago: I expect it is purely related to the rise of the smartphone. 2018-02-13T03:19:43Z smurfrobot joined #lisp 2018-02-13T03:19:45Z arescorpio quit (Excess Flood) 2018-02-13T03:20:16Z Cymew joined #lisp 2018-02-13T03:20:42Z pjb: Zhivago: incremental destruction of the environment doesn't seem to be much of a problem with emacs, Smalltalk and even long-running lisp images in slime… 2018-02-13T03:21:05Z pjb: It can occur, but rarely. And since we're file-based anyways… 2018-02-13T03:24:24Z smurfrobot quit (Ping timeout: 265 seconds) 2018-02-13T03:24:47Z Cymew quit (Ping timeout: 248 seconds) 2018-02-13T03:25:28Z Zhivago: Well, you get method, function and variable accumulation and struct redefinition. It's always a bit annoying when stuff stops working after a fresh restart -- but with discipline, I'm sure it can be mostly avoided. 2018-02-13T03:25:34Z fikka joined #lisp 2018-02-13T03:26:13Z Cymew joined #lisp 2018-02-13T03:29:09Z smasta quit (Ping timeout: 264 seconds) 2018-02-13T03:29:30Z aeth: Structs, inline functions, and macros are the problem points afaik. Sometimes packages, too. 2018-02-13T03:30:07Z fikka quit (Ping timeout: 248 seconds) 2018-02-13T03:30:23Z aeth: You could afaik fix the first three with a system that tracks users of the struct/inline function/macro and recompiles those with your C-c C-c in addition to the thing itself 2018-02-13T03:30:34Z Cymew quit (Ping timeout: 256 seconds) 2018-02-13T03:31:59Z aeth: I'm not sure how you'd be able to get around the "warning: FOO also exports the following symbols:" thing in SBCL if you remove an exported symbol. (I don't think it used to be a warning, though? I think it used to be an error.) 2018-02-13T03:32:01Z dieggsy quit (Quit: ERC (IRC client for Emacs 27.0.50)) 2018-02-13T03:32:55Z aeth: But what I personally do is M-x s-r-i-l frequently to make sure that everything still works. 2018-02-13T03:33:13Z Cymew joined #lisp 2018-02-13T03:33:28Z aeth: Loading with :verbose t is a must, too. 2018-02-13T03:35:51Z smurfrobot joined #lisp 2018-02-13T03:38:03Z Cymew quit (Ping timeout: 256 seconds) 2018-02-13T03:39:13Z Cymew joined #lisp 2018-02-13T03:40:53Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-13T03:43:49Z Cymew quit (Ping timeout: 268 seconds) 2018-02-13T03:45:12Z Cymew joined #lisp 2018-02-13T03:45:55Z fikka joined #lisp 2018-02-13T03:46:53Z stacksmith: aeth: what does M-x s-r-i-l do? 2018-02-13T03:47:09Z dddddd quit (Remote host closed the connection) 2018-02-13T03:47:36Z aeth: slime-restart-inferior-lisp 2018-02-13T03:47:49Z Pixel_Outlaw quit (Quit: Leaving) 2018-02-13T03:48:16Z aeth: Even for things that are fixable in theory, it's often just faster to restart everything and quickload the project again 2018-02-13T03:49:51Z Cymew quit (Ping timeout: 248 seconds) 2018-02-13T03:51:10Z Cymew joined #lisp 2018-02-13T03:51:26Z stacksmith: true. I've been typing and tabbing like a fool. s-r-i-l is almost easier. 2018-02-13T03:51:48Z Zhivago: That's my experience -- incremental evaluation was a great solution when machines were slower. 2018-02-13T03:52:16Z aeth: stacksmith: depending on what you have installed s-r-i-l might not be unambiguous. You might need sl-r-i-l or something 2018-02-13T03:52:24Z smurfrobot joined #lisp 2018-02-13T03:53:25Z aeth: Zhivago: But taken to the extreme of CEPL, it's still a benefit. Ime, you're going to experience (at best) seconds of delay without a live coding architecture like CEPL. 2018-02-13T03:54:32Z drmeister: So, several years ago I wrote this Common Lisp application to generate meeting schedules for our Temple University Chemistry graduate recruiting weekend. 2018-02-13T03:55:01Z drmeister: It has to work out schedules that match ~30 visiting students with ~25 faculty and match interests, time availability and a bunch of other constraints. 2018-02-13T03:55:31Z drmeister: I used the same math to generate the schedules that Cando uses to design molecules - Monte Carlo simulated annealing. 2018-02-13T03:55:44Z drmeister: I ran it in SBCL for several years. 2018-02-13T03:55:56Z Cymew quit (Ping timeout: 256 seconds) 2018-02-13T03:56:01Z drmeister: This is the first year I was able to run it in Clasp - in a jupyter notebook no less. 2018-02-13T03:56:37Z drmeister: Things are moving forward. 2018-02-13T03:57:10Z Cymew joined #lisp 2018-02-13T03:57:21Z smurfrobot quit (Ping timeout: 264 seconds) 2018-02-13T03:57:29Z aeth: drmeister: Did you benchmark it? 2018-02-13T04:00:53Z pfdietz: Cracauer has a blog post about LLVM and SBCL GC. Clasp people interested? https://medium.com/@MartinCracauer/llvms-garbage-collection-facilities-and-sbcl-s-generational-gc-a13eedfb1b31 2018-02-13T04:01:35Z Cymew quit (Ping timeout: 248 seconds) 2018-02-13T04:01:56Z drmeister: It takes 13.3 seconds to do one annealing run in SBCL and 57.9 seconds in Clasp. 2018-02-13T04:02:03Z drmeister: So we have work to do still - but not bad. 2018-02-13T04:03:00Z drmeister: pfdietz: Oh - very interested - thanks 2018-02-13T04:03:02Z Cymew joined #lisp 2018-02-13T04:05:14Z kajo quit (Quit: WeeChat 2.0.1) 2018-02-13T04:06:44Z kajo joined #lisp 2018-02-13T04:07:13Z stacksmith: pfdietz: thanks for the link! 2018-02-13T04:07:34Z Cymew quit (Ping timeout: 260 seconds) 2018-02-13T04:10:04Z zaquest quit (Read error: Connection reset by peer) 2018-02-13T04:10:22Z zaquest joined #lisp 2018-02-13T04:11:41Z aindilis quit (Ping timeout: 256 seconds) 2018-02-13T04:13:03Z Cymew joined #lisp 2018-02-13T04:16:12Z drmeister: The only problem was that ATOM in Cando means something different from CL:ATOM - so I had to package prefix it. 2018-02-13T04:16:25Z drmeister shakes his fist at early Lisp programmers. 2018-02-13T04:17:27Z Cymew quit (Ping timeout: 240 seconds) 2018-02-13T04:19:41Z drmeister: I don't care what anyone says - CL:ATOM is a terrible special symbol to use in Common Lisp. Democritus reserved that word 2,500 years ago. 2018-02-13T04:20:04Z pjb: drmeister: but he was as wrong as John McCarthy. 2018-02-13T04:20:17Z pjb: Atoms are not atomic. ATOMs neither. 2018-02-13T04:22:40Z smurfrobot joined #lisp 2018-02-13T04:23:27Z fikka quit (Ping timeout: 248 seconds) 2018-02-13T04:23:28Z shka joined #lisp 2018-02-13T04:25:24Z beach: Good morning everyone! 2018-02-13T04:27:22Z drmeister: Touche! 2018-02-13T04:27:32Z drmeister: Hi beach 2018-02-13T04:29:04Z pfdietz: You can shadow ATOM in the package you are working in, and use CL:ATOM if you want that standard symbol. 2018-02-13T04:29:24Z drmeister: That's what I've done in Cando 2018-02-13T04:31:05Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-13T04:32:22Z smurfrobot joined #lisp 2018-02-13T04:34:36Z schoppenhauer quit (Ping timeout: 256 seconds) 2018-02-13T04:34:48Z drmeister is old-school 2018-02-13T04:35:53Z damke_ joined #lisp 2018-02-13T04:36:11Z schoppenhauer joined #lisp 2018-02-13T04:36:49Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-13T04:37:46Z smurfrobot joined #lisp 2018-02-13T04:38:15Z pierpa quit (Quit: Page closed) 2018-02-13T04:39:25Z fikka joined #lisp 2018-02-13T04:40:46Z Kundry_Wag joined #lisp 2018-02-13T04:42:27Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-13T04:43:33Z mfiano: Is there a way to add documentation to implicit DEFSTRUCT accessors/constructor other than using #'documentation, thus not getting picked up by Quickdocs? 2018-02-13T04:44:17Z fikka quit (Ping timeout: 248 seconds) 2018-02-13T04:45:10Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-02-13T04:47:49Z MrBismuth quit (Quit: https://www.youtube.com/watch?v=xIIqYqtR1lY -- Suicide is Painless - Johnny Mandel) 2018-02-13T04:48:26Z kajo quit (Quit: WeeChat 2.0.1) 2018-02-13T04:50:10Z parjanya quit (Ping timeout: 240 seconds) 2018-02-13T04:50:29Z kajo joined #lisp 2018-02-13T04:51:27Z aindilis joined #lisp 2018-02-13T04:55:38Z osalberger quit (Quit: Going offline, see ya! (www.adiirc.com)) 2018-02-13T04:59:47Z fikka joined #lisp 2018-02-13T05:02:01Z z3t0 joined #lisp 2018-02-13T05:02:49Z z3t0 quit (Remote host closed the connection) 2018-02-13T05:03:24Z z3t0 joined #lisp 2018-02-13T05:04:37Z fikka quit (Ping timeout: 260 seconds) 2018-02-13T05:06:10Z MrBusiness joined #lisp 2018-02-13T05:08:02Z z3t0 quit (Ping timeout: 256 seconds) 2018-02-13T05:10:02Z rumbler31 quit (Remote host closed the connection) 2018-02-13T05:16:38Z Bike quit (Quit: Lost terminal) 2018-02-13T05:20:06Z fikka joined #lisp 2018-02-13T05:20:38Z parjanya joined #lisp 2018-02-13T05:21:06Z smurfrobot joined #lisp 2018-02-13T05:21:49Z smurfrobot quit (Read error: Connection reset by peer) 2018-02-13T05:22:17Z smurfrobot joined #lisp 2018-02-13T05:24:53Z fikka quit (Ping timeout: 255 seconds) 2018-02-13T05:26:47Z kajo quit (Read error: Connection reset by peer) 2018-02-13T05:26:55Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-13T05:28:11Z kajo joined #lisp 2018-02-13T05:29:56Z fortitude quit (Read error: Connection reset by peer) 2018-02-13T05:30:41Z fikka joined #lisp 2018-02-13T05:31:23Z fortitude joined #lisp 2018-02-13T05:34:46Z mjl_ joined #lisp 2018-02-13T05:35:04Z fikka quit (Ping timeout: 260 seconds) 2018-02-13T05:40:01Z shka: hey 2018-02-13T05:40:30Z shka: how do you write function on integers that is supposed to overflow? 2018-02-13T05:40:31Z fikka joined #lisp 2018-02-13T05:40:55Z shka: what i do is to chain it with logand and maximal fixnum 2018-02-13T05:41:05Z shka: not sure if that's the best way to do it 2018-02-13T05:41:20Z aeth: What is it supposed to do when it overflows? 2018-02-13T05:42:53Z shka: i don't care, it is a hash function 2018-02-13T05:43:04Z vtomole quit (Ping timeout: 260 seconds) 2018-02-13T05:43:12Z aeth: If you want it to wrap around, I would probably just use mod, but I only have ever done that with unsigned integers. If you want it to be signed, I suppose you can just use mod anyway and then add to it, but that could be inefficient. 2018-02-13T05:43:27Z aeth: mod with a power of 2 could in theory be optimized, I think? 2018-02-13T05:44:22Z aeth: SBCL seems to optimize mod with a power of 2 2018-02-13T05:44:58Z shka: well, that is essentially the same as logand with max fixnum 2018-02-13T05:45:19Z shka: but what i'm trying to figure out, is how to avoid promoting fixnum to integer 2018-02-13T05:45:21Z fikka quit (Ping timeout: 264 seconds) 2018-02-13T05:45:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-13T05:48:54Z aeth: What I tend to do is work with (unsigned-byte 8), (unsigned-byte 32), or (unsigned-byte 64) and use mod to keep it in that range. (unsigned-byte 64) could, in theory, not be a consing bignum if part of a specialized array and used in a 64-bit implementation, even though it can be larger than the fixnum size. It works in SBCL, I'd have to see how many support it, though. 2018-02-13T05:49:02Z damke_ joined #lisp 2018-02-13T05:49:13Z aeth: (I guess (unsigned-byte 16) would also work... I just have never needed to use it yet) 2018-02-13T05:50:00Z smasta joined #lisp 2018-02-13T05:50:57Z fisxoj quit (Quit: fisxoj) 2018-02-13T05:51:32Z aeth: It looks like SBCL will even optimize mod for (expt 2 64) as long as you do use an array to avoid the boxing. e.g. (defun foobar (x) (declare ((simple-array (unsigned-byte 64) (1)) x)) (setf (aref x 0) (mod (1+ (aref x 0)) (expt 2 64))) x) 2018-02-13T05:53:41Z aeth: When it's a fixnum for sure, no need for an array for it to be optimized, e.g. (defun foo (x) (declare ((unsigned-byte 32) x)) (mod (1+ x) (expt 2 32))) 2018-02-13T05:54:41Z smasta quit (Ping timeout: 248 seconds) 2018-02-13T05:56:06Z aeth: I'm not sure how hard these optimizations would be to introduce to implementations that don't have them at the moment. 2018-02-13T05:57:05Z wigust joined #lisp 2018-02-13T06:00:40Z fikka joined #lisp 2018-02-13T06:02:30Z Arcaelyx joined #lisp 2018-02-13T06:03:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-13T06:03:39Z Arcaelyx_ quit (Ping timeout: 260 seconds) 2018-02-13T06:05:16Z fikka quit (Ping timeout: 256 seconds) 2018-02-13T06:05:45Z JenElizabeth joined #lisp 2018-02-13T06:11:05Z fikka joined #lisp 2018-02-13T06:11:33Z sz0 joined #lisp 2018-02-13T06:11:49Z mjl_ quit (Ping timeout: 268 seconds) 2018-02-13T06:13:06Z damke joined #lisp 2018-02-13T06:13:15Z wigust quit (Quit: ZNC 1.6.5 - http://znc.in) 2018-02-13T06:14:44Z quazimodo quit (Ping timeout: 260 seconds) 2018-02-13T06:15:53Z fikka quit (Ping timeout: 255 seconds) 2018-02-13T06:17:16Z dieggsy joined #lisp 2018-02-13T06:21:15Z fikka joined #lisp 2018-02-13T06:21:56Z damke_ joined #lisp 2018-02-13T06:24:01Z pillton: clhs mask-field 2018-02-13T06:24:02Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_mask_f.htm 2018-02-13T06:24:21Z damke quit (Ping timeout: 264 seconds) 2018-02-13T06:26:23Z fikka quit (Ping timeout: 276 seconds) 2018-02-13T06:27:01Z LocaMocha joined #lisp 2018-02-13T06:33:03Z Xach quit (Ping timeout: 248 seconds) 2018-02-13T06:34:33Z Xach joined #lisp 2018-02-13T06:39:09Z Karl_Dscc joined #lisp 2018-02-13T06:40:10Z LocaMocha quit (Ping timeout: 240 seconds) 2018-02-13T06:41:19Z fikka joined #lisp 2018-02-13T06:42:14Z LocaMocha joined #lisp 2018-02-13T06:43:35Z nullman quit (Remote host closed the connection) 2018-02-13T06:43:48Z nullman joined #lisp 2018-02-13T06:43:49Z smasta joined #lisp 2018-02-13T06:44:12Z vlatkoB joined #lisp 2018-02-13T06:45:48Z fikka quit (Ping timeout: 252 seconds) 2018-02-13T06:48:01Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-13T06:48:33Z smasta quit (Ping timeout: 248 seconds) 2018-02-13T06:52:49Z LocaMocha quit (Ping timeout: 248 seconds) 2018-02-13T06:57:10Z LocaMocha joined #lisp 2018-02-13T06:57:54Z nullman quit (Ping timeout: 252 seconds) 2018-02-13T06:58:46Z nullman joined #lisp 2018-02-13T06:59:57Z orivej quit (Ping timeout: 240 seconds) 2018-02-13T07:00:20Z flamebeard joined #lisp 2018-02-13T07:01:37Z fikka joined #lisp 2018-02-13T07:06:39Z fikka quit (Ping timeout: 260 seconds) 2018-02-13T07:10:35Z rumbler31 joined #lisp 2018-02-13T07:11:29Z Oladon quit (Quit: Leaving.) 2018-02-13T07:12:03Z fikka joined #lisp 2018-02-13T07:13:05Z CrazyEddy quit (Ping timeout: 248 seconds) 2018-02-13T07:13:34Z Karl_Dscc quit (Remote host closed the connection) 2018-02-13T07:14:11Z shka: where can i find antik manual nowdays? 2018-02-13T07:14:15Z ym quit (Read error: Connection reset by peer) 2018-02-13T07:14:54Z ym joined #lisp 2018-02-13T07:15:11Z rumbler31 quit (Ping timeout: 248 seconds) 2018-02-13T07:16:30Z whoman: antik what? 2018-02-13T07:16:40Z shka: http://quickref.common-lisp.net/antik.html 2018-02-13T07:16:43Z shka: got it 2018-02-13T07:16:48Z whoman: ah 2018-02-13T07:16:49Z fikka quit (Ping timeout: 248 seconds) 2018-02-13T07:19:09Z CrazyEddy joined #lisp 2018-02-13T07:19:11Z LocaMocha quit (Ping timeout: 255 seconds) 2018-02-13T07:19:56Z LocaMocha joined #lisp 2018-02-13T07:21:30Z LocaMocha quit (Read error: Connection reset by peer) 2018-02-13T07:21:59Z LocaMocha joined #lisp 2018-02-13T07:22:46Z LocaMocha is now known as Sauvin 2018-02-13T07:22:56Z smurfrobot joined #lisp 2018-02-13T07:25:06Z froggey quit (Ping timeout: 265 seconds) 2018-02-13T07:27:39Z smurfrobot quit (Ping timeout: 260 seconds) 2018-02-13T07:28:57Z Tobbi joined #lisp 2018-02-13T07:31:59Z scymtym quit (Ping timeout: 268 seconds) 2018-02-13T07:32:01Z fikka joined #lisp 2018-02-13T07:36:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-13T07:37:56Z smasta joined #lisp 2018-02-13T07:42:32Z fikka joined #lisp 2018-02-13T07:42:44Z smasta quit (Ping timeout: 256 seconds) 2018-02-13T07:42:55Z safe quit (Read error: Connection reset by peer) 2018-02-13T07:44:08Z BitPuffin joined #lisp 2018-02-13T07:47:10Z fikka quit (Ping timeout: 240 seconds) 2018-02-13T07:49:04Z m00natic joined #lisp 2018-02-13T07:50:56Z whoman quit (Remote host closed the connection) 2018-02-13T07:51:24Z saki joined #lisp 2018-02-13T07:51:26Z saki quit (Client Quit) 2018-02-13T07:51:42Z whoman joined #lisp 2018-02-13T07:52:10Z chiyosaki quit (Ping timeout: 240 seconds) 2018-02-13T07:52:36Z fikka joined #lisp 2018-02-13T07:53:03Z saki joined #lisp 2018-02-13T07:55:30Z orivej joined #lisp 2018-02-13T07:56:57Z Cymew joined #lisp 2018-02-13T07:57:39Z chiyosaki joined #lisp 2018-02-13T07:57:47Z saki quit (Ping timeout: 256 seconds) 2018-02-13T07:57:53Z fikka quit (Ping timeout: 268 seconds) 2018-02-13T07:58:43Z mishoo joined #lisp 2018-02-13T08:04:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-13T08:09:16Z smurfrobot joined #lisp 2018-02-13T08:12:42Z fikka joined #lisp 2018-02-13T08:16:02Z chiyosaki quit (Ping timeout: 256 seconds) 2018-02-13T08:16:06Z sz0 quit (Quit: Connection closed for inactivity) 2018-02-13T08:16:55Z saki joined #lisp 2018-02-13T08:17:32Z fikka quit (Ping timeout: 276 seconds) 2018-02-13T08:17:32Z smurfrobot quit (Ping timeout: 276 seconds) 2018-02-13T08:19:44Z solyd joined #lisp 2018-02-13T08:26:08Z solyd quit (Quit: solyd) 2018-02-13T08:26:39Z shka quit (Ping timeout: 248 seconds) 2018-02-13T08:27:06Z solyd joined #lisp 2018-02-13T08:27:44Z dieggsy quit (Ping timeout: 255 seconds) 2018-02-13T08:27:50Z Murii joined #lisp 2018-02-13T08:30:26Z Kundry_Wag joined #lisp 2018-02-13T08:30:42Z milanj joined #lisp 2018-02-13T08:32:37Z thijso joined #lisp 2018-02-13T08:32:59Z fikka joined #lisp 2018-02-13T08:33:24Z solyd quit (Quit: solyd) 2018-02-13T08:35:26Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-13T08:38:49Z nowhereman_ quit (Ping timeout: 260 seconds) 2018-02-13T08:39:43Z scymtym joined #lisp 2018-02-13T08:40:46Z Kundry_Wag joined #lisp 2018-02-13T08:41:35Z heurist`_` quit (Ping timeout: 248 seconds) 2018-02-13T08:45:07Z Kundry_Wag quit (Ping timeout: 260 seconds) 2018-02-13T08:46:11Z saki quit (Remote host closed the connection) 2018-02-13T08:48:00Z thijso quit (Remote host closed the connection) 2018-02-13T08:49:42Z orivej quit (Read error: Connection reset by peer) 2018-02-13T08:53:29Z JenElizabeth quit (Remote host closed the connection) 2018-02-13T08:54:41Z fikka quit (Ping timeout: 276 seconds) 2018-02-13T08:55:16Z solyd joined #lisp 2018-02-13T08:57:20Z mlf quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-13T09:02:39Z fikka joined #lisp 2018-02-13T09:03:30Z JenElizabeth joined #lisp 2018-02-13T09:06:40Z heurist`_` joined #lisp 2018-02-13T09:09:53Z thodg quit (Ping timeout: 255 seconds) 2018-02-13T09:12:01Z whoman quit (Remote host closed the connection) 2018-02-13T09:13:12Z whoman joined #lisp 2018-02-13T09:16:06Z igemnace quit (Quit: WeeChat 2.0.1) 2018-02-13T09:17:42Z scymtym quit (Remote host closed the connection) 2018-02-13T09:17:49Z scymtym joined #lisp 2018-02-13T09:20:55Z smurfrobot joined #lisp 2018-02-13T09:21:29Z hhdave_ joined #lisp 2018-02-13T09:21:31Z saki joined #lisp 2018-02-13T09:22:45Z Lycurgus joined #lisp 2018-02-13T09:25:05Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-13T09:26:14Z smasta joined #lisp 2018-02-13T09:30:56Z fortitude quit (Read error: Connection reset by peer) 2018-02-13T09:31:02Z smasta quit (Ping timeout: 255 seconds) 2018-02-13T09:33:43Z fortitude joined #lisp 2018-02-13T09:37:19Z shrdlu68 quit (Ping timeout: 256 seconds) 2018-02-13T09:37:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-13T09:38:26Z thijso joined #lisp 2018-02-13T09:43:14Z fikka joined #lisp 2018-02-13T09:46:35Z jibanes quit (Ping timeout: 256 seconds) 2018-02-13T09:48:06Z _cosmonaut_ joined #lisp 2018-02-13T09:48:07Z fikka quit (Ping timeout: 260 seconds) 2018-02-13T09:48:21Z jibanes joined #lisp 2018-02-13T09:48:22Z python476 joined #lisp 2018-02-13T09:53:42Z pagnol joined #lisp 2018-02-13T09:56:52Z aindilis quit (Ping timeout: 265 seconds) 2018-02-13T09:59:49Z thodg joined #lisp 2018-02-13T09:59:59Z aindilis joined #lisp 2018-02-13T10:03:22Z fikka joined #lisp 2018-02-13T10:03:28Z pillton quit (Ping timeout: 248 seconds) 2018-02-13T10:04:23Z solyd quit (Quit: solyd) 2018-02-13T10:06:33Z solyd joined #lisp 2018-02-13T10:08:01Z fikka quit (Ping timeout: 248 seconds) 2018-02-13T10:20:20Z smasta joined #lisp 2018-02-13T10:21:27Z fikka joined #lisp 2018-02-13T10:23:07Z daniel-s joined #lisp 2018-02-13T10:24:57Z smasta quit (Ping timeout: 240 seconds) 2018-02-13T10:25:18Z angavrilov joined #lisp 2018-02-13T10:35:24Z ggherdov quit 2018-02-13T10:37:26Z nowhereman_ joined #lisp 2018-02-13T10:37:58Z ggherdov joined #lisp 2018-02-13T10:39:33Z solyd quit (Quit: solyd) 2018-02-13T10:41:53Z nowhere_man joined #lisp 2018-02-13T10:42:47Z nowhereman_ quit (Ping timeout: 265 seconds) 2018-02-13T10:46:43Z solyd joined #lisp 2018-02-13T10:49:02Z thodg: anyone into streams ? 2018-02-13T10:49:15Z thodg: and multi agent programming 2018-02-13T10:53:57Z dmiles joined #lisp 2018-02-13T10:57:39Z thodg: please msg me 2018-02-13T10:58:23Z nowhereman_ joined #lisp 2018-02-13T10:58:47Z nowhere_man quit (Ping timeout: 255 seconds) 2018-02-13T11:01:02Z ludston_ quit (Read error: Connection reset by peer) 2018-02-13T11:01:10Z nirved joined #lisp 2018-02-13T11:01:29Z ludston joined #lisp 2018-02-13T11:01:34Z smurfrobot joined #lisp 2018-02-13T11:06:17Z smurfrobot quit (Ping timeout: 260 seconds) 2018-02-13T11:13:12Z attila_lendvai joined #lisp 2018-02-13T11:13:12Z attila_lendvai quit (Changing host) 2018-02-13T11:13:12Z attila_lendvai joined #lisp 2018-02-13T11:14:29Z smasta joined #lisp 2018-02-13T11:16:03Z SuperJen joined #lisp 2018-02-13T11:19:12Z smasta quit (Ping timeout: 256 seconds) 2018-02-13T11:19:38Z JenElizabeth quit (Ping timeout: 255 seconds) 2018-02-13T11:20:43Z SuperJen quit (Remote host closed the connection) 2018-02-13T11:21:01Z JenElizabeth joined #lisp 2018-02-13T11:25:01Z smasta joined #lisp 2018-02-13T11:28:37Z Denommus` joined #lisp 2018-02-13T11:30:09Z smasta quit (Ping timeout: 248 seconds) 2018-02-13T11:30:35Z Denommus quit (Ping timeout: 276 seconds) 2018-02-13T11:32:07Z daniel-s quit (Remote host closed the connection) 2018-02-13T11:33:45Z p_l quit 2018-02-13T11:34:14Z p_l joined #lisp 2018-02-13T11:50:56Z EvW joined #lisp 2018-02-13T11:52:31Z mishoo quit (Ping timeout: 248 seconds) 2018-02-13T11:53:00Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-13T11:53:17Z markong joined #lisp 2018-02-13T11:54:40Z thodg quit (Ping timeout: 240 seconds) 2018-02-13T11:55:26Z attila_lendvai joined #lisp 2018-02-13T11:55:26Z attila_lendvai quit (Changing host) 2018-02-13T11:55:26Z attila_lendvai joined #lisp 2018-02-13T11:55:58Z dmh quit 2018-02-13T11:56:15Z dmh joined #lisp 2018-02-13T12:00:14Z mishoo joined #lisp 2018-02-13T12:00:17Z d4ryus2 is now known as d4ryus 2018-02-13T12:00:24Z Cthulhux: no 2018-02-13T12:12:17Z mishoo quit (Ping timeout: 248 seconds) 2018-02-13T12:15:27Z jibanes quit (Ping timeout: 240 seconds) 2018-02-13T12:17:36Z jibanes joined #lisp 2018-02-13T12:21:19Z Mandus quit (Ping timeout: 248 seconds) 2018-02-13T12:23:05Z Mandus joined #lisp 2018-02-13T12:24:26Z Denommus` quit (Ping timeout: 255 seconds) 2018-02-13T12:26:05Z EvW quit (Ping timeout: 255 seconds) 2018-02-13T12:37:33Z quazimodo joined #lisp 2018-02-13T12:39:32Z fikka quit (Quit: leaving) 2018-02-13T12:39:49Z fikka joined #lisp 2018-02-13T12:43:36Z nydel: g'morning all 2018-02-13T12:43:36Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-13T12:44:40Z EvW joined #lisp 2018-02-13T12:45:03Z attila_lendvai joined #lisp 2018-02-13T12:45:03Z attila_lendvai quit (Changing host) 2018-02-13T12:45:03Z attila_lendvai joined #lisp 2018-02-13T12:59:31Z smokeink joined #lisp 2018-02-13T12:59:55Z nowhere_man joined #lisp 2018-02-13T13:02:26Z smurfrobot joined #lisp 2018-02-13T13:04:33Z nowhereman_ quit (Ping timeout: 264 seconds) 2018-02-13T13:06:57Z wxie joined #lisp 2018-02-13T13:06:59Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-13T13:07:25Z jmercouris joined #lisp 2018-02-13T13:07:34Z jmercouris: jasom: do you have a link? 2018-02-13T13:07:51Z rumbler31 joined #lisp 2018-02-13T13:11:40Z jmercouris quit (Ping timeout: 240 seconds) 2018-02-13T13:12:04Z makomo joined #lisp 2018-02-13T13:15:26Z jmercouris joined #lisp 2018-02-13T13:18:39Z jmercouris: I'm trying to remember, there's some package to turn asdf systems into deb packages automatically, or something of that nature, anyone know what I'm talking about? 2018-02-13T13:19:30Z lnostdal joined #lisp 2018-02-13T13:20:29Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-13T13:21:53Z attila_lendvai joined #lisp 2018-02-13T13:21:54Z JenElizabeth quit (Remote host closed the connection) 2018-02-13T13:22:52Z JenElizabeth joined #lisp 2018-02-13T13:23:10Z Xach: I think dim has something called ql2deb 2018-02-13T13:23:24Z JenElizabeth quit (Remote host closed the connection) 2018-02-13T13:23:56Z JenElizabeth joined #lisp 2018-02-13T13:24:54Z JenElizabeth quit (Remote host closed the connection) 2018-02-13T13:24:57Z shifty quit (Ping timeout: 240 seconds) 2018-02-13T13:25:19Z raynold quit (Quit: Connection closed for inactivity) 2018-02-13T13:26:48Z Lycurgus quit (Quit: Ex Chat) 2018-02-13T13:26:59Z jmercouris: nothing coming up on google or duckduckgo 2018-02-13T13:27:12Z jmercouris: it's okay, I'll just compile for Linux users I guess 2018-02-13T13:27:18Z jmercouris: at least debian users 2018-02-13T13:27:45Z Lycurgus joined #lisp 2018-02-13T13:33:26Z fortitude quit (Read error: Connection reset by peer) 2018-02-13T13:35:50Z fortitude joined #lisp 2018-02-13T13:38:37Z lieven: https://github.com/dimitri/ql-to-deb 2018-02-13T13:38:46Z damke_ joined #lisp 2018-02-13T13:39:52Z Xach: 2 hard 2 spell 2018-02-13T13:41:13Z lieven: definitely lacking in leet speak 2018-02-13T13:41:33Z wxie quit (Ping timeout: 256 seconds) 2018-02-13T13:42:30Z jmercouris: thank you for link 2018-02-13T13:42:38Z nullman quit (Ping timeout: 276 seconds) 2018-02-13T13:42:41Z jmercouris: so I am having an interesting issue 2018-02-13T13:42:54Z jmercouris: when I first start up cl, I find that uiop::*temporary-directory* is already bound 2018-02-13T13:43:53Z jmercouris: my init file is very basic, only loads quicklisp and requires asdf https://github.com/jmercouris/configuration/blob/master/.ccl-init.lisp 2018-02-13T13:44:09Z damke_ quit (Ping timeout: 264 seconds) 2018-02-13T13:44:44Z jmercouris: so this creates an issue, when I compile binaries, and the *temporary-directory* is already set, asdf will use it 2018-02-13T13:45:00Z jmercouris: then, when other people attempt to using anything that uses temp directory, it will try to access a folder that does not exist 2018-02-13T13:45:19Z nullman joined #lisp 2018-02-13T13:45:55Z damke_ joined #lisp 2018-02-13T13:46:33Z jackdaniel: just call (setup-temporary-directory) 2018-02-13T13:46:46Z jackdaniel: that will reinitialize the var on call 2018-02-13T13:47:09Z jmercouris: jackdaniel: so I should put it in my application startup? 2018-02-13T13:47:20Z jmercouris: e.g. not as a top level form? 2018-02-13T13:47:30Z jackdaniel: hm, or not, apparently #'default-temoprary-directory is reader-conditionalized 2018-02-13T13:48:29Z Murii quit (Ping timeout: 276 seconds) 2018-02-13T13:49:04Z jackdaniel: even not that, it is simply expanded at compilation time 2018-02-13T13:49:22Z jmercouris: what about (setf uiop::*temporary-directory* (uoip:default-temporary-directory)) 2018-02-13T13:49:58Z jackdaniel: as I said one line above, function default-temporary-directory is "fixed" at compilation time 2018-02-13T13:50:32Z jmercouris: Ah, damnit 2018-02-13T13:50:39Z jackdaniel: you could cripple os-cond macro of course 2018-02-13T13:50:42Z jmercouris: maybe I should copy it into a utility in my program 2018-02-13T13:51:58Z jmercouris: Actually, you know, it doesn't really matter 2018-02-13T13:52:07Z jackdaniel: to behave just as it behaves on abcl (btw, this is a terrible idea to have operator which behaves differently depending on implementation - os-cond expands into cond on ABCL and directly into body (resolved at compile time) on others 2018-02-13T13:52:08Z jmercouris: as I can will not use windows anyways 2018-02-13T13:52:27Z jmercouris: s/can// 2018-02-13T13:52:52Z jackdaniel: that's a spirit ,p 2018-02-13T13:53:00Z jackdaniel: either way you'll have to compile separately for each platform 2018-02-13T13:53:06Z jmercouris: also true 2018-02-13T13:53:16Z jackdaniel: so this will make no difference to you 2018-02-13T13:53:25Z jmercouris: indeed 2018-02-13T13:53:33Z jmercouris: thanks for your advice 2018-02-13T13:54:11Z jackdaniel: still I'm amazed by os-cond operator (though I understand the motivation - java bytecode is portable across operating systems) 2018-02-13T13:54:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-13T13:54:43Z jmercouris: yeah, but the java vm is better than any lisp implementation 2018-02-13T13:54:58Z jmercouris: I don't mean to start a flamewar, but the jvm is unbelievably fast for what it is 2018-02-13T13:55:07Z jmercouris: and well engineered 2018-02-13T13:56:08Z jackdaniel: I don't see how it is related in any way to what I said above 2018-02-13T13:56:30Z jackdaniel: (except word "java" ;) 2018-02-13T13:56:31Z jmercouris: I'm just saying, every jvm implementation is more extensive and considers OS edge cases 2018-02-13T13:56:57Z jmercouris: e.g. the team that implemented the jvm for windows, and for linux, etc they considered all of these issues so that the java devs don't have to 2018-02-13T13:57:40Z jmercouris: maybe my point is getting lost in the space between my brain and the keyboard, doesn't matter anyway 2018-02-13T13:57:55Z jackdaniel: I'm more curious *why* you're saying this (your remarks started with "yeah, but…") 2018-02-13T13:58:57Z EvW quit (Ping timeout: 260 seconds) 2018-02-13T13:59:04Z jmercouris: I was trying to say "yes, you are correct, but java has infinity more development money and engineer time" 2018-02-13T13:59:36Z johnnymacs quit (Remote host closed the connection) 2018-02-13T13:59:58Z jackdaniel: I still don't understand the "but" part, but not interested enough to keep asking ;) 2018-02-13T13:59:58Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-13T14:00:06Z m00natic quit (Read error: Connection reset by peer) 2018-02-13T14:01:25Z attila_lendvai joined #lisp 2018-02-13T14:01:25Z attila_lendvai quit (Changing host) 2018-02-13T14:01:25Z attila_lendvai joined #lisp 2018-02-13T14:02:14Z Kundry_Wag joined #lisp 2018-02-13T14:02:50Z Kundry_W_ joined #lisp 2018-02-13T14:03:58Z Bike joined #lisp 2018-02-13T14:06:39Z Kundry_Wag quit (Ping timeout: 260 seconds) 2018-02-13T14:09:05Z benny quit (Ping timeout: 248 seconds) 2018-02-13T14:10:34Z benny joined #lisp 2018-02-13T14:11:21Z EvW joined #lisp 2018-02-13T14:11:45Z orivej joined #lisp 2018-02-13T14:12:03Z phoe: What would be a proper way to write a macro that negates a place's value and sets it there? 2018-02-13T14:12:21Z phoe: I want to achieve what beach mentioned, evaluating the place subforms only once. 2018-02-13T14:12:33Z convexferret quit 2018-02-13T14:12:43Z phoe: My first idea is (defmacro negatef (place) (with-gensyms (val) `(let ((,val ,place)) (setf ,place (not ,val))))) but I don't think it achieves this. 2018-02-13T14:12:44Z beach: I think you can get away with the short form of DEFSETF. 2018-02-13T14:12:50Z convexferret joined #lisp 2018-02-13T14:12:58Z beach: Oh, sorry, I am confused. 2018-02-13T14:13:15Z phoe: I want to be able to call (negatef x) where X is a place. 2018-02-13T14:13:32Z beach: No, you need to use get-setf-expansion. 2018-02-13T14:13:40Z phoe: :( 2018-02-13T14:13:45Z phoe: Time to go the complicated route, then. 2018-02-13T14:13:56Z jackdaniel: and these 5 values are indeed hard to grok at first 2018-02-13T14:13:57Z beach: It is not that bad. You can check an example. 2018-02-13T14:14:08Z phoe: I did. Didn't help me much back then. 2018-02-13T14:16:15Z orivej_ joined #lisp 2018-02-13T14:16:19Z jackdaniel: phoe: probably best way to do that is to check up on shiftf (or rotatef) source of your favourite implementation 2018-02-13T14:16:33Z orivej quit (Ping timeout: 264 seconds) 2018-02-13T14:16:42Z beach: phoe: Look in SICL/Code/Cons/push-pop-defmacro.lisp 2018-02-13T14:16:47Z jackdaniel: (by "doing that" I mean – understanding the concept) 2018-02-13T14:18:05Z phoe: ...SICL is now my favorite implementation. 2018-02-13T14:18:20Z phoe: https://github.com/robert-strandh/SICL/blob/master/Code/Cons/push-pop-defmacro.lisp is code that even I can understand. 2018-02-13T14:19:45Z phoe: GET-SETF-EXPANSION is basically a way to hook into the middle of an operating SETF, now that I try to look at it. 2018-02-13T14:20:36Z parseval quit 2018-02-13T14:20:53Z parseval joined #lisp 2018-02-13T14:20:54Z parseval quit (Max SendQ exceeded) 2018-02-13T14:21:12Z parseval joined #lisp 2018-02-13T14:21:13Z parseval quit (Max SendQ exceeded) 2018-02-13T14:21:35Z parseval joined #lisp 2018-02-13T14:21:44Z warweasle joined #lisp 2018-02-13T14:23:51Z Murii joined #lisp 2018-02-13T14:27:22Z al-damiri joined #lisp 2018-02-13T14:27:59Z stylewarning quit 2018-02-13T14:28:18Z stylewarning joined #lisp 2018-02-13T14:32:10Z phoe: Is it mostly usable/useful inside SETF-like macros? 2018-02-13T14:32:41Z beach: phoe: The purpose is to compute the sub-forms only once. 2018-02-13T14:33:10Z smurfrobot joined #lisp 2018-02-13T14:35:23Z phoe: beach: yes, I see. 2018-02-13T14:36:48Z Bike: i don't think i've seen get-setf-expansion outside of things like push, and other setf expanders 2018-02-13T14:38:43Z smurfrobot quit (Ping timeout: 268 seconds) 2018-02-13T14:39:25Z phoe: That's my instinct, too. 2018-02-13T14:39:32Z phoe: https://pastebin.com/GCV2eSkZ <- what do you think of it? 2018-02-13T14:40:29Z smokeink quit (Ping timeout: 260 seconds) 2018-02-13T14:40:37Z phoe: Works on simple cases like a dynavar and slightly more complex ones like nested CLOS accessors. 2018-02-13T14:41:14Z beach: Looks nice. 2018-02-13T14:41:34Z lieven: aren't you doing a lot of work for negatef? it can be done with define-modify-macro afaik 2018-02-13T14:42:06Z beach: Ah, yes, that's what I was trying to say when incorrectly said defsetf. 2018-02-13T14:42:23Z beach is tired today. 2018-02-13T14:42:59Z phoe: oh 2018-02-13T14:43:02Z phoe: oooh, hm 2018-02-13T14:43:38Z fikka quit (Ping timeout: 276 seconds) 2018-02-13T14:43:41Z phoe: hahaha, (define-modify-macro negatef () not) 2018-02-13T14:44:09Z phoe: this is the first time I use d-m-m 2018-02-13T14:44:10Z __rumbler31 joined #lisp 2018-02-13T14:44:11Z beach: But now you know about get-setf-expansion too. 2018-02-13T14:44:18Z beach: ... so it wasn't wasted 2018-02-13T14:44:23Z phoe: Yes. 2018-02-13T14:44:34Z phoe: Now I'm a little bit less stupid. 2018-02-13T14:45:34Z beach: There is a TV show here in France named (in translation) "you will dies less stupid (but you will still die)" 2018-02-13T14:45:35Z EvW quit (Ping timeout: 255 seconds) 2018-02-13T14:45:47Z phoe: Very good. 2018-02-13T14:45:48Z beach: It's about popular science. 2018-02-13T14:46:54Z phoe: ...should I submit this anywhere though? 2018-02-13T14:47:17Z beach: NEGATEF? sure Alexandria maybe. 2018-02-13T14:47:22Z EvW joined #lisp 2018-02-13T14:48:03Z lieven: I would expect negatef to map x to -x, x to not x is more TOGGLEF 2018-02-13T14:48:20Z dlowe: notf? 2018-02-13T14:48:22Z beach: Or NOTF. 2018-02-13T14:48:46Z lieven: yeah 2018-02-13T14:50:51Z kobain joined #lisp 2018-02-13T14:51:26Z infinisil quit (Quit: Configuring ZNC, sorry for the join/quits!) 2018-02-13T14:55:14Z fikka joined #lisp 2018-02-13T14:56:33Z zooey quit (Read error: Connection reset by peer) 2018-02-13T14:58:44Z phoe: notf 2018-02-13T14:58:46Z phoe: yes 2018-02-13T14:59:01Z pfdietz: -F 2018-02-13T14:59:03Z zooey joined #lisp 2018-02-13T14:59:39Z johs quit 2018-02-13T14:59:59Z johs joined #lisp 2018-02-13T15:00:11Z mingus quit (Remote host closed the connection) 2018-02-13T15:00:19Z fikka quit (Ping timeout: 260 seconds) 2018-02-13T15:00:31Z dieggsy joined #lisp 2018-02-13T15:01:34Z smurfrobot joined #lisp 2018-02-13T15:03:38Z phoe: pfdietz: that's decf 2018-02-13T15:05:41Z fikka joined #lisp 2018-02-13T15:06:09Z smurfrobot quit (Ping timeout: 260 seconds) 2018-02-13T15:06:54Z JenElizabeth joined #lisp 2018-02-13T15:08:00Z mishoo joined #lisp 2018-02-13T15:09:06Z jmercouris quit (Ping timeout: 265 seconds) 2018-02-13T15:09:16Z warweasle quit (Quit: later) 2018-02-13T15:09:30Z smurfrobot joined #lisp 2018-02-13T15:10:56Z fikka quit (Ping timeout: 276 seconds) 2018-02-13T15:14:01Z phoe: I just read "setf" as "setify" 2018-02-13T15:14:50Z smurfrobot quit (Ping timeout: 276 seconds) 2018-02-13T15:15:06Z sjl quit (Quit: WeeChat 1.9.1) 2018-02-13T15:15:34Z fikka joined #lisp 2018-02-13T15:16:33Z smasta joined #lisp 2018-02-13T15:17:05Z froggey joined #lisp 2018-02-13T15:17:48Z scymtym quit (Ping timeout: 265 seconds) 2018-02-13T15:17:52Z JenElizabeth quit (Remote host closed the connection) 2018-02-13T15:18:04Z Kaisyu quit (Quit: Connection closed for inactivity) 2018-02-13T15:18:13Z JenElizabeth joined #lisp 2018-02-13T15:19:17Z JenElizabeth quit (Remote host closed the connection) 2018-02-13T15:20:21Z fikka quit (Ping timeout: 256 seconds) 2018-02-13T15:24:12Z moonfght joined #lisp 2018-02-13T15:25:28Z moonfght quit (Remote host closed the connection) 2018-02-13T15:25:52Z moonfght joined #lisp 2018-02-13T15:26:00Z fikka joined #lisp 2018-02-13T15:26:58Z moonfght quit (Remote host closed the connection) 2018-02-13T15:27:27Z moonfght joined #lisp 2018-02-13T15:30:12Z __rumbler31: noob question alert. in http://clhs.lisp.se/Body/m_defi_2.htm the example where setq is used to initialize x to '(1 2 3) and y to x, what signals to the programmer that a copy of the list is made vs storing a reference 2018-02-13T15:30:28Z __rumbler31: oh wait, append returns a new list doesn't it 2018-02-13T15:30:48Z phoe: __rumbler31: not really 2018-02-13T15:30:55Z phoe: "...the list structure of each of lists except the last is copied." 2018-02-13T15:30:59Z phoe: clhs append 2018-02-13T15:30:59Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_append.htm 2018-02-13T15:31:08Z fikka quit (Ping timeout: 268 seconds) 2018-02-13T15:31:22Z rippa joined #lisp 2018-02-13T15:31:41Z phoe: what is actually done is, the value of X is set to a new list. the quoted list is unmodified. 2018-02-13T15:31:52Z __rumbler31: yes 2018-02-13T15:32:08Z phoe: therefore I don't get the question about a copy of a list. 2018-02-13T15:32:12Z phoe: there's no copying there whatsoever. 2018-02-13T15:32:18Z jmercouris joined #lisp 2018-02-13T15:32:23Z phoe: only '(d e f) '(1 2 3) are copied inside APPENDF. 2018-02-13T15:32:42Z __rumbler31: without knowing about appends behavior, x and y point to two different things 2018-02-13T15:32:56Z __rumbler31: that either happens because setq makes a copy, or append returns a new list 2018-02-13T15:33:25Z __rumbler31: at least, the head of the list append returns is a new head, vs the original parameter to append 2018-02-13T15:33:31Z phoe: ...wait a second 2018-02-13T15:33:35Z phoe: I got the order wrong. 2018-02-13T15:34:15Z phoe: appendf modifies the value of X. 2018-02-13T15:34:36Z phoe: it copies '(a b c) and '(d e f) internally. 2018-02-13T15:34:55Z __rumbler31: yes 2018-02-13T15:35:39Z __rumbler31: clhs last 2018-02-13T15:35:40Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_last.htm 2018-02-13T15:35:45Z beach: __rumbler31: There is never any implicit copying in Common Lisp. 2018-02-13T15:35:48Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-13T15:36:01Z phoe: so, "what signals to the programmer" - the documentation for macro APPENDF. 2018-02-13T15:36:25Z beach: __rumbler31: So SETQ never copies anything. 2018-02-13T15:36:56Z __rumbler31: I see, that is the key. thank you 2018-02-13T15:37:18Z beach: I call this feature "uniform reference semantics". 2018-02-13T15:37:32Z attila_lendvai joined #lisp 2018-02-13T15:38:06Z beach: Every object is manipulated through a reference to the real object. Assignment, argument passing, etc., only copies the reference. 2018-02-13T15:38:45Z __rumbler31: mmm 2018-02-13T15:38:48Z tfb: beach: every mutable object, anyway 2018-02-13T15:39:12Z tfb: (ie numbers can be weird) 2018-02-13T15:39:18Z beach: Notice the word "semantics". An implementation can copy if the programmer can not verify this fact, for instance if the object is immutable. 2018-02-13T15:39:52Z __rumbler31: ok 2018-02-13T15:39:56Z __rumbler31: very nice 2018-02-13T15:39:57Z beach: So it is "AS IF every object is manipulated..." 2018-02-13T15:40:24Z beach: __rumbler31: It's the only sane way of doing it. That is why so many other languages get it wrong. 2018-02-13T15:41:46Z Cymew quit (Remote host closed the connection) 2018-02-13T15:42:37Z beach: OK, I think I have a framework for indentation in the editor. Currently, the only thing it knows how to indent is LET, and here is an example: http://metamodular.com/indentation.png though the green rectangle will be replaced with a left arrow and the red one with a right arrow, and they will be in a column outside the text. 2018-02-13T15:43:24Z beach: Notice that the list of bindings is in 5 instead of 4 and the body form is in column 1 instead of 2. 2018-02-13T15:43:27Z smasta quit (Ping timeout: 240 seconds) 2018-02-13T15:43:40Z beach: is in column 5 instead of 4. 2018-02-13T15:46:01Z fikka joined #lisp 2018-02-13T15:46:18Z smurfrobot joined #lisp 2018-02-13T15:46:27Z beach: Contrary to what other editors do, this framework is not based on regular expressions or similar. It parses the buffer using the Common Lisp reader, and it does not attempt to parse the bindings as forms. 2018-02-13T15:47:59Z Cymew joined #lisp 2018-02-13T15:48:06Z moonfght_ joined #lisp 2018-02-13T15:48:06Z beach: Once I have indent functions for most special forms and for some standard functions and macros, and a command for adjusting the indentation, I think I have enough to start using it for programming. More sophisticated stuff will come later, such as determining the roles of the symbols. 2018-02-13T15:48:58Z moonfght_ quit (Remote host closed the connection) 2018-02-13T15:49:25Z moonfght_ joined #lisp 2018-02-13T15:49:34Z pagnol quit (Ping timeout: 252 seconds) 2018-02-13T15:50:22Z moonfght quit (Ping timeout: 260 seconds) 2018-02-13T15:50:28Z moonfght_ quit (Remote host closed the connection) 2018-02-13T15:50:35Z fikka quit (Ping timeout: 240 seconds) 2018-02-13T15:50:55Z moonfght_ joined #lisp 2018-02-13T15:51:04Z smurfrobot quit (Ping timeout: 260 seconds) 2018-02-13T15:51:51Z beach: I take it nobody is impressed. Oh well. :) 2018-02-13T15:51:58Z moonfght_ quit (Remote host closed the connection) 2018-02-13T15:52:05Z Cymew quit (Ping timeout: 240 seconds) 2018-02-13T15:52:13Z blackwolf joined #lisp 2018-02-13T15:52:21Z phoe: I am, just busy now 2018-02-13T15:52:25Z moonfght_ joined #lisp 2018-02-13T15:52:33Z smasta joined #lisp 2018-02-13T15:52:35Z beach: I was joking. 2018-02-13T15:52:47Z phoe: I wish I was joking about being busy. :( 2018-02-13T15:52:55Z beach: I don't expect anyone to be impressed until they see a more polished product. 2018-02-13T15:53:09Z phoe: How do you plan on dealing with the existing indentation? LET is indented differently by SLIME. 2018-02-13T15:53:18Z phoe: SLIME/Emacs* 2018-02-13T15:53:24Z beach: No, I indent it the same way. 2018-02-13T15:53:28Z moonfght_ quit (Remote host closed the connection) 2018-02-13T15:53:57Z moonfght_ joined #lisp 2018-02-13T15:53:58Z beach: ... other than when Emacs gets it wrong of course. :) 2018-02-13T15:53:58Z Cymew joined #lisp 2018-02-13T15:54:58Z moonfght_ quit (Remote host closed the connection) 2018-02-13T15:55:28Z moonfght_ joined #lisp 2018-02-13T15:56:13Z phoe: (let 2018-02-13T15:56:14Z phoe: ((x 10)) 2018-02-13T15:56:14Z phoe: (1+ x)) 2018-02-13T15:56:31Z phoe: that's what Emacs gives me. Four spaces, two spaces. 2018-02-13T15:56:32Z fikka joined #lisp 2018-02-13T15:56:32Z Bike: what's an example of an invalid character, in the default table? 2018-02-13T15:56:38Z jackdaniel: slime indents 2 spaces for any &body (including let) 2018-02-13T15:57:20Z beach: Maybe I wasn't very clear. The incorrect indentation in the image is signaled by the colored rectangles. 2018-02-13T15:57:28Z phoe: ...oh wait 2018-02-13T15:57:32Z jackdaniel: ah, that makes more sense 2018-02-13T15:57:50Z phoe: ooooh, you get colored rectangles if there are too many or too few spaces 2018-02-13T15:57:53Z beach: When I have the correct indentation, no rectangles are drawn. 2018-02-13T15:57:56Z phoe: clever! 2018-02-13T15:58:07Z phoe: I get it now. 2018-02-13T15:58:18Z jmercouris: My buffer is completely free of boxes of any color, my indentation must be perfect :P 2018-02-13T15:58:24Z Bike: are there any, even.... 2018-02-13T15:58:27Z beach: But they won't be rectangles in the final version. 2018-02-13T15:58:33Z Cymew quit (Ping timeout: 264 seconds) 2018-02-13T15:58:33Z phoe: I use aggressive-indent in emacs so my code is always auto-indented no matter what I do. 2018-02-13T15:58:50Z jmercouris: phoe: I prefer smashing M-q when something feels off 2018-02-13T15:59:08Z beach: phoe: That sounds like an option that I might want to consider. 2018-02-13T15:59:11Z jackdaniel: editor can't "get" macro expansions 2018-02-13T15:59:25Z beach: jackdaniel: Why not? 2018-02-13T15:59:58Z Cymew joined #lisp 2018-02-13T16:00:03Z jmercouris: beach: how do you feel about: https://github.com/cxxxr/lem? 2018-02-13T16:00:06Z jackdaniel: beach: I mean editor like emacs 2018-02-13T16:00:18Z beach: jackdaniel: Yes, that's why I want something better. 2018-02-13T16:00:48Z jackdaniel: I know, I've mentioned it because phoe and jmercouris said that they "indent everything" - just pointed out that some cases are not covered by that 2018-02-13T16:00:55Z beach: jmercouris: I feel like it is using regular expressions to determine indentation. 2018-02-13T16:01:03Z fikka quit (Ping timeout: 248 seconds) 2018-02-13T16:01:04Z beach: jackdaniel: Got it. 2018-02-13T16:01:58Z jackdaniel: I've tried to install lem, but roswell didn't happen to work, so I've lost the interest (roswell is a requirement according to the doc) 2018-02-13T16:01:58Z jmercouris: beach: Probably, but how do you feel about it? do you like the project? 2018-02-13T16:02:28Z moonfght_ quit (Remote host closed the connection) 2018-02-13T16:02:33Z beach: jmercouris: It is probably fine, for those who don't mind the fact the regular expressions are used to determine indentation. 2018-02-13T16:02:51Z jmercouris: I feel as if in the screencast it hasn't demonstrated anything emacs can't do, so I haven't been really motivated to try it 2018-02-13T16:02:58Z moonfght_ joined #lisp 2018-02-13T16:03:04Z moonfght_ quit (Remote host closed the connection) 2018-02-13T16:03:38Z stacksmith: I've used lem for a bit, and implemented an XCB backend and a file chooser addon. In the end I got bored, it's just like having an emacs with a lot less functionality although in CL. 2018-02-13T16:03:48Z jmercouris: beach: What's the biggest reason somebody should use Climacs (in the finished version) rather than an existing editor? 2018-02-13T16:04:11Z beach: jmercouris: It does not use regular expressions to determine indentation. 2018-02-13T16:04:16Z jackdaniel: first four letters answer the question ;-) 2018-02-13T16:04:29Z Cymew quit (Ping timeout: 255 seconds) 2018-02-13T16:04:39Z jmercouris: jackdaniel: why should we care about the rendering technology? 2018-02-13T16:04:44Z stacksmith: Lem horizontal scrolling is nuts. As in not at all, except for the line you are on. 2018-02-13T16:04:56Z jackdaniel: jmercouris: ";-)" stays for "I'm joking" 2018-02-13T16:05:05Z stacksmith: And no wrapping. 2018-02-13T16:05:07Z jmercouris: Ah, I see :D 2018-02-13T16:05:23Z jmercouris: beach: Is this a very huge problem in your workflows? 2018-02-13T16:05:27Z jackdaniel: s/stays/stands/ 2018-02-13T16:05:57Z beach: jmercouris: I am only half joking. The technology I am developing will make possible many more interesting operations on Common Lisp code. 2018-02-13T16:06:06Z Cymew joined #lisp 2018-02-13T16:06:08Z DGASAU quit (Read error: Connection reset by peer) 2018-02-13T16:06:26Z jmercouris: beach: so it presents a better platform, more than anything else? 2018-02-13T16:06:53Z DGASAU joined #lisp 2018-02-13T16:06:54Z fikka joined #lisp 2018-02-13T16:06:55Z beach: jmercouris: I will be able to tell whether (say) a Common Lisp function name is used in a role as a lexical variable, and use different colors or fonts for the two cases. 2018-02-13T16:07:33Z jmercouris: That woould be pretty cool 2018-02-13T16:07:37Z beach: jmercouris: I will be able to determine what bindings or assignments to a variable can affect a particular use of it. 2018-02-13T16:08:03Z beach: I will be able to tell what expressions are forms and what expressions are not. 2018-02-13T16:08:14Z jmercouris: It's too bad that adopting something like Climacs means losing all of your emacs packages 2018-02-13T16:08:36Z beach: Indeed. 2018-02-13T16:09:12Z EvW quit (Ping timeout: 256 seconds) 2018-02-13T16:09:28Z beach: Initially, all I can hope for is that it will be enough of an improvement over Emacs for editing Common Lisp code that I will use it for that and Emacs for the rest. 2018-02-13T16:09:33Z beach: Not ideal, I know. 2018-02-13T16:09:43Z jmercouris: you could embed it into emacs possibly 2018-02-13T16:09:53Z jmercouris: using the "xwidget" branch 2018-02-13T16:09:57Z jmercouris: or whatever it's called 2018-02-13T16:10:14Z jmercouris: but nesting keybindings like that is always really tricky 2018-02-13T16:10:18Z lnostdal quit (Ping timeout: 255 seconds) 2018-02-13T16:10:24Z jackdaniel: there was a probject (not sure if it was something useful at some point of time) to implement elisp in CL 2018-02-13T16:10:33Z jackdaniel: namely it was written for Hemlock afair 2018-02-13T16:10:35Z Cymew quit (Ping timeout: 240 seconds) 2018-02-13T16:11:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-13T16:11:07Z jmercouris: you could probably port a lot of elisp code into cl pretty easily, it may make more sense to just rewrite any packages you need 2018-02-13T16:11:22Z jmercouris: but then climacs would have to implement a lot of the same mechanisms for extension that exist in emacs 2018-02-13T16:11:32Z jackdaniel: there you go: https://github.com/bluelisp/hemlock/tree/master/unused/elisp 2018-02-13T16:12:04Z Cymew joined #lisp 2018-02-13T16:12:14Z mjl_ joined #lisp 2018-02-13T16:13:04Z jackdaniel: as of my needs, I wouldn't mind having a good editor which is not emacs 2018-02-13T16:13:17Z jmercouris: beach: do you remember approximately 9 months ago, you spoke about a common lisp program core controlling a foreign gui process 2018-02-13T16:13:37Z beach: No, but it sounds like something I would have done. 2018-02-13T16:13:58Z jmercouris: beach: If I remember correctly you said that the foreign code could not be fully trusted, and this would make the system more stable and reliable 2018-02-13T16:14:13Z jmercouris: I was asking about this again a few days ago, but I presume you were asleep 2018-02-13T16:14:14Z beach: Yes, I think that is true. 2018-02-13T16:14:14Z nowhereman_ joined #lisp 2018-02-13T16:14:24Z jmercouris: So, do you think I should do this for Next? 2018-02-13T16:14:57Z beach: Well, people told you it would be complicated. 2018-02-13T16:14:58Z jmercouris: I was going to have just a socket connection between a CL core, and whatever "graphical frontend" exists 2018-02-13T16:15:04Z jmercouris: It is complicate 2018-02-13T16:15:13Z jmercouris: complicated*, but do you think it is worth it? 2018-02-13T16:15:27Z smurfrobot joined #lisp 2018-02-13T16:15:28Z jmercouris: I'll be able to use any platform without it having to be ported to some CL interface, it need only support sockets 2018-02-13T16:15:59Z beach: I wouldn't consider doing it myself because it is a lot of work, but if you are up to it, sure, give it a shot. 2018-02-13T16:16:02Z Arcaelyx joined #lisp 2018-02-13T16:16:03Z jmercouris: It doesn't even mean a rewrite of my system, I only need to create a "remote-backend" in lisp, that will function as the interface between the GUI and the Core 2018-02-13T16:16:33Z fikka joined #lisp 2018-02-13T16:16:35Z Cymew quit (Ping timeout: 240 seconds) 2018-02-13T16:16:35Z jmercouris: maybe I will do it in release 0.09 2018-02-13T16:16:43Z jmercouris: it would make my system even faster... 2018-02-13T16:16:48Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-13T16:16:57Z jmercouris: and if it is too much work, I don't have to merge it in 2018-02-13T16:17:19Z beach: Yes, you seem to have the energy to try it, so go ahead. 2018-02-13T16:17:23Z knobo1 joined #lisp 2018-02-13T16:17:46Z jmercouris: I'm not sure if you are suggesting I am naieve and wasting my time or really think I should try it :D 2018-02-13T16:17:49Z pierrethierry joined #lisp 2018-02-13T16:17:50Z knobo1: How can I call on a conditions report function? 2018-02-13T16:17:54Z nowhere_man quit (Ping timeout: 260 seconds) 2018-02-13T16:18:03Z Xach: knobo1: (format t "~A" condition) 2018-02-13T16:18:03Z pierrethierry is now known as nowhere_man 2018-02-13T16:18:12Z Cymew joined #lisp 2018-02-13T16:18:13Z Xach: there are other ways 2018-02-13T16:18:32Z nowhereman_ quit (Ping timeout: 252 seconds) 2018-02-13T16:18:34Z beach: jmercouris: Well, you have written a program that uses foreign code, which is something I wouldn't contemplate in the first case, so I am having a hard time putting myself into your situation. 2018-02-13T16:18:41Z knobo1: ah, right 2018-02-13T16:18:53Z beach: in the first PLACE 2018-02-13T16:21:03Z jmercouris: Fair enough, I think I will do this then, 3rd times the charm right? :D at least every release is faster and more stable than the one before 2018-02-13T16:21:16Z beach: jmercouris: I do think you should try it. It could be a learning experience. 2018-02-13T16:21:42Z fikka quit (Ping timeout: 268 seconds) 2018-02-13T16:21:48Z jmercouris: It definitely will be, I no nothing about sockets (in lisp) and this kind of paradigm, what are the pitfalls etc 2018-02-13T16:21:56Z jmercouris: s/no/know... 2018-02-13T16:22:35Z Cymew quit (Ping timeout: 240 seconds) 2018-02-13T16:22:57Z vibs29 quit (Ping timeout: 248 seconds) 2018-02-13T16:22:57Z beach: jmercouris: The way I would have done a project like that would be to first write an appropriate backend for McCLIM (which would then benefit many others) and then write the GUI using McCLIM. 2018-02-13T16:23:21Z beach: It might take longer, but it would benefit others too. 2018-02-13T16:23:22Z smurfrobot quit (Read error: Connection reset by peer) 2018-02-13T16:23:46Z beach: But I think I understand that you want to make money out of your projects, so that's another difference. 2018-02-13T16:23:58Z vibs29 joined #lisp 2018-02-13T16:24:21Z Cymew joined #lisp 2018-02-13T16:25:07Z mjl_ quit (Quit: Lost terminal) 2018-02-13T16:25:56Z jmercouris: beach: I have no other means to support myself while working full time on Next, so the consequence is that I have to make money 2018-02-13T16:25:56Z pjb: beach: I'll be impressed when it will be able to indent "correctly" random reader macros. 2018-02-13T16:26:07Z mjl_ joined #lisp 2018-02-13T16:26:20Z jmercouris: beach: I am also interested in benefitting others, which is why my source is BSD and entirely open 2018-02-13T16:26:57Z beach: pjb: That's a tough one, but it might be possible to do something. 2018-02-13T16:27:41Z jmercouris: beach: For me to get into something like McCLIM, I see it like a moonshot, way above my skills. If I do ever end up making money though, I plan on giving back to the Lisp community through source, and maybe sponsorships, who knows, however I can 2018-02-13T16:28:15Z beach: jmercouris: I understand. 2018-02-13T16:29:02Z Cymew quit (Ping timeout: 256 seconds) 2018-02-13T16:29:44Z pjb: beach: notably, when it'll be able to indent and columnify code such as: https://pasteboard.co/H7tmUkC.png 2018-02-13T16:30:16Z Cymew joined #lisp 2018-02-13T16:31:08Z beach: pjb: That would be an interesting project. I think I'll leave it to others though. I don't personally need such a feature. 2018-02-13T16:31:22Z pjb: table-based programming ;-) 2018-02-13T16:31:32Z knobo1 quit (Ping timeout: 276 seconds) 2018-02-13T16:31:44Z beach: pjb: And I am always working with the hypothesis that I might be the only end user, so I'll do the features I personally need first. 2018-02-13T16:31:45Z pjb: Well, we can restrict indenting to the prefix spaces… 2018-02-13T16:33:02Z scymtym joined #lisp 2018-02-13T16:33:17Z smurfrobot joined #lisp 2018-02-13T16:33:18Z beach: For example, Shinmera has declared early on that he would never use an editor that runs in the same process as the Common Lisp system it is communicating with. And if many people feel that way, there is a good chance I might be the only user. 2018-02-13T16:33:35Z pjb: beach: I would use it. 2018-02-13T16:33:43Z beach: Oh, good! 2018-02-13T16:33:46Z pjb: I wrote several such mini editors (ed, sedit, etc). 2018-02-13T16:33:53Z beach: I can imagine. 2018-02-13T16:34:27Z moei joined #lisp 2018-02-13T16:34:42Z Cymew quit (Ping timeout: 256 seconds) 2018-02-13T16:35:28Z fourroot joined #lisp 2018-02-13T16:35:50Z fourroot: hi 2018-02-13T16:35:59Z jmercouris: fourroot: hi 2018-02-13T16:36:25Z Cymew joined #lisp 2018-02-13T16:36:52Z fikka joined #lisp 2018-02-13T16:37:08Z saki quit (Quit: saki) 2018-02-13T16:37:57Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-13T16:38:09Z smasta quit (Ping timeout: 264 seconds) 2018-02-13T16:40:10Z makomo quit (Ping timeout: 240 seconds) 2018-02-13T16:40:19Z raynold joined #lisp 2018-02-13T16:40:50Z smasta joined #lisp 2018-02-13T16:41:11Z Cymew quit (Ping timeout: 256 seconds) 2018-02-13T16:41:11Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-13T16:41:45Z fikka quit (Ping timeout: 264 seconds) 2018-02-13T16:42:16Z beach: fourroot: How is learning Common Lisp going? 2018-02-13T16:42:49Z attila_lendvai joined #lisp 2018-02-13T16:42:49Z attila_lendvai quit (Changing host) 2018-02-13T16:42:49Z attila_lendvai joined #lisp 2018-02-13T16:42:56Z jmercouris: I would say "not so well" based on our conversation :D 2018-02-13T16:44:11Z beach: Which conversation? 2018-02-13T16:44:18Z quazimodo quit (Ping timeout: 240 seconds) 2018-02-13T16:44:22Z jmercouris: They pm'd me 2018-02-13T16:44:39Z beach: Oh! 2018-02-13T16:44:40Z damke_ joined #lisp 2018-02-13T16:45:18Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-13T16:48:39Z pjb: jmercouris: the four of them? 2018-02-13T16:48:47Z jmercouris: pjb: lol 2018-02-13T16:49:58Z wigust joined #lisp 2018-02-13T16:50:01Z fourroot: THANK YOU SO MUCH jmercouris 2018-02-13T16:50:01Z jmercouris: pjb: https://en.wikipedia.org/wiki/Singular_they 2018-02-13T16:50:14Z saki joined #lisp 2018-02-13T16:50:14Z fourroot: lmao and sorry for killing ur time with my stupid questions 2018-02-13T16:50:20Z jmercouris: no problem 2018-02-13T16:50:21Z fourroot: beach, i've watched a lot of tutorials 2018-02-13T16:50:28Z fourroot: and yes LISP is awesome 2018-02-13T16:50:36Z pjb: jmercouris: I'm against gender-inclusive language. 2018-02-13T16:51:00Z jmercouris: pjb: Woah, let's keep this conversation light, let's talk about which religion is correct instead :P 2018-02-13T16:51:12Z fourroot: heil hitler 2018-02-13T16:51:28Z jmercouris: fourroot: That is unacceptable. 2018-02-13T16:51:47Z pjb: Not by everybody, obviously. 2018-02-13T16:51:55Z stacksmith: The only reasonable gender inclusive pronoun is She/He/IT. Abbreviated. 2018-02-13T16:52:11Z Shinmera: >>#politics, tia 2018-02-13T16:52:33Z fourroot: what is Clojure ? 2018-02-13T16:52:42Z pjb: A library. 2018-02-13T16:52:47Z fourroot: how is it related to lisp 2018-02-13T16:52:49Z fourroot: oh okay 2018-02-13T16:53:03Z fourroot: i got confused when i read this word "dialect" 2018-02-13T16:53:04Z pjb: Implemented on the wrong language…. 2018-02-13T16:53:07Z jmercouris: fourroot: http://lmgtfy.com/?q=what+is+Clojure%3F 2018-02-13T16:53:23Z stacksmith: fourroot: Not to be confused with Clozure Lisp. 2018-02-13T16:54:04Z beach: fourroot: It is a much better idea to ask question here in the channel. 2018-02-13T16:54:19Z beach: fourroot: Then you get several opinions, and opinions on the opinions. 2018-02-13T16:54:24Z jmercouris: beach: Believe me, you don't want these questions in this channel 2018-02-13T16:54:47Z beach: Heh, OK. 2018-02-13T16:55:00Z pjb: There's also #clnoobs for newbies. 2018-02-13T16:55:19Z flamebeard quit (Quit: Leaving) 2018-02-13T16:55:20Z rme: that's Clozure Common Lisp, if you please 2018-02-13T16:55:36Z fourroot: sorry i forgot it 2018-02-13T16:55:40Z fourroot: going there 2018-02-13T16:55:40Z stacksmith: There is always clnoobs. And if you make any effort to figure it out prior to asking here, no one will bite you. 2018-02-13T16:55:51Z jmercouris: rme: You should make a bot, you can draw inspiration from http://www.slate.com/blogs/browbeat/2012/01/20/stealth_mountain_the_twitter_bot_devoted_to_a_single_grammatical_error.html 2018-02-13T16:56:38Z beach: fourroot: What constitutes "a Lisp", or "a dialect of Lisp" is not well defined, and there is no widespread agreement of the issue. That is why this channel is dedicated to Common Lisp, which is well defined by the standard. 2018-02-13T16:57:10Z fikka joined #lisp 2018-02-13T16:58:30Z nowhereman_ joined #lisp 2018-02-13T16:58:30Z nowhere_man quit (Ping timeout: 252 seconds) 2018-02-13T16:58:51Z rme: I ranted about the Clozure/Clozure Common Lisp thing at the start of this talk: https://www.youtube.com/watch?v=HUH8A-Zah9w 2018-02-13T16:58:53Z solyd quit (Quit: solyd) 2018-02-13T17:00:23Z rme: When conversations include both Clozure CL and Clojure, I end up calling Clojure "clojure with a J". A very regrettable name conflict, but it's too late to change now. 2018-02-13T17:01:16Z s1detracking joined #lisp 2018-02-13T17:01:33Z jmercouris: rme: The best time to plant a tree was 20 years ago, the second best time is today 2018-02-13T17:01:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-13T17:02:28Z vtomole joined #lisp 2018-02-13T17:02:53Z jmercouris: Shinmera: I like your humor: "Surprisingly enough, the static folder is where statically served files go, and template is for template documents, if you happen to use a template system" 2018-02-13T17:02:59Z rme: That's what I keep telling Rich Hickey. 2018-02-13T17:03:50Z jmercouris: rme: lol 2018-02-13T17:04:22Z Shinmera: jmercouris: Glad to hear. 2018-02-13T17:05:05Z pjb: fourroot: IMO, if you can cross-run code, it's a dialect. Have a look at (intersection common-lisp emacs-lisp scheme) http://www.informatimago.com/develop/lisp/com/informatimago/small-cl-pgms/intersection-r5rs-common-lisp-emacs-lisp/ 2018-02-13T17:07:36Z fikka joined #lisp 2018-02-13T17:08:46Z LiamH joined #lisp 2018-02-13T17:12:17Z fikka quit (Ping timeout: 255 seconds) 2018-02-13T17:16:20Z BitPuffin quit (Remote host closed the connection) 2018-02-13T17:17:37Z fikka joined #lisp 2018-02-13T17:20:27Z Lycurgus quit (Quit: Ex Chat) 2018-02-13T17:20:49Z Lycurgus joined #lisp 2018-02-13T17:22:45Z fikka quit (Ping timeout: 268 seconds) 2018-02-13T17:26:44Z knobo1 joined #lisp 2018-02-13T17:28:07Z makomo joined #lisp 2018-02-13T17:31:01Z vtomole quit (Quit: Page closed) 2018-02-13T17:31:06Z Kundry_W_ quit 2018-02-13T17:34:21Z antgreen joined #lisp 2018-02-13T17:34:33Z smasta quit (Ping timeout: 264 seconds) 2018-02-13T17:37:51Z fikka joined #lisp 2018-02-13T17:38:02Z Karl_Dscc joined #lisp 2018-02-13T17:42:57Z fikka quit (Ping timeout: 260 seconds) 2018-02-13T17:43:32Z jmercouris quit (Ping timeout: 260 seconds) 2018-02-13T17:51:05Z hhdave_ quit (Ping timeout: 240 seconds) 2018-02-13T17:53:07Z smasta joined #lisp 2018-02-13T17:58:08Z fikka joined #lisp 2018-02-13T18:01:10Z shrdlu68 joined #lisp 2018-02-13T18:02:54Z fikka quit (Ping timeout: 260 seconds) 2018-02-13T18:06:04Z orivej_ quit (Ping timeout: 256 seconds) 2018-02-13T18:08:33Z fikka joined #lisp 2018-02-13T18:11:14Z varjag joined #lisp 2018-02-13T18:13:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-13T18:16:16Z kobain quit (Ping timeout: 256 seconds) 2018-02-13T18:18:34Z fikka joined #lisp 2018-02-13T18:19:08Z shka joined #lisp 2018-02-13T18:24:47Z vtomole joined #lisp 2018-02-13T18:26:24Z shrdlu68: I'm currently doing (ash (ldb (byte 63 0) n) 1) to shift an (unsigned-byte 64) to the left while discarding the msb, but I feel like there ought to be a better way. 2018-02-13T18:28:51Z Xach: there are many ways but not sure what would make it better 2018-02-13T18:29:11Z Xach: shrdlu68: I would tend to write that with the ldb on the outside. 2018-02-13T18:29:30Z Xach: (ldb (byte 63 0) (ash n 1)) 2018-02-13T18:30:05Z Xach: That probably isn't the same. 2018-02-13T18:30:19Z shrdlu68: better = less processing cycles. 2018-02-13T18:30:23Z mlf joined #lisp 2018-02-13T18:30:37Z Shinmera: Well, with 64 bits you're already in bignum territory anyway 2018-02-13T18:30:49Z Xach: Not with the magic of SBCL modular arithmetic! 2018-02-13T18:30:52Z phoe: Shinmera: unless you're doing stuff in specialized arrays 2018-02-13T18:31:00Z shrdlu68: Xach: (ash n 1) would make it a bignum in some cases. 2018-02-13T18:31:11Z phoe: SBCL handles ub64 arrays properly 2018-02-13T18:31:27Z shrdlu68: Shinmera: Really? 2018-02-13T18:31:28Z Xach: shrdlu68: the masking would take care of that in sbcl. 2018-02-13T18:31:56Z Shinmera: shrdlu68: fixnums are less than 64 bits due to tag bits. 2018-02-13T18:32:31Z shrdlu68: Shinmera: _signed_ fixnums, I think. 2018-02-13T18:32:34Z Shinmera: (log most-positive-fixnum 2) ; => 62 2018-02-13T18:33:19Z phoe: ...or does it? 2018-02-13T18:33:22Z phoe: I need to check 2018-02-13T18:33:46Z Xach: Anyway, with sbcl, and some declarations, and masking, you can work with (unsigned-byte 64) integers in unboxed ways for a while. 2018-02-13T18:34:34Z _cosmonaut_ quit (Ping timeout: 252 seconds) 2018-02-13T18:36:20Z shrdlu68: I'm consulting the SBCL manual increasingly often these days. 2018-02-13T18:36:29Z shka: hello 2018-02-13T18:36:36Z shka: Shinmera: hey, you there? 2018-02-13T18:36:48Z Shinmera: No 2018-02-13T18:37:28Z shka: that's sad 2018-02-13T18:37:33Z fourier joined #lisp 2018-02-13T18:37:38Z Shinmera: I am a sad man 2018-02-13T18:37:54Z shka: me too, but i am good at pretending 2018-02-13T18:38:12Z shka: seen my merge request at documentation-utils? 2018-02-13T18:38:21Z Shinmera: Yes, haven't had time to look at it in depth yet, sorry. 2018-02-13T18:38:27Z shka: no problem 2018-02-13T18:38:29Z Shinmera: Been busy with thesis and ELS, and clasp stuff. 2018-02-13T18:39:01Z shka: that's fine with me, just let me know what do you think eventually 2018-02-13T18:39:17Z Shinmera: Sure, I'll do a review on github when I have the time 2018-02-13T18:39:29Z shka: cool 2018-02-13T18:39:37Z shka: no rush 2018-02-13T18:39:39Z shka: also 2018-02-13T18:39:47Z shka: happy valentines day :PPPP 2018-02-13T18:44:22Z drmeister: I just ran into a problem with esrap. Previously I specified it in my .asd :depends-on (:version :esrap "0.15") ...) 2018-02-13T18:44:48Z drmeister: Now I'm getting the error that quicklisp can't find version 0.15 but it finds esrap version 0.14. 2018-02-13T18:45:02Z drmeister: More distressing - parser.common-rules isn't found at all. 2018-02-13T18:45:07Z drmeister: scymtym: Ping^ 2018-02-13T18:46:22Z phoe: drmeister: (ql:update-all-dists) ? 2018-02-13T18:46:56Z phoe: this sounds like less of an esrap problem and more of an ASDF/QL problem 2018-02-13T18:47:24Z drmeister: Oh yeah - that cleaned things up - thanks 2018-02-13T18:48:26Z phoe: <3 2018-02-13T18:53:21Z shrdlu68 checks out how clasp is going. 2018-02-13T18:54:55Z jibanes quit (Ping timeout: 256 seconds) 2018-02-13T18:56:37Z jibanes joined #lisp 2018-02-13T19:04:31Z specbot quit (Disconnected by services) 2018-02-13T19:06:19Z EvW joined #lisp 2018-02-13T19:07:11Z minion quit (Disconnected by services) 2018-02-13T19:07:13Z minion joined #lisp 2018-02-13T19:08:02Z minion quit (Disconnected by services) 2018-02-13T19:08:47Z shrdlu68 quit (Ping timeout: 248 seconds) 2018-02-13T19:08:50Z fourier quit (Ping timeout: 265 seconds) 2018-02-13T19:09:48Z specbot joined #lisp 2018-02-13T19:09:48Z minion joined #lisp 2018-02-13T19:11:29Z nullman quit (Ping timeout: 248 seconds) 2018-02-13T19:12:30Z nullman joined #lisp 2018-02-13T19:18:23Z smasta quit (Ping timeout: 248 seconds) 2018-02-13T19:22:10Z smasta joined #lisp 2018-02-13T19:26:03Z Sauvin quit (Read error: Connection reset by peer) 2018-02-13T19:27:36Z solyd joined #lisp 2018-02-13T19:29:32Z ckonstanski quit (Ping timeout: 255 seconds) 2018-02-13T19:29:42Z EvW quit (Remote host closed the connection) 2018-02-13T19:37:32Z jmercouris joined #lisp 2018-02-13T19:37:46Z jmercouris: is there a way to tell emacs to load a system by specifiying the path of the asd? 2018-02-13T19:37:59Z jmercouris: or must I put it in the appropriate dir? 2018-02-13T19:38:55Z Bike: ...emacs? 2018-02-13T19:39:23Z jmercouris: Bike: Well, I usually type slime-load-system, and it'll load it into my inferior lisp 2018-02-13T19:39:57Z Bike: it defers to lisp pretty immediately, i would think 2018-02-13T19:40:27Z fourier joined #lisp 2018-02-13T19:40:33Z Xach: jmercouris: (asdf::load-asd "/path/to/file") is what to use. 2018-02-13T19:40:35Z jmercouris: Bike: probably, that would make sense 2018-02-13T19:40:37Z phoe: ^ 2018-02-13T19:40:45Z phoe: or ql:quickload if the system is quickloadable 2018-02-13T19:40:48Z Xach: that will make the system known 2018-02-13T19:40:52Z jmercouris: Xach: Okay, that makes sense, thanks 2018-02-13T19:40:55Z phoe: because all of my sytems are quickloadable 2018-02-13T19:40:56Z fourier quit (Changing host) 2018-02-13T19:40:56Z fourier joined #lisp 2018-02-13T19:41:05Z Xach: then you have to load it as a separate step 2018-02-13T19:41:07Z jmercouris: Xach: was just hoping for some emacs thing so I could bind it to a "find-file" like dialog 2018-02-13T19:41:40Z jmercouris: I guess I could do some sort of find file and then pass it into the slime-repl buffer? 2018-02-13T19:42:13Z Bike: you could write an emacs function that takes a filename and has swank evaluate the appropriate load-asd form 2018-02-13T19:42:35Z Bike: if i was doing this very often i'd just add the system to the search path though 2018-02-13T19:42:52Z jmercouris: I know, but it might be cool to just be able to clone a repo anywhere on your system and load it 2018-02-13T19:42:54Z jmercouris: just for one off things 2018-02-13T19:43:07Z jmercouris: I often find myself inspecting the source code of other people, and I don't necessarily want to put it into my search path 2018-02-13T19:43:57Z jmercouris: Bike: there's slime-eval, that could work 2018-02-13T19:44:07Z jmercouris: if I write a function I'll post it here 2018-02-13T19:44:19Z Xach: asdf:*system-definition-search-functions* might be fruitful as well. 2018-02-13T19:44:28Z Xach: it is a fantastico escape hatch for finding systems in new ways. 2018-02-13T19:44:30Z Bike: well, usually i'd clone it wherever, and then put a symlink in the search path 2018-02-13T19:47:30Z dlowe wonders if the piping is generic enough to put a "pathname to a system" search function in there 2018-02-13T19:48:42Z EvW1 joined #lisp 2018-02-13T19:52:37Z yaroe joined #lisp 2018-02-13T19:53:07Z orivej joined #lisp 2018-02-13T19:54:24Z yaroe: Does anyone know if there is a dev effort similar to https://micropython.org/ in Lisp ? 2018-02-13T19:54:40Z jmercouris quit (Remote host closed the connection) 2018-02-13T19:54:55Z phoe: yaroe: yes. 2018-02-13T19:54:59Z smasta quit (Ping timeout: 256 seconds) 2018-02-13T19:55:13Z phoe: http://www.ulisp.com/ https://picolisp.com/wiki/?home 2018-02-13T19:55:23Z jmercouris joined #lisp 2018-02-13T19:55:49Z phoe: But you're looking for uLisp more than for PicoLisp. 2018-02-13T19:56:01Z jmercouris: xb 2018-02-13T19:56:08Z jmercouris: sorry, tried to switch buffer 2018-02-13T19:56:31Z Kundry_Wag joined #lisp 2018-02-13T19:57:09Z jackdaniel: there is also microscheme and armpit scheme 2018-02-13T19:57:15Z akkad quit (Excess Flood) 2018-02-13T19:57:33Z ckonstanski joined #lisp 2018-02-13T19:57:36Z jackdaniel: (the second one [armpit] is for the stm family though) 2018-02-13T19:58:21Z akkad joined #lisp 2018-02-13T19:58:28Z yaroe: Thank you. That seems cool. 2018-02-13T19:59:21Z yaroe: Does the gc has been designed for reatime programming ? 2018-02-13T19:59:34Z warweasle joined #lisp 2018-02-13T20:00:50Z jackdaniel: which gc? 2018-02-13T20:01:19Z phoe: jackdaniel: uLisp, microscheme, armpit scheme 2018-02-13T20:01:29Z bhyde quit (Quit: Terminated with extreme prejudice - dircproxy 1.2.0) 2018-02-13T20:01:51Z jackdaniel: I thought `the' is reserved for singular 2018-02-13T20:02:45Z fikka quit (Ping timeout: 264 seconds) 2018-02-13T20:03:32Z nowhereman_ quit (Ping timeout: 260 seconds) 2018-02-13T20:04:44Z yaroe: Well I was thinking of the garbage collector for those Lisp implementation (uLisp, microscheme , armpit). But you are right that my writing was too short. 2018-02-13T20:06:06Z jackdaniel: I think its easy to look it up. I'm not sure what do you mean by "realtime programming" too 2018-02-13T20:06:13Z stacksmith: yaroe: this is a Common Lisp forum... 2018-02-13T20:06:22Z jackdaniel: there is concept of real-time garbage collectors, but I don't think that's what you mean 2018-02-13T20:06:53Z smurfrobot joined #lisp 2018-02-13T20:07:01Z fourier: rt gc provides hard guarantees of collection time, not sure if any of those have one 2018-02-13T20:07:19Z jackdaniel: yes, I don't think he meant rt gc though 2018-02-13T20:07:25Z yaroe: I was not thinking about hard realtime programming 2018-02-13T20:07:33Z dlowe: if you're interested in exploring different kinds of lisp dialects, you're invited to converse in ##lisp 2018-02-13T20:07:57Z nosaj88 joined #lisp 2018-02-13T20:08:32Z yaroe: But only that gc is not on the way when you try to handle time constraint 2018-02-13T20:09:09Z jackdaniel doesn't understand, but gets silent because it is indeed offtopic here :) 2018-02-13T20:09:13Z fourier: i guess you just need to go and study their gcs 2018-02-13T20:09:22Z dddddd joined #lisp 2018-02-13T20:11:13Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-13T20:12:23Z yaroe: ok nevermind. Thanks anyway : I have good readings to look at :) ! 2018-02-13T20:13:17Z eschatologist quit (Ping timeout: 276 seconds) 2018-02-13T20:13:28Z eschatologist joined #lisp 2018-02-13T20:20:42Z solyd quit (Quit: solyd) 2018-02-13T20:22:45Z quazimodo joined #lisp 2018-02-13T20:23:19Z minion quit (Ping timeout: 256 seconds) 2018-02-13T20:29:55Z smurfrobot joined #lisp 2018-02-13T20:30:21Z lucasb joined #lisp 2018-02-13T20:34:50Z shrdlu68 joined #lisp 2018-02-13T20:34:52Z smurfrobot quit (Ping timeout: 265 seconds) 2018-02-13T20:36:25Z smurfrobot joined #lisp 2018-02-13T20:36:59Z knicklux joined #lisp 2018-02-13T20:37:27Z Kundry_Wag quit (Remote host closed the connection) 2018-02-13T20:37:28Z shrdlu68 quit (Read error: Connection reset by peer) 2018-02-13T20:37:59Z Kundry_Wag joined #lisp 2018-02-13T20:38:02Z yaroe left #lisp 2018-02-13T20:41:14Z smurfrobot quit (Ping timeout: 276 seconds) 2018-02-13T20:42:36Z Cymew joined #lisp 2018-02-13T20:43:06Z shrdlu68 joined #lisp 2018-02-13T20:43:11Z Kundry_Wag quit (Ping timeout: 276 seconds) 2018-02-13T20:43:42Z smurfrobot joined #lisp 2018-02-13T20:44:57Z fikka joined #lisp 2018-02-13T20:46:57Z Cymew quit (Ping timeout: 248 seconds) 2018-02-13T20:48:01Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-13T20:48:34Z mjl_ quit (Ping timeout: 256 seconds) 2018-02-13T20:50:09Z fikka quit (Ping timeout: 248 seconds) 2018-02-13T20:50:12Z wxie joined #lisp 2018-02-13T20:54:16Z shrdlu68 quit (Ping timeout: 268 seconds) 2018-02-13T20:58:18Z smasta joined #lisp 2018-02-13T20:58:42Z fisxoj joined #lisp 2018-02-13T21:00:05Z vap1 quit (Ping timeout: 240 seconds) 2018-02-13T21:00:57Z fortitude quit (Read error: Connection reset by peer) 2018-02-13T21:02:17Z fourier quit (Ping timeout: 268 seconds) 2018-02-13T21:02:25Z arbv quit (Ping timeout: 256 seconds) 2018-02-13T21:02:28Z jmercouris: Is there a way to serialize hashtables to a human readable string? 2018-02-13T21:02:35Z shka quit (Ping timeout: 240 seconds) 2018-02-13T21:02:40Z jmercouris: pprint? or something like that? 2018-02-13T21:03:12Z jackdaniel: hash tables doesn't have printable representation 2018-02-13T21:03:17Z Bike: it's not built in. 2018-02-13T21:03:21Z fortitude joined #lisp 2018-02-13T21:03:28Z jackdaniel: (in CL standard) 2018-02-13T21:03:32Z Bike: you can write something out pretty easily with maphash, i do that a lot. 2018-02-13T21:03:38Z jmercouris: I see something alexandria that looks good 2018-02-13T21:03:40Z arbv joined #lisp 2018-02-13T21:03:48Z jmercouris: I guess that is what it'll have to be, thanks 2018-02-13T21:03:49Z arbv quit (Client Quit) 2018-02-13T21:03:58Z jmercouris: in alexandria* 2018-02-13T21:04:03Z jackdaniel: Bike: does it count as serialization though? 2018-02-13T21:04:38Z Bike: i focused on 'human readable' 2018-02-13T21:04:39Z jmercouris: does pprinting count as serialization? why would it not? 2018-02-13T21:04:53Z jmercouris: you are serializing to a format that humans can process 2018-02-13T21:04:56Z Bike: usually if you're "serializing" something you'll want to deserialize it later 2018-02-13T21:05:27Z jmercouris: "serialization is the process of translating data structures or object state into a format that can be stored (for example, in a file or memory buffer) or transmitted (for example, across a network connection link) and reconstructed later (possibly in a different computer environment)" 2018-02-13T21:05:37Z Bike: right, reconstructed 2018-02-13T21:05:50Z jmercouris: it would be reconstructable in a human readable format, I don't see why not 2018-02-13T21:06:00Z jmercouris: I actually did want something that was human readable AND reconstructable 2018-02-13T21:06:07Z jmercouris: because I would like to look at the data, but also reload it at a later time 2018-02-13T21:06:10Z jackdaniel: that's abusing words, what waters them down 2018-02-13T21:06:17Z phoe: jmercouris: one moment 2018-02-13T21:06:22Z Bike: then you're going for something more scrupulous than i had in mind 2018-02-13T21:06:23Z fisxoj: has anyone tried to use cffi's :static-program-op? 2018-02-13T21:06:29Z arbv joined #lisp 2018-02-13T21:06:33Z phoe: jmercouris: https://github.com/phoe/phoe-toolbox/blob/master/phoe-toolbox.lisp#L186 2018-02-13T21:06:38Z fisxoj: for compiling a static binary of a program 2018-02-13T21:06:56Z phoe: this is what I use. crazy, but works for most of the simple cases. 2018-02-13T21:07:03Z pillton joined #lisp 2018-02-13T21:07:22Z jmercouris: phoe: looks good enough for me, the problem will be reserialization, but thanks anyway :) 2018-02-13T21:07:29Z phoe: you just read this object. 2018-02-13T21:07:33Z jmercouris: and it works? 2018-02-13T21:07:36Z Bike: is this crazy...? 2018-02-13T21:07:40Z phoe: yes, thanks to the #. notation. 2018-02-13T21:07:43Z Bike: using ~a instead of ~s i guess, but whatever 2018-02-13T21:07:52Z stacksmith: phoe: nice stuff. 2018-02-13T21:08:01Z phoe: Bike: ~A where? 2018-02-13T21:08:03Z jmercouris: phoe: nice! 2018-02-13T21:08:09Z phoe: oh wait, in :TEST? 2018-02-13T21:08:12Z Bike: yes 2018-02-13T21:08:30Z phoe: hm hm, does it matter here? 2018-02-13T21:08:36Z phoe: I think it might, in packages that don't use CL. 2018-02-13T21:08:40Z Bike: probably not, but ~a is not necessarily lisp readable 2018-02-13T21:08:40Z smasta quit (Ping timeout: 240 seconds) 2018-02-13T21:08:41Z jackdaniel: fisxoj: in most implementations when you save-lisp-and-die you in fact have a statically linked program 2018-02-13T21:08:50Z jackdaniel: ah, cffi 2018-02-13T21:08:55Z jackdaniel: nvm me, I've read ASDF 2018-02-13T21:09:05Z fisxoj: it does not seem to be the case with sbcl 2018-02-13T21:09:15Z fisxoj: it still depends on a few libraries 2018-02-13T21:09:27Z fisxoj: and probably not anything linked by cffi 2018-02-13T21:09:48Z phoe: stacksmith: thanks. 2018-02-13T21:10:13Z Mandus quit (Quit: Changing server) 2018-02-13T21:10:46Z Mandus joined #lisp 2018-02-13T21:11:39Z Mandus quit (Client Quit) 2018-02-13T21:12:29Z ludston_ joined #lisp 2018-02-13T21:14:43Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-13T21:15:38Z attila_lendvai joined #lisp 2018-02-13T21:16:01Z smurfrobot joined #lisp 2018-02-13T21:16:27Z ludston quit (Ping timeout: 260 seconds) 2018-02-13T21:18:35Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-13T21:18:46Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-02-13T21:19:52Z nowhereman_ joined #lisp 2018-02-13T21:20:13Z attila_lendvai joined #lisp 2018-02-13T21:20:13Z attila_lendvai quit (Changing host) 2018-02-13T21:20:13Z attila_lendvai joined #lisp 2018-02-13T21:20:47Z smurfrobot quit (Ping timeout: 268 seconds) 2018-02-13T21:21:03Z fourroot quit (Read error: Connection reset by peer) 2018-02-13T21:23:33Z angavrilov quit (Remote host closed the connection) 2018-02-13T21:24:05Z Murii quit (Quit: WeeChat 1.4) 2018-02-13T21:25:14Z smasta joined #lisp 2018-02-13T21:25:25Z vap1 joined #lisp 2018-02-13T21:26:33Z vaporatorius joined #lisp 2018-02-13T21:27:37Z jasom: If I do a setf of a slot of a standard-object, is a concurrent read guaranteed to return either the previous or new value? 2018-02-13T21:29:38Z Shinmera: I think you'll find the standard says nothing about concurrency, so the answer will be implementation (and possibly version) dependent. 2018-02-13T21:29:40Z jackdaniel: clos doesn't say anything about concurency, because it's not part of cl 2018-02-13T21:30:03Z fikka joined #lisp 2018-02-13T21:30:31Z jackdaniel: in case of structure references it is possible to do a cas operation 2018-02-13T21:30:38Z jasom: same question, for: sbcl, ecl, ccl 2018-02-13T21:30:49Z jasom doesn't need CAS, just safe concurrent access 2018-02-13T21:31:43Z Bike: well... on sbcl, slots are casable, at least 2018-02-13T21:31:44Z jackdaniel: I would be suprised if any of them gives such guarantees 2018-02-13T21:31:55Z jackdaniel: without explicit atomic operations 2018-02-13T21:32:15Z jasom: so no sharing data without locks, period? 2018-02-13T21:32:19Z aeth: I always just use bt:with-lock-held 2018-02-13T21:32:23Z jasom: that seems ... unusual 2018-02-13T21:32:23Z jackdaniel: on ccl only structure references are casable (class slots are not, and mechanism is not extensible) 2018-02-13T21:32:45Z kobain joined #lisp 2018-02-13T21:32:59Z jackdaniel: ecl doesn't have atomic operations interface exposed at all at time being (though underneath some operations use atomicity) 2018-02-13T21:33:08Z Shinmera: Also, if you have a custom metaclass it's probably gonna go through slot-value-using-class, in which case it is most definitely not going to be atomic (and could end up being whatever value that method deems appropriate). 2018-02-13T21:33:38Z Karl_Dscc quit (Remote host closed the connection) 2018-02-13T21:33:48Z jackdaniel: but ECL has rwlocks, which are more efficient if you do frequent reads and rare writes 2018-02-13T21:33:49Z Bike: oh, yes, i was assuming standard instance ness was implied 2018-02-13T21:33:52Z sebastien_ is now known as svillemot 2018-02-13T21:33:53Z jmercouris quit (Ping timeout: 276 seconds) 2018-02-13T21:33:56Z jasom: so (setf (slot-value foo 'bar) 1) (bt:make-thread (lambda () (setf (slot-value foo 'bar) 2))) (slot-value foo 'bar) could yield some value other than 1 or 2? 2018-02-13T21:33:56Z Bike: and not having s-v-u-c methods and so on 2018-02-13T21:36:47Z jasom: to be clear, I'm not asking for any ordering whatsoever, just that reading a shared slot value will never return any value that was never written to it. 2018-02-13T21:36:55Z jackdaniel: hm, in this particular example it wil lbe either 1 or 2, sure 2018-02-13T21:37:22Z Bike: I would expect it to be one or the other, but I don't know of an implementation specifically guaranteeing so. 2018-02-13T21:37:25Z Shinmera: I don't think any implementation has slots that are bigger than a word in memory, so yeah. 2018-02-13T21:38:06Z jackdaniel: but if you have two concurrent threads doing incf 100 times you have no guarantee, that result will be 200 higher 2018-02-13T21:38:17Z jasom: jackdaniel: naturally 2018-02-13T21:38:17Z jackdaniel: unless you use atomic-incf or other cas op 2018-02-13T21:38:30Z Bike: yeah, i think jasom is just worried about the possibility of getting some corrupted result. 2018-02-13T21:39:36Z jackdaniel: (I think such things usually lead to a corrupted result, this example is just a simple illustration) 2018-02-13T21:39:42Z jackdaniel: either way, I've got to go, good night! :) 2018-02-13T21:39:54Z jasom: I suspect a corrupted result could occur if the class itself were being modified, but not a slot of an instance of a class 2018-02-13T21:40:18Z Shinmera: If the class is redefined then yes slot accesses are invalid for a short amount of time in SBCL 2018-02-13T21:41:01Z Shinmera: I know so because redefining stuff while my game is running at 60fps often triggers an error about slot access. 2018-02-13T21:43:02Z smurfrobot joined #lisp 2018-02-13T21:43:44Z aeth: I solve that by copying, which isn't entirely ideal because that gets rid of a lot of the live coding aspect that people enjoy. 2018-02-13T21:44:41Z aeth: (higher order functions will still work if they're 'foo and not #'foo) 2018-02-13T21:47:27Z python476 quit (Ping timeout: 240 seconds) 2018-02-13T21:47:35Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-13T21:48:39Z fikka quit (Ping timeout: 260 seconds) 2018-02-13T21:49:31Z makomo_ joined #lisp 2018-02-13T21:52:51Z makomo quit (Ping timeout: 256 seconds) 2018-02-13T21:54:04Z vap1 quit (Quit: Leaving) 2018-02-13T21:59:20Z knicklux quit (Quit: Leaving) 2018-02-13T22:01:54Z vtomole quit (Ping timeout: 260 seconds) 2018-02-13T22:04:42Z fikka joined #lisp 2018-02-13T22:05:07Z borei joined #lisp 2018-02-13T22:05:16Z borei: hi all ! 2018-02-13T22:09:15Z smurfrobot joined #lisp 2018-02-13T22:10:06Z z3t0 joined #lisp 2018-02-13T22:13:35Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-13T22:14:05Z mishoo quit (Ping timeout: 276 seconds) 2018-02-13T22:17:00Z vlatkoB quit (Remote host closed the connection) 2018-02-13T22:17:04Z z3t0 quit (Remote host closed the connection) 2018-02-13T22:17:34Z z3t0 joined #lisp 2018-02-13T22:21:00Z z3t0 quit (Remote host closed the connection) 2018-02-13T22:22:10Z z3t0 joined #lisp 2018-02-13T22:24:49Z earl-ducaine joined #lisp 2018-02-13T22:25:27Z quazimodo quit (Ping timeout: 240 seconds) 2018-02-13T22:26:02Z s1detracking quit (Remote host closed the connection) 2018-02-13T22:26:25Z s1detracking joined #lisp 2018-02-13T22:29:28Z k-hos: does common lisp or sbcl in particular make any guarantees about bit size for integers? 2018-02-13T22:29:55Z Shinmera: integers are unbounded. 2018-02-13T22:30:23Z k-hos: is there a type that isn't 2018-02-13T22:30:30Z stacksmith: fixnum 2018-02-13T22:30:32Z Shinmera: Infinitely many. 2018-02-13T22:30:33Z aeth: integers are unbounded, but integers are fixnums and bignums. fixnums are bounded. 2018-02-13T22:30:40Z stacksmith: or any type you define so 2018-02-13T22:30:49Z aeth: Additionally, you can restrict the integer size like (unsigned-byte 32) 2018-02-13T22:31:03Z k-hos: ok 2018-02-13T22:31:07Z Shinmera: Or (integer 0 1) or (integer 0 123) or (integer 3 321) or ... 2018-02-13T22:31:15Z aeth: ub32 may or may not work. It will almost certainly work in 64-bit Lisps, and might work in 32-bit Lisps, if you work around some limitations. 2018-02-13T22:31:37Z wigust quit (Quit: ZNC 1.6.5 - http://znc.in) 2018-02-13T22:31:38Z aeth: And, yes, you can also set arbitrary ranges with (integer 0 1) (integer 3) (mod 360) etc. 2018-02-13T22:31:50Z aeth: And, of course, there are signed-bytes. 2018-02-13T22:31:54Z lucasb quit (Quit: leaving) 2018-02-13T22:33:07Z aeth: The primary advantage of rounding to something like (unsigned-byte 32) is that it will (probably) be supported in specialized arrays (everything except bit and character are implementation-specific, but single-float, double-float and (unsigned-byte 8) are nearly universally supported) 2018-02-13T22:33:07Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2018-02-13T22:33:39Z antgreen quit (Ping timeout: 256 seconds) 2018-02-13T22:33:48Z k-hos: are specialized arrays different than 'simple arrays' made with make-array? 2018-02-13T22:34:25Z whoman quit (Ping timeout: 256 seconds) 2018-02-13T22:34:26Z Shinmera: Note that "simple-array" means something very specific. 2018-02-13T22:34:27Z aeth: they're simple-arrays that can only hold one type, which has potential advantages in allocating the array, and it tells the implementation that if you access an element it has to be of that type (so it helps type inference) 2018-02-13T22:34:36Z aeth: (Well, they're usually simple-arrays) 2018-02-13T22:34:38Z Shinmera: clhs simple-array 2018-02-13T22:34:38Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/t_smp_ar.htm 2018-02-13T22:34:52Z k-hos: yeah simple arrays are what I am trying to create 2018-02-13T22:35:07Z Shinmera: also 2018-02-13T22:35:09Z k-hos: contiguous memory from my understanding 2018-02-13T22:35:12Z Shinmera: clhs glossary/specialized 2018-02-13T22:35:13Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/26_glo_s.htm#specialized 2018-02-13T22:35:21Z __rumbler31 quit (Ping timeout: 256 seconds) 2018-02-13T22:35:29Z Shinmera: Whether it's contiguous or not is not specified. 2018-02-13T22:35:32Z aeth: e.g. (make-array 3 :element-type '(unsigned-byte 32) :initial-element 0) or (make-array 3 :element-type 'single-float :initial-element 0f0) 2018-02-13T22:35:42Z aeth: Both those are unspecified, but very likely to be supported. 2018-02-13T22:35:51Z Shinmera: But it doesn't matter anyway because you don't get direct memory access. 2018-02-13T22:35:59Z aeth: The most likely implementation-specific one is probably (unsigned-byte 8) 2018-02-13T22:36:10Z earl-ducaine: k-hos: To some extent it depends on what you mean by 'bit size' Do you mean the underlying representation or do you how a CL integer is seen by other non-cl components, e.g. when exported through cffi. 2018-02-13T22:37:00Z k-hos: I was going to do some bit manipulation on them in lisp 2018-02-13T22:37:09Z aeth: The underlying representation when a fixnum is *probably* a signed byte with one or more leading bits reserved (SBCL reserves one, so fixnum is (signed-byte 63)) 2018-02-13T22:37:16Z aeth: But implementations can probably optimize more. 2018-02-13T22:37:16Z earl-ducaine: In particular cffi provide a portability layer for exporting CL data in exactly the format you want, including integer representation. 2018-02-13T22:38:16Z attila_lendvai quit (Quit: Leaving.) 2018-02-13T22:39:42Z k-hos: hmm 2018-02-13T22:40:32Z Shinmera: You can do bit twiddling on any integer. 2018-02-13T22:41:26Z aeth: But it probably won't be efficient unless the compiler knows it's a fixnum (it could still be efficient if it's slightly larger than a fixnum in some restricted circumstances, though) 2018-02-13T22:42:19Z Shinmera: Not everything needs to be efficient. 2018-02-13T22:42:24Z smurfrobot joined #lisp 2018-02-13T22:43:21Z k-hos: it's generally something you want when making games :p 2018-02-13T22:43:42Z Shinmera: I've been doing just fine doing things inefficiently. 2018-02-13T22:44:16Z Shinmera: Premature optimisation fanaticism is especially bad in gamedev is my opinion. 2018-02-13T22:45:39Z Bike quit (Ping timeout: 260 seconds) 2018-02-13T22:46:29Z aeth: Shinmera: of course not everything needs to be efficient 2018-02-13T22:46:53Z aeth: Some optimizations are easier than others, though. 2018-02-13T22:46:59Z smurfrobot quit (Ping timeout: 260 seconds) 2018-02-13T22:47:03Z earl-ducaine: k-hos: CL's primary mechanism for making numerical computations fast is through the declare mechanism. The way that that works was somewhat counter intuative for me.... 2018-02-13T22:47:12Z aeth: And it's nice to be aware of some potentially easy optimizations (although with integers it is often tricky to keep them fixnum) 2018-02-13T22:47:29Z aeth: Being aware of the fast route doesn't mean always do the fast route. 2018-02-13T22:48:04Z earl-ducaine: Basically CL doesn't make the promises, the programmer does. In particular to keep integers within a certain range. 2018-02-13T22:48:08Z k-hos: people like to confuse good design as being optimization 2018-02-13T22:48:40Z earl-ducaine: By making that declaration, the compiler is then, theoretically free, to make certain optimizations based on that. 2018-02-13T22:48:53Z aeth: Imo sometimes hard premature optimizations are actually the right thing to do, like in game engine architectures where rewriting things will require rewriting half (or more!) of the engine if you suddenly need to do it in a fast(ish) way later on. 2018-02-13T22:49:35Z GuilOooo quit (Ping timeout: 240 seconds) 2018-02-13T22:49:51Z aeth: Usually that can be avoided by modularizing things heavily. It doesn't take a lot of work to optimize later if you can do that. Unfortunately, it doesn't always seem to work with a game engine. 2018-02-13T22:51:24Z aeth: Imo, the core of your game engine runtime probably needs to be 'prematurely optimized' or it will never be optimized because rewriting it means essentially rewriting the entire game engine runtime. This is a very special case, though. Usually, ignoring optimizations early on is the right thing. 2018-02-13T22:51:51Z z3t0 quit (Remote host closed the connection) 2018-02-13T22:52:04Z aeth: (Feel free to be as lazy a programmer as possible outside of your game loop as long as you keep it modular so tiny components can be rewritten if needed.) 2018-02-13T22:52:23Z z3t0 joined #lisp 2018-02-13T22:54:12Z quazimodo joined #lisp 2018-02-13T22:54:13Z White_Flame: modularization can slow down you runtime, too, if things can be done faster by the code doing more at once, instead of keeping functionality separate 2018-02-13T22:54:36Z White_Flame: however, with CL you can mash code at compile-time to interact how you want, if you want to put the work in 2018-02-13T22:54:46Z aeth: White_Flame: That's one of the problems with trying to engineer a game loop. The modules will probably need to be rewritten when it's time to optimize even if you did separate things into nice, clean modules. 2018-02-13T22:55:30Z aeth: White_Flame: I do agree, though. Try to do as much outside of the game loop as possible, and ideally as much at compile time as possible. 2018-02-13T22:55:34Z shrdlu68 joined #lisp 2018-02-13T22:56:06Z aeth: My latest approach is essentially: The game loop is going to be a coupled mess that needs to be prematurely optimized... so try to contain that and do as much outside of it as possible. 2018-02-13T22:56:59Z z3t0 quit (Ping timeout: 268 seconds) 2018-02-13T22:59:14Z blackwolf quit (Remote host closed the connection) 2018-02-13T23:00:49Z shrdlu68 quit (Ping timeout: 248 seconds) 2018-02-13T23:03:09Z Lycurgus quit (Ping timeout: 268 seconds) 2018-02-13T23:04:15Z Fade quit (Ping timeout: 256 seconds) 2018-02-13T23:07:02Z quazimodo quit (Ping timeout: 255 seconds) 2018-02-13T23:12:58Z sjl joined #lisp 2018-02-13T23:14:52Z wxie quit (Ping timeout: 260 seconds) 2018-02-13T23:15:35Z stacksmith: Is there a format directive that prints keywords with a colon, but does not quote strings? 2018-02-13T23:16:07Z shifty joined #lisp 2018-02-13T23:16:59Z al-damiri quit (Quit: Connection closed for inactivity) 2018-02-13T23:17:22Z rumbler31 quit (Remote host closed the connection) 2018-02-13T23:18:14Z Bike joined #lisp 2018-02-13T23:18:26Z fisxoj quit (Quit: fisxoj) 2018-02-13T23:20:57Z nirved quit (Quit: Leaving) 2018-02-13T23:22:43Z Kundry_Wag joined #lisp 2018-02-13T23:23:53Z Kaisyu joined #lisp 2018-02-13T23:26:55Z orivej quit (Ping timeout: 248 seconds) 2018-02-13T23:27:33Z Kundry_Wag quit (Remote host closed the connection) 2018-02-13T23:28:04Z wxie joined #lisp 2018-02-13T23:28:17Z Fade joined #lisp 2018-02-13T23:28:51Z z3t0 joined #lisp 2018-02-13T23:30:06Z peterhil quit (Quit: Must not waste too much time here...) 2018-02-13T23:30:23Z Kundry_Wag joined #lisp 2018-02-13T23:31:11Z peterhil joined #lisp 2018-02-13T23:31:41Z moei quit (Quit: Leaving...) 2018-02-13T23:32:27Z wxie quit (Ping timeout: 240 seconds) 2018-02-13T23:32:30Z z3t0 quit (Remote host closed the connection) 2018-02-13T23:32:57Z z3t0 joined #lisp 2018-02-13T23:34:57Z Kundry_Wag quit (Ping timeout: 248 seconds) 2018-02-13T23:35:25Z knobo1 quit (Ping timeout: 256 seconds) 2018-02-13T23:36:41Z smurfrobot joined #lisp 2018-02-13T23:36:44Z smurfrobot quit (Remote host closed the connection) 2018-02-13T23:36:45Z dieggsy quit (Remote host closed the connection) 2018-02-13T23:36:48Z sjl__ joined #lisp 2018-02-13T23:38:09Z White_Flame quit (Remote host closed the connection) 2018-02-13T23:39:05Z sjl quit (Ping timeout: 240 seconds) 2018-02-13T23:39:33Z White_Flame joined #lisp 2018-02-13T23:40:00Z z3t0 quit (Remote host closed the connection) 2018-02-13T23:40:34Z z3t0 joined #lisp 2018-02-13T23:41:54Z z3t0_ joined #lisp 2018-02-13T23:41:55Z z3t0 quit (Read error: Connection reset by peer) 2018-02-13T23:44:39Z eug_venalainen joined #lisp 2018-02-13T23:46:33Z DeadTrickster_ joined #lisp 2018-02-13T23:48:16Z eug_venalainen left #lisp 2018-02-13T23:48:31Z fisxoj joined #lisp 2018-02-13T23:49:24Z DeadTrickster quit (Ping timeout: 260 seconds) 2018-02-13T23:52:50Z dieggsy joined #lisp 2018-02-14T00:01:43Z Kundry_Wag joined #lisp 2018-02-14T00:13:39Z whoman joined #lisp 2018-02-14T00:13:53Z rumbler31 joined #lisp 2018-02-14T00:13:59Z rumbler31 quit (Read error: Connection reset by peer) 2018-02-14T00:16:57Z Pixel_Outlaw joined #lisp 2018-02-14T00:20:14Z rumbler31 joined #lisp 2018-02-14T00:20:16Z borei: can somebody point to the direction where can i find documentation for the following packages, all are prefixed with sb- 2018-02-14T00:20:19Z LiamH quit (Quit: Leaving.) 2018-02-14T00:20:41Z borei: vm, ext and c 2018-02-14T00:21:29Z borei: im trying to learn VOPs to do some computational optimization for my project 2018-02-14T00:22:03Z Bike: those are sbcl internal packages. 2018-02-14T00:22:17Z GuilOooo joined #lisp 2018-02-14T00:22:25Z Bike: sb-c is compiler, sb-vm is machine-specific stuff, and sb-ext is extensions provided for you to use (ok, that's not internal, but it's sbcl specific) 2018-02-14T00:22:45Z borei: yeah, i know, but without some minimu knowledge im acting blindly 2018-02-14T00:23:19Z borei: i did copy-paste couple examples - and make them work 2018-02-14T00:23:25Z borei: but it's not enough 2018-02-14T00:23:51Z Bike: the documentation on the internals is basically all in the source files. 2018-02-14T00:24:00Z Bike: you could also ask the devs for help in #sbcl. 2018-02-14T00:24:17Z Lycurgus joined #lisp 2018-02-14T00:24:57Z markong quit (Ping timeout: 264 seconds) 2018-02-14T00:25:05Z rumbler31 quit (Ping timeout: 248 seconds) 2018-02-14T00:25:20Z borei: that much less activities on #sbcl channel then here 2018-02-14T00:25:27Z borei: there are ^^^ 2018-02-14T00:25:28Z Bike: naturally. 2018-02-14T00:25:35Z terpri quit (Ping timeout: 248 seconds) 2018-02-14T00:26:31Z Kundry_Wag quit (Remote host closed the connection) 2018-02-14T00:37:04Z Tobbi quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-14T00:44:25Z pillton: borei: Paul Khuong has some interesting articles on SBCL internals. e.g. https://www.pvk.ca/Blog/2014/08/16/how-to-define-new-intrinsics-in-sbcl/ 2018-02-14T00:44:46Z pillton: borei: Or https://www.pvk.ca/Blog/2014/03/15/sbcl-the-ultimate-assembly-code-breadboard/ 2018-02-14T00:45:18Z shrdlu68 joined #lisp 2018-02-14T00:45:50Z python476 joined #lisp 2018-02-14T00:46:18Z earl-ducaine: pillton: wow I hadn't seen either of those. Thanks for the links! 2018-02-14T00:47:07Z pillton: You are welcome. 2018-02-14T00:53:00Z earl-ducaine quit (Remote host closed the connection) 2018-02-14T00:53:21Z Cthulhux quit (Ping timeout: 248 seconds) 2018-02-14T00:55:25Z Cthulhux joined #lisp 2018-02-14T00:56:38Z ckonstanski quit (Remote host closed the connection) 2018-02-14T00:57:09Z earl-ducaine joined #lisp 2018-02-14T00:58:27Z z3t0_ quit (Remote host closed the connection) 2018-02-14T00:58:28Z smasta quit (Ping timeout: 268 seconds) 2018-02-14T00:58:39Z shrdlu68 quit (Ping timeout: 248 seconds) 2018-02-14T00:58:59Z z3t0 joined #lisp 2018-02-14T01:00:07Z wafflemanz joined #lisp 2018-02-14T01:01:36Z rumbler31 joined #lisp 2018-02-14T01:02:32Z erikc joined #lisp 2018-02-14T01:03:10Z wafflemanz quit (Client Quit) 2018-02-14T01:03:22Z wafflemanz joined #lisp 2018-02-14T01:03:29Z z3t0 quit (Ping timeout: 248 seconds) 2018-02-14T01:03:36Z wafflemanz quit (Remote host closed the connection) 2018-02-14T01:05:38Z shrdlu68 joined #lisp 2018-02-14T01:08:23Z EvW1 quit (Ping timeout: 276 seconds) 2018-02-14T01:18:47Z fisxoj quit (Quit: fisxoj) 2018-02-14T01:21:53Z nosaj88 quit (Ping timeout: 255 seconds) 2018-02-14T01:27:35Z pierpa joined #lisp 2018-02-14T01:38:05Z Lycurgus quit (Ping timeout: 240 seconds) 2018-02-14T01:42:44Z Arcaelyx joined #lisp 2018-02-14T01:45:49Z dieggsy quit (Remote host closed the connection) 2018-02-14T01:46:57Z smasta joined #lisp 2018-02-14T01:47:28Z dieggsy joined #lisp 2018-02-14T01:51:50Z smasta quit (Ping timeout: 276 seconds) 2018-02-14T01:58:33Z python476 quit (Remote host closed the connection) 2018-02-14T01:59:18Z funnel quit (Ping timeout: 240 seconds) 2018-02-14T02:00:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-14T02:01:31Z funnel joined #lisp 2018-02-14T02:14:19Z warweasle joined #lisp 2018-02-14T02:18:15Z fisxoj joined #lisp 2018-02-14T02:22:07Z terpri joined #lisp 2018-02-14T02:23:49Z d4ryus1 joined #lisp 2018-02-14T02:26:35Z d4ryus quit (Ping timeout: 240 seconds) 2018-02-14T02:27:08Z fikka joined #lisp 2018-02-14T02:34:44Z Arcaelyx quit (Ping timeout: 276 seconds) 2018-02-14T02:35:05Z Arcaelyx_ joined #lisp 2018-02-14T02:37:05Z mlf|2 joined #lisp 2018-02-14T02:37:57Z guna quit (Ping timeout: 240 seconds) 2018-02-14T02:39:10Z mlf quit (Ping timeout: 240 seconds) 2018-02-14T02:39:20Z python476 joined #lisp 2018-02-14T02:40:26Z guna joined #lisp 2018-02-14T02:43:17Z Cymew joined #lisp 2018-02-14T02:44:52Z sjl__ quit (Quit: WeeChat 1.9.1) 2018-02-14T02:48:17Z wxie joined #lisp 2018-02-14T02:48:23Z Cymew quit (Ping timeout: 276 seconds) 2018-02-14T02:51:07Z terpri` joined #lisp 2018-02-14T02:56:07Z Lycurgus joined #lisp 2018-02-14T02:57:09Z makomo_ quit (Ping timeout: 256 seconds) 2018-02-14T03:02:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-14T03:05:52Z nullman quit (Ping timeout: 260 seconds) 2018-02-14T03:06:49Z nullman joined #lisp 2018-02-14T03:07:06Z borei: pillton: yeap - im using that articles, but looking for material with wider coverage and more systematical. 2018-02-14T03:08:41Z wmannis joined #lisp 2018-02-14T03:08:57Z erikc quit 2018-02-14T03:17:40Z kobain quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-14T03:20:34Z python476 quit (Ping timeout: 260 seconds) 2018-02-14T03:23:58Z heurist__ joined #lisp 2018-02-14T03:24:57Z heurist`_` quit (Ping timeout: 240 seconds) 2018-02-14T03:26:19Z nosaj88 joined #lisp 2018-02-14T03:28:48Z fisxoj quit (Quit: fisxoj) 2018-02-14T03:29:37Z nullman quit (Ping timeout: 248 seconds) 2018-02-14T03:30:26Z nullman joined #lisp 2018-02-14T03:31:33Z wxie quit (Ping timeout: 264 seconds) 2018-02-14T03:32:01Z nosaj88 quit (Ping timeout: 268 seconds) 2018-02-14T03:33:21Z fikka quit (Ping timeout: 248 seconds) 2018-02-14T03:34:49Z smasta joined #lisp 2018-02-14T03:35:10Z mhd joined #lisp 2018-02-14T03:35:46Z Kundry_Wag joined #lisp 2018-02-14T03:39:13Z fikka joined #lisp 2018-02-14T03:39:26Z smasta quit (Ping timeout: 252 seconds) 2018-02-14T03:40:13Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-14T03:44:17Z beach: Good morning everyone! 2018-02-14T03:45:32Z pillton: G'day beach. 2018-02-14T03:51:49Z Oladon joined #lisp 2018-02-14T03:55:00Z smokeink joined #lisp 2018-02-14T03:55:34Z smokeink quit (Remote host closed the connection) 2018-02-14T03:55:57Z smokeink joined #lisp 2018-02-14T03:56:01Z smurfrobot joined #lisp 2018-02-14T03:57:02Z wmannis quit (Quit: wmannis) 2018-02-14T03:59:53Z shka joined #lisp 2018-02-14T04:01:00Z smurfrobot quit (Ping timeout: 268 seconds) 2018-02-14T04:05:23Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-02-14T04:05:47Z Kundry_Wag joined #lisp 2018-02-14T04:06:52Z arescorpio joined #lisp 2018-02-14T04:10:24Z ahungry joined #lisp 2018-02-14T04:10:29Z nika joined #lisp 2018-02-14T04:10:33Z Kundry_Wag quit (Ping timeout: 264 seconds) 2018-02-14T04:12:17Z fikka quit (Ping timeout: 248 seconds) 2018-02-14T04:13:57Z warweasle quit (Quit: Leaving) 2018-02-14T04:17:50Z stacksmith quit (Ping timeout: 255 seconds) 2018-02-14T04:18:08Z stacksmith joined #lisp 2018-02-14T04:18:34Z Pixel_Outlaw quit (Quit: Leaving) 2018-02-14T04:19:06Z Oladon1 joined #lisp 2018-02-14T04:19:38Z Oladon quit (Ping timeout: 255 seconds) 2018-02-14T04:20:55Z Bike quit (Quit: Lost terminal) 2018-02-14T04:21:56Z fikka joined #lisp 2018-02-14T04:22:36Z ludston_ quit (Read error: Connection reset by peer) 2018-02-14T04:22:38Z SAL9000 quit (Read error: Connection reset by peer) 2018-02-14T04:22:42Z SAL9000_ joined #lisp 2018-02-14T04:23:16Z ludston joined #lisp 2018-02-14T04:31:55Z ahungry quit (Remote host closed the connection) 2018-02-14T04:32:53Z schoppenhauer quit (Ping timeout: 265 seconds) 2018-02-14T04:34:50Z schoppenhauer joined #lisp 2018-02-14T04:46:32Z arescorpio quit (Excess Flood) 2018-02-14T04:54:28Z quazimodo joined #lisp 2018-02-14T05:02:15Z Oladon1 quit (Quit: Leaving.) 2018-02-14T05:05:44Z Kundry_Wag joined #lisp 2018-02-14T05:09:53Z Kundry_Wag quit (Ping timeout: 248 seconds) 2018-02-14T05:23:03Z smasta joined #lisp 2018-02-14T05:23:10Z d4ryus1 quit (Ping timeout: 240 seconds) 2018-02-14T05:28:17Z smasta quit (Ping timeout: 276 seconds) 2018-02-14T05:28:17Z fikka quit (Ping timeout: 276 seconds) 2018-02-14T05:29:48Z pierpa quit (Quit: Page closed) 2018-02-14T05:31:24Z fikka joined #lisp 2018-02-14T05:35:20Z heurist joined #lisp 2018-02-14T05:37:08Z heurist__ quit (Ping timeout: 252 seconds) 2018-02-14T05:40:50Z BitPuffin joined #lisp 2018-02-14T05:43:50Z heurist` joined #lisp 2018-02-14T05:44:33Z heurist quit (Ping timeout: 248 seconds) 2018-02-14T05:45:19Z terpri` quit (Quit: Leaving) 2018-02-14T05:49:32Z damke_ joined #lisp 2018-02-14T05:51:07Z quazimodo quit (Ping timeout: 256 seconds) 2018-02-14T05:53:06Z defaultxr joined #lisp 2018-02-14T05:56:54Z smurfrobot joined #lisp 2018-02-14T05:58:24Z mjl_ joined #lisp 2018-02-14T06:01:49Z smurfrobot quit (Ping timeout: 265 seconds) 2018-02-14T06:04:02Z dieggsy quit (Ping timeout: 276 seconds) 2018-02-14T06:05:09Z damke_ quit (Ping timeout: 264 seconds) 2018-02-14T06:05:39Z fikka quit (Ping timeout: 260 seconds) 2018-02-14T06:05:44Z Kundry_Wag joined #lisp 2018-02-14T06:07:38Z fikka joined #lisp 2018-02-14T06:10:31Z Kundry_Wag quit (Ping timeout: 265 seconds) 2018-02-14T06:17:35Z LocaMocha joined #lisp 2018-02-14T06:17:45Z wxie joined #lisp 2018-02-14T06:20:22Z vlatkoB joined #lisp 2018-02-14T06:20:56Z White_Flame quit (Remote host closed the connection) 2018-02-14T06:22:17Z White_Flame joined #lisp 2018-02-14T06:23:16Z Arcaelyx joined #lisp 2018-02-14T06:24:03Z Arcaelyx_ quit (Ping timeout: 265 seconds) 2018-02-14T06:25:10Z sz0 joined #lisp 2018-02-14T06:29:14Z nosaj88 joined #lisp 2018-02-14T06:30:27Z White_Flame quit (Remote host closed the connection) 2018-02-14T06:31:45Z White_Flame joined #lisp 2018-02-14T06:32:54Z Kaisyu7 quit (Read error: Connection reset by peer) 2018-02-14T06:34:41Z mishoo joined #lisp 2018-02-14T06:34:54Z Kaisyu7 joined #lisp 2018-02-14T06:36:34Z wxie quit (Ping timeout: 260 seconds) 2018-02-14T06:40:45Z Karl_Dscc joined #lisp 2018-02-14T06:48:08Z heurist`_ joined #lisp 2018-02-14T06:49:59Z heurist` quit (Ping timeout: 260 seconds) 2018-02-14T06:50:40Z saki quit (Ping timeout: 240 seconds) 2018-02-14T06:51:14Z saki joined #lisp 2018-02-14T06:51:45Z flamebeard joined #lisp 2018-02-14T06:58:33Z Lycurgus quit (Ping timeout: 256 seconds) 2018-02-14T06:58:35Z nika quit (Quit: Leaving...) 2018-02-14T07:00:04Z mhd quit (Quit: Textual IRC Client: www.textualapp.com) 2018-02-14T07:00:04Z mhd quit (Quit: Textual IRC Client: www.textualapp.com) 2018-02-14T07:00:31Z smurfrobot joined #lisp 2018-02-14T07:00:38Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-14T07:05:50Z heurist`_ quit (Read error: Connection reset by peer) 2018-02-14T07:08:49Z heurist`_ joined #lisp 2018-02-14T07:10:13Z dddddd quit (Remote host closed the connection) 2018-02-14T07:14:05Z heurist`_ quit (Ping timeout: 240 seconds) 2018-02-14T07:14:26Z phoe: Hey! 2018-02-14T07:14:29Z heurist`_ joined #lisp 2018-02-14T07:14:36Z beach: Hello phoe. 2018-02-14T07:14:57Z scymtym quit (Ping timeout: 240 seconds) 2018-02-14T07:14:59Z Karl_Dscc quit (Remote host closed the connection) 2018-02-14T07:15:01Z phoe: I just committed a very short summary of the condition system over at https://www.reddit.com/r/lisp/comments/7xg61l/can_anyone_explain_conditions_to_me/du82y9p/ - I'd like a review of that comment in case I'm speaking garbage somewhere. 2018-02-14T07:15:15Z phoe: Hey beach. 2018-02-14T07:15:55Z phoe: I need to run to work now - see you later. 2018-02-14T07:18:42Z jackdaniel: phoe: handler-case unwinds the stack, so claim "Every condition handler is a function, and that function is executed right where the condition was signaled." is bogus 2018-02-14T07:18:57Z jackdaniel: does it cover conditions better than link to PCL? 2018-02-14T07:19:04Z jackdaniel: (your comment that is) 2018-02-14T07:19:15Z damke_ joined #lisp 2018-02-14T07:19:24Z phoe: "That function may decide to unwind the stack which allows for behaviour like C++ exceptions (see HANDLER-CASE)" 2018-02-14T07:19:26Z Tobbi joined #lisp 2018-02-14T07:19:35Z phoe: jackdaniel: I said exactly that 2018-02-14T07:19:47Z orivej joined #lisp 2018-02-14T07:20:02Z jackdaniel: condition handlers *are not always* executed right where the condition was signalled 2018-02-14T07:20:16Z beach: It depends on what you mean by "condition handler". 2018-02-14T07:20:38Z beach: I think technically it is the function that gets called, and that function may do a non-local exit. 2018-02-14T07:20:45Z beach: We should check the terminology. 2018-02-14T07:21:16Z beach: But, phoe also says that execution may continue after a call to a signaling function. I don't think that is the case for ERROR. 2018-02-14T07:21:30Z phoe: beach: ERROR calls SIGNAL first and then calls INVOKE-DEBUGGER. 2018-02-14T07:21:41Z phoe: so after SIGNAL the execution continues to INVOKE-DEBUGGER. 2018-02-14T07:21:58Z phoe: jackdaniel: HANDLER-CASE establishes two functions - a very short handler that just calls THROW #:G123 and performs a non-local exit, and a matching CATCH that contains the main body of the function. 2018-02-14T07:22:07Z jackdaniel: beach: in case of handler-bind function is called without unwinding the stack (so you can examine it) and in case of handler-case first stack is unwound and then function is called (that's why the first sentence is erronous) 2018-02-14T07:22:20Z SN joined #lisp 2018-02-14T07:22:26Z phoe: but that body of the function is *not* a handler itself in the strict meaning - it is not the function that gets dynamically bound. 2018-02-14T07:22:39Z beach: phoe: That's is kind of misleading in the context though. You give the impression that in (progn (error ...) (fn ...)), FN can actually be called. 2018-02-14T07:22:48Z phoe: Yes, I see. 2018-02-14T07:24:10Z beach: jackdaniel: Are you sure of that? 2018-02-14T07:24:13Z phoe: Okay - I have edited that part of the comment. 2018-02-14T07:24:43Z heurist_ joined #lisp 2018-02-14T07:24:56Z phoe: beach: I'm sure that with handler-bind the stack is not unwound and with handler-case the first thing that happens is unwinding of the stack. 2018-02-14T07:24:58Z jackdaniel: beach: yes, we had to switch to handler-case* in some project to be able to print backtrace of error (not of the handler) 2018-02-14T07:25:33Z red-dot quit (Ping timeout: 264 seconds) 2018-02-14T07:25:36Z SN is now known as red-dot 2018-02-14T07:25:37Z jackdaniel: and handler-case* was a disguised handler-bind which did non-local exit from body 2018-02-14T07:26:04Z heurist`_ quit (Ping timeout: 256 seconds) 2018-02-14T07:26:31Z phoe: "Every condition handler is a function, and that function may be executed right where the condition was signaled or it may may decide to unwind the stack." 2018-02-14T07:26:55Z beach: I am looking at the expansion of handler-case in SBCL, and it looks to me like the handler function is called when the stack is still not unwound. 2018-02-14T07:26:57Z phoe: now it's less nitpicky but more intuitive, I hope. 2018-02-14T07:29:03Z phoe: beach: http://clhs.lisp.se/Body/m_hand_1.htm see Notes 2018-02-14T07:30:00Z nosaj88 quit (Quit: Leaving) 2018-02-14T07:30:11Z Kevslinger quit (Quit: Connection closed for inactivity) 2018-02-14T07:30:50Z phoe: The actual handlers in HANDLER-BIND only perform non-local exit to the forms that contain the actual handler bodies. 2018-02-14T07:31:06Z beach: Hmm. I see. 2018-02-14T07:31:42Z beach: Now, the question here, which one is the handler in this example. 2018-02-14T07:31:57Z phoe: Depends what you mean by "handler" because there are two conflicting definitions here. 2018-02-14T07:32:14Z phoe: Handler as in the function that gets bound by HANDLER-BIND or handler as in the function that actually executes the body. 2018-02-14T07:32:20Z beach: I don't see a conflict. to me, the handlers are (lambda (temp) ...). 2018-02-14T07:32:34Z phoe: Yep, these are the handlers to me using the strict definition. 2018-02-14T07:32:48Z beach: So the handler is always executed before the stack is unwound. 2018-02-14T07:32:48Z phoe: And they basically just call GO. 2018-02-14T07:32:51Z jackdaniel: most intuitive (for a programmer and from the abstraction perspective) is the function which handles the condition (that is - function written by the programmar who is responsible for higher-level logic) 2018-02-14T07:33:07Z jackdaniel: imho 2018-02-14T07:33:15Z phoe: Yep, that's why I edited my Reddit comment. 2018-02-14T07:33:23Z beach: jackdaniel: But in the case of HANDLER-CASE the programmer does not write any function. 2018-02-14T07:33:26Z phoe: It's better to be intuitive here than 100% correct with the standard. 2018-02-14T07:33:30Z beach: Only code in clauses. 2018-02-14T07:33:50Z mishoo quit (Ping timeout: 276 seconds) 2018-02-14T07:34:44Z jackdaniel: "Each error-clause specifies how to handle a condition matching the indicated typespec." ← specification how to handle a condition is arguably a handler, and the way it is invoked is implementation detail 2018-02-14T07:35:12Z beach: I disagree. But I guess it is not that important. 2018-02-14T07:36:13Z jackdaniel: http://hellsgate.pl/files/c4b578f0 regarding backtraces, this snippet illustrates the practical difference ← 2018-02-14T07:36:53Z beach: I know the difference. I just don't agree about what you call "handler". 2018-02-14T07:39:17Z phoe: jackdaniel: where is HANDLER-CASE* that you mention located? 2018-02-14T07:39:38Z phoe: I assume that it first executes the forms it is given and only *afterwards* performs a non-local exit. Which is useful. 2018-02-14T07:39:59Z jackdaniel: beach: spec also agrees with you "(so that the handlers established around the expression are no longer active)" 2018-02-14T07:40:43Z makomo_ joined #lisp 2018-02-14T07:40:44Z jackdaniel: phoe: it is in some codebase I'm not allowed to share 2018-02-14T07:41:07Z beach: jackdaniel: Thanks. 2018-02-14T07:41:10Z phoe: jackdaniel: got it. I'll think of writing my own, then. 2018-02-14T07:41:15Z phoe: Since it *does* sound useful. 2018-02-14T07:41:36Z jackdaniel: but implementation is not super-compilcated. It looks exactly like handler-case*, but it does evaluate the expression before stack is unwound 2018-02-14T07:42:01Z phoe: yep, that's why I think I can implement it on my own. 2018-02-14T07:42:16Z phoe: ...and I'm sure that handler-case* looks exactly like handler-case*, yes (: 2018-02-14T07:43:08Z phoe runs off 2018-02-14T07:43:37Z fikka quit (Ping timeout: 268 seconds) 2018-02-14T07:44:43Z jackdaniel: [yet I still think, that saying that handler is invoked before unwinding a stack, while technically in-par with spec is confusing, because expression is what the programmer cares about] 2018-02-14T07:45:01Z phoe: Because I see that it's correct to name the handler as the part that is bound to the condition but it's useful to name the handler as the "useful" part that calls the forms. 2018-02-14T07:45:10Z phoe: Yep 2018-02-14T07:45:31Z jackdaniel: s/spec is/spec, it is/ 2018-02-14T07:46:30Z heurist`_` joined #lisp 2018-02-14T07:48:33Z shka quit (Ping timeout: 268 seconds) 2018-02-14T07:48:59Z heurist_ quit (Ping timeout: 256 seconds) 2018-02-14T07:49:56Z orivej quit (Ping timeout: 255 seconds) 2018-02-14T07:50:11Z fikka joined #lisp 2018-02-14T07:52:52Z whoman quit (Ping timeout: 260 seconds) 2018-02-14T07:53:09Z defaultxr left #lisp 2018-02-14T07:55:21Z mishoo joined #lisp 2018-02-14T07:55:50Z SaganMan joined #lisp 2018-02-14T08:01:21Z Cymew joined #lisp 2018-02-14T08:02:34Z Kaisyu7 quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-14T08:05:45Z Kundry_Wag joined #lisp 2018-02-14T08:05:46Z earl-ducaine quit (Remote host closed the connection) 2018-02-14T08:10:02Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-02-14T08:11:00Z m00natic joined #lisp 2018-02-14T08:11:45Z whoman joined #lisp 2018-02-14T08:13:47Z clog quit (Ping timeout: 255 seconds) 2018-02-14T08:13:55Z clog joined #lisp 2018-02-14T08:18:07Z smurfrobot quit (Remote host closed the connection) 2018-02-14T08:18:18Z flip214: Hmm, the CDRs on cdr.eurolisp.org/final.html have vanished - this is only a 404 now. Does somebody know the new location? 2018-02-14T08:20:00Z shrdlu68 quit (Ping timeout: 268 seconds) 2018-02-14T08:20:18Z shrdlu68 joined #lisp 2018-02-14T08:36:06Z scymtym joined #lisp 2018-02-14T08:36:47Z mlf|2 quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-14T08:38:25Z fikka quit (Ping timeout: 248 seconds) 2018-02-14T08:43:33Z fikka joined #lisp 2018-02-14T08:54:36Z jfo joined #lisp 2018-02-14T08:56:35Z jfo left #lisp 2018-02-14T08:59:32Z Mandus joined #lisp 2018-02-14T09:01:48Z Mandus_ joined #lisp 2018-02-14T09:02:08Z Mandus_ quit (Client Quit) 2018-02-14T09:03:03Z Mandus_ joined #lisp 2018-02-14T09:03:27Z damke_ quit (Ping timeout: 260 seconds) 2018-02-14T09:11:02Z solyd joined #lisp 2018-02-14T09:14:09Z Cthulhux quit (Changing host) 2018-02-14T09:14:09Z Cthulhux joined #lisp 2018-02-14T09:14:40Z fikka quit (Ping timeout: 240 seconds) 2018-02-14T09:15:35Z Murii joined #lisp 2018-02-14T09:16:22Z Lycurgus joined #lisp 2018-02-14T09:17:51Z fikka joined #lisp 2018-02-14T09:20:37Z phoe: flip214: https://common-lisp.net/project/cdr/ 2018-02-14T09:20:40Z phoe: that is what google tells me 2018-02-14T09:23:40Z fikka quit (Ping timeout: 240 seconds) 2018-02-14T09:25:17Z SaganMan quit (Quit: WeeChat 1.6) 2018-02-14T09:27:35Z dmiles quit (Ping timeout: 256 seconds) 2018-02-14T09:30:01Z nostoi joined #lisp 2018-02-14T09:30:06Z _cosmonaut_ joined #lisp 2018-02-14T09:33:51Z dmiles joined #lisp 2018-02-14T09:34:40Z makomo_ quit (Ping timeout: 240 seconds) 2018-02-14T09:35:59Z fikka joined #lisp 2018-02-14T09:37:31Z damke_ joined #lisp 2018-02-14T09:37:46Z nostoi quit (Quit: Verlassend.) 2018-02-14T09:45:02Z fikka quit (Ping timeout: 256 seconds) 2018-02-14T09:47:15Z makomo joined #lisp 2018-02-14T09:51:01Z beach: Hmm, indentation is made much more complicated because of the presence of comments and other elements that are part of the text, but not part of the expression being read. 2018-02-14T09:51:04Z fikka joined #lisp 2018-02-14T09:51:24Z beach: And Emacs+SLIME often gets it wrong too. 2018-02-14T09:53:01Z beach: Try for example (progn ;; comment . 2018-02-14T09:55:17Z beach instantly regrets suggesting that example; fearing that it will now be debated. 2018-02-14T09:55:18Z jackdaniel: slime seems to do fine with this one 2018-02-14T09:55:20Z fikka quit (Ping timeout: 255 seconds) 2018-02-14T09:55:30Z smurfrobot joined #lisp 2018-02-14T09:55:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-14T09:56:08Z Shinmera: jackdaniel: Not if you expect the indentation to be as much as the comment (like I, and probably beach, do) 2018-02-14T09:56:20Z jackdaniel: OK 2018-02-14T09:56:38Z beach: Yes, that was my point. The comment should determine the indentation of the body. 2018-02-14T09:56:52Z beach: But, like I said, I regret bringing it up. 2018-02-14T09:58:58Z fikka joined #lisp 2018-02-14T10:00:50Z smurfrobot quit (Remote host closed the connection) 2018-02-14T10:01:28Z smurfrobot joined #lisp 2018-02-14T10:01:29Z smurfrobot quit (Remote host closed the connection) 2018-02-14T10:01:41Z smurfrobot joined #lisp 2018-02-14T10:03:43Z saki quit (Quit: saki) 2018-02-14T10:05:54Z shrdlu68 quit (Ping timeout: 265 seconds) 2018-02-14T10:06:03Z beach: And there is of course my favorite example where Emacs indents a LET binding as if it were a form. 2018-02-14T10:06:23Z beach is pretty sure that one can not be contested. 2018-02-14T10:07:44Z shrdlu68 joined #lisp 2018-02-14T10:09:05Z fikka quit (Ping timeout: 248 seconds) 2018-02-14T10:09:21Z jibanes quit (Ping timeout: 264 seconds) 2018-02-14T10:11:09Z jibanes joined #lisp 2018-02-14T10:12:39Z heurist__ joined #lisp 2018-02-14T10:13:12Z Kaisyu quit (Quit: Connection closed for inactivity) 2018-02-14T10:13:40Z heurist`_` quit (Ping timeout: 240 seconds) 2018-02-14T10:14:55Z dmiles quit (Ping timeout: 248 seconds) 2018-02-14T10:18:27Z dmiles joined #lisp 2018-02-14T10:18:42Z fikka joined #lisp 2018-02-14T10:18:42Z Lycurgus quit (Quit: Ex Chat) 2018-02-14T10:21:06Z dnulkesaf joined #lisp 2018-02-14T10:22:57Z dmiles quit (Ping timeout: 240 seconds) 2018-02-14T10:25:05Z smurfrobot quit (Remote host closed the connection) 2018-02-14T10:30:20Z smurfrobot joined #lisp 2018-02-14T10:35:19Z nirved joined #lisp 2018-02-14T10:35:20Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-14T10:36:03Z varjag joined #lisp 2018-02-14T10:39:46Z dim: well I would normally comment but I'm writing Python code nowadays 2018-02-14T10:40:14Z dim: so your quarrels about how to properly indent Lisp code... I wish I could still find that funny ;-) 2018-02-14T10:41:00Z dnulkesaf is now known as dmiles 2018-02-14T10:43:23Z dim: more seriously I tend not to care much and am ok/happy with Emacs defaults most of the time, the SLIME navigation, debug, and tracing facilities are way more important to me than the indenting of the code 2018-02-14T10:44:17Z dim: that said I have some expressions in the vein (put 'bind 'common-lisp-indent-function (get 'let 'common-lisp-indent-function)) in my cl config for Emacs 2018-02-14T10:46:03Z smurfrobot joined #lisp 2018-02-14T10:52:00Z damke_ joined #lisp 2018-02-14T10:54:02Z beach: dim: What is that you like about SLIME's debugging facilities that you don't have for other languages? 2018-02-14T10:55:23Z dim: beach: you'll laught at me for that being really the basics, but I love the fact that you can interactively try any function in the REPL and have the “advanced” tracing UI too 2018-02-14T10:55:58Z dim: the REPL isn't specific to slime, it's quite more powerful in lisp than any other language I've been playing with in the past, apart from Erlang maybe 2018-02-14T10:56:10Z dim: I'd think of Erlang as being on-par here 2018-02-14T10:57:16Z dim: doing Python, when you have e.g. a small parser to read query timings from a subprocess stdout, and want to just try that function, it's cumbersome, in lisp you just play at the REPL, and if you wonder about what happens when you run the whole program, just trace it! 2018-02-14T10:57:27Z dim: I've been missing that recently 2018-02-14T10:57:32Z beach: I definitely won't laugh at you. I am just interested, because I have seen several times in this channel people saying that SLIME is the best IDE, all languages included. 2018-02-14T10:58:25Z dim: I think such a statement would typically conflate properties of CL with those of SLIME 2018-02-14T10:58:49Z smurfrobot quit (Remote host closed the connection) 2018-02-14T10:59:27Z dim: take ‘C-M-x runs the command slime-eval-defun’ as an example 2018-02-14T10:59:37Z dim: it's awesome to have that in SLIME and I use it all the time 2018-02-14T10:59:38Z beach: So for instance, I still don't know how to use SBCL to set a breakpoint at any place in the code, run the program until it stops, and then step by expression. 2018-02-14T10:59:50Z dim: the best part of it is still the CL system that you're connected to 2018-02-14T11:00:26Z attila_lendvai joined #lisp 2018-02-14T11:00:26Z attila_lendvai quit (Changing host) 2018-02-14T11:00:26Z attila_lendvai joined #lisp 2018-02-14T11:00:28Z dim: breakpoints... I don't know, I just edit the code with a (break) at the right place, then C-M-x and run my test again in the REPL 2018-02-14T11:00:40Z beach: That's what I feared. 2018-02-14T11:01:25Z dim: I mostly ever do that on my own code as opposed to libs/dependencies tho 2018-02-14T11:01:30Z beach: OK, I think you answered my question. 2018-02-14T11:01:46Z damke joined #lisp 2018-02-14T11:01:53Z dim: I'm not a sophisticated user of programmer tools 2018-02-14T11:03:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-14T11:03:27Z dim: reading http://www.codersatwork.com was very reassuring to me 2018-02-14T11:03:55Z dim: basically, half of the people in there use advanced debugging facilities, the other half are like “just add a printf here and there, and think hard” 2018-02-14T11:05:35Z Kundry_Wag joined #lisp 2018-02-14T11:10:11Z Kundry_Wag quit (Ping timeout: 255 seconds) 2018-02-14T11:11:50Z Mandus_ quit (Remote host closed the connection) 2018-02-14T11:11:50Z Mandus quit (Remote host closed the connection) 2018-02-14T11:12:11Z Mandus joined #lisp 2018-02-14T11:15:27Z wxie joined #lisp 2018-02-14T11:17:38Z saki joined #lisp 2018-02-14T11:21:21Z damke quit (Ping timeout: 264 seconds) 2018-02-14T11:22:24Z saki quit (Ping timeout: 260 seconds) 2018-02-14T11:22:58Z wxie quit (Quit: AtomicIRC: The nuclear option.) 2018-02-14T11:30:30Z saki joined #lisp 2018-02-14T11:32:33Z kdridi joined #lisp 2018-02-14T11:32:49Z ludston quit (Quit: -a- Connection Timed Out) 2018-02-14T11:33:05Z ludston joined #lisp 2018-02-14T11:35:33Z fikka quit (Read error: Connection reset by peer) 2018-02-14T11:37:57Z ludston_ joined #lisp 2018-02-14T11:38:03Z Achylles joined #lisp 2018-02-14T11:38:23Z ludston_ quit (Read error: Connection reset by peer) 2018-02-14T11:41:16Z fikka joined #lisp 2018-02-14T11:42:02Z ludston quit (Ping timeout: 276 seconds) 2018-02-14T11:42:07Z ludston_ joined #lisp 2018-02-14T11:50:18Z python476 joined #lisp 2018-02-14T12:06:31Z smurfrobot joined #lisp 2018-02-14T12:06:56Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-14T12:09:02Z attila_lendvai joined #lisp 2018-02-14T12:10:07Z drewc quit (Ping timeout: 248 seconds) 2018-02-14T12:12:01Z Kundry_Wag joined #lisp 2018-02-14T12:14:06Z kdridi quit (Remote host closed the connection) 2018-02-14T12:16:34Z nullniverse joined #lisp 2018-02-14T12:22:31Z smurfrobot quit (Remote host closed the connection) 2018-02-14T12:24:10Z d4ryus joined #lisp 2018-02-14T12:24:17Z wigust joined #lisp 2018-02-14T12:26:42Z nullman quit (Ping timeout: 252 seconds) 2018-02-14T12:27:49Z python476 quit (Read error: Connection reset by peer) 2018-02-14T12:30:38Z nowhere_man joined #lisp 2018-02-14T12:32:01Z saki quit (Ping timeout: 248 seconds) 2018-02-14T12:33:28Z saki joined #lisp 2018-02-14T12:34:05Z nullman joined #lisp 2018-02-14T12:34:41Z nowhereman_ quit (Ping timeout: 268 seconds) 2018-02-14T12:41:06Z flip214: beach: BTW, (defmethod indentation ((symbol (eql 'package:symbol)))) works as well 2018-02-14T12:41:06Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-14T12:43:21Z antgreen joined #lisp 2018-02-14T12:43:32Z ludston_: Which implementation of common lisp has a stepping debugger that works intuitively? I haven't gotten sbcls to work either. 2018-02-14T12:43:41Z attila_lendvai joined #lisp 2018-02-14T12:46:20Z Lycurgus joined #lisp 2018-02-14T12:50:27Z python476 joined #lisp 2018-02-14T12:50:48Z EvW joined #lisp 2018-02-14T12:53:32Z fittestbits left #lisp 2018-02-14T13:00:18Z fittestbits joined #lisp 2018-02-14T13:04:59Z Xach: ludston_: I don't know from personal experience, but I've heard the debugger experience on allegro is very good. 2018-02-14T13:05:03Z Xach: including stepping 2018-02-14T13:05:51Z ludston_: xach: cheers 2018-02-14T13:05:56Z Xach: I have used allegro a bit, but never delved deeply into the debugger; I mostly used slime's interface instead. 2018-02-14T13:06:06Z Xach: I started from SBCL so I wouldn't know what to try. 2018-02-14T13:22:37Z SAL9000_ quit (Quit: ZNC - http://znc.in) 2018-02-14T13:22:57Z SAL9000 joined #lisp 2018-02-14T13:24:40Z flip214: Shinmera: when regenerating the ELS webpages you might want to clean up the "../static/proceedings/2017.pdf" and similar links 2018-02-14T13:26:45Z pagnol joined #lisp 2018-02-14T13:27:13Z porky11 joined #lisp 2018-02-14T13:27:33Z pagnol quit (Client Quit) 2018-02-14T13:27:54Z Shinmera: ? 2018-02-14T13:29:28Z porky11 quit (Max SendQ exceeded) 2018-02-14T13:29:53Z porky11 joined #lisp 2018-02-14T13:30:35Z lnostdal joined #lisp 2018-02-14T13:33:32Z solyd quit (Ping timeout: 260 seconds) 2018-02-14T13:34:37Z Kundry_Wag quit (Remote host closed the connection) 2018-02-14T13:35:46Z Kevslinger joined #lisp 2018-02-14T13:36:38Z fikka quit (Ping timeout: 265 seconds) 2018-02-14T13:36:56Z fikka joined #lisp 2018-02-14T13:37:48Z saki quit (Ping timeout: 256 seconds) 2018-02-14T13:38:34Z saki joined #lisp 2018-02-14T13:45:44Z solyd joined #lisp 2018-02-14T13:47:13Z random-nick joined #lisp 2018-02-14T13:49:18Z smokeink quit (Ping timeout: 268 seconds) 2018-02-14T13:51:01Z drewc joined #lisp 2018-02-14T13:51:08Z Shinmera: The link works just fine for me 2018-02-14T13:51:17Z Shinmera: And I don't know what you mean by "similar links" either 2018-02-14T13:56:32Z attila_lendvai quit (Quit: Leaving.) 2018-02-14T13:57:17Z damke joined #lisp 2018-02-14T14:00:24Z _cosmonaut_ quit (Ping timeout: 268 seconds) 2018-02-14T14:01:28Z MrMc joined #lisp 2018-02-14T14:02:49Z m00natic quit (Ping timeout: 260 seconds) 2018-02-14T14:04:05Z lnostdal_ joined #lisp 2018-02-14T14:04:33Z ninegrid quit (Quit: leaving) 2018-02-14T14:04:58Z ninegrid joined #lisp 2018-02-14T14:05:58Z Kundry_Wag joined #lisp 2018-02-14T14:06:59Z lnostdal quit (Ping timeout: 255 seconds) 2018-02-14T14:09:14Z solyd_ joined #lisp 2018-02-14T14:09:42Z mishoo quit (Ping timeout: 260 seconds) 2018-02-14T14:10:05Z solyd quit (Ping timeout: 240 seconds) 2018-02-14T14:10:10Z alchemis1 joined #lisp 2018-02-14T14:10:31Z jmercouris joined #lisp 2018-02-14T14:11:10Z jmercouris: a way to print up to column x filling with characater? e.g. I want to print "fish" and then however many spaces necessary to make it equal to 10 columns or something 2018-02-14T14:11:20Z jmercouris: the idea is to print a bunch of keys/values in an easier to read way 2018-02-14T14:11:29Z jmercouris: is there a format recipe for this or something? 2018-02-14T14:11:30Z Kundry_Wag quit (Ping timeout: 268 seconds) 2018-02-14T14:11:39Z Xach: jmercouris: ~T may come in handy 2018-02-14T14:12:53Z jmercouris: Xach: Cool, thank you, can you also tell me where I may find the other control strings in the CLHS? 2018-02-14T14:12:53Z jmercouris: or "directives" as they are called 2018-02-14T14:13:13Z Xach: jmercouris: http://l1sp.org/cl/22.3 2018-02-14T14:13:54Z jmercouris: Xach: Thank you 2018-02-14T14:17:23Z warweasle joined #lisp 2018-02-14T14:17:55Z _cosmonaut_ joined #lisp 2018-02-14T14:19:50Z raynold quit (Quit: Connection closed for inactivity) 2018-02-14T14:20:06Z Kundry_Wag joined #lisp 2018-02-14T14:21:50Z phoe: jmercouris: https://www.hexstreamsoft.com/articles/common-lisp-format-reference/clhs-summary/#subsections-summary-table is a summary of it 2018-02-14T14:22:05Z phoe: basically a cheat sheet 2018-02-14T14:22:36Z jmercouris: phoe: very nice! 2018-02-14T14:22:56Z jmercouris: I spent like 10 minutes leafing through clhs sections to find the ~T operator, I completely understand why you are working on the ultraspec 2018-02-14T14:23:12Z idurand joined #lisp 2018-02-14T14:26:24Z idurand left #lisp 2018-02-14T14:28:27Z sfa joined #lisp 2018-02-14T14:34:33Z _cosmonaut_ quit (Ping timeout: 264 seconds) 2018-02-14T14:35:01Z saki quit (Quit: saki) 2018-02-14T14:37:05Z Lycurgus quit (Ping timeout: 240 seconds) 2018-02-14T14:38:58Z dlowe: clhs ~t 2018-02-14T14:38:58Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/22_cfa.htm 2018-02-14T14:38:59Z MrMc left #lisp 2018-02-14T14:39:03Z dlowe: there you go 2018-02-14T14:39:36Z dlowe: also www.xach.com/clhs?q=~t 2018-02-14T14:39:46Z dlowe: http://www.xach.com/clhs?q=~t 2018-02-14T14:43:14Z jmercouris: dlowe: any disorganized document sufficiently indexed is searchable 2018-02-14T14:43:47Z jmercouris: I appreciate the links though, I'll start messaging queries to the specbot :D 2018-02-14T14:44:00Z __rumbler31 joined #lisp 2018-02-14T14:44:10Z dlowe: I have Xach's search thing set to a custom search on my browser 2018-02-14T14:44:29Z dlowe: I should probably also use the emacs hyperspec integration more. 2018-02-14T14:44:37Z dlowe: there's even a debian package for it 2018-02-14T14:44:40Z jmercouris: dlowe: I assume you're using Next, right? 2018-02-14T14:45:08Z dlowe: no, I use Chrome like most people. 2018-02-14T14:45:12Z jmercouris: dlowe: so you wrote another search backend? why don't you publish it to the extensions wiki 2018-02-14T14:45:24Z jmercouris: dlowe: so you admit to using a plebian browser? 2018-02-14T14:45:25Z Xach: Custom search is just a settings string. 2018-02-14T14:45:36Z dlowe: yeah, it's just a special bookmark 2018-02-14T14:45:38Z jmercouris: Ah, so not nearly as powerful then 2018-02-14T14:45:48Z dlowe: it's just as powerful as the backing site :) 2018-02-14T14:46:33Z jmercouris: Ah, must be nice to be browse the utopianet where all websites accept simple arguments :D 2018-02-14T14:46:55Z dlowe: All the good ones, like Xach's 2018-02-14T14:47:12Z dlowe: They're good websites, jmercouris 2018-02-14T14:47:12Z jmercouris: There are use cases more complex than simple ones 2018-02-14T14:47:23Z jmercouris: Well yeah, they are on the utopianet, I'd expect them to be good 2018-02-14T14:48:01Z jmercouris: dlowe: I'm just messing with you, I have to shamelessly promote whenever possibe is all :D 2018-02-14T14:48:10Z Xach: I don't find it very appealing. 2018-02-14T14:48:20Z jmercouris: That's fine, you don't have to use it 2018-02-14T14:48:29Z Xach: I don't have to watch you shamelessly promote it either. 2018-02-14T14:48:39Z jmercouris: That's also true, you can close your eyes if you like 2018-02-14T14:49:33Z Xach: Let me be clear: if you promote the project by berating people for using a "plebian browser", you should not stay here. 2018-02-14T14:49:48Z phoe: ^ 2018-02-14T14:49:57Z jmercouris: Xach: Let me be clear: I was making a joke 2018-02-14T14:50:04Z jmercouris: who would use plebeian in a non-sarcastic manner? 2018-02-14T14:50:10Z phoe: then it was a very bad joke. 2018-02-14T14:50:12Z Xach: Not funny. 2018-02-14T14:50:17Z jmercouris: does that sound even remotely like how I normally talk? 2018-02-14T14:50:43Z jmercouris: Alright, whatever, I doubt dlowe was offended, nor anyone else 2018-02-14T14:50:53Z _cosmonaut_ joined #lisp 2018-02-14T14:51:01Z jmercouris: "pleb" is a well known term in irony used in the CS space 2018-02-14T14:51:13Z jmercouris: it's not like I'm just making something up here 2018-02-14T14:52:27Z jackdaniel: I think it is enough to note, that sarcasm is not welcome here (nor aggressive advertising) and let's move to lisp topic ;-) 2018-02-14T14:53:53Z dim: jmercouris: I think a proper answer here would be “sorry, I didn't realize it could be taken as offensive and that was not my intention” 2018-02-14T14:55:18Z jmercouris: dim: I would say that if I could imagine a scenario in which it could be construed offensive, I didn't say something completely unknown, it even has a knowyourmeme page 2018-02-14T14:55:40Z jmercouris: at any rate, just to be safe, if anyone at all was offended, I apologize 2018-02-14T15:00:27Z mishoo joined #lisp 2018-02-14T15:01:12Z python476 quit (Quit: ERC (IRC client for Emacs 25.3.1)) 2018-02-14T15:01:43Z foom: BTW, next time, if you leave out the "if anyone at all was offended" in the middle of your apology, it would seem more sincere. It's clear that someone was offended, as per discussion above. 2018-02-14T15:01:58Z dlowe: can we just take the meta elsewhere plz? 2018-02-14T15:03:03Z saki joined #lisp 2018-02-14T15:03:29Z dlowe: I'll even start - I think the CLIM backend using cl-charms is brilliant and could really work for climacs or some other CL editor. 2018-02-14T15:03:43Z dlowe: one of emac's strengths is that it can be run both GUI and on a terminal. 2018-02-14T15:03:49Z dlowe: emacs' 2018-02-14T15:03:55Z jackdaniel: it will be called charming-clim :-) 2018-02-14T15:04:05Z jackdaniel: I have basic window creation working 2018-02-14T15:04:14Z jackdaniel: but I'm doing it mostly for documentation (and understanding) purposes 2018-02-14T15:04:27Z python476 joined #lisp 2018-02-14T15:04:29Z solyd_ quit (Quit: solyd_) 2018-02-14T15:05:03Z jackdaniel: and half of the things will be of course broken (font-size, rendering non-rectangular regions etc) 2018-02-14T15:05:09Z fikka quit (Ping timeout: 264 seconds) 2018-02-14T15:05:28Z fikka joined #lisp 2018-02-14T15:05:40Z dlowe: Hm. Rendering regions could be done as long as you don't expect miracles. 2018-02-14T15:05:50Z dlowe: Any custom controls likely are right out. 2018-02-14T15:06:12Z python476 left #lisp 2018-02-14T15:06:15Z dlowe: If you can just get text panes working right, that's a lot. 2018-02-14T15:06:52Z jackdaniel: right, I hope it will be usable to some degree 2018-02-14T15:06:55Z python476 joined #lisp 2018-02-14T15:07:01Z _cosmonaut_ quit (Ping timeout: 265 seconds) 2018-02-14T15:08:11Z solyd joined #lisp 2018-02-14T15:08:46Z jackdaniel: when I was at uni I wrote checkers application in ncurses 2018-02-14T15:08:58Z jackdaniel: and when you've made font really really small, they were actual circles 2018-02-14T15:09:44Z fikka quit (Ping timeout: 256 seconds) 2018-02-14T15:10:05Z makomo quit (Ping timeout: 240 seconds) 2018-02-14T15:10:16Z Kundry_Wag quit (Remote host closed the connection) 2018-02-14T15:10:32Z pjb: ludston_: don't ask which implementation has the stepper you want. Write it yourself! 2018-02-14T15:10:36Z pjb: ludston_: have a look at cl-stepper! 2018-02-14T15:10:47Z Kundry_Wag joined #lisp 2018-02-14T15:11:38Z karswell_ quit (Remote host closed the connection) 2018-02-14T15:12:54Z karswell_ joined #lisp 2018-02-14T15:13:32Z dlowe: also, I wish there were an CL-native ncurses-like library. 2018-02-14T15:13:37Z pjb: jackdaniel: nowadays, you can use unicode in terminals… 2018-02-14T15:13:48Z dlowe: so if someone would get on that, that'd be greeeeat. 2018-02-14T15:14:06Z pjb: dlowe: won't happen, for the same reason as a CL clone of linux won't: the device drivers! 2018-02-14T15:14:09Z warweasle: dlowe: You can use pango and cairo for real control. 2018-02-14T15:14:42Z pjb: dlowe: nah, I'm just being pessimistic. It could be written easily since it's just a userland library, and the data files are available and with a public format. 2018-02-14T15:14:46Z flip214: Shinmera: I meant that you might want to change the link now visible as "../static/proceedings/2017.pdf" to be called like "Proceedings 2017" instead. (The text between and .) 2018-02-14T15:14:49Z Xach: dlowe: terminfo.lisp was inspiring back in the day 2018-02-14T15:15:38Z sfa quit (Quit: leaving) 2018-02-14T15:17:11Z arrsim quit (Ping timeout: 276 seconds) 2018-02-14T15:18:37Z ym quit (Ping timeout: 265 seconds) 2018-02-14T15:18:56Z ym joined #lisp 2018-02-14T15:19:58Z p_l: node.js people put together a termcap/terminfo parser as part of blessed library and use that 2018-02-14T15:21:41Z dieggsy joined #lisp 2018-02-14T15:22:16Z arrsim joined #lisp 2018-02-14T15:22:47Z _cosmonaut_ joined #lisp 2018-02-14T15:23:50Z lonjil quit (Ping timeout: 255 seconds) 2018-02-14T15:25:47Z orivej joined #lisp 2018-02-14T15:26:47Z lonjil joined #lisp 2018-02-14T15:28:33Z solyd quit (Quit: solyd) 2018-02-14T15:28:42Z fikka joined #lisp 2018-02-14T15:29:09Z damke quit (Ping timeout: 264 seconds) 2018-02-14T15:30:00Z solyd joined #lisp 2018-02-14T15:33:17Z lonjil quit (Ping timeout: 255 seconds) 2018-02-14T15:34:44Z lnostdal_ quit (Ping timeout: 255 seconds) 2018-02-14T15:35:12Z lonjil joined #lisp 2018-02-14T15:36:10Z beach: dim: How it reassuring that half of the developers don't use good tools? To me, it is very disturbing. 2018-02-14T15:37:04Z beach: flip214: I don't think that will work, because I want to be able to edit code even though the package has not been created yet. 2018-02-14T15:37:26Z makomo joined #lisp 2018-02-14T15:37:51Z smasta joined #lisp 2018-02-14T15:37:53Z jstypo joined #lisp 2018-02-14T15:38:22Z jmercouris quit (Ping timeout: 260 seconds) 2018-02-14T15:39:12Z python476 quit (Remote host closed the connection) 2018-02-14T15:39:27Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-14T15:42:07Z Jesin joined #lisp 2018-02-14T15:42:24Z dddddd joined #lisp 2018-02-14T15:43:04Z red-dot quit (Remote host closed the connection) 2018-02-14T15:45:03Z python476 joined #lisp 2018-02-14T15:46:26Z rippa joined #lisp 2018-02-14T15:47:34Z kdridi joined #lisp 2018-02-14T15:48:08Z lnostdal_ joined #lisp 2018-02-14T15:48:46Z solyd quit (Quit: solyd) 2018-02-14T15:51:46Z _cosmonaut_1 joined #lisp 2018-02-14T15:52:08Z pjb: beach: remember, every 5 years, the programmer population doubles. Which means that there are basically 50% of -5 year newbies. 2018-02-14T15:52:26Z pjb: beach: Probably also means that the CS teachers are also 50% newbies. 2018-02-14T15:52:43Z shrdlu68: The biggest challenge with writing a curses library in CL is controlling the terminal mode. 2018-02-14T15:52:53Z dim: beach: paraphrasing the book (which is real good, you would enjoy it), or rather what I recall about it, the more important tool you need is good thinking, the rest just helps with that 2018-02-14T15:53:18Z pjb: shrdlu68: of course, some CFFI will have to be involved (unless you use clisp of course). 2018-02-14T15:53:38Z pjb: clisp already has the primitive to put the terminal in raw mode… 2018-02-14T15:53:44Z pjb: Good old faithful clisp… 2018-02-14T15:54:23Z solyd joined #lisp 2018-02-14T15:54:32Z beach: dim: Yes, but the corollary is that if your thinking is already good, it would be foolish to decline the use of tools that may save a lot of time and energy. 2018-02-14T15:54:51Z dieggsy quit (Read error: Connection reset by peer) 2018-02-14T15:54:56Z pjb: beach: you should become meta teacher. 2018-02-14T15:54:57Z _cosmonaut_ quit (Ping timeout: 264 seconds) 2018-02-14T15:54:58Z flamebeard quit (Quit: Leaving) 2018-02-14T15:55:24Z dim: beach: indeed. provided they actually save time and energy... 2018-02-14T15:55:45Z beach: dim: Which you can't know until you try time. 2018-02-14T15:55:48Z beach: try them. 2018-02-14T15:56:00Z beach: pjb: CS teachers are almost 100% newbies. And I can explain that some day if you like. It has to do with the career path of a typical CS teacher. 2018-02-14T15:56:15Z dieggsy joined #lisp 2018-02-14T15:56:42Z White_Flame: CS also isn't about programming, thus doesn't focus on using good tools 2018-02-14T15:57:02Z pjb: This is deferred to TA, but still… 2018-02-14T15:57:17Z Lycurgus joined #lisp 2018-02-14T15:57:25Z dim: beach: of course there's something to what you're saying, then there's also the learning curve and investment and triaging the good tools in the myriad of available ones, etc 2018-02-14T15:57:28Z dieggsy quit (Remote host closed the connection) 2018-02-14T15:57:52Z beach: pjb: In fact, ironically, the typical CS teacher is unfit to teach undergraduate classes (because those classes are general, and they don't have any experience with the general stuff), but they are qualified to teach the masters courses, because they are supposed to be about their research specialty. 2018-02-14T15:58:00Z Arcaelyx joined #lisp 2018-02-14T15:58:10Z dim: CS education is about culture and how to think, in my view, not about how to become a good worker who knows a given toolset 2018-02-14T15:58:28Z White_Flame: CS is ideally about the "science" of computation 2018-02-14T15:58:43Z beach: dim: Yeah, tell that to the software industry, and see where they would turn instead to get qualified employees. 2018-02-14T15:59:06Z dim: beach: ah, real life trade offs, already ;-) 2018-02-14T15:59:39Z solyd quit (Quit: solyd) 2018-02-14T15:59:39Z nika_ joined #lisp 2018-02-14T16:00:11Z beach: dim: Also, tell that to my colleagues worldwide, who are convinced that what industry wants is what industry needs. 2018-02-14T16:00:18Z TMA: dim: it depends on the school -- some CS uni programmes are more trade school than science 2018-02-14T16:00:50Z solyd joined #lisp 2018-02-14T16:01:10Z beach: TMA: He is right though. They really shouldn't be called CS. And of course they aren't in most countries. 2018-02-14T16:01:23Z beach: They aren't called that, I mean. 2018-02-14T16:01:49Z shrdlu68 quit (Ping timeout: 260 seconds) 2018-02-14T16:01:59Z makomo quit (Ping timeout: 256 seconds) 2018-02-14T16:02:08Z damke joined #lisp 2018-02-14T16:02:16Z kdridi quit (Remote host closed the connection) 2018-02-14T16:02:18Z shrdlu68 joined #lisp 2018-02-14T16:02:38Z solyd quit (Client Quit) 2018-02-14T16:03:05Z lnostdal_ quit (Ping timeout: 255 seconds) 2018-02-14T16:03:56Z solyd joined #lisp 2018-02-14T16:04:17Z TMA: yes. they call both programmes 'informatics' 2018-02-14T16:04:36Z dim: industry is also famous for wanting to hire juniors, fresh out of school, with low salary because they don't have any experience, but with the same skills as professionals with 2 to 5 years of exeprience 2018-02-14T16:04:42Z saki quit (Ping timeout: 256 seconds) 2018-02-14T16:05:11Z Kundry_W_ joined #lisp 2018-02-14T16:05:20Z dim: IOW I think the industry perfectly realises that you don't know how to do your job when you're just out of school, and learning that takes a good 2 to 5 years, and that's normal and expected; it's just that nobody wants to be paying for that 2018-02-14T16:05:22Z kdridi joined #lisp 2018-02-14T16:05:44Z dim: but to go from there and say that the public schools should be paying for that is not good thinking in my book 2018-02-14T16:06:30Z dim: but now we're talking philosophy and soon enough politics, I fear 2018-02-14T16:08:00Z beach: That's a political decision similar to other decisions about industry subsidies. I don't have a problem with that. 2018-02-14T16:08:01Z beach: What I have a problem with is that my colleagues worldwide truly believe that industry is so good that they actually know what they need, so when the express some desires, these colleagues rush to satisfy them, rather than doing the research to figure out what industry actually needs, and teach that instead. 2018-02-14T16:08:09Z Kundry_Wag quit (Ping timeout: 264 seconds) 2018-02-14T16:09:47Z dim: what about training people to be smart and capable of learning new technologies by themselves thanks to a very solid theoretical background, and then letting them figure out what their employer/customer need? 2018-02-14T16:10:34Z beach: That is a possibility. It requires a PhD, which industry then won't hire because it is too expensive, and it won't give them what they want (and think they need). 2018-02-14T16:11:20Z beach: And this is on topic, because in my opinion, industry needs people who know Common Lisp. But industry doesn't know that, because the decision makers in industry don't have sufficient education, experience, and knowledge to know that. 2018-02-14T16:11:22Z dim: I'm not too sure about that requiring a PhD as opposed to the years of PhD training currently being almost the only ones where we are used to treat students as being smart and capable young adults 2018-02-14T16:12:40Z dim afk for awhile 2018-02-14T16:13:18Z jmercouris joined #lisp 2018-02-14T16:13:20Z beach: In my opinion, most masters students are incapable of reading and understanding research papers, make a literature search, and such. And that is something that is required to determine what a particular employer needs, simple because it is rare that the employer work smack in the specialty of the employee. 2018-02-14T16:15:22Z jmercouris: beach: are most of the things an employee needs to learn for a job available in the scientific literature? 2018-02-14T16:15:37Z solyd quit (Quit: solyd) 2018-02-14T16:15:43Z Kundry_W_ quit (Remote host closed the connection) 2018-02-14T16:15:43Z jmercouris: It is my opinion that most of the things people spend learning are internal processes, programs, culture, things like that 2018-02-14T16:15:58Z lnostdal_ joined #lisp 2018-02-14T16:16:03Z Kundry_Wag joined #lisp 2018-02-14T16:16:06Z smurfrobot joined #lisp 2018-02-14T16:16:09Z fikka quit (Ping timeout: 256 seconds) 2018-02-14T16:16:38Z Kundry_W_ joined #lisp 2018-02-14T16:17:44Z fikka joined #lisp 2018-02-14T16:17:57Z beach: jmercouris: You are right. But I am not discussing what is needed for a job. I am saying the exact opposite, that many employers focus on their internal culture, which is usually very primitive, and they don't know that they could make way more money by doing things differently. 2018-02-14T16:18:41Z smurfrobot quit (Remote host closed the connection) 2018-02-14T16:18:55Z jmercouris: Ah, okay, I see that now, an interesting point 2018-02-14T16:19:12Z jmercouris: there are sometimes unions of companies that share knowledge with each other, these focus on a "community" of knowledge 2018-02-14T16:19:25Z jmercouris: I'm trying to remember the term for it, I think it is something like "open innovation network" 2018-02-14T16:19:33Z beach: Yes, and it is usually things like which version of Oracle should be bought. 2018-02-14T16:19:41Z rme: lol 2018-02-14T16:19:59Z jmercouris: I wouldn't know as I've never participated in such a network, but I beleive that they are supposed to serve a different purpose 2018-02-14T16:20:15Z Kundry_Wag quit (Ping timeout: 248 seconds) 2018-02-14T16:20:20Z jmercouris: something about amortizing the cost of developing expensive new technologies, and combining different technologies and patents to produce new products 2018-02-14T16:20:33Z beach: So we currently have this vicious cycle, where decision makers in industry are using primitive techniques and tools, so they want employees who master those, so they go to the university and require those tools. And my colleagues believe them and teach those tools, thereby maintaining the industry at a very primitive level. 2018-02-14T16:20:48Z TMA: I think that learning common lisp made me a better programmer even though I never use it in any employment-related work 2018-02-14T16:21:02Z jmercouris: TMA: how can we quantify that though? 2018-02-14T16:21:07Z beach: TMA: I am convinced that you are not alone. 2018-02-14T16:21:18Z jmercouris: we need to scientifically prove something to convince the "bean counters" 2018-02-14T16:21:28Z beach: jmercouris: No, not at all. 2018-02-14T16:21:37Z kdridi quit (Remote host closed the connection) 2018-02-14T16:21:39Z beach: We need to avoid that bean counters make strategy decisions. 2018-02-14T16:21:44Z TMA: jmercouris: I have no idea how ro measure that 2018-02-14T16:21:47Z solyd joined #lisp 2018-02-14T16:21:57Z jmercouris: That is the ultimate solution indeed 2018-02-14T16:22:04Z jmercouris: but we're not there yet, we'd need some sort of stopgap measure 2018-02-14T16:22:11Z jmercouris: or some way to usurp and reshape the corporate structure 2018-02-14T16:22:25Z jmercouris: possibly a very influential book or some "successful company" pitching it, so there can be many copycat companies 2018-02-14T16:22:25Z beach: If current CEOs make decisions that could be made by a spreadsheet program, they should be replaced by one. 2018-02-14T16:22:47Z jmercouris: many CEOs make decisions via spreadsheet to defer blame to the spreadsheet 2018-02-14T16:22:57Z libreman quit (Ping timeout: 248 seconds) 2018-02-14T16:23:08Z jmercouris: if they make a decision based on some difficult to measure criteria, the shareholders will be at their neck when it goes belly up, regardless of the reason 2018-02-14T16:23:41Z beach: So the CEOs are not only spreadsheets. They are spineless spreadsheets. 2018-02-14T16:23:49Z jmercouris: Well, sometimes 2018-02-14T16:24:08Z beach: In reality, you credit them with too much knowledge. 2018-02-14T16:24:23Z beach: They make decisions based on what their friend CEOs decide. 2018-02-14T16:24:31Z karswell_ quit (Read error: Connection reset by peer) 2018-02-14T16:26:21Z jmercouris: I've also never been a CEO, but, you might be right 2018-02-14T16:26:42Z jmercouris: that's why I also mentioned "copycat" companies, who just kind of steal ideas and attempt to apply them to their company 2018-02-14T16:26:51Z jmercouris: e.g. google style interviews to work on a drupal cms site 2018-02-14T16:30:23Z beach: While there are startup companies and small companies that can make lots of money without being technically very advanced, and instead have good ideas about the market, I am convinced that most developers work for biggish established companies where innovation is not the most important. 2018-02-14T16:30:25Z beach: Instead, what they need is to improve productivity to keep up with competition. That is where it is important to evolve with new tools, better developer knowledge and experience, etc. And this is failing miserably in most companies. I say that because I have not seen a single such company with a good strategy for improving productivity. 2018-02-14T16:30:40Z Achylles quit (Remote host closed the connection) 2018-02-14T16:31:20Z beach: ... and I have seen many biggish established companies. 2018-02-14T16:32:37Z jmercouris: beach: innovation is very important in big companies, at least any with any staing power. when we see an incumbent corporation not innovating it is usually because they are working on commodity product, or there is not replacement technology in the pipeline 2018-02-14T16:32:52Z jmercouris: the reality is that the market will change, always, for every product, it is not enough to simply improve throughput overtime 2018-02-14T16:33:19Z jmercouris: even something as simple as "salt" has a market that has changed dramatically in terms of distribution throughout time 2018-02-14T16:33:19Z flip214: beach: ah, right. well, if the package isn't even defined yet, you won't need any special-case handling, anyway! 2018-02-14T16:33:38Z jmercouris: s/staing/staying - my keyboard is sticky 2018-02-14T16:33:39Z beach: flip214: I need it, but I can't use the name of the symbol. 2018-02-14T16:33:58Z flip214: hmmm, if I dont 2018-02-14T16:34:11Z flip214: If I don't forget, I'll ask you about that during ELS. 2018-02-14T16:34:20Z beach: Sure, no problem. 2018-02-14T16:34:46Z flip214: or now, just preemptively create the package ;) 2018-02-14T16:35:02Z TMA: innovation is dangeorous in biggish companies -- it is not predictable; yet it is vital; the solution is to have a specialized department where there are smart people herded with the hope that they will produce something of value every now and then 2018-02-14T16:35:33Z flip214: or use the colon in the symbol name... (EQL 'indent-symbol-package:|CL:FLET|) 2018-02-14T16:35:38Z jmercouris: TMA: That is just one of many strategies, another I talked about is an open innovation network which can reduce the risk, allow for patent sharing among companies etc 2018-02-14T16:36:07Z beach: flip214: It is something similar that I ended up doing. 2018-02-14T16:36:14Z Xach: I was thining idly today about how implementations could extend CL in ways that would not be used by existing programs, and the triple colon sprung to mind... 2018-02-14T16:36:18Z Xach: thinking, rather. 2018-02-14T16:36:20Z jmercouris: additionally, since technology follows the S-shaped curve, a company need not invest in a technology right away, it's not a bunch of people sitting in labcoats hoping that stuff happens, usually they shoot off some piece of existing research with an expected goal 2018-02-14T16:36:31Z TMA: except that the innovation shall never touch processes running outside the innovation pen (at least not too substantially) 2018-02-14T16:37:05Z jmercouris: TMA: Beach: If any of you are interested in innovation practcies, with respect to operational efficiency, I have a good reccomendation 2018-02-14T16:37:21Z libreman joined #lisp 2018-02-14T16:37:43Z kdridi joined #lisp 2018-02-14T16:37:56Z beach: jmercouris: What form does your recommendation take? 2018-02-14T16:38:14Z flip214: Xach: just follow perl6 and use unicode characters... «» for quoting etc. 2018-02-14T16:39:00Z jmercouris: beach: It is a book about the topic, there are specific chapters that I think you'd find pretty interesting 2018-02-14T16:39:24Z beach: I'll take the recommendation. 2018-02-14T16:40:21Z TMA: jmercouris: I am interested in way too many things I shall not be (== do not fit my job description), why not another? 2018-02-14T16:40:37Z jmercouris: beach: https://www.wiley.com/en-us/Operations%2C+Strategy%2C+and+Technology%3A+Pursuing+the+Competitive+Edge-p-9780471655794 2018-02-14T16:40:49Z jmercouris: long URL, but the book is called "Operations, Strategy, and Technology: Pursuing the Competitive Edge" 2018-02-14T16:41:15Z beach: Here is one of my favorite stories (from a few years back). We were planning to develop some collaboration with a big consulting company, so I suggested my services. I said "give me a program of say 30kLOC of C [that's what they were using], and I will make a free audit, the result of which will be recommendations for new tools, training for the developers, etc." 2018-02-14T16:41:16Z beach: The manager said "no thank you". I am assuming he was not interested in knowing how his productivity could be improved, or (stated differently) how bad it really was. 2018-02-14T16:41:25Z beach: jmercouris: Thanks! 2018-02-14T16:41:31Z flip214: jmercouris: thanks, sounds interesting 2018-02-14T16:41:34Z jmercouris: beach: No problem 2018-02-14T16:41:44Z jmercouris: flip214: np! 2018-02-14T16:42:48Z flip214: beach: you could have produced a 1000 line rewrite in CL with all the features, to ask "want to know how to do that?" 2018-02-14T16:42:54Z jmercouris: beach: A lot of people are afraid of change, with change comes risk, with risk comes getting fired :D 2018-02-14T16:43:34Z beach: Here is another: I was consulting for a company who had written an application in C++, but when they got to testing, they introduced one bug for every bug the fixed. A large part of the problem was memory management, freeing objects that were still used. 2018-02-14T16:43:35Z beach: So I suggested a radical solution, namely to include the Boehm/Wiser GC. The project manager told me "I prefer that my programmers clean up the objects that they allocate, rather than having a GC do it for them". 2018-02-14T16:43:42Z saki joined #lisp 2018-02-14T16:44:04Z warweasle: beach: GAH! 2018-02-14T16:44:12Z Kundry_W_ quit (Remote host closed the connection) 2018-02-14T16:44:25Z beach: I have dozens of stories like that. 2018-02-14T16:44:36Z warweasle: If for nothing else you can use it to debug their memory management. 2018-02-14T16:44:41Z Jesin quit (Quit: Leaving) 2018-02-14T16:44:49Z beach: Heh, yes, indeed. 2018-02-14T16:44:52Z fikka quit (Ping timeout: 260 seconds) 2018-02-14T16:45:19Z beach: But it was unfixable because of the architecture they had decided upon, long before I was called in to help. 2018-02-14T16:45:45Z beach: flip214: I almost did that. 2018-02-14T16:45:57Z flip214: I can offer a war story or two, too... but not here, perhaps at ELS. 2018-02-14T16:46:15Z beach: Good plan. Over a beer or a glass of wine. 2018-02-14T16:46:16Z warweasle: beach: My favorite story was a project where they were measuring productivity by lines of code. One week I halved the lines of code. They were so upset I offered to put them back in. 2018-02-14T16:46:33Z beach: Haha! Nice. 2018-02-14T16:47:04Z nowhereman_ joined #lisp 2018-02-14T16:47:12Z warweasle: It's hard to get this crew together for a pint. 2018-02-14T16:47:43Z beach: Sunday night before the show is a good candidate. 2018-02-14T16:48:02Z flip214: anybody from the US here who's coming to ELS? 2018-02-14T16:48:03Z makomo joined #lisp 2018-02-14T16:48:11Z smurfrobot joined #lisp 2018-02-14T16:48:20Z beach: flip214: drmeister and Bike I would think. 2018-02-14T16:48:33Z flip214: ping ^^? 2018-02-14T16:48:36Z beach: Maybe more from drmeister's crew. 2018-02-14T16:48:55Z jmercouris: Bike is from the US? I thought he was Ukranian? 2018-02-14T16:48:57Z EvW quit (Ping timeout: 260 seconds) 2018-02-14T16:49:01Z beach: flip214: Why do you want to know? 2018-02-14T16:49:10Z jmercouris: maybe they can rideshare 2018-02-14T16:49:22Z jstypo quit (Ping timeout: 268 seconds) 2018-02-14T16:49:32Z warweasle: flip214: No dice. I'm stuck in the US. No vacation or left over cash. 2018-02-14T16:49:36Z beach: Bike is definitely American. 2018-02-14T16:49:43Z flip214: warweasle: thanks anyway! 2018-02-14T16:50:12Z warweasle: Everyone should just pop over here for a cookout. 2018-02-14T16:50:12Z flip214: beach: jmercouris: no, but the recommended book is (used) available for $8+$4 from amazon.com in the US. 2018-02-14T16:50:43Z nowhere_man quit (Ping timeout: 256 seconds) 2018-02-14T16:51:03Z LiamH joined #lisp 2018-02-14T16:51:13Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-14T16:51:47Z flip214: no ebook; amazon.de doesn't ship it to me 2018-02-14T16:51:57Z flip214: but never mind 2018-02-14T16:52:24Z smurfrobot quit (Remote host closed the connection) 2018-02-14T16:53:14Z jmercouris: when I am going to the US, I can probably pick up a copy for you 2018-02-14T16:53:21Z jmercouris: since I am returning to Germany it will also be convenient 2018-02-14T16:56:07Z alvis joined #lisp 2018-02-14T16:56:47Z beach: Scott McKay is on the ELS program committee. Maybe he will show up this year. He occasionally does. 2018-02-14T16:57:15Z beach: ... and he is from the US. 2018-02-14T16:57:29Z xristos quit (*.net *.split) 2018-02-14T16:57:29Z copec quit (*.net *.split) 2018-02-14T16:57:32Z alvis quit (Client Quit) 2018-02-14T16:57:33Z flip214: beach: thanks a lot... perhaps the issue is already solved. 2018-02-14T16:57:54Z beach: Good. 2018-02-14T16:57:58Z copec joined #lisp 2018-02-14T17:00:53Z Kundry_W_ joined #lisp 2018-02-14T17:01:18Z SaganMan joined #lisp 2018-02-14T17:02:23Z jstypo joined #lisp 2018-02-14T17:03:37Z fikka joined #lisp 2018-02-14T17:08:48Z lnostdal_ quit (Ping timeout: 255 seconds) 2018-02-14T17:12:11Z smurfrobot joined #lisp 2018-02-14T17:12:15Z fikka quit (Ping timeout: 256 seconds) 2018-02-14T17:14:34Z smurfrobot quit (Remote host closed the connection) 2018-02-14T17:18:17Z Cymew quit (Remote host closed the connection) 2018-02-14T17:18:48Z kdridi quit (Remote host closed the connection) 2018-02-14T17:18:54Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-02-14T17:18:54Z mickbeaver joined #lisp 2018-02-14T17:19:34Z mickbeaver left #lisp 2018-02-14T17:19:40Z rme: I'm planning to come to the ELS from the US. 2018-02-14T17:22:26Z fikka joined #lisp 2018-02-14T17:22:36Z shrdlu68 quit (Ping timeout: 252 seconds) 2018-02-14T17:23:10Z nullniverse quit (Ping timeout: 240 seconds) 2018-02-14T17:24:40Z Cymew joined #lisp 2018-02-14T17:27:09Z solyd quit (Quit: solyd) 2018-02-14T17:29:53Z Cymew quit (Ping timeout: 276 seconds) 2018-02-14T17:30:37Z Cymew joined #lisp 2018-02-14T17:31:01Z Karl_Dscc joined #lisp 2018-02-14T17:31:37Z shrdlu68 joined #lisp 2018-02-14T17:32:47Z dieggsy joined #lisp 2018-02-14T17:33:59Z fikka quit (Ping timeout: 260 seconds) 2018-02-14T17:34:48Z Cymew quit (Ping timeout: 240 seconds) 2018-02-14T17:36:28Z dyelar quit (Quit: Leaving.) 2018-02-14T17:36:37Z Cymew joined #lisp 2018-02-14T17:37:42Z jasom: jmercouris: you asked for a link yesterday, but I'm not sure what-to 2018-02-14T17:37:45Z smasta quit (Ping timeout: 256 seconds) 2018-02-14T17:38:49Z fikka joined #lisp 2018-02-14T17:39:28Z Bike joined #lisp 2018-02-14T17:41:12Z Cymew quit (Ping timeout: 265 seconds) 2018-02-14T17:41:24Z smasta joined #lisp 2018-02-14T17:42:37Z Cymew joined #lisp 2018-02-14T17:44:55Z varjag joined #lisp 2018-02-14T17:45:29Z nullman quit (Ping timeout: 268 seconds) 2018-02-14T17:46:07Z Murii quit (Ping timeout: 260 seconds) 2018-02-14T17:47:29Z Cymew quit (Ping timeout: 265 seconds) 2018-02-14T17:48:35Z Cymew joined #lisp 2018-02-14T17:51:27Z smasta quit (Ping timeout: 240 seconds) 2018-02-14T17:52:01Z nullman joined #lisp 2018-02-14T17:53:05Z Cymew quit (Ping timeout: 240 seconds) 2018-02-14T17:54:42Z Cymew joined #lisp 2018-02-14T17:55:27Z shifty quit (Ping timeout: 240 seconds) 2018-02-14T17:59:05Z Cymew quit (Ping timeout: 240 seconds) 2018-02-14T18:00:41Z Cymew joined #lisp 2018-02-14T18:01:00Z Karl_Dscc quit (Remote host closed the connection) 2018-02-14T18:01:22Z smasta joined #lisp 2018-02-14T18:02:24Z raynold joined #lisp 2018-02-14T18:05:13Z Cymew quit (Ping timeout: 268 seconds) 2018-02-14T18:06:20Z Kundry_W_ quit (Remote host closed the connection) 2018-02-14T18:06:43Z Cymew joined #lisp 2018-02-14T18:07:44Z jmercouris: jasom: I can't remember either :\ 2018-02-14T18:08:24Z jmercouris: if I figure it out I'll let you know 2018-02-14T18:08:36Z jmercouris: I do know what you are talking about though 2018-02-14T18:11:23Z Cymew quit (Ping timeout: 268 seconds) 2018-02-14T18:11:45Z k-hos quit (Read error: Connection reset by peer) 2018-02-14T18:12:42Z Cymew joined #lisp 2018-02-14T18:16:26Z k-hos joined #lisp 2018-02-14T18:17:09Z Cymew quit (Ping timeout: 260 seconds) 2018-02-14T18:18:16Z knicklux joined #lisp 2018-02-14T18:18:57Z shka joined #lisp 2018-02-14T18:20:05Z Lycurgus quit (Ping timeout: 240 seconds) 2018-02-14T18:21:11Z Murii joined #lisp 2018-02-14T18:23:57Z Kundry_Wag joined #lisp 2018-02-14T18:24:32Z Kundry_W_ joined #lisp 2018-02-14T18:24:43Z Cymew joined #lisp 2018-02-14T18:25:04Z juan-reynoso joined #lisp 2018-02-14T18:27:13Z nika_ quit (Quit: Leaving...) 2018-02-14T18:27:54Z Achylles joined #lisp 2018-02-14T18:28:10Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-14T18:29:09Z Cymew quit (Ping timeout: 264 seconds) 2018-02-14T18:30:42Z Bike quit (Quit: Page closed) 2018-02-14T18:30:47Z Cymew joined #lisp 2018-02-14T18:30:49Z sukaeto: re: industry not hiring PhDs/not paying them enough 2018-02-14T18:31:08Z sukaeto: my company has a handful of them, we get payed more than we would if we were professors 2018-02-14T18:31:22Z sukaeto: I do devops, most of the rest work on the core product 2018-02-14T18:32:02Z sukaeto: that being said, there are people on my team whom I know make more than I do because they've been in industry for longer than I have and also only have undergrad degrees 2018-02-14T18:33:34Z jasom: sukaeto: on the other hand, after my Dad got his PhD, he had more than one job interview end with "We don't hire people with PhDs" 2018-02-14T18:33:35Z sukaeto: it's a small sample size, but I think it's an encouraging one nonetheless 2018-02-14T18:34:09Z jasom: he had ~15 years of industry experience at that point 2018-02-14T18:35:14Z Cymew quit (Ping timeout: 260 seconds) 2018-02-14T18:36:44Z sukaeto: jasom: I've gotten that too. I was even told by one company that they were looking for someone with more experience for an entry level position! As if being from academia meant you had negative work experience! 2018-02-14T18:36:56Z Cymew joined #lisp 2018-02-14T18:39:32Z sukaeto: I know another guy with a PhD who works for a company that generally has a disdain for people from academia (he only got in there because of another guy who knew him and lobbied hard for him) 2018-02-14T18:39:50Z sukaeto: from what I know about that company and their engineering practices, I wouldn't want to work there. 2018-02-14T18:40:01Z jasom: I think that "PhDs can't code" probably stems from the fact that many places use general CS knowledge as the gateway to hiring, and obviosly, if two people have equally bad coding skills, the one with the PhD will have better general CS knowledge 2018-02-14T18:40:28Z sukaeto: it's probably not fair to extrapolate from that one example to every company that refuses to higher people with terminal degrees, but it does make me wonder. 2018-02-14T18:41:06Z sukaeto: s/higher/hire/ 2018-02-14T18:41:36Z sukaeto: jasom: there's probably some truth to that, for sure 2018-02-14T18:42:23Z random-nick quit (Remote host closed the connection) 2018-02-14T18:44:52Z Kundry_W_ quit (Remote host closed the connection) 2018-02-14T18:45:11Z Cymew quit (Ping timeout: 256 seconds) 2018-02-14T18:45:21Z random-nick joined #lisp 2018-02-14T18:53:58Z Cymew joined #lisp 2018-02-14T18:58:29Z Cymew quit (Ping timeout: 255 seconds) 2018-02-14T18:59:57Z Cymew joined #lisp 2018-02-14T19:00:04Z python476 quit (Read error: Connection reset by peer) 2018-02-14T19:00:31Z Ven`` joined #lisp 2018-02-14T19:03:29Z pjb quit (Remote host closed the connection) 2018-02-14T19:03:57Z Ven` joined #lisp 2018-02-14T19:04:20Z Cymew quit (Ping timeout: 256 seconds) 2018-02-14T19:04:41Z pjb joined #lisp 2018-02-14T19:05:04Z pjb is now known as Guest26296 2018-02-14T19:05:17Z Ven` quit (Read error: Connection reset by peer) 2018-02-14T19:05:49Z Lycurgus joined #lisp 2018-02-14T19:05:50Z Ven` joined #lisp 2018-02-14T19:05:58Z Cymew joined #lisp 2018-02-14T19:08:07Z Ven`` quit (Ping timeout: 268 seconds) 2018-02-14T19:08:18Z jmercouris quit (Ping timeout: 240 seconds) 2018-02-14T19:08:41Z jmercouris joined #lisp 2018-02-14T19:08:52Z SaganMan quit (Quit: cya) 2018-02-14T19:09:16Z python476 joined #lisp 2018-02-14T19:10:23Z Cymew quit (Ping timeout: 248 seconds) 2018-02-14T19:10:27Z random-nick quit (Read error: Connection reset by peer) 2018-02-14T19:10:45Z TMA: there was a joke told before the fall of the eastern bloc: a professor learned that factory workers have higher wages than professors. He dressed down and applied. After several months there was an annoucement that those that will attend evening high school will get a raise. He went there, math exam question: compute the area of a circle. He did not remember the formula, so he derived it using integrals, but the result was -pi*r^2. He looked at it baffled when there c 2018-02-14T19:10:54Z sz0 quit (Quit: Connection closed for inactivity) 2018-02-14T19:11:16Z jmercouris: you have me on edge here 2018-02-14T19:11:20Z TMA: it is only a joke, but it is funny because it is real in some sense 2018-02-14T19:11:21Z jmercouris: there c ... what? 2018-02-14T19:11:24Z BitPuffin quit (Remote host closed the connection) 2018-02-14T19:11:34Z Guest26296 quit (Remote host closed the connection) 2018-02-14T19:11:56Z Cymew joined #lisp 2018-02-14T19:12:02Z TMA: ... there came a hint from another student: "you have swapped the limits of the integration." 2018-02-14T19:12:22Z jmercouris: lol that's hilarious 2018-02-14T19:13:55Z TMA: the sad part is that the wage disparity was real then -- the educated were not the "preferred" [[in a sense it is still the case, because of the model of financing universities here]] 2018-02-14T19:14:30Z dTal: ah, this is like the waitress joke 2018-02-14T19:15:25Z Kundry_Wag joined #lisp 2018-02-14T19:15:35Z Lycurgus: so it's an outrage that factory workers would have higher wages? 2018-02-14T19:16:15Z Cymew quit (Ping timeout: 248 seconds) 2018-02-14T19:16:40Z Shinmera: Please >>#politics 2018-02-14T19:17:02Z shka: Lycurgus: especially miners, but whatever, you can google it 2018-02-14T19:17:10Z Bike joined #lisp 2018-02-14T19:17:11Z shka: Shinmera: good evening! 2018-02-14T19:17:57Z shka: i forgot to wish you awesomeness at ELS 2018-02-14T19:18:07Z Shinmera: Well ELS isn't for a while. 2018-02-14T19:18:44Z Lycurgus: shka, yeah miners have especially dirty/arduous work 2018-02-14T19:18:47Z python476 quit (Quit: windowsupdateded) 2018-02-14T19:19:59Z Kundry_Wag quit (Ping timeout: 248 seconds) 2018-02-14T19:21:01Z Ven` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-14T19:21:06Z dTal: A mathematics professor and their student are eating lunch in a cafe. The professor laments that regular folk just aren't educated or interested in mathematics. While he's in the toilet, the student gets an idea. He calls over the waitress, slips her $5, and says "In a minute, I'm going to ask you a question. I want you to answer 'one third ex cubed'." The waitress agrees. 2018-02-14T19:22:41Z Ven`` joined #lisp 2018-02-14T19:22:58Z dTal: The professor returns from the toilet and the student says, "You know, you're wrong about people. I bet you $20 that our waitress can do at least basic calculus." The professor scoffs and readily agrees to the bet. So they call the waitress over. 2018-02-14T19:23:13Z Lycurgus: is the punch line the guy in the toilet gave her 10? 2018-02-14T19:23:20Z Bike: plux dd 2018-02-14T19:23:26Z Bike: plus c, rather 2018-02-14T19:23:53Z dTal: The student says to the waitress, "We were wondering if you could settle a question for us. Could you by any chance tell us the integral of ex squared?" 2018-02-14T19:23:57Z Cymew joined #lisp 2018-02-14T19:24:19Z dTal: "One third x cubed", the waitress replies, walking away, 2018-02-14T19:24:32Z dTal: and adds, over her shoulder, "plus a constant" 2018-02-14T19:24:51Z mlf joined #lisp 2018-02-14T19:25:00Z shka: meh 2018-02-14T19:25:13Z shka: nice joke, but Bike spoiled it 2018-02-14T19:25:14Z dTal: Bike ruined it 2018-02-14T19:25:26Z shka: Bike: you terrible human being 2018-02-14T19:25:32Z dTal: you are bad and you should feel bad 2018-02-14T19:25:32Z shka: :((( 2018-02-14T19:25:52Z Lycurgus: yeah, wonder what dd was though some differential think maybe 2018-02-14T19:26:16Z Lycurgus: *thing 2018-02-14T19:26:18Z Bike: that was my fingers being misaligned with the contacts of my electromechanical data input device 2018-02-14T19:26:24Z Lycurgus: ah 2018-02-14T19:28:19Z jackdaniel: beach: phoe: guess what I found today in clim-inspector sources? (one of the top lines)... "(define-modify-macro togglef () not)" ^_^ 2018-02-14T19:28:22Z LocaMocha quit (Read error: Connection reset by peer) 2018-02-14T19:28:33Z Cymew quit (Ping timeout: 264 seconds) 2018-02-14T19:28:37Z jackdaniel: clouseau° 2018-02-14T19:29:55Z Cymew joined #lisp 2018-02-14T19:30:54Z warweasle joined #lisp 2018-02-14T19:34:29Z Cymew quit (Ping timeout: 256 seconds) 2018-02-14T19:38:05Z knicklux quit (Ping timeout: 240 seconds) 2018-02-14T19:39:02Z random-nick joined #lisp 2018-02-14T19:43:29Z z3t0 joined #lisp 2018-02-14T19:44:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-14T19:44:54Z python476 joined #lisp 2018-02-14T19:46:24Z smasta quit (Ping timeout: 260 seconds) 2018-02-14T19:48:26Z shrdlu68: The lesson here is that it is okay for math professors to cheat in exams. 2018-02-14T19:50:21Z knicklux joined #lisp 2018-02-14T19:51:06Z __rumbler31: jackdaniel: lol 2018-02-14T19:51:10Z nullman quit (Remote host closed the connection) 2018-02-14T19:51:19Z nullman joined #lisp 2018-02-14T19:51:51Z nowhere_man joined #lisp 2018-02-14T19:52:58Z z3t0 quit (Remote host closed the connection) 2018-02-14T19:55:12Z nowhereman_ quit (Ping timeout: 256 seconds) 2018-02-14T19:56:37Z EvW1 joined #lisp 2018-02-14T19:56:51Z fikka joined #lisp 2018-02-14T19:59:39Z smasta joined #lisp 2018-02-14T20:00:53Z Kundry_Wag joined #lisp 2018-02-14T20:01:32Z Kundry_W_ joined #lisp 2018-02-14T20:03:47Z Poeticode quit (Ping timeout: 265 seconds) 2018-02-14T20:03:50Z mjl_ quit (Ping timeout: 276 seconds) 2018-02-14T20:05:24Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-02-14T20:06:07Z smasta quit (Ping timeout: 260 seconds) 2018-02-14T20:10:23Z Poeticode joined #lisp 2018-02-14T20:13:32Z Ven`` quit (Read error: Connection reset by peer) 2018-02-14T20:14:50Z jmercouris: thoughts on cl-interpol? generally liked/disliked by the community? 2018-02-14T20:15:15Z Poeticode quit (Client Quit) 2018-02-14T20:15:31Z smasta joined #lisp 2018-02-14T20:15:46Z Ven`` joined #lisp 2018-02-14T20:17:35Z Xach: jmercouris: (ql:who-depends-on "cl-interpol") 2018-02-14T20:17:43Z Xach: I haven't personally used it 2018-02-14T20:18:08Z jmercouris: I really like the idea, but it doesn't feel very lispy, same with format really 2018-02-14T20:18:19Z jmercouris: it feels like its own mini language 2018-02-14T20:18:40Z tokenrov1 quit (Ping timeout: 240 seconds) 2018-02-14T20:20:24Z __rumbler31: when I need to quote something that would otherwise make escaping natural quoting rules insane, I used it once 2018-02-14T20:20:44Z tokenrove joined #lisp 2018-02-14T20:21:00Z Poeticode joined #lisp 2018-02-14T20:21:06Z __rumbler31: it made integration a little tricky, because the package has to be loaded before code that depends on it can be loaded and at the time I didn't know how to automate that without opening up the repl and doing them one at a time 2018-02-14T20:21:13Z jmercouris: appears to be quite a few people depending on cl-interpol 2018-02-14T20:21:28Z Poeticode quit (Changing host) 2018-02-14T20:21:28Z Poeticode joined #lisp 2018-02-14T20:21:53Z __rumbler31: I used it to house an xml document representing an android framework on a string, without having to escape all the " 2018-02-14T20:23:39Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-02-14T20:24:11Z vlatkoB quit (Remote host closed the connection) 2018-02-14T20:25:57Z antgreen quit (Ping timeout: 240 seconds) 2018-02-14T20:28:47Z fikka quit (Ping timeout: 248 seconds) 2018-02-14T20:28:53Z smasta quit (Ping timeout: 256 seconds) 2018-02-14T20:33:04Z Kundry_W_ quit (Remote host closed the connection) 2018-02-14T20:34:52Z Mr_Tea joined #lisp 2018-02-14T20:35:47Z Mr_Tea: wow lots of people 2018-02-14T20:38:32Z scymtym quit (Ping timeout: 255 seconds) 2018-02-14T20:39:49Z sjl joined #lisp 2018-02-14T20:43:00Z smasta joined #lisp 2018-02-14T20:43:48Z fikka joined #lisp 2018-02-14T20:45:36Z k-hos: ha 2018-02-14T20:45:40Z k-hos: 'people' 2018-02-14T20:47:27Z smasta quit (Ping timeout: 240 seconds) 2018-02-14T20:48:54Z jmercouris: k-hos: I think you mean "people", 'people' is invalid syntax 2018-02-14T20:49:13Z Mr_Tea: 'people 2018-02-14T20:49:43Z jmercouris: (defvar people ()) 2018-02-14T20:50:02Z jmercouris: (push "Mr_Tea" people) 2018-02-14T20:52:18Z shrdlu68 quit (Ping timeout: 240 seconds) 2018-02-14T20:52:34Z dieggsy quit (Quit: ERC (IRC client for Emacs 27.0.50)) 2018-02-14T20:52:57Z shrdlu68 joined #lisp 2018-02-14T20:52:58Z Shinmera: jmercouris: Why do you insist on making these poor variables freeze? 2018-02-14T20:53:11Z Shinmera: Give them earmuffs for christ's sake! 2018-02-14T20:53:24Z jmercouris: (defvar *cozy-people* ()) (push "Mr_Tea" people) 2018-02-14T20:54:00Z jmercouris: my apologies, it's even winter here! 2018-02-14T20:54:29Z jmercouris: ah shit, pushed Mr_Tea to the non-cozy list 2018-02-14T20:55:35Z _death: I am not a string, I am a free variable 2018-02-14T20:55:38Z Oladon joined #lisp 2018-02-14T20:56:25Z razzy: hi, is there a way to crawl in functional program and display a topology of nested functions?? 2018-02-14T20:56:35Z razzy: common lisp slime? 2018-02-14T20:57:29Z razzy: preferably in some ascii graph 2018-02-14T20:57:38Z jmercouris: razzy: you mean like a call stack? 2018-02-14T20:58:23Z phadthai quit (Read error: Connection reset by peer) 2018-02-14T20:58:24Z jmercouris: (push 'death *cozy-people*) 2018-02-14T20:58:28Z Lycurgus: either walk a tree or spider maybe 2018-02-14T20:58:30Z pagnol joined #lisp 2018-02-14T20:58:39Z Cymew joined #lisp 2018-02-14T20:59:04Z Lycurgus: (razzymataz) 2018-02-14T20:59:20Z jmercouris: razzy: if you can generate an AST you can also generate a tree showing the nested functions 2018-02-14T21:00:05Z jmercouris: I guess it should be very easy with lisp like syntax 2018-02-14T21:03:27Z Cymew quit (Ping timeout: 256 seconds) 2018-02-14T21:03:38Z Kundry_Wag joined #lisp 2018-02-14T21:03:53Z phadthai joined #lisp 2018-02-14T21:04:39Z Cymew joined #lisp 2018-02-14T21:04:52Z razzy: i know, i am a bit lazy :] . maybe it is done already :] 2018-02-14T21:05:05Z razzy: jmercouris: AST? 2018-02-14T21:05:27Z jmercouris: abstract syntax tree, it is an intermediate representation of a piece of code that has been parsed 2018-02-14T21:05:52Z Shinmera: jmercouris: It's actually non-trivial. Code walking is hard. 2018-02-14T21:06:17Z jackdaniel: your walker has to "understand" each special form 2018-02-14T21:06:25Z Shinmera: And things like backquote 2018-02-14T21:06:28Z jmercouris: maybe it is one thing that I am good at then 2018-02-14T21:06:33Z jmercouris: because to me other tasks feel much harder 2018-02-14T21:06:45Z jmercouris: anyways, the wiki page is pretty good for this concept actually: https://en.wikipedia.org/wiki/Abstract_syntax_tree 2018-02-14T21:06:53Z jackdaniel: less you know about tasks easier they look 2018-02-14T21:06:55Z Shinmera: Maybe you just don't realise how hard it is to do right. 2018-02-14T21:07:07Z jmercouris: perhaps my implementations have been terrible without my knowledge 2018-02-14T21:07:22Z jmercouris: it is just one of those things that I understand really well though 2018-02-14T21:07:32Z jackdaniel: jmercouris: do you know what a special operator is (in CL)? 2018-02-14T21:08:01Z jackdaniel: if yes, could you name three special operators and why they are not ordinary macros? 2018-02-14T21:08:02Z jmercouris: I've not implemented something that generates ASTs for Lisp 2018-02-14T21:08:05Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-14T21:08:14Z jmercouris: anyways, is this a competition designd to make me look stupid? 2018-02-14T21:08:16Z jackdaniel: if not, then this will be way harder than you imagine 2018-02-14T21:08:48Z Cymew quit (Ping timeout: 240 seconds) 2018-02-14T21:08:48Z jackdaniel: no, it is designed to make you realise something (and prevent you from wasting time, or at least to estimate effort more accurately) 2018-02-14T21:08:59Z jackdaniel: you should be more grateful than accusing here, but whatever 2018-02-14T21:09:11Z jmercouris: don't worry, I won't venture to build one for Lisp, I've spent enough wasted time trying to implement languages :D 2018-02-14T21:09:14Z python476 quit (Ping timeout: 260 seconds) 2018-02-14T21:09:35Z Murii quit (Ping timeout: 240 seconds) 2018-02-14T21:09:49Z motersen joined #lisp 2018-02-14T21:10:15Z jmercouris: jackdaniel: it feels more like a challenge due to a manner of phrasing than a friendly suggestion at introspection is all, there seems to be some communicaiton barrier between us. I'll henceforth always assume your intent is positive 2018-02-14T21:10:23Z jmercouris: because it turns out to be so more often than not, and I am just misunderstanding 2018-02-14T21:10:36Z Cymew joined #lisp 2018-02-14T21:10:59Z razzy: so, it has not beed done in lisp 2018-02-14T21:11:08Z jmercouris: I don't think anyone said that, maybe it has 2018-02-14T21:11:14Z razzy: is it been done in automated way in haskell? 2018-02-14T21:11:29Z Chream_2 quit (Ping timeout: 248 seconds) 2018-02-14T21:11:44Z Kundry_Wag joined #lisp 2018-02-14T21:12:19Z Oladon quit (Read error: Connection reset by peer) 2018-02-14T21:12:24Z Kundry_W_ joined #lisp 2018-02-14T21:12:54Z razzy: yop, AST is what i mean :]. it shine when you do have purely functional code. you could notice bad behaviour from one look at topology :]. 2018-02-14T21:13:41Z Bike: implementations can provide information about what functions are called by a given function 2018-02-14T21:13:59Z Bike: they sort of have to know, for linking reasons, and you can sometimes get the information from like slime-list-callers 2018-02-14T21:15:02Z dim: razzy: pjb (informatimago) has a CL walker that you can reuse 2018-02-14T21:15:04Z dim: I think\ 2018-02-14T21:15:11Z Cymew quit (Ping timeout: 248 seconds) 2018-02-14T21:16:17Z Ven`` quit (Ping timeout: 265 seconds) 2018-02-14T21:16:22Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-14T21:16:34Z Cymew joined #lisp 2018-02-14T21:16:55Z jackdaniel: implementation may provide walker as a contrib 2018-02-14T21:17:08Z varjag quit (Read error: Connection reset by peer) 2018-02-14T21:17:27Z _death: slime comes with xref.lisp, which from the look of it can print call graphs 2018-02-14T21:17:33Z jackdaniel: (because you never know if it has some sneaky special operator in ext package and which is used in expansion of standard macros) 2018-02-14T21:17:35Z dim: razzy: have a look at https://www.informatimago.com/develop/lisp/ I think it contains helpful bits you might need here 2018-02-14T21:18:09Z scymtym joined #lisp 2018-02-14T21:18:16Z Bike: ah, it can do graphs? 2018-02-14T21:18:45Z Bike: ah, right, the thirty year old one 2018-02-14T21:19:59Z Kundry_W_ quit (Remote host closed the connection) 2018-02-14T21:20:32Z fikka quit (Ping timeout: 276 seconds) 2018-02-14T21:20:43Z Bike: well, you can use swank/backend:who-calls and such and put that information together into whatever graph you like 2018-02-14T21:20:54Z Cymew quit (Ping timeout: 256 seconds) 2018-02-14T21:20:56Z _death: https://plaster.tymoon.eu/view/712 2018-02-14T21:22:16Z Bike: Gosh 2018-02-14T21:22:19Z Kundry_Wag joined #lisp 2018-02-14T21:22:31Z Cymew joined #lisp 2018-02-14T21:22:52Z Achylles quit (Quit: Leaving) 2018-02-14T21:23:00Z Kundry_W_ joined #lisp 2018-02-14T21:24:00Z razzy: i am looking at https://github.com/olewhalehunter/clast 2018-02-14T21:25:05Z shka quit (Ping timeout: 240 seconds) 2018-02-14T21:25:16Z Bike: do you need to do it from source, or is having the actual functions in the image okay? because if it's the latter i'd really rely on the introspection tools 2018-02-14T21:25:18Z motersen quit (Quit: rcirc on GNU Emacs 25.3.1) 2018-02-14T21:26:27Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-14T21:26:48Z razzy: Bike image is okay 2018-02-14T21:26:57Z Cymew quit (Ping timeout: 240 seconds) 2018-02-14T21:27:25Z razzy: but i expect daily rebuilds of picture 2018-02-14T21:28:35Z Cymew joined #lisp 2018-02-14T21:29:09Z Oladon joined #lisp 2018-02-14T21:31:55Z Ven`` joined #lisp 2018-02-14T21:32:55Z fikka joined #lisp 2018-02-14T21:33:39Z Cymew quit (Ping timeout: 268 seconds) 2018-02-14T21:34:33Z Cymew joined #lisp 2018-02-14T21:38:57Z Cymew quit (Ping timeout: 240 seconds) 2018-02-14T21:39:14Z jmercouris: I seem to remember sometime ago there was a discussion about the origin of the mach kernel in apple, I found a handy diagram here: https://en.wikipedia.org/wiki/Darwin_(operating_system)#/media/File:Unix_timeline.en.svg 2018-02-14T21:40:33Z Cymew joined #lisp 2018-02-14T21:41:38Z Kundry_W_ quit (Remote host closed the connection) 2018-02-14T21:41:49Z thodg joined #lisp 2018-02-14T21:45:23Z Cymew quit (Ping timeout: 256 seconds) 2018-02-14T21:46:05Z Ven`` quit (Ping timeout: 240 seconds) 2018-02-14T21:46:31Z Cymew joined #lisp 2018-02-14T21:47:55Z wxie joined #lisp 2018-02-14T21:48:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-14T21:49:24Z makomo_ joined #lisp 2018-02-14T21:49:54Z fikka joined #lisp 2018-02-14T21:51:07Z Cymew quit (Ping timeout: 260 seconds) 2018-02-14T21:51:38Z Ven`` joined #lisp 2018-02-14T21:51:54Z Murii joined #lisp 2018-02-14T21:52:24Z makomo quit (Ping timeout: 260 seconds) 2018-02-14T21:54:39Z fikka quit (Ping timeout: 256 seconds) 2018-02-14T21:58:49Z fikka joined #lisp 2018-02-14T22:00:00Z Murii quit (Ping timeout: 256 seconds) 2018-02-14T22:01:33Z Ven`` quit (Ping timeout: 264 seconds) 2018-02-14T22:01:53Z alchemis1 quit (Quit: leaving) 2018-02-14T22:03:26Z alch3m1st joined #lisp 2018-02-14T22:05:07Z Ven`` joined #lisp 2018-02-14T22:05:14Z Ven`` quit (Client Quit) 2018-02-14T22:06:05Z ludston joined #lisp 2018-02-14T22:06:27Z alch3m1st quit (Client Quit) 2018-02-14T22:08:12Z alch3-m1st joined #lisp 2018-02-14T22:08:57Z alch3-m1st quit (Client Quit) 2018-02-14T22:08:58Z ludston_ quit (Ping timeout: 265 seconds) 2018-02-14T22:09:26Z lksmk joined #lisp 2018-02-14T22:12:49Z orivej quit (Ping timeout: 260 seconds) 2018-02-14T22:12:57Z damke quit (Ping timeout: 264 seconds) 2018-02-14T22:13:14Z Kundry_W_ joined #lisp 2018-02-14T22:13:19Z lksmk quit (Client Quit) 2018-02-14T22:13:35Z lksmk joined #lisp 2018-02-14T22:14:05Z jasom: jmercouris: walking the AST is hard in lisp primarily because of two reasons; firstly there are macros; e.g. you can guess that this binds x, but can't know it: (with-foo (x :y z) (bar x)) 2018-02-14T22:14:22Z Bike: you can't? 2018-02-14T22:15:40Z jasom: jmercouris: so you say "just expand all the macros before walking" which brings us to the second problem; the CL standard permits standard special forms and macros to be expanded into forms that do not exist in the standard, so you can end up with code that could do anything. 2018-02-14T22:15:51Z Bike: right. 2018-02-14T22:16:20Z whoman quit (Quit: Leaving) 2018-02-14T22:16:57Z jasom: if you were to reimplement all of the evaluation rules for all standard macros and special forms, then you could selectively expand macros not in CL, and possibly end up with something sane. 2018-02-14T22:16:57Z whoman joined #lisp 2018-02-14T22:17:08Z damke joined #lisp 2018-02-14T22:18:26Z jasom: but even then you have things like backtick, which can expand to non-standard forms at read-time :( 2018-02-14T22:19:37Z jasom: try this in sbcl: (car '`foo) 2018-02-14T22:21:11Z jasom: not sure what that expands to in ccl, but I'd bet a large sum of money that it's not SB-INT:QUASIQUTE 2018-02-14T22:22:24Z Lycurgus quit (Ping timeout: 248 seconds) 2018-02-14T22:22:37Z Bike: itll macroexpand into something boring, at least 2018-02-14T22:22:43Z jmercouris: jasom: I didn't know about the second part, but that makes sense 2018-02-14T22:23:11Z jmercouris: e.g. the second problem listed 2018-02-14T22:23:37Z Bike: i think the only sbcl code walker problem, i.e. the only special operator that's messed up implementation specifically, is the extra function names FUNCTION allows 2018-02-14T22:23:42Z knicklux quit (Quit: Leaving) 2018-02-14T22:23:48Z Bike: which i think is a (minor) lack in the standard, honestly 2018-02-14T22:24:21Z Bike: there's an sb-ext:truly-the special operator, but it has a macroexpansion into the as it ought to 2018-02-14T22:24:57Z wxie quit (Ping timeout: 260 seconds) 2018-02-14T22:25:29Z Bike: hmm, i might be wrong, there's another half dozen special operators i've never seen before... 2018-02-14T22:26:19Z jmercouris: jasom: thanks for the explanation 2018-02-14T22:26:40Z nullman quit (Ping timeout: 248 seconds) 2018-02-14T22:27:30Z nullman joined #lisp 2018-02-14T22:28:19Z Bike: though i don't think %primitive is going to show up even in macroexpansions, it's just for inline expansions at worst 2018-02-14T22:29:01Z thodg quit (Ping timeout: 256 seconds) 2018-02-14T22:33:18Z Oladon quit (Quit: Leaving.) 2018-02-14T22:35:44Z thodg joined #lisp 2018-02-14T22:42:25Z Bike quit (Ping timeout: 260 seconds) 2018-02-14T22:45:14Z __rumbler31: yea I don't understand this thread, but i'm intrigued, and have to go. Happy V day y'all 2018-02-14T22:48:05Z jmercouris: __rumbler31: Happy Valentines day! 2018-02-14T22:49:46Z Karl_Dscc joined #lisp 2018-02-14T22:49:59Z __rumbler31 quit (Ping timeout: 256 seconds) 2018-02-14T22:50:03Z nullman quit (Ping timeout: 265 seconds) 2018-02-14T22:50:36Z nullman joined #lisp 2018-02-14T22:57:10Z thodg quit (Ping timeout: 240 seconds) 2018-02-14T22:58:08Z quazimodo joined #lisp 2018-02-14T22:58:30Z Lycurgus joined #lisp 2018-02-14T23:04:56Z mgsk quit (Quit: WeeChat 1.9.1) 2018-02-14T23:06:57Z Lycurgus quit (Ping timeout: 240 seconds) 2018-02-14T23:07:06Z wmannis joined #lisp 2018-02-14T23:10:03Z epony joined #lisp 2018-02-14T23:13:14Z epony quit (Remote host closed the connection) 2018-02-14T23:13:38Z kajo quit (Quit: WeeChat 2.0.1) 2018-02-14T23:14:57Z otwieracz: Hello. 2018-02-14T23:15:02Z otwieracz: Good evening everyone. 2018-02-14T23:15:36Z otwieracz: https://gist.github.com/otwieracz/db012be5e986dde28d518aeb8ff593dd I've got some lparallel magic here - it breaks read-write lock implementation. 2018-02-14T23:16:13Z otwieracz: Regular BT threads work just fine, but when I try to use it inside lparallel channel - magic happens and stuff breaks. 2018-02-14T23:16:20Z kajo joined #lisp 2018-02-14T23:16:35Z otwieracz: Do you have any ideas what the heck is going on here? 2018-02-14T23:17:27Z random-nick quit (Read error: Connection reset by peer) 2018-02-14T23:23:43Z mishoo quit (Ping timeout: 248 seconds) 2018-02-14T23:23:57Z eschatologist quit (Quit: ZNC 1.6.5+deb2build2 - http://znc.in) 2018-02-14T23:24:02Z nowhereman_ joined #lisp 2018-02-14T23:24:15Z nowhere_man quit (Ping timeout: 248 seconds) 2018-02-14T23:24:30Z eschatologist joined #lisp 2018-02-14T23:25:20Z Rawriful joined #lisp 2018-02-14T23:28:08Z Karl_Dscc quit (Remote host closed the connection) 2018-02-14T23:28:57Z sjl quit (Ping timeout: 240 seconds) 2018-02-14T23:35:28Z nirved quit (Quit: Leaving) 2018-02-14T23:36:48Z Kundry_W_ quit (Remote host closed the connection) 2018-02-14T23:38:43Z pagnol quit (Ping timeout: 256 seconds) 2018-02-14T23:40:26Z juan-reynoso quit (Quit: Leaving) 2018-02-14T23:40:37Z makomo_ quit (Ping timeout: 256 seconds) 2018-02-14T23:41:52Z libreman quit (Ping timeout: 256 seconds) 2018-02-14T23:42:25Z jmercouris quit (Ping timeout: 248 seconds) 2018-02-14T23:43:40Z python476 joined #lisp 2018-02-14T23:48:50Z Kundry_Wag joined #lisp 2018-02-14T23:49:30Z Kundry_W_ joined #lisp 2018-02-14T23:51:42Z Bike joined #lisp 2018-02-14T23:52:43Z Kundry_W_ quit (Remote host closed the connection) 2018-02-14T23:53:05Z Kundry_Wag quit (Ping timeout: 248 seconds) 2018-02-14T23:54:49Z libreman joined #lisp 2018-02-14T23:59:45Z Xach: otwieracz: 404 2018-02-14T23:59:47Z Xach: oops 2018-02-14T23:59:50Z Xach: got wrapped on me 2018-02-15T00:01:58Z Cymew joined #lisp 2018-02-15T00:03:17Z shifty joined #lisp 2018-02-15T00:06:05Z Cymew quit (Ping timeout: 240 seconds) 2018-02-15T00:08:50Z porky11 quit (Ping timeout: 265 seconds) 2018-02-15T00:10:01Z porky11 joined #lisp 2018-02-15T00:11:07Z porky11 quit (Read error: Connection reset by peer) 2018-02-15T00:12:53Z Kundry_W_ joined #lisp 2018-02-15T00:13:19Z dto joined #lisp 2018-02-15T00:14:11Z dto: hi xach 2018-02-15T00:14:51Z dto: i'm curious to know if you have any thoughts or recommendations on day planning? https://i.imgur.com/mym4DKo.jpg i'm working on some lisp to make nice cards 2018-02-15T00:15:00Z dto: do you use Org? 2018-02-15T00:15:01Z jasom: otwieracz: (test2) didn't work right for me 2018-02-15T00:15:29Z jasom: oh nvm, I accidentally pasted the (test) in as well 2018-02-15T00:17:25Z epony joined #lisp 2018-02-15T00:18:37Z jasom: otwieracz: it looks like you are exiting your lambda without releaseing the lock; did you try a test where your thread performs the lambda many times? 2018-02-15T00:21:21Z Mr_Tea quit (Ping timeout: 264 seconds) 2018-02-15T00:23:00Z arescorpio joined #lisp 2018-02-15T00:23:12Z jasom: hmm, I wrote a test that does it and it completes, but the mutex was still being held by an exited anonymous thread 2018-02-15T00:23:18Z Kevslinger quit (Quit: Connection closed for inactivity) 2018-02-15T00:23:43Z Lycurgus joined #lisp 2018-02-15T00:24:37Z jasom: otwieracz: try running test2 two times in a row, it will deadlock waiting on the mutex the second time 2018-02-15T00:27:34Z foom2 joined #lisp 2018-02-15T00:27:45Z jasom: otwieracz: if you run test2 it sometimes ends with an rcount of 1 2018-02-15T00:28:14Z smurfrobot joined #lisp 2018-02-15T00:28:20Z wigust quit (Ping timeout: 256 seconds) 2018-02-15T00:28:59Z LiamH quit (Quit: Leaving.) 2018-02-15T00:30:59Z foom quit (Ping timeout: 276 seconds) 2018-02-15T00:31:30Z smurfrobot quit (Remote host closed the connection) 2018-02-15T00:33:19Z jasom: otwieracz: sorry that was wrong; if you run test2 rwlock-resource is still owned by an exited thread despite the rcount being zero 2018-02-15T00:37:23Z Mr_Tea joined #lisp 2018-02-15T00:37:38Z papachan is now known as papachan_ 2018-02-15T00:41:27Z jasom: otwieracz: adding a (print (rwlock-resource rwlock)) immediately after the release-lock line in read-lock-end shows the lock as still being owned. This is bad 2018-02-15T00:42:23Z pagnol joined #lisp 2018-02-15T00:43:26Z pierpa joined #lisp 2018-02-15T00:43:39Z jasom: otwieracz: aha sbcl's mutex release silently returns if the current thread is not the owner. You want a semaphore, not a mutex for rwlock-resource 2018-02-15T00:44:34Z jasom: If you are tied to bordeaux threads, I think a condition variable is what you want 2018-02-15T00:46:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-15T00:49:05Z Kundry_W_ quit 2018-02-15T00:50:36Z jasom: otwieracz: I have to go, if you still haven't figured it out in a couple hours I'll comment on the gist with a fix 2018-02-15T00:53:24Z nyef quit (Ping timeout: 256 seconds) 2018-02-15T00:58:16Z emaczen joined #lisp 2018-02-15T00:58:48Z emaczen: how can I force ASDF to force load all systems or is that what the :force keyword does specify? 2018-02-15T00:59:32Z EvW1 quit (Ping timeout: 260 seconds) 2018-02-15T01:01:59Z Oladon joined #lisp 2018-02-15T01:04:09Z Rawriful quit (Quit: WeeChat 1.4) 2018-02-15T01:07:05Z Bike: you do :force :all, i think 2018-02-15T01:11:45Z pfdietz quit 2018-02-15T01:13:24Z fikka joined #lisp 2018-02-15T01:16:04Z Mr_Tea quit (Ping timeout: 256 seconds) 2018-02-15T01:23:27Z lksmk quit (Quit: Lost terminal) 2018-02-15T01:24:15Z pagnol quit (Ping timeout: 248 seconds) 2018-02-15T01:28:34Z wxie joined #lisp 2018-02-15T01:38:41Z khisanth_ is now known as Khisanth 2018-02-15T01:41:30Z elts quit (Quit: .) 2018-02-15T01:41:44Z elts joined #lisp 2018-02-15T01:45:46Z whoman: (defpackage :something (:use :cl)) ;; undefined function :USE ?? 2018-02-15T01:48:15Z fikka quit (Ping timeout: 248 seconds) 2018-02-15T01:48:30Z Bike: maybe the package you're reading that in doesn't use CL? 2018-02-15T01:49:04Z whoman: hmm, CL-USER in a fresh slime/sbcl 2018-02-15T01:49:19Z whoman: maybe it is supposed to be in package.lisp and use ql: ? 2018-02-15T01:49:23Z whoman: *quicklisp 2018-02-15T01:50:13Z fikka joined #lisp 2018-02-15T01:51:41Z SaganMan joined #lisp 2018-02-15T02:04:33Z emaczen quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-15T02:05:33Z __rumbler31 joined #lisp 2018-02-15T02:05:51Z __rumbler31 quit (Read error: Connection reset by peer) 2018-02-15T02:15:49Z fisxoj joined #lisp 2018-02-15T02:20:06Z dto quit (Remote host closed the connection) 2018-02-15T02:20:47Z wxie quit (Ping timeout: 256 seconds) 2018-02-15T02:23:23Z d4ryus1 joined #lisp 2018-02-15T02:24:01Z fikka quit (Ping timeout: 248 seconds) 2018-02-15T02:25:22Z Arcaelyx joined #lisp 2018-02-15T02:26:46Z d4ryus quit (Ping timeout: 256 seconds) 2018-02-15T02:31:20Z _cosmonaut_1 quit (Ping timeout: 276 seconds) 2018-02-15T02:32:05Z smurfrobot joined #lisp 2018-02-15T02:34:31Z fikka joined #lisp 2018-02-15T02:34:42Z dieggsy joined #lisp 2018-02-15T02:35:01Z al-damiri joined #lisp 2018-02-15T02:36:03Z smokeink joined #lisp 2018-02-15T02:36:57Z smurfrobot quit (Ping timeout: 264 seconds) 2018-02-15T02:52:58Z saki quit (Quit: saki) 2018-02-15T02:54:17Z whoman: i dont know. i cant lisp 2018-02-15T02:56:52Z fisxoj quit (Quit: fisxoj) 2018-02-15T03:01:25Z arescorpio quit (Quit: Leaving.) 2018-02-15T03:01:48Z pmc_ joined #lisp 2018-02-15T03:02:45Z damke quit (Ping timeout: 264 seconds) 2018-02-15T03:03:44Z fikka quit (Ping timeout: 276 seconds) 2018-02-15T03:04:45Z stacksmith: "(defpackage #:something (:use #:cl))" Damn the colon smileys! 2018-02-15T03:05:05Z pmc_ quit (Client Quit) 2018-02-15T03:09:59Z ludston quit (Quit: -a- Connection Timed Out) 2018-02-15T03:10:12Z fikka joined #lisp 2018-02-15T03:10:14Z ludston joined #lisp 2018-02-15T03:15:38Z whoman: it works on the repl , but not C-x-e .. oh well! 2018-02-15T03:15:54Z whoman: also yeh ty for the unintern # 2018-02-15T03:22:19Z saki joined #lisp 2018-02-15T03:27:01Z White_Flame: hmm, C-x-e works for me in a fresh slime/sbcl 2018-02-15T03:27:07Z White_Flame: on that form 2018-02-15T03:27:23Z mjl_ joined #lisp 2018-02-15T03:27:32Z wmannis quit (Quit: wmannis) 2018-02-15T03:27:34Z White_Flame: but yeah, it probably doesn't know defpackage, so it's trying to evaluate the arguments 2018-02-15T03:27:51Z White_Flame: anything in your *inferior-lisp* buffer? 2018-02-15T03:28:04Z White_Flame: or *slime-events*? 2018-02-15T03:28:22Z marusich joined #lisp 2018-02-15T03:31:11Z nowhereman_ quit (Read error: Connection reset by peer) 2018-02-15T03:31:12Z milanj quit (Quit: This computer has gone to sleep) 2018-02-15T03:31:29Z nowhere_man joined #lisp 2018-02-15T03:32:01Z saki quit (Quit: saki) 2018-02-15T03:32:23Z saki joined #lisp 2018-02-15T03:33:30Z whoman: hmmm 2018-02-15T03:34:28Z saki quit (Client Quit) 2018-02-15T03:34:47Z saki joined #lisp 2018-02-15T03:42:23Z fikka quit (Ping timeout: 256 seconds) 2018-02-15T03:42:35Z shifty quit (Ping timeout: 240 seconds) 2018-02-15T03:43:02Z pierpa: try (CL:DEFPACKAGE ...) 2018-02-15T03:44:07Z vtomole joined #lisp 2018-02-15T03:45:13Z nika joined #lisp 2018-02-15T03:47:59Z loli quit (Quit: WeeChat 2.0.1) 2018-02-15T03:48:27Z beach: Good morning everyone! 2018-02-15T03:48:38Z fikka joined #lisp 2018-02-15T03:48:56Z smokeink: Good morning 2018-02-15T03:51:48Z lnostdal joined #lisp 2018-02-15T03:52:54Z vultyre joined #lisp 2018-02-15T03:54:25Z loli joined #lisp 2018-02-15T03:55:04Z vultyre is now known as vultyre[GB] 2018-02-15T03:55:20Z vultyre[GB] is now known as vultyre 2018-02-15T03:59:41Z shka joined #lisp 2018-02-15T04:03:36Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-02-15T04:06:15Z atr3y0 joined #lisp 2018-02-15T04:07:05Z damke joined #lisp 2018-02-15T04:10:23Z Arcaelyx_ joined #lisp 2018-02-15T04:12:38Z atr3y0 quit (Quit: Leaving) 2018-02-15T04:12:44Z Khisanth quit (Ping timeout: 276 seconds) 2018-02-15T04:13:04Z Arcaelyx quit (Ping timeout: 252 seconds) 2018-02-15T04:13:50Z sjl joined #lisp 2018-02-15T04:17:57Z marusich quit (Ping timeout: 240 seconds) 2018-02-15T04:18:41Z vultyre quit (Quit: Leaving) 2018-02-15T04:18:43Z sjl quit (Ping timeout: 265 seconds) 2018-02-15T04:24:25Z marusich joined #lisp 2018-02-15T04:25:45Z Khisanth joined #lisp 2018-02-15T04:28:10Z whoman: pierpa, ok 2018-02-15T04:31:47Z schoppenhauer quit (Ping timeout: 255 seconds) 2018-02-15T04:33:42Z schoppenhauer joined #lisp 2018-02-15T04:34:33Z pjb joined #lisp 2018-02-15T04:34:53Z whoman: clos definitions are quite verbose 2018-02-15T04:38:23Z marusich quit (Ping timeout: 248 seconds) 2018-02-15T04:40:08Z sistine joined #lisp 2018-02-15T04:42:17Z groovy2shoes joined #lisp 2018-02-15T04:45:51Z python476 quit (Ping timeout: 256 seconds) 2018-02-15T04:46:23Z Khisanth quit (Ping timeout: 248 seconds) 2018-02-15T04:47:24Z nowhereman_ joined #lisp 2018-02-15T04:47:31Z Khisanth joined #lisp 2018-02-15T04:47:42Z Bike quit (Quit: Lost terminal) 2018-02-15T04:50:05Z nowhere_man quit (Ping timeout: 240 seconds) 2018-02-15T04:56:30Z fikka quit (Ping timeout: 256 seconds) 2018-02-15T04:58:45Z Arcaelyx joined #lisp 2018-02-15T04:59:48Z Arcaelyx_ quit (Ping timeout: 265 seconds) 2018-02-15T05:01:56Z ludston: whoman: in comparison to what though? 2018-02-15T05:06:19Z whoman: most any other language for OOP 2018-02-15T05:07:53Z whoman: class definitions especially, i think method/generic is quite nicely clean. maybe i will make a macro for myself for defclass, i find it is unnecessary to (slotname :initarg :slotname :initform nil ..) rather than just (slotname) but perhaps it is my reading comprehension that is not verbose enough 2018-02-15T05:08:34Z fikka joined #lisp 2018-02-15T05:09:55Z aeth: It's kind of in the middle afaik. More verbose than Python, less than Java. 2018-02-15T05:11:22Z whoman: hmm true about java.. i am also overly accustomed to class definitions being in one place/block with the associated methods/interface 2018-02-15T05:12:04Z whoman: i've just got to gird my loins and customize lisp a bit for myself =) 2018-02-15T05:13:13Z Lycurgus quit (Quit: Ex Chat) 2018-02-15T05:14:35Z stacksmith: I wrote a macro a while back that make class definitions much like structs... 2018-02-15T05:15:12Z pillton: It is wrong to think that generic functions are equivalent to methods/interfaces in C++, Java and Python. 2018-02-15T05:16:03Z stacksmith: They feel more like smalltalk messages... 2018-02-15T05:16:53Z stacksmith: But a lot better. 2018-02-15T05:17:32Z pillton: Generic functions don't belong to a class. 2018-02-15T05:23:28Z beach: whoman: The reason for the slot options is so that you can apply fundamental principles of software engineering, such as access control, abstraction, data hiding, etc. If you remove those options, those aspects can't be controlled. But perhaps you are not used to programming in large projects where several people need to collaborate and where long-term maintenance is a real concern. 2018-02-15T05:24:57Z fortitude quit (Read error: Connection reset by peer) 2018-02-15T05:26:19Z fortitude joined #lisp 2018-02-15T05:27:02Z beach: This is also why most people here reject any attempts at "simplifying" class definition by defining a custom macro with fewer slot options. Usually, such attempts boil down to not caring about the difference between interface and implementation. 2018-02-15T05:29:04Z whoman: i can fully understand these things =) but, to type the same slot name twice i feel could be optional 2018-02-15T05:30:34Z whoman: ah : https://stackoverflow.com/questions/3868658/defmacro-with-defclass 2018-02-15T05:30:55Z dddddd quit (Remote host closed the connection) 2018-02-15T05:31:35Z beach: It is a bad idea to have the same name of the slot as the slot accessor. 2018-02-15T05:31:45Z beach: For reasons I just mentioned. 2018-02-15T05:33:35Z whoman: why would CLOS ask for a slot name, and not gensym its own then ? 2018-02-15T05:33:47Z rme: Lots of people try writing a defclass wrapper macro. Many ultimately decide it was a bad idea. 2018-02-15T05:34:10Z rme: Just go with it. 2018-02-15T05:34:13Z beach: Because then, when you reload the class, the slot will get a different name, and you will have huge classes in the end with lots of gensymed slot names. 2018-02-15T05:34:30Z rme: where by "just go with it" I mean just use regular defclass 2018-02-15T05:34:32Z whoman: hrm. i am accustomed to designing data types and then code to operate on them, rme 2018-02-15T05:34:57Z beach: whoman: Furthermore, CLOS needs to know to merge slots with the same name in subclsses. 2018-02-15T05:35:02Z whoman: beach, true; but it could base it on the accessor name no ? 2018-02-15T05:35:26Z whoman: hmmm. what do people use as convention for slot/accessor name differences? i've seen '%' 2018-02-15T05:35:39Z beach: whoman: No, because it is common to have several accessor for the same slot. 2018-02-15T05:36:27Z whoman: hmmm that sounds like a bad idea =) 2018-02-15T05:36:32Z beach: whoman: That's what I use. Some people put a suffix -of on the accessor. Not many people like that convention though. 2018-02-15T05:37:11Z beach: whoman: You may want to have an exported reader and a private writer, so you need two different names. 2018-02-15T05:38:16Z pjb: On the other hand, often (99.99%) slots are not sophisticated: their accessors don't do anything but setting or reading the slot. 2018-02-15T05:38:52Z pjb: And if they do something, often (0.009999%), they do something that is systematical, so you do want to generate them with your own macro. 2018-02-15T05:38:55Z beach: whoman: Also part of the verbosity you see is that in Common Lisp, you can write :ACCESSOR BLA wheras in Java, you have to write separate get_bla and set_bla functions which is even more verbose. 2018-02-15T05:39:15Z pjb: You can also use :reader get-blah :writer set-blah ;-) 2018-02-15T05:40:25Z whoman: beach, ahh, cool ! 2018-02-15T05:40:48Z whoman: pjb, i agree there, but maybe then one should be using structs for the simple objects 2018-02-15T05:41:16Z pjb: If only you could redefine structs easily, and if only their accessors were generic functions… 2018-02-15T05:41:23Z fikka quit (Ping timeout: 256 seconds) 2018-02-15T05:41:29Z BitPuffin joined #lisp 2018-02-15T05:41:40Z beach: whoman: There is just so much variation between :initform or not, between a single :initarg or several, between :reader or :accessor, that it is usually not worth the effort to try to simplify. 2018-02-15T05:41:59Z fikka joined #lisp 2018-02-15T05:42:41Z pjb: When I say write your own macro, it should not be purely syntactic. It should be motivated by semantic reasons. For example, you can write a define-entity macro. 2018-02-15T05:43:24Z pjb: At the application level, you don't care about slot names vs. accessors, and what mechanism you have to put into accessors automatically. This should be abstracted in an application-level define-entity macro. 2018-02-15T05:43:47Z pjb: Syntactic problems often comes from a lack of high level abstraction. 2018-02-15T05:44:40Z pierpa: defclass being verbose, means one has a few seconds more to think about what they are doing :) 2018-02-15T05:45:42Z pjb: That said, using a define-class macro with the same syntax as defstruct is a nice way to upgrade your structures to classes. 2018-02-15T05:46:29Z whoman: pjb, hmm, yes true true.. 2018-02-15T05:46:46Z whoman: beach, yeah this makes sense 2018-02-15T05:48:07Z whoman: all of it agree! thanks guys =) the most i will do for syntax is to split up single slot defs on different lines, for my requirements of visualising my datatypes. then, doing the right thing at the application level. 2018-02-15T05:49:08Z whoman: i see a lot of lisp code that is too 'bare knuckle' , directly using low level system ops in application level. i definately feel the same, that building up higher level DSL to the application itself is the right way 2018-02-15T05:49:44Z whoman: i think the gap between "bad" lisp code and "good" lisp code is not as wide as with say, C or Java =) 2018-02-15T05:49:46Z smurfrobot joined #lisp 2018-02-15T05:50:54Z aeth: It depends on your goal is and what acceptable performance is for your application. 2018-02-15T05:50:55Z smurfrobot quit (Remote host closed the connection) 2018-02-15T05:51:08Z smurfrobot joined #lisp 2018-02-15T05:52:14Z smurfrobot quit (Remote host closed the connection) 2018-02-15T05:52:39Z pierpa quit (Quit: Page closed) 2018-02-15T05:53:29Z xcrot joined #lisp 2018-02-15T05:56:34Z k-hos: like they say, it's easier to shoot yourself in the foot with c 2018-02-15T05:57:51Z krwq joined #lisp 2018-02-15T05:59:37Z beach: Well, C is a strange thing. Because of lack of capabilities for abstraction, it is unfit for application programming. And in order to use it for system programming, you often have to rely on behavior that is undefined in the language definition and therefore specific to a particular compiler. 2018-02-15T06:05:45Z damke quit (Ping timeout: 264 seconds) 2018-02-15T06:06:21Z whoman: i had a great time with C 2018-02-15T06:08:14Z damke joined #lisp 2018-02-15T06:11:36Z xcrot left #lisp 2018-02-15T06:11:44Z mjl_ quit (Ping timeout: 260 seconds) 2018-02-15T06:13:21Z stylewarning: But C is easy to write in the sense you can vomit something into your text editor and it will compile and behave approximately correctly 2018-02-15T06:16:01Z fikka quit (Ping timeout: 248 seconds) 2018-02-15T06:19:57Z al-damiri quit (Quit: Connection closed for inactivity) 2018-02-15T06:20:11Z fikka joined #lisp 2018-02-15T06:21:51Z saki quit (Ping timeout: 248 seconds) 2018-02-15T06:22:00Z whoman: no, i dont think so at all. 2018-02-15T06:22:52Z saki joined #lisp 2018-02-15T06:22:54Z stacksmith: Guh. 2018-02-15T06:23:17Z stylewarning: Yeah, “approximately correctly” should have been “remotely correctly but good enough for managerial sign off” 2018-02-15T06:23:47Z whoman: perhaps you are thinking of Markdown 2018-02-15T06:24:20Z whoman: or irc hyuk hyuk 2018-02-15T06:25:09Z fikka quit (Ping timeout: 260 seconds) 2018-02-15T06:26:36Z shka quit (Ping timeout: 256 seconds) 2018-02-15T06:27:29Z pjb: Survival of the unfit. 2018-02-15T06:31:15Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-15T06:32:30Z lnostdal quit (Ping timeout: 255 seconds) 2018-02-15T06:33:47Z nika quit (Quit: Leaving...) 2018-02-15T06:34:32Z krwq: are there any recommendations for generic function which returns sequence of values ideally without allocating it? I was considering returning lambda which returns next value with each call and cl-coroutine - are there any recommendations/most popular conventions here? 2018-02-15T06:35:33Z Karl_Dscc joined #lisp 2018-02-15T06:36:08Z mr1yh1 joined #lisp 2018-02-15T06:37:48Z fikka joined #lisp 2018-02-15T06:37:57Z mr1yh1 quit (Read error: Connection reset by peer) 2018-02-15T06:38:17Z alexmlw quit (Read error: Connection reset by peer) 2018-02-15T06:40:32Z vlatkoB joined #lisp 2018-02-15T06:43:11Z fikka quit (Ping timeout: 248 seconds) 2018-02-15T06:43:44Z LocaMocha joined #lisp 2018-02-15T06:43:45Z LocaMocha quit (Max SendQ exceeded) 2018-02-15T06:44:53Z fikka joined #lisp 2018-02-15T06:46:21Z stylewarning: krwq: lambdas are a good option 2018-02-15T06:46:40Z stylewarning: Lisp doesn’t do so well in general with coroutines or Python-style generators 2018-02-15T06:48:44Z krwq: stylewarning: sounds good then, thanks 2018-02-15T06:49:36Z fikka quit (Ping timeout: 248 seconds) 2018-02-15T06:50:37Z LocaMocha joined #lisp 2018-02-15T06:51:31Z krwq: stylewarning: how would you efficiently implement such enumeration over hash table? 2018-02-15T06:55:40Z fikka joined #lisp 2018-02-15T06:55:50Z beach: clhs with-hash-table-iterator 2018-02-15T06:55:50Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_w_hash.htm 2018-02-15T06:56:55Z stylewarning: krqw I personally use MAPHASH 2018-02-15T06:57:30Z lnostdal joined #lisp 2018-02-15T06:57:39Z vtomole quit (Ping timeout: 260 seconds) 2018-02-15T06:57:45Z krwq: stylewarning: I mean a function which returns a function which iterates over elements 2018-02-15T06:59:24Z sistine quit 2018-02-15T07:00:49Z beach: clhs with-hash-table-iterator 2018-02-15T07:00:49Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_w_hash.htm 2018-02-15T07:00:51Z beach: krwq: ↑ 2018-02-15T07:07:16Z krwq: beach: thank you! 2018-02-15T07:07:22Z beach: Anytime. 2018-02-15T07:07:43Z pjb: krwq: (defgeneric foo (sequence) (:method ((sequence sequence)) (map-into sequence (lambda () (random 1.0))))) (foo (make-array 3)) #| --> #(0.40184024 0.6305135 0.7736664) |# 2018-02-15T07:07:54Z pjb: krwq: (foo (make-list 3)) #| --> (0.51839167 0.6697807 0.54345495) |# 2018-02-15T07:10:53Z otwieracz: jasom: Thank you! There was late night already in my timezone, but I will test it right now! 2018-02-15T07:12:28Z krwq: pjb: not sure how this is related 2018-02-15T07:13:35Z pjb: krwq: a generic function returning a sequence that it hasn't allocated. 2018-02-15T07:13:37Z Karl_Dscc quit (Remote host closed the connection) 2018-02-15T07:13:48Z pjb: krwq: the thing is that you pre-allocate your sequence, and reuse them. 2018-02-15T07:14:16Z krwq: pjb: how else can I use sequences? 2018-02-15T07:14:33Z Mr_Tea joined #lisp 2018-02-15T07:14:38Z krwq: pjb: seems like I'm missing some big piece here which might simplify a lot 2018-02-15T07:15:26Z pjb: (let ((pre-allocated (make-array 3))) (print (foo pre-allocated)) (print (foo pre-allocated))) #| #(0.86955583 0.60453916 0.62688285) #(0.96605814 0.63317955 0.62401444) |# 2018-02-15T07:15:46Z krwq: pjb: what if my sequence have couple of million records? 2018-02-15T07:15:56Z pjb: pre-alocate a couple of million records. 2018-02-15T07:16:06Z krwq: pjb: what if it doesn't fit into memory 2018-02-15T07:16:10Z pjb: Of course, it's better to use pre-allocation when you have a big number of items. 2018-02-15T07:16:25Z pjb: Yes, it will. Memories are into the tens of gigabytes nowadays. 2018-02-15T07:16:49Z krwq: pjb: i don't think what i'm planning to do will fit into memory 2018-02-15T07:17:08Z pjb: Perhaps, but this is not what you asked for. 2018-02-15T07:17:25Z krwq: pjb: i was thinking non-allocating sequences 2018-02-15T07:17:55Z krwq: pjb: abstraction over sequence (like iterator in C++) 2018-02-15T07:18:02Z pjb: lazily evaluated sequences… Yes, in CL you can use iterators, ie. functions returning the next element. 2018-02-15T07:18:16Z pjb: You can also implement delay and force and use them to build your lazy abstractions. 2018-02-15T07:18:32Z dieggsy quit (Ping timeout: 276 seconds) 2018-02-15T07:18:47Z pjb: Several examples in com.informatimago.common-lisp.cesarum.combination 2018-02-15T07:18:52Z Mr_Tea: how do I get a carreer in lisp? do I need to know it beforehand or do people train new hires if they can code. 2018-02-15T07:19:22Z pjb: Mr_Tea: you start up your own company, you get paying customers, you implement their solution in lisp. 2018-02-15T07:19:35Z flamebeard joined #lisp 2018-02-15T07:19:40Z ludston quit (Read error: Connection reset by peer) 2018-02-15T07:19:50Z pagnol joined #lisp 2018-02-15T07:19:53Z krwq: thanks pjb, will take a look 2018-02-15T07:20:01Z pjb: Mr_Tea: actually, start first by finding paying customers. Then start up your company and implement their solution. 2018-02-15T07:20:12Z ludston joined #lisp 2018-02-15T07:20:53Z pjb: Mr_Tea: of course, the downside is that you must be prepared to do a lot of sales, hr, and management work, before you can write your first line of lisp code. 2018-02-15T07:21:00Z Mr_Tea_ joined #lisp 2018-02-15T07:21:09Z pjb: You don't believe Elon Musk is designing rockets all day long? 2018-02-15T07:22:12Z pjb: He's having a few talks with his rocket ingineers, but he spends most of his time managing his corporations, and finding paying customers and money to pay his rocket ingineers (and all the carbon fiber and stuff needed to build them). 2018-02-15T07:22:41Z pjb: And the crazy thing is that he says he may very well not go to Mars himself at all… 2018-02-15T07:22:47Z whoman: engine? er? 2018-02-15T07:23:27Z pjb: Yep, rocket thrusters are still called engines. 2018-02-15T07:24:00Z whoman: ingine? er? 2018-02-15T07:24:07Z SaganMan quit (Quit: WeeChat 1.6) 2018-02-15T07:24:08Z aeth: Create a rocket company in addition to a Lisp company. Launch Lisp into space and use that to promote the Lisp company. 2018-02-15T07:24:29Z pjb: With a big sticker "Lisp inside" on each rocket :-) 2018-02-15T07:25:00Z Mr_Tea_: engrave a REPL on the moon 2018-02-15T07:25:02Z Mr_Tea quit (Ping timeout: 255 seconds) 2018-02-15T07:25:15Z Mr_Tea_ is now known as Mr_Tea 2018-02-15T07:25:23Z whoman: ehe 2018-02-15T07:25:56Z whoman: plant flag Land of Lisp LoL 2018-02-15T07:26:35Z krwq: beach: how do I return that generator function in another function? I tried wrapping it in another lambda but neither works - only when I use it within body of that with-hash-table-iterator 2018-02-15T07:27:44Z pjb: krwq: it's useless for your purpose, but as an example, since hash-tables are stored in memory, not lazy data structures. 2018-02-15T07:28:14Z pjb: (defun make-integer-iterator (&optional (start 0)) (lambda () (prog1 start (incf start)))) 2018-02-15T07:28:14Z pjb: 2018-02-15T07:28:39Z beach: krwq: Yeah, I guess you need something different. 2018-02-15T07:28:41Z pjb: (loop repeat 10 with iterator = (make-integer-iterator) collect (funcall iterator)) #| --> (0 1 2 3 4 5 6 7 8 9) |# 2018-02-15T07:28:44Z fikka quit (Ping timeout: 268 seconds) 2018-02-15T07:28:58Z krwq: pjb: this sucks - i can't use both paradigms - I want to have lazy abstraction and use maphash for testing and lazy implementation for normal use 2018-02-15T07:28:59Z pjb: krwq: if your sequence are finite, you will want to return 2 values, to indicate the end of the sequence. 2018-02-15T07:30:00Z pjb: (defun make-integer-iterator (&optional (start 0) (end nil)) (lambda () (multiple-value-prog1 (if (and end (<= end start)) (values nil t) (values start nil)) (incf start)))) 2018-02-15T07:30:01Z pjb: 2018-02-15T07:31:03Z krwq: I feel like I need yield here: https://github.com/takagi/cl-coroutine - I can't find source code for cl-cont though 2018-02-15T07:32:30Z nowhereman_ quit (Quit: Konversation terminated!) 2018-02-15T07:32:42Z nowhereman_ joined #lisp 2018-02-15T07:32:50Z pjb: (loop with iterator = (make-integer-iterator 0 7) for (i done) = (multiple-value-list (funcall iterator)) until done collect i) #| --> (0 1 2 3 4 5 6) |# 2018-02-15T07:33:45Z pjb: krwq: Using closures to generate a single element (or equivalently, a class as in com.informatimago.common-lisp.cesarum.combination) is simplier than using co-routines. 2018-02-15T07:35:07Z fikka joined #lisp 2018-02-15T07:35:35Z Mr_Tea quit (Ping timeout: 240 seconds) 2018-02-15T07:37:26Z nowhereman_ quit (Ping timeout: 256 seconds) 2018-02-15T07:37:46Z krwq: aren't co-routines returning closures? you funcall them after creating 2018-02-15T07:38:39Z lnostdal quit (Ping timeout: 255 seconds) 2018-02-15T07:38:56Z pjb: That's the conforming way to implement them in CL, but it's inefficient, and it requires heavy machinery to wrap the code of the co-routines inside-out. 2018-02-15T07:39:07Z pjb: The normal implementation is to use multiple stacks, just like threads. 2018-02-15T07:39:26Z pagnol quit (Ping timeout: 255 seconds) 2018-02-15T07:39:40Z pjb: Implementing co-routines with threads would probably be a better way than the inside-out thing. 2018-02-15T07:39:49Z krwq: pjb: any easy way to use your library with hash table? 2018-02-15T07:40:13Z pjb: What's the relationship between a set of combination and hash-tables? 2018-02-15T07:40:49Z krwq: I don't know what your library does, I need a simple abstract collection which gives me next element when I ask it to 2018-02-15T07:41:25Z krwq: and want to be able to use that on builtin collections like hash table 2018-02-15T07:41:26Z stacksmith: aeth: Don't forget to lose a billion a quarter, and promise to deliver a product that cannot possibly support your burn rate. 2018-02-15T07:41:55Z pjb: krwq: think about it! hash-tables are NOT sequences, they're direct access data structures! 2018-02-15T07:41:55Z Mr_Tea joined #lisp 2018-02-15T07:41:58Z scymtym quit (Ping timeout: 256 seconds) 2018-02-15T07:42:06Z pjb: It's incredible… 2018-02-15T07:42:12Z solyd joined #lisp 2018-02-15T07:42:23Z krwq: pjb: hash tables have elements and I need to be able to iterate them in any order 2018-02-15T07:42:36Z stacksmith: There is no order. 2018-02-15T07:42:44Z pjb: krwq: you want a disk-based database! 2018-02-15T07:43:20Z krwq: but I said I don't care about the order 2018-02-15T07:43:40Z aeth: If you want something more useful: (defun make-approximation-of-e (&optional (start 1)) (check-type start (integer 1)) (lambda () (prog1 (expt (1+ (/ start)) start) (incf start)))) 2018-02-15T07:43:42Z mishoo joined #lisp 2018-02-15T07:43:47Z krwq: pjb: I'm playing around with making abstract file system 2018-02-15T07:43:55Z pjb: krwq: lists of pairs are not hash-tables. 2018-02-15T07:43:58Z krwq: need this for implementation of directory 2018-02-15T07:44:12Z pjb: Either you want hash-tables and there's no lazyness, or you don't want hash-tables. 2018-02-15T07:44:26Z pjb: Directory more of 32 GB in size. right. 2018-02-15T07:44:33Z pjb: Use a disk-based database! 2018-02-15T07:44:33Z solyd quit (Client Quit) 2018-02-15T07:44:42Z krwq: pjb: physical yes - abstract have no limit 2018-02-15T07:44:45Z pjb: Or rather, think! 2018-02-15T07:45:07Z krwq: this will not be physically on my pc 2018-02-15T07:45:40Z krwq: server will provide batches of inodes 2018-02-15T07:46:33Z Oladon quit (Quit: Leaving.) 2018-02-15T07:47:41Z krwq: i was thinking to make one version to be able to inspect lisp image 2018-02-15T07:48:18Z krwq: but i need some generic abstraction for such sequence of nodes 2018-02-15T07:49:09Z krwq: returning function sounds good to me but I need to be able to know how to use it with all lisp collections such as hash table 2018-02-15T07:49:40Z krwq: for list it's 3 lines of code, for array few lines more but for hash table got no clue 2018-02-15T07:49:54Z sjl joined #lisp 2018-02-15T07:52:47Z smurfrobot joined #lisp 2018-02-15T07:53:33Z lnostdal joined #lisp 2018-02-15T07:54:41Z sjl quit (Ping timeout: 248 seconds) 2018-02-15T07:56:35Z krwq: generic macro would be nice here 2018-02-15T07:57:42Z krwq: i thinkI'll go with generic something like map-children 2018-02-15T07:57:43Z smurfrobot quit (Ping timeout: 268 seconds) 2018-02-15T07:57:50Z hajovonta joined #lisp 2018-02-15T07:58:02Z krwq: or do-children - essentially no return value 2018-02-15T07:58:21Z krwq: this will be less painful 2018-02-15T07:58:41Z krwq: i feel like hash-table is abomination in CL 2018-02-15T07:59:28Z krwq: not extensible at all and limited to some usages only 2018-02-15T08:00:25Z Cymew joined #lisp 2018-02-15T08:01:03Z krwq: i like do-children i'll be able to do lazy and non-lazy, will feel lispy and I will be able to pass both name and node as arg 2018-02-15T08:07:20Z fikka quit (Ping timeout: 265 seconds) 2018-02-15T08:09:59Z fikka joined #lisp 2018-02-15T08:10:33Z nowhereman_ joined #lisp 2018-02-15T08:10:58Z FreeBirdLjj joined #lisp 2018-02-15T08:13:04Z hajovonta: hi 2018-02-15T08:15:04Z fikka quit (Ping timeout: 265 seconds) 2018-02-15T08:17:57Z heurist joined #lisp 2018-02-15T08:18:41Z borei quit (Ping timeout: 248 seconds) 2018-02-15T08:19:02Z solyd joined #lisp 2018-02-15T08:19:37Z fikka joined #lisp 2018-02-15T08:19:57Z heurist__ quit (Ping timeout: 240 seconds) 2018-02-15T08:24:42Z wigust joined #lisp 2018-02-15T08:24:51Z varjag joined #lisp 2018-02-15T08:24:53Z SaganMan joined #lisp 2018-02-15T08:24:59Z solyd quit (Quit: solyd) 2018-02-15T08:25:53Z heisig joined #lisp 2018-02-15T08:26:19Z shifty joined #lisp 2018-02-15T08:28:35Z zooey quit (Ping timeout: 255 seconds) 2018-02-15T08:29:03Z zooey joined #lisp 2018-02-15T08:35:55Z fikka quit (Ping timeout: 256 seconds) 2018-02-15T08:37:35Z schoppenhauer quit (Ping timeout: 240 seconds) 2018-02-15T08:39:02Z scymtym joined #lisp 2018-02-15T08:41:28Z fikka joined #lisp 2018-02-15T08:42:58Z schoppenhauer joined #lisp 2018-02-15T08:45:50Z krwq quit (Remote host closed the connection) 2018-02-15T08:49:53Z angavrilov joined #lisp 2018-02-15T08:55:24Z damke quit (Ping timeout: 252 seconds) 2018-02-15T08:55:51Z solyd joined #lisp 2018-02-15T08:56:53Z phoe: hey 2018-02-15T08:58:08Z pjb: hi 2018-02-15T09:03:12Z solyd quit (Quit: solyd) 2018-02-15T09:04:40Z makomo_ joined #lisp 2018-02-15T09:07:04Z random-nick joined #lisp 2018-02-15T09:07:26Z nirved joined #lisp 2018-02-15T09:09:19Z SaganMan: Good Morning! 2018-02-15T09:10:40Z solyd joined #lisp 2018-02-15T09:13:34Z solyd quit (Client Quit) 2018-02-15T09:13:47Z hhdave joined #lisp 2018-02-15T09:15:21Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-15T09:16:28Z mlf quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-15T09:17:44Z milanj joined #lisp 2018-02-15T09:21:11Z damke joined #lisp 2018-02-15T09:25:57Z fortitude quit (Read error: Connection reset by peer) 2018-02-15T09:28:06Z fortitude joined #lisp 2018-02-15T09:28:45Z _cosmonaut_ joined #lisp 2018-02-15T09:35:07Z flip214: when using QUUX-HUNCHENTOOT I've got the problem that the browser (and seemingly HT as well?) hangs as soon as I run into an error. 2018-02-15T09:35:49Z flip214: I'm debugging (interactively) via swank, but upon choosing eg. ABORT the browser still waits for data; further http connections hang as well. 2018-02-15T09:36:02Z flip214: but I don't run into the debugger again... 2018-02-15T09:36:24Z flip214: restarting the process makes http (and debugging) work again 2018-02-15T09:38:48Z flip214: with the normal hunchentoot taskmaster allows me to debug multiple requests (and abort them ;) 2018-02-15T09:39:09Z flip214: this is with current QL versions on SBCL git HEAD (but older SBCL had that as well) 2018-02-15T09:39:37Z solyd joined #lisp 2018-02-15T09:41:36Z solyd quit (Client Quit) 2018-02-15T09:41:56Z smokeink: http://turtleware.eu/posts/cl-charms-crash-course.html "We are also very drastic with bt:destroy-thread, something not recommended in any code which is not a demonstration like this one." Why is the use of bt:destroy-thread not recommended for recreating threads? 2018-02-15T09:43:38Z Murii joined #lisp 2018-02-15T09:45:37Z loke: smokeink: For the same reason that Thread.destroy() was removed in Java 2018-02-15T09:45:58Z loke: smokeink: It's very hard to impossible to ensure consistency when killing threads. 2018-02-15T09:50:15Z wigust- joined #lisp 2018-02-15T09:51:47Z solyd joined #lisp 2018-02-15T09:53:33Z wigust quit (Ping timeout: 256 seconds) 2018-02-15T09:54:20Z wigust- quit (Client Quit) 2018-02-15T09:55:44Z fe[nl]ix: smokeink: on any implementation that uses SMP threads, bt:destroy-thread is a bad idea 2018-02-15T09:56:31Z wxie joined #lisp 2018-02-15T09:57:12Z fe[nl]ix: you're not guaranteed to be able to interrupt a thread safely 2018-02-15T10:01:32Z wxie quit (Quit: AtomicIRC: The nuclear option.) 2018-02-15T10:02:46Z epony quit (Read error: Connection reset by peer) 2018-02-15T10:03:07Z epony joined #lisp 2018-02-15T10:03:28Z solyd quit (Quit: solyd) 2018-02-15T10:05:23Z fikka quit (Ping timeout: 255 seconds) 2018-02-15T10:05:51Z pagnol joined #lisp 2018-02-15T10:06:22Z solyd joined #lisp 2018-02-15T10:07:06Z wxie joined #lisp 2018-02-15T10:07:11Z smokeink: okay , thanks 2018-02-15T10:08:19Z wxie quit (Client Quit) 2018-02-15T10:12:43Z kdridi joined #lisp 2018-02-15T10:15:45Z fikka joined #lisp 2018-02-15T10:16:42Z solyd quit (Quit: solyd) 2018-02-15T10:20:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-15T10:20:49Z nullman quit (Ping timeout: 248 seconds) 2018-02-15T10:21:35Z nullman joined #lisp 2018-02-15T10:21:37Z kdridi quit (Remote host closed the connection) 2018-02-15T10:22:46Z fikka joined #lisp 2018-02-15T10:23:12Z solyd joined #lisp 2018-02-15T10:24:27Z wxie joined #lisp 2018-02-15T10:30:21Z damke quit (Ping timeout: 264 seconds) 2018-02-15T10:32:41Z attila_lendvai joined #lisp 2018-02-15T10:32:41Z attila_lendvai quit (Changing host) 2018-02-15T10:32:41Z attila_lendvai joined #lisp 2018-02-15T10:34:55Z flip214: when calling a function, what's the easiest way to pass a place in, so that it can be modified? 2018-02-15T10:35:05Z flip214: via two functions (read/write)? 2018-02-15T10:35:21Z flip214: taking a return value and doing an explicit SETF with it isn't that nice either 2018-02-15T10:35:33Z flip214: pushing a CONS in so that its CAR gets modified? 2018-02-15T10:37:40Z Shinmera: the easiest way is not defining a function, but a macro. 2018-02-15T10:37:55Z Shinmera: If the point is to modify a place, a function is not the thing to use. 2018-02-15T10:38:38Z White_Flame: I've used cons cells as locatives. Passing around a read/write function pair in a struct would be another reasonable solution to locatives. 2018-02-15T10:38:44Z flip214: well, that's just to store an intermediate result across multiple calls of that function (in a loop) 2018-02-15T10:38:56Z White_Flame: That is, of course, if you truly need them. Places, as Shinmera indicates, are pretty straightforward to keep macro-supported 2018-02-15T10:39:06Z flip214: White_Flame: yeah, I'm now passing in a CONS as well, and have a SYMBOL-MACROLET in the function 2018-02-15T10:39:25Z flip214: no, that should stay a function. 2018-02-15T10:42:05Z scymtym: a simple solution could be (defun make-box () (let (value) (lambda (&optional (new nil newp)) (if newp (setf value new) value)))). seems cleaner and more flexible than a CONS and simpler than two functions or a structure 2018-02-15T10:49:08Z nowhereman_ quit (Ping timeout: 276 seconds) 2018-02-15T10:49:34Z kedorlaomer joined #lisp 2018-02-15T10:51:02Z FreeBirdLjj joined #lisp 2018-02-15T10:51:30Z pjb: flip214: the easiest way is to use abstractions! Or read usenet… 2018-02-15T10:51:30Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T10:51:46Z pjb: flip214: http://informatimago.com/articles/usenet.html#C-like-pointers-in-Lisp 2018-02-15T10:52:55Z pagnol quit (Quit: Ex-Chat) 2018-02-15T10:53:19Z attila_lendvai joined #lisp 2018-02-15T10:53:19Z attila_lendvai quit (Changing host) 2018-02-15T10:53:19Z attila_lendvai joined #lisp 2018-02-15T10:56:40Z m00natic joined #lisp 2018-02-15T11:00:19Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-15T11:06:23Z damke joined #lisp 2018-02-15T11:26:02Z sjl joined #lisp 2018-02-15T11:30:49Z sjl quit (Ping timeout: 260 seconds) 2018-02-15T11:33:07Z wxie quit (Quit: AtomicIRC: The nuclear option.) 2018-02-15T11:35:24Z quazimodo quit (Ping timeout: 268 seconds) 2018-02-15T11:35:24Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T11:37:07Z scymtym quit (Ping timeout: 260 seconds) 2018-02-15T11:37:31Z orivej joined #lisp 2018-02-15T11:37:39Z attila_lendvai joined #lisp 2018-02-15T11:37:39Z attila_lendvai quit (Changing host) 2018-02-15T11:37:39Z attila_lendvai joined #lisp 2018-02-15T11:44:10Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T11:46:12Z attila_lendvai joined #lisp 2018-02-15T11:46:12Z attila_lendvai quit (Changing host) 2018-02-15T11:46:12Z attila_lendvai joined #lisp 2018-02-15T11:50:27Z kedorlaomer quit (Ping timeout: 240 seconds) 2018-02-15T11:51:57Z damke quit (Ping timeout: 264 seconds) 2018-02-15T11:52:18Z scymtym joined #lisp 2018-02-15T11:53:46Z damke joined #lisp 2018-02-15T11:56:02Z lnostdal quit (Ping timeout: 255 seconds) 2018-02-15T11:56:03Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T11:58:20Z attila_lendvai joined #lisp 2018-02-15T11:58:20Z attila_lendvai quit (Changing host) 2018-02-15T11:58:20Z attila_lendvai joined #lisp 2018-02-15T11:58:51Z mjl_ joined #lisp 2018-02-15T11:59:26Z orivej quit (Ping timeout: 276 seconds) 2018-02-15T12:00:25Z SaganMan quit (Quit: WeeChat 1.6) 2018-02-15T12:01:00Z pagnol joined #lisp 2018-02-15T12:01:00Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T12:01:11Z Shinmera: Soon™ https://filebox.tymoon.eu//file/TVRVd05nPT0= 2018-02-15T12:02:47Z Shinmera: (The prices are only placeholders) 2018-02-15T12:02:55Z attila_lendvai joined #lisp 2018-02-15T12:02:55Z attila_lendvai quit (Changing host) 2018-02-15T12:02:55Z attila_lendvai joined #lisp 2018-02-15T12:03:35Z papachan joined #lisp 2018-02-15T12:03:57Z jackdaniel: I hope that validatation won't bail on my name (or something else) 2018-02-15T12:03:58Z hajovonta: flip124: (defparameter x (gensym)) (defun test (my-var) (setf (symbol-value my-var) 'any-value-you-want)) 2018-02-15T12:04:15Z Shinmera: jackdaniel: The name isn't validated, don't worry. I got enough experience with those kinds of things :) 2018-02-15T12:04:24Z jackdaniel: (I'm mentioning that only because I had a few such unpleasent situations, not that I doubt you) 2018-02-15T12:04:57Z hajovonta: then just (test x) 2018-02-15T12:04:57Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T12:05:34Z wxie joined #lisp 2018-02-15T12:05:59Z jackdaniel: now we know *some* of your email addresses ,) 2018-02-15T12:06:18Z Shinmera: Oh no, my public email address is now in video format!!! 2018-02-15T12:07:01Z Shinmera: What ever shall I do with the spam 2018-02-15T12:07:22Z attila_lendvai joined #lisp 2018-02-15T12:11:55Z wxie quit (Quit: AtomicIRC: The nuclear option.) 2018-02-15T12:14:09Z pagnol quit (Ping timeout: 264 seconds) 2018-02-15T12:14:09Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T12:15:45Z attila_lendvai joined #lisp 2018-02-15T12:15:45Z attila_lendvai quit (Changing host) 2018-02-15T12:15:45Z attila_lendvai joined #lisp 2018-02-15T12:16:43Z jackdaniel: smokeink: re bt:destroy-thread : for instance you have no guarantee that unwind-protect cleanup will be executed -- hence you may leave lock, erm, locked 2018-02-15T12:17:14Z jackdaniel: much more gotchas of course, but this is an easy example 2018-02-15T12:17:30Z jackdaniel: (even if it was taken by `with-lock-held' or similar 2018-02-15T12:17:32Z jackdaniel: ) 2018-02-15T12:19:11Z python476 joined #lisp 2018-02-15T12:19:37Z nowhereman_ joined #lisp 2018-02-15T12:20:45Z solyd quit (Quit: solyd) 2018-02-15T12:22:20Z solyd joined #lisp 2018-02-15T12:25:47Z SaganMan joined #lisp 2018-02-15T12:25:51Z flip214: Shinmera: hooray! 2018-02-15T12:27:06Z pagnol joined #lisp 2018-02-15T12:27:06Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T12:28:08Z flip214: pjb: thanks, but too much abstraction hurts for this small usecase ;) 2018-02-15T12:28:26Z flip214: hajovonta: also possible 2018-02-15T12:29:10Z attila_lendvai joined #lisp 2018-02-15T12:29:19Z hajovonta: :) 2018-02-15T12:31:00Z EvW joined #lisp 2018-02-15T12:34:41Z flip214: TIMTOWTDIIL 2018-02-15T12:37:18Z neirac joined #lisp 2018-02-15T12:38:14Z neirac: this page is awesome http://lisp-lang.org/ I just found out about woo thanks to that 2018-02-15T12:38:34Z Bike joined #lisp 2018-02-15T12:40:25Z ecraven: is there a "feature overview" video of SLIME? 2018-02-15T12:41:52Z flip214: yeah, QUUX-HUNCHENTOOT is broken somehow. 2018-02-15T12:42:08Z flip214: first few requests < 1msec, but after a while the performance gets worse and worse... 2018-02-15T12:42:16Z flip214: guess the threads are hanging somewhere 2018-02-15T12:43:44Z smokeink quit (Remote host closed the connection) 2018-02-15T12:47:08Z raynold quit (Quit: Connection closed for inactivity) 2018-02-15T12:47:08Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T12:48:30Z attila_lendvai joined #lisp 2018-02-15T12:53:54Z smurfrobot joined #lisp 2018-02-15T12:55:29Z flip214: no, it's not QUUX... other multi-parallel writes to swank kill my editor chain, too 2018-02-15T12:55:37Z flip214: ^^ did anyone already see that with vlime? 2018-02-15T12:57:18Z hajovonta: what's vlime? 2018-02-15T12:57:40Z ecraven: looks like vim slime 2018-02-15T12:57:41Z random-nick: a slime clone for vim 2018-02-15T12:58:00Z random-nick: well, not really a clone since it uses swank too 2018-02-15T12:58:17Z dddddd joined #lisp 2018-02-15T12:58:29Z smurfrobot quit (Ping timeout: 255 seconds) 2018-02-15T12:58:39Z solyd quit (Quit: solyd) 2018-02-15T12:58:48Z ecraven: random-nick: so it's a slim clone, not a swank clone 2018-02-15T12:58:53Z flip214: I think I found the culprit.... 2018-02-15T12:58:56Z ecraven: to me, slime is the emacs frontend, swank is the lisp backend 2018-02-15T12:59:43Z random-nick: ecraven: that is true, but swank was made for slime and is developed by slime developers 2018-02-15T13:00:12Z ecraven: indeed, but there are a few other swanks that work together with slime 2018-02-15T13:00:51Z ecraven: is there a way to call the slime inspector from the repl? 2018-02-15T13:01:08Z ecraven: i.e. to have swank initiate an inspection, not slime? 2018-02-15T13:03:31Z kdridi joined #lisp 2018-02-15T13:04:19Z kdridi quit (Remote host closed the connection) 2018-02-15T13:07:29Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T13:08:23Z attila_lendvai joined #lisp 2018-02-15T13:08:23Z attila_lendvai quit (Changing host) 2018-02-15T13:08:23Z attila_lendvai joined #lisp 2018-02-15T13:09:47Z kdridi joined #lisp 2018-02-15T13:10:18Z attila_lendvai: ecraven: (swank::inspect-in-emacs value :wait #f) 2018-02-15T13:11:09Z ecraven: attila_lendvai: thank you! 2018-02-15T13:11:59Z SaganMan quit (Quit: WeeChat 1.6) 2018-02-15T13:12:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-15T13:14:09Z Bike quit (Quit: Lost terminal) 2018-02-15T13:14:12Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T13:16:22Z smokeink joined #lisp 2018-02-15T13:19:52Z solyd joined #lisp 2018-02-15T13:21:58Z nowhereman_ quit (Ping timeout: 256 seconds) 2018-02-15T13:23:51Z sz0 joined #lisp 2018-02-15T13:27:27Z fortitude quit (Read error: Connection reset by peer) 2018-02-15T13:28:11Z fortitude joined #lisp 2018-02-15T13:29:07Z EvW quit (Ping timeout: 260 seconds) 2018-02-15T13:29:14Z makomo_ quit (Ping timeout: 260 seconds) 2018-02-15T13:31:07Z Duns_Scrotus joined #lisp 2018-02-15T13:31:17Z attila_lendvai joined #lisp 2018-02-15T13:31:17Z attila_lendvai quit (Changing host) 2018-02-15T13:31:17Z attila_lendvai joined #lisp 2018-02-15T13:33:46Z Kevslinger joined #lisp 2018-02-15T13:34:53Z mjl_ quit (Ping timeout: 276 seconds) 2018-02-15T13:36:08Z solyd quit (Quit: solyd) 2018-02-15T13:39:38Z fikka joined #lisp 2018-02-15T13:39:56Z EvW1 joined #lisp 2018-02-15T13:44:45Z damke quit (Ping timeout: 264 seconds) 2018-02-15T13:45:04Z damke_ joined #lisp 2018-02-15T13:45:24Z kami joined #lisp 2018-02-15T13:45:25Z flip214: hmmm, seems that the output is too fast... "INFO: Control stack guard page unprotected" 2018-02-15T13:45:38Z kami: Hello #lisp 2018-02-15T13:46:09Z christoph_debian quit (Ping timeout: 248 seconds) 2018-02-15T13:46:29Z thodg joined #lisp 2018-02-15T13:47:09Z jstypo quit (Ping timeout: 264 seconds) 2018-02-15T13:49:09Z christoph_debian joined #lisp 2018-02-15T13:55:20Z drewc quit (Ping timeout: 255 seconds) 2018-02-15T14:00:37Z dmiles quit (Ping timeout: 260 seconds) 2018-02-15T14:02:14Z jstypo joined #lisp 2018-02-15T14:03:22Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T14:05:32Z attila_lendvai joined #lisp 2018-02-15T14:05:32Z attila_lendvai quit (Changing host) 2018-02-15T14:05:32Z attila_lendvai joined #lisp 2018-02-15T14:08:38Z drewc joined #lisp 2018-02-15T14:09:26Z smokeink quit (Quit: Leaving) 2018-02-15T14:14:19Z kdridi quit (Remote host closed the connection) 2018-02-15T14:16:12Z solyd joined #lisp 2018-02-15T14:16:46Z d4ryus2 joined #lisp 2018-02-15T14:17:38Z orivej joined #lisp 2018-02-15T14:18:41Z d4ryus1 quit (Ping timeout: 248 seconds) 2018-02-15T14:19:06Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T14:21:20Z attila_lendvai joined #lisp 2018-02-15T14:21:32Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T14:23:38Z attila_lendvai joined #lisp 2018-02-15T14:25:31Z nullniverse joined #lisp 2018-02-15T14:26:14Z jstypo quit (Ping timeout: 276 seconds) 2018-02-15T14:26:24Z nullniverse quit (Remote host closed the connection) 2018-02-15T14:27:26Z makomo_ joined #lisp 2018-02-15T14:28:05Z MetaYan quit (Ping timeout: 240 seconds) 2018-02-15T14:28:12Z Bike joined #lisp 2018-02-15T14:28:51Z MetaYan joined #lisp 2018-02-15T14:29:24Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T14:29:54Z jantar-tobak quit (Quit: Lost terminal) 2018-02-15T14:30:33Z attila_lendvai joined #lisp 2018-02-15T14:33:15Z Tristam quit (Remote host closed the connection) 2018-02-15T14:34:16Z kdridi joined #lisp 2018-02-15T14:35:42Z Tristam joined #lisp 2018-02-15T14:38:47Z megalography1 joined #lisp 2018-02-15T14:39:14Z megalography quit (Ping timeout: 276 seconds) 2018-02-15T14:40:48Z gr8 joined #lisp 2018-02-15T14:41:12Z jstypo joined #lisp 2018-02-15T14:42:19Z kdridi quit (Remote host closed the connection) 2018-02-15T14:42:29Z gr8: hi, I have the following idea: I would like to have a fully functional programming stack, which means that the hardware primitives (assembler directives, register etc.) are exposed to a high-level language. Then the compiler should already be written in Lisp (or something similar) and output binary code 2018-02-15T14:42:50Z gr8: so that all hardware-specific optimizations can be accessed and programmed using a functional language 2018-02-15T14:43:08Z gr8: are there any similar projects, or something where I should start? 2018-02-15T14:43:34Z beach: OK, slow down a bit... 2018-02-15T14:43:51Z beach: What is the language you are going to compile? 2018-02-15T14:43:55Z Xach: gr8: you can access the hardware directly with existing lisps, and the compilers are written in Lisp and compile to machine code... 2018-02-15T14:43:59Z ecraven: gr8: so you want to do something like (+ %rax 5)? 2018-02-15T14:44:12Z kdridi joined #lisp 2018-02-15T14:44:32Z gr8: ecraven, hmm yeah basically. 2018-02-15T14:44:55Z ecraven: gr8: where would the language store its values, if you want to access them all the time? 2018-02-15T14:45:04Z ecraven: normally, the compiler would pick some registers, but you wouldn't know which 2018-02-15T14:45:17Z Xach: gr8: https://www.pvk.ca/Blog/2014/03/15/sbcl-the-ultimate-assembly-code-breadboard/ has some info about fussing with that sort of thing 2018-02-15T14:46:09Z beach: gr8: Are you planning to compile Common Lisp programs, or programs in some other language? 2018-02-15T14:47:31Z kdridi quit (Remote host closed the connection) 2018-02-15T14:47:55Z gr8: beach, I'm thinking from the bottom up. My plan is to bootstrap a lisp/scheme language. Of course that can later be used to implement compilers for other languages 2018-02-15T14:48:09Z igemnace joined #lisp 2018-02-15T14:48:22Z dmiles joined #lisp 2018-02-15T14:49:05Z __rumbler31 joined #lisp 2018-02-15T14:49:42Z beach: gr8: Like Xach mentioned, the SBCL compiler is already written in Common Lisp. And Cleavir is a project meant to create an implementation-independent compiler framework. 2018-02-15T14:50:00Z beach: https://github.com/robert-strandh/SICL 2018-02-15T14:50:34Z gr8: thanks, i will take a look! Sorry guys have to change location, be back soon 2018-02-15T14:50:42Z beach: gr8: When you say "bootstrap a lisp/scheme language", what would you bootstrap it from? 2018-02-15T14:50:49Z kdridi joined #lisp 2018-02-15T14:50:52Z _rumbler31 joined #lisp 2018-02-15T14:51:53Z SaganMan joined #lisp 2018-02-15T14:52:44Z heisig quit (Quit: Leaving) 2018-02-15T14:53:51Z __rumbler31 quit (Ping timeout: 248 seconds) 2018-02-15T14:55:23Z dlowe: I imagine he envisions bootstrapping as something that will confer benefits rather than a nuisance. 2018-02-15T14:55:23Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T14:55:35Z gr8 quit (Ping timeout: 276 seconds) 2018-02-15T14:56:14Z dmiles quit (Ping timeout: 276 seconds) 2018-02-15T14:56:18Z attila_lendvai joined #lisp 2018-02-15T14:56:22Z beach: dlowe: That seems like a safe bet. But it is not enough information for me to understand what gr8 is trying to do. 2018-02-15T14:56:31Z porky11 joined #lisp 2018-02-15T14:58:05Z dlowe: repeat history, I'm assuming :) 2018-02-15T14:58:16Z beach: That is a bit what I fear. 2018-02-15T15:02:18Z kdridi quit (Remote host closed the connection) 2018-02-15T15:02:52Z gr8 joined #lisp 2018-02-15T15:02:57Z gr8: I am back! 2018-02-15T15:03:22Z beach: OK, so if you can explain a bit more in detail what you want to accomplish and what you want to start with, that would be great. 2018-02-15T15:06:13Z gr8: actually I am just thinking about it yet. My original reason was that I am missing the *transparency* of C. When programming in C, (at least when not using all the optimization), I am having some kind of intuition for what is happening on the byte level. With Scheme, you have a scheme interpreter and then it stops, it's a blackbox. 2018-02-15T15:06:18Z fikka quit (Ping timeout: 268 seconds) 2018-02-15T15:06:58Z gr8: so in order to have transparency down to the machine level, it would be necessary to make the lower primitives visible in Scheme/Lisp as well 2018-02-15T15:07:00Z beach: I am starting to understand. 2018-02-15T15:07:21Z gr8: which essentially means writing a program that outputs machine code 2018-02-15T15:07:40Z beach: Now that part has already been done several times. 2018-02-15T15:08:29Z beach: But, what would you use this transparency for? Would you allow the application programmer to access those lower levels? 2018-02-15T15:09:24Z gr8: optionally! I mean you can write abstractions on top of it and then use them, or you can access lower primitives if necessary, or just look at the code and see what would happen 2018-02-15T15:09:50Z ecraven: but wouldn't that need for transparency severly hamper you too? how can you have generic arithmetic, for example? you never know *which* exact operation will be called. 2018-02-15T15:10:11Z rippa joined #lisp 2018-02-15T15:10:31Z gr8: abstraction? Define some default semantics. Isn't that what is done by all other programming languages as well? 2018-02-15T15:10:34Z ecraven: gr8: probably every Scheme ever has e.g. fx+ and fl+, which can be compiled directly to the respective adds 2018-02-15T15:10:37Z dyelar joined #lisp 2018-02-15T15:10:39Z beach: gr8: What ecraven says. You would have to have a very simple compiler that generates extremely predictable machine code in order for that low level to be exploitable by the application programmer. 2018-02-15T15:11:04Z ecraven: gr8: the point is, lisp *does* support writing very low-level code where you know what is generated, but you mostly just don't want that 2018-02-15T15:11:04Z beach: gr8: and such a simple compiler would generate code that is way too slow for most purposes. 2018-02-15T15:11:29Z shifty quit (Ping timeout: 248 seconds) 2018-02-15T15:11:41Z ecraven: in most cases, I really don't care which exact instructions are emitted, the compiler should worry about that. if I want to care, in SBCL I definitely can (see the link above) 2018-02-15T15:12:29Z razzy: in slime i got error :] Symbol "ASDF-SYSTEM-FILES" not found in the SWANK package. do not know where t ostart looking :] 2018-02-15T15:12:46Z razzy: while compiling :] 2018-02-15T15:13:12Z gr8: sure, at some point you have to optimize. But you know that many todays C compilers are a huge mess. I would like to do that optimization in Scheme, using very basic Scheme primitives that access the hardware, like you said 2018-02-15T15:13:27Z attila_lendvai: razzy: first I'd update slime, your lisp, and quicklisp. then I'd look again if it still fails... 2018-02-15T15:13:38Z EvW1 quit (Ping timeout: 255 seconds) 2018-02-15T15:13:44Z ecraven: gr8: have you looked at things like pre-scheme (scheme48)? 2018-02-15T15:13:53Z ecraven: they are at about the level of C 2018-02-15T15:15:13Z stacksmith: gr8: take a look at Picolisp. It bootstraps neetly as I recall. 2018-02-15T15:15:33Z stacksmith: Plus it's an incredibly fast interpreter. 2018-02-15T15:15:43Z EvW joined #lisp 2018-02-15T15:16:03Z razzy: hmm,.. you got a point :] 2018-02-15T15:16:42Z solyd quit (Quit: solyd) 2018-02-15T15:16:54Z gr8: ecraven, no that's too high level I think 2018-02-15T15:17:19Z ecraven: pre-scheme? it doesn't have a GC, no generalised arithmetic... it's really not very high-level 2018-02-15T15:17:21Z orivej quit (Ping timeout: 248 seconds) 2018-02-15T15:17:41Z shrdlu68 quit (Ping timeout: 256 seconds) 2018-02-15T15:17:51Z jackdaniel: if it has parens it counts as high level and art ;-) 2018-02-15T15:18:19Z shrdlu68 joined #lisp 2018-02-15T15:19:12Z smurfrobot joined #lisp 2018-02-15T15:20:13Z smurfrobot quit (Remote host closed the connection) 2018-02-15T15:20:13Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T15:21:48Z gr8: stacksmith, thanks I think Picolisp gets pretty close. https://software-lab.de/doc64/asm 2018-02-15T15:22:02Z attila_lendvai joined #lisp 2018-02-15T15:22:02Z attila_lendvai quit (Changing host) 2018-02-15T15:22:02Z attila_lendvai joined #lisp 2018-02-15T15:25:49Z pagnol quit (Ping timeout: 256 seconds) 2018-02-15T15:25:49Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T15:25:53Z solyd joined #lisp 2018-02-15T15:27:07Z attila_lendvai joined #lisp 2018-02-15T15:27:07Z attila_lendvai quit (Changing host) 2018-02-15T15:27:07Z attila_lendvai joined #lisp 2018-02-15T15:27:11Z gr8: from https://en.wikipedia.org/wiki/PicoLisp "In 2009, the 64-bit version was released, another rewrite, this time written in a generic assembler which in turn is implemented in PicoLisp." Exactly this "generic assembler" is the abstraction level I was looking for 2018-02-15T15:28:08Z solyd quit (Client Quit) 2018-02-15T15:28:36Z francogrex joined #lisp 2018-02-15T15:28:44Z francogrex: hi, https://fnpaste.com/88KQ 2018-02-15T15:28:56Z francogrex: how can I prevent heap exhasution? 2018-02-15T15:29:36Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T15:29:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-15T15:30:05Z random-nick: make the heap bigger 2018-02-15T15:30:21Z sjl joined #lisp 2018-02-15T15:30:32Z attila_lendvai joined #lisp 2018-02-15T15:30:32Z attila_lendvai quit (Changing host) 2018-02-15T15:30:32Z attila_lendvai joined #lisp 2018-02-15T15:30:42Z damke_ joined #lisp 2018-02-15T15:31:00Z sz0 quit (Quit: Connection closed for inactivity) 2018-02-15T15:31:08Z stacksmith: gr8: the picolisp chat is pretty good, and the developer hangs out and enjoys talking shop... 2018-02-15T15:31:31Z solyd joined #lisp 2018-02-15T15:31:41Z francogrex: i suspect it is related to vector-pop 2018-02-15T15:32:23Z stacksmith: Instrument your code if you think your consing is whacky. 2018-02-15T15:32:24Z solyd quit (Client Quit) 2018-02-15T15:33:19Z fikka joined #lisp 2018-02-15T15:33:52Z solyd joined #lisp 2018-02-15T15:33:53Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T15:35:21Z damke joined #lisp 2018-02-15T15:36:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-15T15:37:56Z pagnol joined #lisp 2018-02-15T15:38:04Z Cymew quit (Remote host closed the connection) 2018-02-15T15:39:25Z attila_lendvai joined #lisp 2018-02-15T15:39:25Z attila_lendvai quit (Changing host) 2018-02-15T15:39:25Z attila_lendvai joined #lisp 2018-02-15T15:42:04Z francogrex: you think it's the consting of (vector ...) inside the loop? 2018-02-15T15:42:09Z flip214: I think my brain is broken in some way... would somebody care to tell me the difference between the two LABELS in https://pastebin.com/EHH6LbX4? 2018-02-15T15:42:25Z flip214: the first one (kind of) works, the second stops too early 2018-02-15T15:42:46Z Bike: doesn't work with the question mark, so https://pastebin.com/EHH6LbX4 2018-02-15T15:43:32Z |3b|: francogrex: that code looks like it uses ~1.3GB of heap, which is large enough that just running out normally is plausible without anything odd happening 2018-02-15T15:44:13Z flip214: Bike: ah yeah, sorry 2018-02-15T15:44:26Z francogrex: ok... is there any way to make the vector without consuming that much heap? 2018-02-15T15:44:34Z flip214: and the (break) should be a (return-from swank-read-loop) then 2018-02-15T15:44:34Z francogrex: fill the vector vc? 2018-02-15T15:45:07Z pjb: francogrex: (* 3 pa) -> ? 2018-02-15T15:45:40Z |3b|: not much you can do just given the info in the paste... 2018-02-15T15:46:19Z pjb: francogrex: nope. Using displaced arrays would take more memory. 2018-02-15T15:46:19Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T15:46:21Z |3b|: you could run in a 32 bit lisp (i was assuming 64), which would reduce heap used, but also probably reduce heap available so might not help 2018-02-15T15:46:25Z flip214: ie. I just wanted to rewrite the tail recursion (which breaks sooner or later) with an explicit loop 2018-02-15T15:46:27Z nullman quit (Ping timeout: 240 seconds) 2018-02-15T15:46:31Z pjb: And anyways, you're prefixing it with random. 2018-02-15T15:46:59Z |3b|: though then you would also lose immediate single floats, which might cost you most of your savings 2018-02-15T15:47:06Z Bike: flip214: those look pretty identical to me as well 2018-02-15T15:47:27Z |3b|: if you are storing specific types of data (like all single floats), you could save some space with typed arrays 2018-02-15T15:47:41Z nullman joined #lisp 2018-02-15T15:47:50Z pjb: francogrex: for example, you could keep an index into the do array instead of coping the elements. 2018-02-15T15:48:07Z |3b|: or maybe you could store offsets into the original array 2018-02-15T15:48:11Z flip214: Bike: thanks a lot for the confirmation 2018-02-15T15:48:19Z attila_lendvai joined #lisp 2018-02-15T15:48:19Z attila_lendvai quit (Changing host) 2018-02-15T15:48:19Z attila_lendvai joined #lisp 2018-02-15T15:48:24Z pjb: francogrex: also, since those index are computed, you could never store them at all! 2018-02-15T15:48:24Z |3b|: preferably in a typed array 2018-02-15T15:48:34Z Bike: well, if they're not actually behaving the same, i'm missing something 2018-02-15T15:49:04Z pjb: (defparameter vc (map-into (make-array pa) (lambda () (random 1.0)))) (defun do-index (vc-index) (* 3 vc-index)) 2018-02-15T15:49:05Z Bike: if you move the loop outside the handler-case, it should be really identical 2018-02-15T15:49:17Z Bike: i mean, and put the return-from back in the handler case 2018-02-15T15:49:29Z Murii quit (Ping timeout: 255 seconds) 2018-02-15T15:49:36Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T15:50:10Z pjb: francogrex: (defun vc-ref (vc vc-index index) (if index (aref vc vc-index) (aref do (+ index (do-index vc-index))))) 2018-02-15T15:50:32Z flip214: Bike: yeah, I tried to optimize a bit here 2018-02-15T15:50:47Z pjb: so instead of writing (aref (aref vc vc-index) j) you would write (vc-ref vc-index j) 2018-02-15T15:51:07Z attila_lendvai joined #lisp 2018-02-15T15:51:07Z attila_lendvai quit (Changing host) 2018-02-15T15:51:07Z attila_lendvai joined #lisp 2018-02-15T15:52:25Z flip214: Bike: another one, if you'd be so kind: https://pastebin.com/VRJ4XT3X 2018-02-15T15:53:13Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T15:53:13Z Bike: that one makes a new data-buf each time in the tail recursive version 2018-02-15T15:53:50Z al-damiri joined #lisp 2018-02-15T15:54:09Z francogrex: ok. pjb I will try your solution. it is expected to save me a lot of heap space I suppose 2018-02-15T15:55:16Z pjb: francogrex: of course, the question is whether you will modify the do array? If you do, it will impact the vc abstraction. 2018-02-15T15:55:35Z attila_lendvai joined #lisp 2018-02-15T15:55:35Z attila_lendvai quit (Changing host) 2018-02-15T15:55:35Z attila_lendvai joined #lisp 2018-02-15T15:55:52Z francogrex: the do array will be popped 2018-02-15T15:56:29Z flip214: Bike: ah right, thanks a lot... the (read-client-data) doesn't overwrite but just appends. remind me at ELS, one beer is on me! 2018-02-15T15:57:24Z francogrex: I will fill it out with ints. I omitted that part: something like (loop for i from 0 below 50000000 do (setf (aref do i) 1)) , but it won't be just 1s... 2018-02-15T15:57:24Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T15:57:26Z Bike: rad 2018-02-15T15:58:46Z pjb: francogrex: you may want to add an explicit check: (defun vc-ref (vc vc-index index) )(if (<= (+ 3 (do-index vc-index)) (length do)) (if index (aref vc vc-index) (aref do (+ index (do-index vc-index)))) (error "invalid vc-index")) 2018-02-15T15:59:14Z pjb: francogrex: oh, you used vector-pop so the indexes are inverted. 2018-02-15T15:59:42Z attila_lendvai joined #lisp 2018-02-15T15:59:42Z attila_lendvai quit (Changing host) 2018-02-15T15:59:42Z attila_lendvai joined #lisp 2018-02-15T16:00:05Z pjb: francogrex: well, you just implement the abstraction you need to map the indices as you wish. 2018-02-15T16:00:54Z Arcaelyx joined #lisp 2018-02-15T16:00:57Z blackwolf joined #lisp 2018-02-15T16:01:21Z |3b|: francogrex: if your ints are bounded, you might be able to save some space with typed arrays 2018-02-15T16:04:07Z pjb: francogrex: then you don't need do at all. 2018-02-15T16:04:11Z pjb: (defun do-ref (i) i) 2018-02-15T16:04:40Z pjb: Oh, 1s, not is. (defun do-ref (i) 1) 2018-02-15T16:04:40Z pjb: 2018-02-15T16:04:45Z razzy: attila_lendvai: updating helped :] 2018-02-15T16:05:05Z pjb: francogrex: again, the point here is that if you can compute the data, then compute the data. Don't store it. 2018-02-15T16:05:08Z attila_lendvai: good. keeping my model of reality intact... :) 2018-02-15T16:05:44Z |3b|: though even typed vectors are a lot of overhead per 3 values, so still probably better to store the values in a single vector and just pass around offsets if possible if you are working close to your heap limits 2018-02-15T16:06:08Z |3b|: (or just raise the heap limits instead if this is a one-time problem) 2018-02-15T16:06:08Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T16:07:19Z fikka quit (Ping timeout: 260 seconds) 2018-02-15T16:08:32Z attila_lendvai joined #lisp 2018-02-15T16:08:32Z attila_lendvai quit (Changing host) 2018-02-15T16:08:32Z attila_lendvai joined #lisp 2018-02-15T16:10:06Z borei joined #lisp 2018-02-15T16:11:04Z razzy: attila_lendvai: well my models of reality are sometimes broken :] 2018-02-15T16:11:22Z juan-reynoso joined #lisp 2018-02-15T16:13:17Z mjl_ joined #lisp 2018-02-15T16:14:32Z nika joined #lisp 2018-02-15T16:15:58Z warweasle joined #lisp 2018-02-15T16:17:01Z flip214: and after a few fixes on different ends, QUUX-HT hangs again for me... 2018-02-15T16:17:47Z flip214: threads not reading data from their socket 2018-02-15T16:17:48Z flip214: https://pastebin.com/y8n846ug 2018-02-15T16:17:54Z razzy: attila_lendvai: what was soo deeply wrong with my previous problem? 2018-02-15T16:18:48Z Bike: flip214: er, paste just looks like a note that you C-c C-c'd it. 2018-02-15T16:19:50Z flip214: Bike: yeah, that's what I did. "netstat" shows 10 open TCP connections (saturating my 10 threads), each with unread data. 2018-02-15T16:19:50Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T16:20:27Z flip214: can I see the unix-tid for an sbcl thread? 2018-02-15T16:21:08Z nsrahmad joined #lisp 2018-02-15T16:21:59Z attila_lendvai joined #lisp 2018-02-15T16:22:00Z Bike: there's an sb-thread::thread-os-thread 2018-02-15T16:22:01Z attila_lendvai quit (Remote host closed the connection) 2018-02-15T16:22:14Z Bike: might be a pointer or something though, i don't know what tids look like 2018-02-15T16:22:20Z attila_lendvai joined #lisp 2018-02-15T16:23:28Z jack_rabbit quit (Ping timeout: 252 seconds) 2018-02-15T16:23:42Z attila_lendvai: razzy: don't know what you mean, nothing is wrong with your problem. it's just a good approach generally to first update everything, and then go out looking for a solution, because some others may have resolved your problem already 2018-02-15T16:27:43Z windblow joined #lisp 2018-02-15T16:27:43Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T16:28:06Z hajovonta quit (Remote host closed the connection) 2018-02-15T16:29:26Z attila_lendvai joined #lisp 2018-02-15T16:29:43Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T16:31:35Z razzy: yop :] 2018-02-15T16:31:39Z attila_lendvai joined #lisp 2018-02-15T16:31:46Z francogrex: ok thanks 2018-02-15T16:32:09Z razzy: first time i wish for native multiprocessor support :] 2018-02-15T16:32:28Z francogrex quit (Quit: ERC (IRC client for Emacs 25.1.1)) 2018-02-15T16:33:37Z razzy: why is not asynchronous computing natively supported in low lvl lisp functions? 2018-02-15T16:34:40Z pagnol quit (Ping timeout: 248 seconds) 2018-02-15T16:35:05Z pjb: because lisp was invented on hardware that had only one processor. 2018-02-15T16:35:09Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T16:35:15Z fikka joined #lisp 2018-02-15T16:35:43Z solyd quit (Quit: solyd) 2018-02-15T16:35:45Z beach: razzy: Do you mean support for threads? Most Common Lisp implementations have it. 2018-02-15T16:36:05Z beach: razzy: And you have a compatibility layer too: Bordeaux-threads. 2018-02-15T16:37:47Z attila_lendvai joined #lisp 2018-02-15T16:37:58Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T16:38:01Z flamebeard quit (Read error: Connection reset by peer) 2018-02-15T16:38:06Z solyd joined #lisp 2018-02-15T16:38:13Z igemnace quit (Quit: WeeChat 2.0.1) 2018-02-15T16:39:51Z fikka quit (Ping timeout: 256 seconds) 2018-02-15T16:40:24Z shrdlu68 quit (Read error: Connection reset by peer) 2018-02-15T16:40:44Z attila_lendvai joined #lisp 2018-02-15T16:41:14Z razzy: pjb: imho was lisp-machines first usable multiprocessor machines :] 2018-02-15T16:41:34Z shrdlu68 joined #lisp 2018-02-15T16:42:11Z borei quit (Ping timeout: 276 seconds) 2018-02-15T16:42:17Z kami quit (Ping timeout: 255 seconds) 2018-02-15T16:42:31Z beach: razzy: So is there anything you need that is not provided by a particular implementation? 2018-02-15T16:43:27Z razzy: beach: no :] 2018-02-15T16:44:49Z terpri quit (Read error: Connection reset by peer) 2018-02-15T16:45:35Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T16:46:06Z flip214: can anybody else reproduce QUUX-HT hangs via high load? (I'm using "wrk" to test latency) 2018-02-15T16:47:16Z attila_lendvai joined #lisp 2018-02-15T16:48:42Z LiamH joined #lisp 2018-02-15T16:48:54Z Patternmaster joined #lisp 2018-02-15T16:48:57Z fikka joined #lisp 2018-02-15T16:50:07Z gr8 quit (Quit: Leaving) 2018-02-15T16:53:18Z fikka quit (Ping timeout: 240 seconds) 2018-02-15T16:53:22Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T16:53:58Z razzy: beach: if asynchronous multiprocessing was implemented in some basic common lisp functions, people would use it without even knowing :] 2018-02-15T16:54:13Z chat__ joined #lisp 2018-02-15T16:55:03Z jackdaniel: razzy: if someone uses asynchronous multiprocessing without knowing what he's doing then something is wrong 2018-02-15T16:55:17Z attila_lendvai joined #lisp 2018-02-15T16:55:17Z attila_lendvai quit (Changing host) 2018-02-15T16:55:17Z attila_lendvai joined #lisp 2018-02-15T16:55:26Z fikka joined #lisp 2018-02-15T16:57:29Z razzy: jackdaniel: why would it be wrong? 2018-02-15T16:58:24Z m00natic quit (Remote host closed the connection) 2018-02-15T16:58:26Z EvW quit (Ping timeout: 256 seconds) 2018-02-15T16:59:02Z raynold joined #lisp 2018-02-15T16:59:30Z jackdaniel: multiprocessing is hard - asynchronous access is a source of many bugs for instance 2018-02-15T16:59:32Z Shinmera: Generally people using things without knowing what they're doing is a bad thing. 2018-02-15T16:59:42Z jackdaniel: heh, good one ↑ totally agreed 2018-02-15T16:59:46Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T17:00:17Z parjanya quit (Ping timeout: 276 seconds) 2018-02-15T17:00:18Z solyd quit (Quit: solyd) 2018-02-15T17:00:30Z beach: razzy: Oh, you mean like some implementation using multiprocessing for implementing the sequence functions? 2018-02-15T17:00:47Z beach: razzy: Sure, an implementation is often free to do that, and perhaps some of them do. 2018-02-15T17:01:18Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-15T17:01:26Z attila_lendvai joined #lisp 2018-02-15T17:01:26Z attila_lendvai quit (Changing host) 2018-02-15T17:01:26Z attila_lendvai joined #lisp 2018-02-15T17:01:42Z beach: razzy: I have been thinking about multi-threaded implementations of primitives such as SORT, FIND, POSITION, etc. 2018-02-15T17:02:40Z Murii joined #lisp 2018-02-15T17:02:40Z borei joined #lisp 2018-02-15T17:03:29Z fikka quit (Ping timeout: 248 seconds) 2018-02-15T17:04:30Z kdridi joined #lisp 2018-02-15T17:04:46Z fikka joined #lisp 2018-02-15T17:05:44Z solyd joined #lisp 2018-02-15T17:07:54Z _death: lparallel has cognates 2018-02-15T17:11:42Z dim: lparallel is very nice to use yes 2018-02-15T17:11:57Z dim: beach: https://lparallel.org/cognates/ 2018-02-15T17:13:02Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T17:13:53Z attila_lendvai joined #lisp 2018-02-15T17:14:41Z heurist` joined #lisp 2018-02-15T17:16:42Z Bike: premove supports :from-end but not :count. mysterious. 2018-02-15T17:17:24Z Bike: also, it only works on lists... 2018-02-15T17:17:56Z heurist quit (Ping timeout: 276 seconds) 2018-02-15T17:18:18Z borei: hi all ! 2018-02-15T17:18:40Z makomo_ quit (Ping timeout: 240 seconds) 2018-02-15T17:20:18Z borei: quick question. if slot has "class" allocation is there an option to get an access to value via class but not via instance of the class, something like "static" members in C++ ? 2018-02-15T17:21:37Z solyd quit (Quit: solyd) 2018-02-15T17:22:22Z kdridi quit (Remote host closed the connection) 2018-02-15T17:22:37Z Shinmera: With the mop you can get a class prototype to access the slot. 2018-02-15T17:22:47Z Shinmera: PCL mentions this in a footnote. 2018-02-15T17:23:28Z jackdaniel: afair you need at least one instance of this class, so it is not the same as static member 2018-02-15T17:23:43Z jackdaniel: but don't take my word for that 2018-02-15T17:24:51Z Shinmera: No, you can get it with the class prototype as long as the inheritance is finalised. 2018-02-15T17:26:22Z borei: what is mop and class prototype ? 2018-02-15T17:26:35Z Shinmera: Colleen: look up mop class-prototype 2018-02-15T17:26:36Z Colleen: Class-prototype http://metamodular.com/CLOS-MOP/class-prototype.html 2018-02-15T17:26:51Z pjb: Shinmera: the world is full of bad things. Who is doing what he knows? 2018-02-15T17:26:55Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T17:27:19Z whoman: nah wait isnt there an easier way? im sure i read about it.. 2018-02-15T17:27:33Z beach: borei: MOP means "Meta-Object Protocol". From the book "The Art of the Meta-Object Protocol". 2018-02-15T17:27:36Z Shinmera: class-prototype is about as easy as it gets. 2018-02-15T17:27:51Z nsrahmad quit (Quit: Leaving) 2018-02-15T17:28:25Z attila_lendvai joined #lisp 2018-02-15T17:28:25Z attila_lendvai quit (Changing host) 2018-02-15T17:28:25Z attila_lendvai joined #lisp 2018-02-15T17:29:42Z whoman: hmm. i thought there was a way to define slots that are shared or somesuch. maybe that was eieio 2018-02-15T17:30:02Z beach: whoman: That's what they are talking about. 2018-02-15T17:30:03Z Shinmera: there is, it's :allocation :class, which is what borei is using. 2018-02-15T17:30:30Z borei: yes, i have class allocation 2018-02-15T17:30:34Z whoman: ohh =) i think im getting stupider. 2018-02-15T17:30:54Z windblow quit 2018-02-15T17:31:06Z windblow joined #lisp 2018-02-15T17:33:55Z nika quit (Quit: Leaving...) 2018-02-15T17:34:59Z sjl: > The results are undefined if a portable program modifies the binding of any slot of prototype instance. 2018-02-15T17:35:16Z sjl: Does that mean you can read, but can't write, the :class allocated slot via that prototype instance? 2018-02-15T17:38:19Z pjb: perhaps. On the other hand, perhaps the class slot is not a slot of the prototype instance? 2018-02-15T17:38:31Z Cymew joined #lisp 2018-02-15T17:41:42Z hhdave quit (Ping timeout: 268 seconds) 2018-02-15T17:43:28Z Cymew quit (Ping timeout: 265 seconds) 2018-02-15T17:49:58Z vap1 joined #lisp 2018-02-15T17:51:38Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T17:52:57Z vaporatorius quit (Ping timeout: 256 seconds) 2018-02-15T17:53:38Z stacksmith: whoman: did you get your system working? 2018-02-15T17:53:41Z attila_lendvai joined #lisp 2018-02-15T17:53:41Z attila_lendvai quit (Changing host) 2018-02-15T17:53:41Z attila_lendvai joined #lisp 2018-02-15T17:55:14Z whoman: stacksmith, i dont know, i will probably just link the package.lisp folder into ~/quicklisp/local-projects and load it that way 2018-02-15T17:55:43Z _cosmonaut_ quit (Ping timeout: 248 seconds) 2018-02-15T17:55:44Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T17:56:21Z stacksmith: I've been using roswel for the last few months. It just works, and pulls in fresh sbcl. I got spoiled - no more fiddling with links and installing SBCL every month... 2018-02-15T17:58:25Z terpri joined #lisp 2018-02-15T17:58:32Z varjag joined #lisp 2018-02-15T17:58:53Z tmc quit (Remote host closed the connection) 2018-02-15T17:58:55Z attila_lendvai joined #lisp 2018-02-15T17:58:55Z attila_lendvai quit (Changing host) 2018-02-15T17:58:55Z attila_lendvai joined #lisp 2018-02-15T17:59:55Z jackdaniel: hm, my backquote understanding is lacking.. why (given *print-circle* = t) '#1=(1 . #1#) works fine, but `#1=(1 . #1#) blows the stack? 2018-02-15T18:01:14Z stacksmith: backquote does some spelunking looking for commas, while quote is pretty passive... Although... 2018-02-15T18:10:01Z solyd joined #lisp 2018-02-15T18:10:12Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T18:11:05Z nullman quit (Ping timeout: 256 seconds) 2018-02-15T18:11:08Z pjb: jackdaniel: it's not conforming to give circular sexps to the compiler. 2018-02-15T18:11:24Z pjb: jackdaniel: remember that ` is still code. 2018-02-15T18:11:53Z attila_lendvai joined #lisp 2018-02-15T18:11:53Z attila_lendvai quit (Changing host) 2018-02-15T18:11:53Z attila_lendvai joined #lisp 2018-02-15T18:11:54Z nullman joined #lisp 2018-02-15T18:11:59Z pjb: `#1=(1 . #1#) == (cons 1 (cons 1 (cons 1 … ))) infinitely, so the compiler must crash. 2018-02-15T18:12:23Z stacksmith: That's a better reason. Lgically, consider the intent of each item... Quote means 'do not touch the objects inside' while quasiquoting means 'search inside this list and perform expansions and substitutions. It is a DSL for building lists... 2018-02-15T18:12:39Z SaganMan quit (Quit: WeeChat 1.6) 2018-02-15T18:12:42Z jackdaniel: pjb: thanks for the explanation 2018-02-15T18:13:45Z whoman: stacksmith, i dont mind compiling sbcl from source =) binaries seem to be a step behind anyway. btw topic still says 1.4.1 !? 2018-02-15T18:14:39Z shrdlu68: I don't get it. Isn't backquote supposed to eval only upon encountering a comma? 2018-02-15T18:14:46Z stacksmith: whoman: yeah, the changes are usually subtle month to month. After a few years you get tired of keeping the environment and start looking for shortcuts. 2018-02-15T18:14:57Z fikka quit (Ping timeout: 248 seconds) 2018-02-15T18:15:00Z stacksmith: shrdlu68: It has to find the comma! 2018-02-15T18:15:08Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T18:15:53Z shrdlu68: stacksmith: So it passes whatever it receives to the reader? 2018-02-15T18:16:24Z stacksmith: I think it calls the reader to get whatever is inside... 2018-02-15T18:17:35Z stacksmith: Although there is little in the standard, I believe, and different implementations do it in various ways. SBCL creates private objects for comma and quasiquote... 2018-02-15T18:17:46Z shrdlu68: It seems to me as if it's first reading #1=(1 . #1#) - that would explain blowing the stack. 2018-02-15T18:18:03Z whoman: ah years... yes... relating to that. ive got 100+ packages in my debian that needs upgrading but i dont want to do it, because of years. hah 2018-02-15T18:18:22Z attila_lendvai joined #lisp 2018-02-15T18:18:22Z attila_lendvai quit (Changing host) 2018-02-15T18:18:22Z attila_lendvai joined #lisp 2018-02-15T18:19:37Z stacksmith: whoman: right. I've learned to enjoy complete screwups of my computers every so often. All this hard to maintain stuff that takes all this time to sort and backup... Then poof - and I don't miss it. Garbage collection. 2018-02-15T18:19:43Z pjb: shrdlu68: how do you find a comma in an infinite recursive structure? 2018-02-15T18:20:01Z pjb: Notice also that the commas are to be found inside vectors and structures, not only inside lists. 2018-02-15T18:20:28Z Bike: you could determine that it's infinite first. it's just annoying to have to do that all the time 2018-02-15T18:21:08Z pjb: (a b (c . #1=(d e . #2#)) (f . #2=(g h . #1#))) 2018-02-15T18:21:45Z stacksmith: whoman: now, I have one folder with all configuration files that once was neat and now is definitely 'legacy', but works. I can move to another machine in minutes. Similarly, my cell phone has 3 apps that I never use anyway. Just disposable stuff. 2018-02-15T18:21:45Z whoman: stacksmith, heh hmm yeah =) i suppose that is why people use guix or nginx or whatever those things are called, like docker images but a system config; not sure the terminology there 2018-02-15T18:22:11Z shrdlu68: I didn't think backquote eval'd until it encountered a comma, so - before I saw this, my guess would have been that `#1=(1 . #1#) simply returns #1=(1 . #1#) 2018-02-15T18:22:36Z stacksmith: whoman, shrdlu68: again, it has to find it by traversing the list... 2018-02-15T18:22:36Z Bike: it could. it's just the compiler is allowed to not detect circular structures. 2018-02-15T18:22:39Z pjb: `(a b c d ,e) == (list 'a 'b 'c 'd e) 2018-02-15T18:22:43Z pjb: It evaluates everything! 2018-02-15T18:22:52Z whoman: disposable stuff makes life a lot less stressful that is for sure. ive got to clean my room and throw stuff out that i dont even use. but for computer, i reduced/restrict all my usage to emacs, so its just one project folder including my emacs.org and should be easy to move to another setup (even windows, with some changes) 2018-02-15T18:22:54Z shrdlu68: That is, without #'reading #1=(1 . #1#) 2018-02-15T18:23:19Z pjb: shrdlu68: the only thing is that it's up to the implementation to choose how to do it. It could be (append '(a b c d) (list e)) 2018-02-15T18:23:30Z shrdlu68: pjb: `(foo) 2018-02-15T18:23:32Z scymtym quit (Ping timeout: 255 seconds) 2018-02-15T18:23:40Z pjb: the result would be the same, in terms of literal vs. fresh conses. 2018-02-15T18:24:43Z pjb: `(x1 x2 x3 ... xn . atom) may be interpreted to mean (append [ x1] [ x2] [ x3] ... [ xn] (quote atom)) 2018-02-15T18:24:43Z pjb: 2018-02-15T18:24:43Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T18:25:11Z sz0 joined #lisp 2018-02-15T18:25:46Z pjb: so `(foo) which is `(foo . nil) == (append [foo] (quote nil)) = (append (list `foo) (quote nil)) = (append (list (quote foo)) (quote nil)) 2018-02-15T18:25:58Z kini quit (Quit: No Ping reply in 180 seconds.) 2018-02-15T18:25:58Z attila_lendvai joined #lisp 2018-02-15T18:26:05Z dvdmuckle is now known as bluraymuckle 2018-02-15T18:26:11Z bluraymuckle is now known as dvdmuckle 2018-02-15T18:26:17Z jackdaniel: I was trying to bind bt:*default-special-bindings* dynamically in bt:*default-special-bindings* (so my values get "inherited" without setfing this special variable). apparently this can't be done without intermediate variable (what is fine, just didn't think aobut it at first) 2018-02-15T18:26:17Z stacksmith: whoman: I tried messing with docker, but found it even more annoying... Roswell works really well for my needs... My #1 need is to know _nothing_ about roswell. every so often I do ros update or something like that which I don't even need to remember, and everything works. It pulled in fresh slime, and I think even emacs. I moved my config folder and that's that. 2018-02-15T18:26:19Z fourier joined #lisp 2018-02-15T18:26:23Z pjb: shrdlu68: `(foo) as specified actually conses twice a list! Of course, implementations will optimize that. 2018-02-15T18:26:41Z fourier quit (Changing host) 2018-02-15T18:26:41Z fourier joined #lisp 2018-02-15T18:26:43Z pjb: shrdlu68: http://www.lispworks.com/documentation/HyperSpec/Body/02_df.htm 2018-02-15T18:27:02Z jackdaniel: (ftr: http://hellsgate.pl/files/4e725e3b) 2018-02-15T18:27:33Z fikka joined #lisp 2018-02-15T18:27:34Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T18:28:19Z kini joined #lisp 2018-02-15T18:28:31Z shka joined #lisp 2018-02-15T18:29:43Z attila_lendvai joined #lisp 2018-02-15T18:31:35Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T18:32:30Z shrdlu68: "`basic is the same as 'basic, that is, (quote basic), for any expression basic that is not a list or a general vector." 2018-02-15T18:35:17Z shrdlu68: I was going to raise some point, but I think I get it now. 2018-02-15T18:35:39Z stacksmith: That's sensible with atoms - ` knows there is nothing interesting there... 2018-02-15T18:35:40Z attila_lendvai joined #lisp 2018-02-15T18:35:40Z attila_lendvai quit (Changing host) 2018-02-15T18:35:40Z attila_lendvai joined #lisp 2018-02-15T18:35:49Z Karl_Dscc joined #lisp 2018-02-15T18:37:15Z shrdlu68: `#*111111,0 2018-02-15T18:39:36Z pjb: (let ((x (random 2))) `#*111111,x) #| ERROR: Reader error on #: Comma not inside backquote |# 2018-02-15T18:39:44Z pjb: :-) 2018-02-15T18:39:55Z pjb: , behaves like a terminating macro character. 2018-02-15T18:41:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-15T18:44:36Z EvW joined #lisp 2018-02-15T18:45:10Z White_Flame: (tagbody 10 (print 'basic) (go 10)) 2018-02-15T18:46:33Z fikka joined #lisp 2018-02-15T18:46:34Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T18:46:46Z Rawriful joined #lisp 2018-02-15T18:47:39Z kini quit (Quit: No Ping reply in 180 seconds.) 2018-02-15T18:48:41Z attila_lendvai joined #lisp 2018-02-15T18:48:41Z attila_lendvai quit (Changing host) 2018-02-15T18:48:41Z attila_lendvai joined #lisp 2018-02-15T18:49:11Z MrBusiness quit (Ping timeout: 255 seconds) 2018-02-15T18:49:12Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T18:49:36Z nopolitica joined #lisp 2018-02-15T18:49:43Z nopolitica quit (Client Quit) 2018-02-15T18:50:04Z kini joined #lisp 2018-02-15T18:50:37Z windblow quit (Read error: Connection reset by peer) 2018-02-15T18:50:50Z windblow joined #lisp 2018-02-15T18:51:23Z fikka quit (Ping timeout: 268 seconds) 2018-02-15T18:51:24Z attila_lendvai joined #lisp 2018-02-15T18:51:44Z fikka joined #lisp 2018-02-15T18:52:37Z solyd quit (Quit: solyd) 2018-02-15T18:54:32Z mlf joined #lisp 2018-02-15T18:54:33Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T18:57:27Z My_Hearing quit (Quit: WeeChat 2.0.1) 2018-02-15T18:58:01Z scymtym joined #lisp 2018-02-15T18:58:43Z attila_lendvai joined #lisp 2018-02-15T18:58:43Z attila_lendvai quit (Changing host) 2018-02-15T18:58:43Z attila_lendvai joined #lisp 2018-02-15T19:01:18Z windblow quit (Remote host closed the connection) 2018-02-15T19:01:42Z windblow joined #lisp 2018-02-15T19:02:24Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T19:03:39Z attila_lendvai joined #lisp 2018-02-15T19:03:39Z attila_lendvai quit (Changing host) 2018-02-15T19:03:39Z attila_lendvai joined #lisp 2018-02-15T19:06:09Z sistine joined #lisp 2018-02-15T19:06:56Z windblow quit (Ping timeout: 256 seconds) 2018-02-15T19:09:26Z EvW quit (Ping timeout: 255 seconds) 2018-02-15T19:09:29Z sistine is now known as windblow 2018-02-15T19:10:12Z kaname joined #lisp 2018-02-15T19:10:17Z EvW joined #lisp 2018-02-15T19:14:13Z jackdaniel: Shinmera: does dissect allow evaluating expression in frame? 2018-02-15T19:15:47Z jackdaniel: (I'm thinking about switching to dissect in clim-debugger) 2018-02-15T19:17:08Z jack_rabbit joined #lisp 2018-02-15T19:18:12Z jmarciano joined #lisp 2018-02-15T19:20:34Z _rumbler31: I was re-reading the conversation about code walking the other day and I don't understand the factors that make it difficult. There was some mention about how macros mean that you can't somehow just macroexpand your way to a final tree, or something 2018-02-15T19:21:43Z Bike: It's rather that implementations define their own special operators, or custom behavior for existing special operators. 2018-02-15T19:22:18Z Bike: For example, on sbcl (function (sb-int:named-lambda ...)) is allowed. 2018-02-15T19:22:27Z jackdaniel: named-lambda 2018-02-15T19:22:34Z jackdaniel: heh 2018-02-15T19:22:58Z jackdaniel: (named-lambda exists at least in sbcl and ecl, but I wouldn't be suprised if ccl has one too) 2018-02-15T19:24:57Z Bike: sbcl allows other things in there as well, like sb-pcl::ctor 2018-02-15T19:25:10Z windblow quit 2018-02-15T19:25:26Z windblow joined #lisp 2018-02-15T19:25:27Z Bike: There's also the matter of implementation defined keywords; lambda-list-keywords exists but doesn't give you any hing how the extras are to be dealt with 2018-02-15T19:25:32Z Bike: any hint 2018-02-15T19:25:41Z stacksmith: _rumbler31: There are times when you want a macro to change something inside the code you are looking at, deep in some expression. Expanding to a final tree is of no help at all, and getting to your desired location is tricky. 2018-02-15T19:25:42Z jackdaniel: sure, ecl has for that instance ext:with-backend (different code for different compiler backends) 2018-02-15T19:25:46Z Bike: lambda list keywords, i should say 2018-02-15T19:26:36Z _rumbler31: hmm, I'll ponder this 2018-02-15T19:27:48Z stacksmith: _rumbler31: A simple example of a tree walker is 'flatten'... It is limited, but you can search the list for a symbol, for instance, to see if it's present in your code... 2018-02-15T19:28:20Z stacksmith: By you I mean some macro your are writing... 2018-02-15T19:28:44Z Bike: that one book does that, leading to at least a dozen noobs over the years coming in wondering why it doesn't work on sbcl 2018-02-15T19:28:46Z Bike: good moral 2018-02-15T19:29:21Z stacksmith: Lisp is surprisingly hard to walk, considering the surface impression of 'no syntax'... 2018-02-15T19:30:16Z dlowe: tonight's homework will be to design a lisp designed specifically for very easy codewalking 2018-02-15T19:30:34Z Bike: lambda calculus. done 2018-02-15T19:30:45Z LocaMocha quit (Read error: Connection reset by peer) 2018-02-15T19:31:04Z dlowe: not a lisp. F. 2018-02-15T19:31:20Z stacksmith: You'd think Scheme would be easier, but somehow you can't even have decent macros... 2018-02-15T19:31:24Z dlowe: lispiness is not associative. 2018-02-15T19:31:42Z stacksmith: Design a lisp with _no special forms_. 2018-02-15T19:31:59Z dlowe: lisp started as an exercise in how few special forms were needed 2018-02-15T19:32:29Z stacksmith: Same old story. 2018-02-15T19:33:09Z stacksmith: How many do you need to go metacircular? 2018-02-15T19:35:29Z _rumbler31: so codewalking isn't necessarily the same thing as making a call graph forest of a piece of code 2018-02-15T19:35:52Z White_Flame: the call graph is mutated by macros 2018-02-15T19:35:53Z dlowe: well, it can be tricky to find all the places that are code. 2018-02-15T19:36:03Z White_Flame: and there are literals scattered in 2018-02-15T19:36:07Z White_Flame: and other such special forms 2018-02-15T19:36:28Z White_Flame: and again, if you macroexpand, it can result in internal artifacts that aren't standard and aren't normally exposed 2018-02-15T19:36:36Z dlowe: (let ((foo (bar)) (baz)) - bar and baz is code, but you'd have to teach your code walker about LET in order to know that. 2018-02-15T19:36:37Z stacksmith: The code you are interested in when writing macros is very different from the code that will eventually be compiled... 2018-02-15T19:36:45Z orivej joined #lisp 2018-02-15T19:37:25Z dlowe: which is why "design a lisp (with macros and the like) that can be easily codewalked" isn't a trivial challenge. 2018-02-15T19:37:27Z stacksmith: Macros are not about calls, they are about manipulating symbols... 2018-02-15T19:38:12Z jackdaniel: macros are about misleading unexperienced lispers, so they obfuscate their code :-) 2018-02-15T19:38:29Z stacksmith: dlowe: To be hones, I can't think of a language that is more suited for metaprogramming, even if it's hard to do some things... 2018-02-15T19:38:53Z dlowe: stacksmith: no, there really isn't. We've bolted a full compiled language onto the front of our compiler. 2018-02-15T19:39:28Z stacksmith: An crammed its head into its ass so deep that it can see the stars. 2018-02-15T19:39:40Z dlowe: whatever metaphor works for you, I guess. 2018-02-15T19:39:41Z stacksmith: And. 2018-02-15T19:40:09Z White_Flame: yo dawg, I hear you like recursion and old memes 2018-02-15T19:40:50Z Mr_Tea quit (Ping timeout: 276 seconds) 2018-02-15T19:41:03Z Patternmaster quit (Quit: leaving) 2018-02-15T19:41:05Z stacksmith: I mean, there is nothing even remotely close that allows you to build upwards without losing performance or flexibility, or downward without losing all the high-level tools... 2018-02-15T19:42:45Z _rumbler31: so what kinds of activities require or benefit from codewalking? From cursory reading it seems hard enough to do right that it seems not worthwhile 2018-02-15T19:43:19Z Bike: compilation 2018-02-15T19:43:31Z Bike: evaluation. analysis 2018-02-15T19:43:32Z stacksmith: For some mind-opening reading about macros, I suggest On Lisp followed by Let Over Lambda. 2018-02-15T19:43:41Z Bike: the original context of the conversation you originally referred to was for xref 2018-02-15T19:43:50Z _rumbler31: I've read the first few chapters of On Lisp 2018-02-15T19:43:53Z _rumbler31: oh right xref! 2018-02-15T19:43:55Z Bike: walking code to see what it calls, so that that information could be provided to an editor 2018-02-15T19:44:13Z Bike: as i said then, i don't think that's the best way to do it, but it's an option 2018-02-15T19:44:23Z White_Flame: _rumbler31: some embedded languages might do code walking to find special things for replacement 2018-02-15T19:44:59Z Bike: some lisp implementations use a "code walker" for an extra analysis stage used to deal with method bodies 2018-02-15T19:45:00Z White_Flame: I did it for a prolog style query language, picking out all symbols starting with "?", creating a binding list of variables 2018-02-15T19:45:16Z Bike: you can do a few extra things if you know that parameters aren't setf'd, and call-next-method isn't called in certain ways, and suchlike 2018-02-15T19:45:25Z Bike: extra optimizations, i mean 2018-02-15T19:45:42Z _rumbler31: so is there something missing from current implementations xref facilities? 2018-02-15T19:45:52Z Bike: they don't always have them 2018-02-15T19:45:59Z Bike: but, i just meant it as an example of a code walking analysis 2018-02-15T19:47:38Z stacksmith: Or any macro that wants to do something more interesting than just expand stuff right there. 2018-02-15T19:48:20Z Bike: well, there aren't too many of those, and usually you can use macrolet or such to get similar effects even with advanced ones 2018-02-15T19:48:34Z _rumbler31: so a given implementation can fully know what a given set of code can do, but because there is enough implementation specific behavior, there is no such thing as a general "call graph" because a walker would have to know what a final implementation would do 2018-02-15T19:48:50Z Bike: basically. 2018-02-15T19:48:52Z stacksmith: That is true. But possibly because it's so darn hard. 2018-02-15T19:48:57Z Bike: for some value of "fully know" 2018-02-15T19:49:42Z stacksmith: Lisp is a dynamic language, so the idea of call graph is questionable. 2018-02-15T19:50:14Z Bike: the vast majority of calls are to fixed names 2018-02-15T19:50:22Z Bike: some aren't, of course 2018-02-15T19:50:22Z stacksmith: True again. 2018-02-15T19:51:53Z fikka quit (Ping timeout: 276 seconds) 2018-02-15T19:54:27Z fikka joined #lisp 2018-02-15T19:57:30Z Mon_Ouie joined #lisp 2018-02-15T19:58:57Z pjb: you can still make a call graph, only you cannot label the nodes by the name of the functions, you have to label them by the function themselves. 2018-02-15T19:59:47Z pjb: (let ((i 0)) (loop repeat 10 for closure = (lambda () (incf i)) collect (funcall closure))) #| --> (1 2 3 4 5 6 7 8 9 10) |# in this code, the call graph calls 10 different closures. 2018-02-15T20:00:59Z zaquest quit (Ping timeout: 276 seconds) 2018-02-15T20:01:01Z pjb: (declaim (notinline foo)) (let ((i 0)) (loop repeat 10 for fun = (defun foo () (incf i)) collect (foo))) #| --> (1 2 3 4 5 6 7 8 9 10) |# in this code, the call graph calls 10 different functions from (foo)! 2018-02-15T20:02:01Z pjb: It would be an error to have a node labelled foo in this call graph. 2018-02-15T20:03:11Z pjb: (let ((i 0)) (let ((closure (lambda () (incf i)))) (loop repeat 10 collect (funcall closure)))) #| --> (1 2 3 4 5 6 7 8 9 10) |# ; in this code, the call graph calls 1 (ONE) single closure! 2018-02-15T20:04:07Z pjb: (let ((i 0)) (flet ((foo () (incf i))) (loop repeat 10 collect (foo)))) #| --> (1 2 3 4 5 6 7 8 9 10) |# just like in this one. In this case, the call graph could have a node named foo. but notice it would be a different foo each time this expression is evaluated! 2018-02-15T20:05:35Z zaquest joined #lisp 2018-02-15T20:07:17Z parjanya joined #lisp 2018-02-15T20:09:32Z makomo_ joined #lisp 2018-02-15T20:11:02Z fikka quit (Ping timeout: 260 seconds) 2018-02-15T20:11:05Z shrdlu68 quit (Ping timeout: 240 seconds) 2018-02-15T20:11:29Z windblow quit 2018-02-15T20:11:35Z stacksmith: Right. You can only speak for the image at the point in time you looked at it... 2018-02-15T20:16:24Z kumori[m] joined #lisp 2018-02-15T20:17:04Z vertigo quit (Disconnected by services) 2018-02-15T20:19:07Z jasom: otwieracz: also the write-lock code looks wrong; usually rwlocks allow one writer or many readers; this appers to allow many writers or many readers 2018-02-15T20:19:50Z otwieracz: jasom: really? writer is locking `resource` 2018-02-15T20:20:26Z jasom: otwieracz: oh, I see it is; whats up with the testing of the depth then? 2018-02-15T20:20:32Z jasom: and wcount? 2018-02-15T20:20:42Z jasom: is that just to exclude readers when there are pending writers? 2018-02-15T20:23:19Z otwieracz: jasom: this should be writer-preffering rwlock 2018-02-15T20:23:28Z otwieracz: (and it's matchin wikipedia's code) 2018-02-15T20:23:34Z jasom: otwieracz: yeah, I see it now. Were you able to get it to work with condition variables? 2018-02-15T20:23:41Z otwieracz: jasom: I've used semaphore. 2018-02-15T20:23:46Z otwieracz: jasom: And seems like it's working. :) 2018-02-15T20:23:57Z dieggsy joined #lisp 2018-02-15T20:23:58Z jasom: cool. I should add semaphores to bt at some point 2018-02-15T20:24:29Z otwieracz: IIRC there's PR waiting. 2018-02-15T20:24:33Z jasom: wow 2018-02-15T20:24:39Z alexmlw joined #lisp 2018-02-15T20:24:39Z jasom: glad I didn't make a new one then 2018-02-15T20:24:47Z otwieracz: https://github.com/sionescu/bordeaux-threads/pull/37 2018-02-15T20:25:04Z jasom: semaphores and condition variables have a large overlap; it's easy to implement one with the other, and they are used for similar things 2018-02-15T20:25:55Z fikka joined #lisp 2018-02-15T20:28:12Z windblow joined #lisp 2018-02-15T20:30:10Z fikka quit (Ping timeout: 240 seconds) 2018-02-15T20:30:25Z random-nick quit (Read error: Connection reset by peer) 2018-02-15T20:31:28Z jackdaniel: condition variables are congitively harder to me 2018-02-15T20:31:43Z jackdaniel: but yes, generic implementation uses cv (in this pr) 2018-02-15T20:32:07Z jasom: IMO semaphores are the simplest synchronization primitive 2018-02-15T20:32:21Z alexmlw quit (Remote host closed the connection) 2018-02-15T20:32:43Z jasom: it's an atomic coutner with signaling 2018-02-15T20:38:52Z Cymew joined #lisp 2018-02-15T20:40:00Z georg_ joined #lisp 2018-02-15T20:40:15Z georg_ quit (Client Quit) 2018-02-15T20:40:37Z georg_ joined #lisp 2018-02-15T20:41:04Z georg_ quit (Client Quit) 2018-02-15T20:41:53Z kdridi joined #lisp 2018-02-15T20:43:13Z Cymew quit (Ping timeout: 248 seconds) 2018-02-15T20:49:58Z Patternmaster joined #lisp 2018-02-15T20:52:24Z sz0 quit (Quit: Connection closed for inactivity) 2018-02-15T20:54:54Z dmiles joined #lisp 2018-02-15T20:56:21Z angavrilov quit (Remote host closed the connection) 2018-02-15T20:56:21Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-15T20:58:19Z attila_lendvai joined #lisp 2018-02-15T20:58:19Z attila_lendvai quit (Changing host) 2018-02-15T20:58:19Z attila_lendvai joined #lisp 2018-02-15T20:59:03Z jmarciano quit (Read error: Connection reset by peer) 2018-02-15T21:00:16Z quazimodo joined #lisp 2018-02-15T21:00:55Z jmarciano joined #lisp 2018-02-15T21:01:20Z dmiles quit (Ping timeout: 255 seconds) 2018-02-15T21:02:05Z fikka joined #lisp 2018-02-15T21:02:45Z JenElizabeth joined #lisp 2018-02-15T21:09:20Z random-nick joined #lisp 2018-02-15T21:10:04Z kdridi quit (Remote host closed the connection) 2018-02-15T21:10:30Z kdridi joined #lisp 2018-02-15T21:16:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-15T21:18:56Z Patternmaster quit (Quit: leaving) 2018-02-15T21:21:15Z kdridi_ joined #lisp 2018-02-15T21:21:44Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-02-15T21:21:57Z kdridi quit (Ping timeout: 240 seconds) 2018-02-15T21:23:24Z dmiles joined #lisp 2018-02-15T21:23:25Z Patternmaster joined #lisp 2018-02-15T21:24:29Z vlatkoB quit (Remote host closed the connection) 2018-02-15T21:26:34Z Patternmaster quit (Client Quit) 2018-02-15T21:26:46Z Patternmaster joined #lisp 2018-02-15T21:27:04Z makomo_ quit (Ping timeout: 252 seconds) 2018-02-15T21:30:00Z makomo_ joined #lisp 2018-02-15T21:33:51Z Shinmera: jackdaniel: https://github.com/Shinmera/dissect/issues/4 2018-02-15T21:34:45Z Shinmera: Implementing that should not be too hard -- crawl through the slime/swank sources and tear out the relevant parts. 2018-02-15T21:35:29Z Shinmera: And for the interface it would probably just be an eval-in generic function taking a frame and a form. 2018-02-15T21:35:51Z Shinmera: I haven't needed it so far which is why I haven't implemented it yet :) 2018-02-15T21:37:57Z shka quit (Ping timeout: 240 seconds) 2018-02-15T21:38:55Z Bike_ joined #lisp 2018-02-15T21:40:14Z Bike quit (Ping timeout: 260 seconds) 2018-02-15T21:42:44Z jasom: I would love a debugger written in CL rather than half-elisp half-CL 2018-02-15T21:43:16Z Shinmera: It exists! https://github.com/Shinmera/qtools-ui/blob/master/debugger.lisp 2018-02-15T21:44:07Z Shinmera: With dissect it's fairly trivial. 2018-02-15T21:44:22Z Shinmera: No eval-in-frame, as mentioned, but everything else is there. 2018-02-15T21:44:44Z jasom: I may investigate. Right now my geany plugin runs emacs to drive swank as I found that to be easier than implementing all the parts of slime that are elisp 2018-02-15T21:45:48Z ludston_ joined #lisp 2018-02-15T21:47:10Z Shinmera: I also have an inspector written, but that's currently tied to Trial. Should export it to QUI some time. https://www.youtube.com/watch?v=w70XyHBrUDI&list=PLkDl6Irujx9Mh3BWdBmt4JtIrwYgihTWp&index=27&t=0s 2018-02-15T21:47:25Z deba5e12 quit (Quit: WeeChat 1.9.1) 2018-02-15T21:47:35Z ludston quit (Ping timeout: 240 seconds) 2018-02-15T21:47:35Z deba5e12 joined #lisp 2018-02-15T21:47:59Z SuperJen joined #lisp 2018-02-15T21:48:19Z deba5e12 quit (Client Quit) 2018-02-15T21:48:29Z fikka joined #lisp 2018-02-15T21:49:09Z deba5e12 joined #lisp 2018-02-15T21:49:30Z Shinmera: I thought I had a video of the debugger in action but apparently not. 2018-02-15T21:49:34Z EvW quit (Ping timeout: 256 seconds) 2018-02-15T21:49:39Z makomo joined #lisp 2018-02-15T21:51:35Z JenElizabeth quit (Ping timeout: 240 seconds) 2018-02-15T21:51:52Z nowhereman_ joined #lisp 2018-02-15T21:52:26Z Patternmaster quit (Quit: leaving) 2018-02-15T21:52:33Z makomo_ quit (Ping timeout: 248 seconds) 2018-02-15T21:52:37Z Shinmera: Need to make more videos. And more articles. And more libraries. More of everythign! 2018-02-15T21:53:17Z smurfrobot joined #lisp 2018-02-15T21:57:23Z Murii quit (Quit: WeeChat 1.4) 2018-02-15T21:59:40Z BitPuffin quit (Remote host closed the connection) 2018-02-15T22:03:00Z Patternmaster joined #lisp 2018-02-15T22:05:33Z stacksmith: Is there any reason top-level def forms have a lambda-list like (name lambda-list &body body) instead of something that indicates destructuring, like (name (&rest lambda-list) &body body)? Is there any point in passing a non-list as a lambda-list? 2018-02-15T22:05:36Z warweasle quit (Quit: later) 2018-02-15T22:06:48Z dim: (funcall fname list-of-arguments) ; might explain? 2018-02-15T22:06:49Z Shinmera: I don't feel like the latter provides clarity 2018-02-15T22:06:54Z Shinmera: it's just longer for no real reason 2018-02-15T22:07:02Z dim: not funcall, apply 2018-02-15T22:08:10Z stacksmith: It disambiguates the structure. Otherwise, an entity looking at the first lambda-list and a parameter list may just as well assume it's a function call returning a single value lambda-list. 2018-02-15T22:08:19Z mepian: is it possible to upgrade ASDF from 2.010 to 3.3.1 with install-asdf.lisp on Clozure 1.6-r14468M? 2018-02-15T22:09:04Z Bike_: "an entity" cannot assume that without knowing how the macro works 2018-02-15T22:09:07Z Bike_ is now known as Bike 2018-02-15T22:09:27Z Bike: (defun (setf foo) ...) is ok, but nothing analyzing code can go "ah, it's a call to the function 'setf'" 2018-02-15T22:09:41Z Bike: not because of the lambda list, but because of how defun works 2018-02-15T22:09:50Z rumbler31 quit (Remote host closed the connection) 2018-02-15T22:10:06Z rumbler31 joined #lisp 2018-02-15T22:10:36Z rumbler31 quit (Remote host closed the connection) 2018-02-15T22:10:49Z Shinmera: stacksmith: What are you going on about? It's a lambda-list. You can't just go ahead and make up rules willy nilly about how you want to read things. 2018-02-15T22:11:11Z Bike: whereas you can have a macro like (defun foo (form) form), and then in (foo (setf foo)) there is in fact a call to the function 'setf' 2018-02-15T22:11:16Z Bike: er, defmacro foo 2018-02-15T22:11:17Z stacksmith: Hardly willy nilly. 2018-02-15T22:11:44Z Bike: what i'm saying, stacksmith, is that you're attributing more semantics to lambda lists than they actually have 2018-02-15T22:12:13Z mepian: I'm getting this error when I try to upgrade ASDF https://pastebin.com/tai9VLNz 2018-02-15T22:12:18Z stacksmith: Wishful thinking perhaps. 2018-02-15T22:13:01Z Bike: for another example, you could also give defun the lambda list (name lambda-list &rest body) 2018-02-15T22:13:10Z Bike: in which case the body does, actually, probably include function calls 2018-02-15T22:13:31Z Bike: if the semantics could be summed up in the lambda list we wouldn't need the actual macro function 2018-02-15T22:14:09Z stacksmith: Is it legal to provide a non-list lambda-list? 2018-02-15T22:14:23Z Bike: don't think so 2018-02-15T22:14:29Z Bike: in scheme it is, not that they call them "lambda lists" 2018-02-15T22:16:29Z stacksmith: Is there anything semantically different with (name (&rest lambda-list) &body body)? 2018-02-15T22:16:42Z juan-reynoso quit (Quit: Leaving) 2018-02-15T22:17:15Z Bike: it means an error about not being a list will come up earlier, i guess 2018-02-15T22:17:26Z Bike: oh, and i suppose since macros can have dotted lambda lists &rest won't work there 2018-02-15T22:18:17Z stacksmith: Can you have a dotted list and &body together? 2018-02-15T22:18:25Z Bike: no 2018-02-15T22:18:46Z fourier quit (Ping timeout: 252 seconds) 2018-02-15T22:18:50Z Shinmera: I object to (&rest lambda-list) for a different reason: a lambda list is a structure in itself. It is not really applicable to what &rest means: an enumeration of items. 2018-02-15T22:19:10Z Bike: i agree with that 2018-02-15T22:19:11Z Bike: clhs 3.4.4 2018-02-15T22:19:11Z specbot: Macro Lambda Lists: http://www.lispworks.com/reference/HyperSpec/Body/03_dd.htm 2018-02-15T22:19:16Z Bike: has the macro lambda list syntax in detail 2018-02-15T22:19:38Z stacksmith quit (Remote host closed the connection) 2018-02-15T22:20:35Z stacksmith joined #lisp 2018-02-15T22:21:08Z stacksmith: Damn, my IRC client crashed. 2018-02-15T22:21:28Z Shinmera: I didn't even know IRC clients could crash 2018-02-15T22:21:38Z Bike: didn't you write one? 2018-02-15T22:21:45Z stacksmith: not yet. 2018-02-15T22:21:55Z stacksmith: A couple of newsreaders. 2018-02-15T22:21:57Z mepian: ASDF went from one file (asdf.lisp) in 2.010 to multiple directories of sources, that's quite a growth 2018-02-15T22:22:07Z Shinmera: I have. My joke is that most clients are so old and well-trodden that a crash is very peculiar. 2018-02-15T22:22:36Z stacksmith: Bike: I thought &rest can be in an inner destructuring list along with dotted notation... 2018-02-15T22:23:05Z Bike: what i mean is, you can write (defmacro foo (a . b) ...) 2018-02-15T22:23:19Z Bike: and then with (&rest lambda-list) the rest-list is dotted, which isn't allowed 2018-02-15T22:23:30Z smurfrobot quit (Remote host closed the connection) 2018-02-15T22:26:50Z stacksmith: I suppose that is a reason. 2018-02-15T22:29:23Z stacksmith: Shinmera: for some reason I am using Thunderbird... 2018-02-15T22:29:43Z nowhere_man joined #lisp 2018-02-15T22:30:30Z nowhereman_ quit (Ping timeout: 256 seconds) 2018-02-15T22:32:48Z oystewh quit (Quit: .) 2018-02-15T22:34:53Z kaname quit (Quit: Page closed) 2018-02-15T22:36:12Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2018-02-15T22:36:37Z smurfrobot joined #lisp 2018-02-15T22:40:45Z fikka quit (Quit: leaving) 2018-02-15T22:41:00Z fikka joined #lisp 2018-02-15T22:41:15Z cpape quit (Remote host closed the connection) 2018-02-15T22:42:49Z dto joined #lisp 2018-02-15T22:42:52Z dto: evening xach 2018-02-15T22:43:29Z Xach: hi dto 2018-02-15T22:43:36Z dto: :) 2018-02-15T22:43:47Z dto: how you been? 2018-02-15T22:44:10Z Xach: So good 2018-02-15T22:44:55Z k-hos quit (Read error: Connection reset by peer) 2018-02-15T22:44:55Z dto: cool what's new? 2018-02-15T22:45:03Z Xach: So much lisp hacking 2018-02-15T22:45:18Z dto: hey sweet. what kind of packages? 2018-02-15T22:45:43Z dto: i'm hacking on some elisp 2018-02-15T22:45:45Z Xach: an expect-like thing for driving non-sbcl repls from sbcl. 2018-02-15T22:46:00Z dto: that sounds exciting actually 2018-02-15T22:47:36Z z3t0 joined #lisp 2018-02-15T22:47:52Z smurfrobot quit (Remote host closed the connection) 2018-02-15T22:48:38Z k-hos joined #lisp 2018-02-15T22:52:22Z vultyre joined #lisp 2018-02-15T22:52:24Z smurfrobot joined #lisp 2018-02-15T22:55:01Z borei quit (Quit: Leaving.) 2018-02-15T22:55:01Z Karl_Dscc quit (Remote host closed the connection) 2018-02-15T22:55:29Z smurfrobot quit (Remote host closed the connection) 2018-02-15T22:55:35Z sjl quit (Ping timeout: 240 seconds) 2018-02-15T22:55:57Z smurfrobot joined #lisp 2018-02-15T23:00:34Z emaczen joined #lisp 2018-02-15T23:00:44Z Bike quit (Ping timeout: 260 seconds) 2018-02-15T23:00:57Z quazimodo quit (Ping timeout: 240 seconds) 2018-02-15T23:01:34Z emaczen: pjb: can you show me map-reduce with #'map #'reduce bt:make-thread and bt:join-thread? 2018-02-15T23:02:59Z _rumbler31 quit (Ping timeout: 276 seconds) 2018-02-15T23:03:22Z smurfrobot quit (Remote host closed the connection) 2018-02-15T23:03:40Z smurfrobot joined #lisp 2018-02-15T23:05:25Z cpape joined #lisp 2018-02-15T23:06:27Z raynold quit (Quit: Connection closed for inactivity) 2018-02-15T23:10:19Z smurfrobot quit (Remote host closed the connection) 2018-02-15T23:11:24Z rumbler31 joined #lisp 2018-02-15T23:11:42Z emaczen: or someone else? 2018-02-15T23:12:10Z z3t0 quit (Remote host closed the connection) 2018-02-15T23:12:36Z z3t0 joined #lisp 2018-02-15T23:13:40Z z3t0 quit (Remote host closed the connection) 2018-02-15T23:13:47Z z3t0 joined #lisp 2018-02-15T23:15:57Z rumbler31 quit (Ping timeout: 240 seconds) 2018-02-15T23:15:58Z jmarciano quit (Read error: Connection reset by peer) 2018-02-15T23:17:55Z shifty joined #lisp 2018-02-15T23:18:20Z blackwolf quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2018-02-15T23:21:17Z openthesky joined #lisp 2018-02-15T23:21:51Z mepian: wow, I somehow completely misunderstood the process of upgrading ASDF - I should have just downloaded the new asdf.lisp and load it instead of mucking around with the tarball 2018-02-15T23:23:29Z pagnol joined #lisp 2018-02-15T23:37:06Z z3t0 quit (Remote host closed the connection) 2018-02-15T23:39:37Z z3t0 joined #lisp 2018-02-15T23:40:15Z python476 quit (Ping timeout: 248 seconds) 2018-02-15T23:42:57Z mishoo quit (Ping timeout: 248 seconds) 2018-02-15T23:44:43Z z3t0 quit (Remote host closed the connection) 2018-02-15T23:46:18Z z3t0 joined #lisp 2018-02-15T23:51:28Z Bike joined #lisp 2018-02-15T23:51:44Z openthesky quit (Quit: Leaving.) 2018-02-15T23:58:43Z z3t0 quit (Remote host closed the connection) 2018-02-16T00:02:56Z deba5e12 quit (Quit: WeeChat 1.9.1) 2018-02-16T00:03:07Z deba5e12 joined #lisp 2018-02-16T00:03:19Z deba5e12 quit (Client Quit) 2018-02-16T00:03:39Z deba5e12 joined #lisp 2018-02-16T00:07:24Z random-nick quit (Ping timeout: 260 seconds) 2018-02-16T00:12:12Z whoman quit (Quit: Leaving) 2018-02-16T00:12:30Z sjl joined #lisp 2018-02-16T00:12:52Z whoman joined #lisp 2018-02-16T00:13:11Z attila_lendvai quit (Ping timeout: 256 seconds) 2018-02-16T00:13:48Z z3t0 joined #lisp 2018-02-16T00:16:03Z z3t0 quit (Remote host closed the connection) 2018-02-16T00:16:08Z SuperJen quit (Remote host closed the connection) 2018-02-16T00:16:39Z Pixel_Outlaw joined #lisp 2018-02-16T00:16:57Z sjl quit (Ping timeout: 240 seconds) 2018-02-16T00:17:24Z sjl joined #lisp 2018-02-16T00:18:42Z SuperJen joined #lisp 2018-02-16T00:19:08Z SuperJen quit (Remote host closed the connection) 2018-02-16T00:19:26Z SuperJen joined #lisp 2018-02-16T00:20:30Z rumbler31 joined #lisp 2018-02-16T00:21:54Z LiamH quit (Quit: Leaving.) 2018-02-16T00:24:41Z z3t0 joined #lisp 2018-02-16T00:25:32Z rumbler31 quit (Ping timeout: 276 seconds) 2018-02-16T00:29:07Z z3t0 quit (Remote host closed the connection) 2018-02-16T00:29:15Z z3t0 joined #lisp 2018-02-16T00:29:21Z dmiles quit (Ping timeout: 248 seconds) 2018-02-16T00:30:10Z jdz quit (Ping timeout: 240 seconds) 2018-02-16T00:34:09Z quazimodo joined #lisp 2018-02-16T00:35:08Z jdz joined #lisp 2018-02-16T00:36:38Z z3t0 quit (Remote host closed the connection) 2018-02-16T00:37:57Z z3t0 joined #lisp 2018-02-16T00:38:38Z pagnol quit (Quit: Ex-Chat) 2018-02-16T00:43:36Z z3t0 quit (Remote host closed the connection) 2018-02-16T00:43:48Z Rawriful quit (Quit: WeeChat 1.4) 2018-02-16T00:43:59Z kdridi_ quit (Remote host closed the connection) 2018-02-16T00:47:10Z pfdietz joined #lisp 2018-02-16T00:48:01Z pierpa joined #lisp 2018-02-16T00:48:44Z z3t0 joined #lisp 2018-02-16T00:49:20Z fikka quit (Ping timeout: 256 seconds) 2018-02-16T00:50:22Z nirved quit (Quit: Leaving) 2018-02-16T00:51:01Z kdridi joined #lisp 2018-02-16T00:57:20Z Tobbi quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-16T00:57:37Z arescorpio joined #lisp 2018-02-16T00:57:49Z z3t0 quit (Remote host closed the connection) 2018-02-16T00:58:05Z z3t0 joined #lisp 2018-02-16T01:09:31Z al-damiri quit (Quit: Connection closed for inactivity) 2018-02-16T01:11:28Z papachan quit (Quit: WeeChat 2.0.1) 2018-02-16T01:16:27Z fikka joined #lisp 2018-02-16T01:17:26Z vultyre quit (Quit: Leaving) 2018-02-16T01:21:15Z rumbler31 joined #lisp 2018-02-16T01:22:16Z dmiles joined #lisp 2018-02-16T01:25:59Z rumbler31 quit (Ping timeout: 276 seconds) 2018-02-16T01:26:29Z z3t0 quit (Remote host closed the connection) 2018-02-16T01:26:44Z dmiles quit (Ping timeout: 260 seconds) 2018-02-16T01:30:18Z z3t0 joined #lisp 2018-02-16T01:30:24Z windblow quit 2018-02-16T01:33:59Z z3t0 quit (Remote host closed the connection) 2018-02-16T01:34:30Z dmiles joined #lisp 2018-02-16T01:35:20Z z3t0 joined #lisp 2018-02-16T01:37:53Z z3t0 quit (Remote host closed the connection) 2018-02-16T01:38:47Z z3t0 joined #lisp 2018-02-16T01:41:05Z dmiles quit (Ping timeout: 240 seconds) 2018-02-16T01:43:22Z z3t0 quit (Remote host closed the connection) 2018-02-16T01:47:33Z Oladon joined #lisp 2018-02-16T01:49:23Z dmiles joined #lisp 2018-02-16T01:50:23Z fikka quit (Ping timeout: 248 seconds) 2018-02-16T01:52:34Z kdridi quit (Remote host closed the connection) 2018-02-16T01:53:00Z kdridi joined #lisp 2018-02-16T01:54:25Z dmiles quit (Ping timeout: 268 seconds) 2018-02-16T01:56:08Z dmiles joined #lisp 2018-02-16T01:56:50Z SuperJen quit (Remote host closed the connection) 2018-02-16T01:56:54Z Jen joined #lisp 2018-02-16T02:00:10Z fikka joined #lisp 2018-02-16T02:00:44Z dmiles quit (Ping timeout: 256 seconds) 2018-02-16T02:10:56Z porky11 quit (Quit: Leaving) 2018-02-16T02:11:18Z Patternmaster quit (Quit: leaving) 2018-02-16T02:11:23Z windblow joined #lisp 2018-02-16T02:17:36Z rumbler31 joined #lisp 2018-02-16T02:18:59Z mareskeg joined #lisp 2018-02-16T02:20:32Z oleo quit (Remote host closed the connection) 2018-02-16T02:21:06Z oleo joined #lisp 2018-02-16T02:21:57Z rumbler31 quit (Ping timeout: 240 seconds) 2018-02-16T02:28:15Z mareskeg quit (Quit: mareskeg) 2018-02-16T02:28:47Z mareskeg joined #lisp 2018-02-16T02:31:59Z d4ryus3 joined #lisp 2018-02-16T02:33:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-16T02:35:14Z d4ryus2 quit (Ping timeout: 255 seconds) 2018-02-16T02:37:05Z makomo quit (Ping timeout: 240 seconds) 2018-02-16T02:38:30Z fikka joined #lisp 2018-02-16T02:39:29Z Cymew joined #lisp 2018-02-16T02:41:19Z beach` joined #lisp 2018-02-16T02:42:26Z mareskeg quit (Quit: mareskeg) 2018-02-16T02:43:48Z Cymew quit (Ping timeout: 240 seconds) 2018-02-16T02:45:30Z beach quit (Ping timeout: 256 seconds) 2018-02-16T02:48:44Z openthesky joined #lisp 2018-02-16T02:49:50Z windblow quit 2018-02-16T02:53:19Z dto quit (Remote host closed the connection) 2018-02-16T02:53:20Z dmiles joined #lisp 2018-02-16T02:57:27Z dmiles quit (Ping timeout: 240 seconds) 2018-02-16T03:00:00Z dieggsy quit (Remote host closed the connection) 2018-02-16T03:03:21Z damke quit (Ping timeout: 264 seconds) 2018-02-16T03:04:16Z damke joined #lisp 2018-02-16T03:14:23Z krwq joined #lisp 2018-02-16T03:15:29Z thallia joined #lisp 2018-02-16T03:16:42Z Arcaelyx_ joined #lisp 2018-02-16T03:18:34Z whoman: https://en.wikipedia.org/wiki/SHRDLU 2018-02-16T03:19:26Z Arcaelyx quit (Ping timeout: 252 seconds) 2018-02-16T03:19:56Z krwq: I've today encountered this: https://github.com/GrammaTech/sel does any of you helped with this? :) 2018-02-16T03:20:35Z whoman: whoa whoaa 2018-02-16T03:20:50Z whoman: that makes me think of gendered software that can produce offspring 2018-02-16T03:21:44Z krwq: haven't had time to familiarize with what's possible but overview of the project sounds pretty cool 2018-02-16T03:22:44Z krwq: I was pretty surprised to find lisp project on non-lisp reddit 2018-02-16T03:23:07Z whoman: holy crap what is this SEL thing i am looking at ... so much lisp! 2018-02-16T03:24:55Z windblow joined #lisp 2018-02-16T03:25:15Z whoman: also it links to : https://github.com/eschulte/curry-compose-reader-macros 2018-02-16T03:26:13Z arescorpio quit (Excess Flood) 2018-02-16T03:28:20Z mepian: krwq: what reddit that was? 2018-02-16T03:28:37Z krwq: mepian: I think it was on https://www.reddit.com/r/ReverseEngineering/ 2018-02-16T03:31:45Z krwq: can't find it right now over there but either there or in one of the blackhat videos comment 2018-02-16T03:33:14Z mepian: interesting, I think I've seen cl-ptrace there a while ago 2018-02-16T03:39:50Z stacksmith quit (Read error: Connection reset by peer) 2018-02-16T03:40:04Z stacksmith joined #lisp 2018-02-16T03:40:16Z stacksmith quit (Client Quit) 2018-02-16T03:43:18Z thallia quit (Ping timeout: 256 seconds) 2018-02-16T03:43:23Z pfdietz: https://www.prnewswire.com/news-releases/grammatech-releases-automated-software-engineering-library-into-open-source-300586264.html 2018-02-16T03:44:11Z pfdietz: I saw that last week when I entered "Common Lisp" into google news search. 2018-02-16T03:44:47Z pfdietz: BTW, they were recently hiring Common Lisp people. May still be looking. 2018-02-16T03:45:10Z thallia joined #lisp 2018-02-16T03:45:34Z krwq: I wonder if they've tried running it on itself 2018-02-16T03:46:52Z pfdietz: Dogfood! 2018-02-16T03:48:28Z Pixel_Outlaw quit (Quit: Leaving) 2018-02-16T03:49:53Z sjl quit (Ping timeout: 248 seconds) 2018-02-16T03:50:17Z quazimodo quit (Ping timeout: 276 seconds) 2018-02-16T03:52:57Z Pixel_Outlaw joined #lisp 2018-02-16T03:53:03Z dmiles joined #lisp 2018-02-16T03:53:28Z Pixel_Outlaw quit (Client Quit) 2018-02-16T03:55:41Z antonv joined #lisp 2018-02-16T03:55:52Z antonv: hi all 2018-02-16T03:56:03Z whoman: heh 2018-02-16T03:56:15Z antonv: can anyone advice for a fast method for reading / writing large plists? 2018-02-16T03:57:31Z rumbler31 joined #lisp 2018-02-16T03:57:52Z antonv: standard printer and reader are very slow 2018-02-16T03:58:39Z antonv: if there was a subset of their functionality (say without custom macro characters) working fater, that would be good 2018-02-16T03:58:48Z krwq: have you tried something like: (loop for (name val) on '(:a 123 :b "dsafs") do 2018-02-16T03:58:48Z krwq: (format t "(~s ~s)~%" name val)) 2018-02-16T03:59:20Z krwq: I don't know where or how do you want to write them 2018-02-16T03:59:40Z dmiles quit (Ping timeout: 240 seconds) 2018-02-16T04:00:17Z antonv: krwq: that's what I do now 2018-02-16T04:00:18Z whoman: i dont think format would be fast 2018-02-16T04:00:24Z antonv: and read them with cl:read 2018-02-16T04:00:47Z thallia quit (Ping timeout: 276 seconds) 2018-02-16T04:00:47Z antonv: my data are plists, containint only strings, keywords and numbers\ 2018-02-16T04:01:07Z shka joined #lisp 2018-02-16T04:01:18Z thallia joined #lisp 2018-02-16T04:02:24Z antonv: what interests me more is reading 2018-02-16T04:02:29Z antonv: writing is secondary 2018-02-16T04:02:39Z pierpa: it's hard to imagine you can beat PRINT and READ at this. 2018-02-16T04:02:58Z antonv: pierpa: turns out READ is to generic to be fast 2018-02-16T04:03:07Z krwq: you might want to try different data structure than plist if that's possible 2018-02-16T04:03:20Z antonv: krwq: how would that help? 2018-02-16T04:03:47Z stacksmith joined #lisp 2018-02-16T04:04:01Z krwq: linked lists are slower in general and if you know the data type that should help 2018-02-16T04:05:10Z whoman: are you printing the whole plist or each item ? 2018-02-16T04:05:17Z pierpa: do you have any idea about what is slow? maybe parsing the numbers? 2018-02-16T04:09:11Z smokeink joined #lisp 2018-02-16T04:09:53Z pierpa: can you use vectors instead of lists? reading vectors with included length prefix should be faster than reading a list. 2018-02-16T04:15:01Z antonv: whoman: whole plist 2018-02-16T04:15:28Z pfdietz: Are you trying to print this so it's human readable? 2018-02-16T04:15:32Z antonv: pierpa: my guess is that reading atoms is slow 2018-02-16T04:15:40Z pfdietz: Or just to SOME serialized form? 2018-02-16T04:15:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-16T04:16:03Z antonv: pfdietz: yes, for readability. But I'm ready to give it up for good speed improvement. 2018-02-16T04:16:41Z pfdietz: cl-store does serialization in a form that's optimized for speed and compactness, not human readability, if that's helpful. 2018-02-16T04:16:59Z antonv: pfdietz: let me check it... 2018-02-16T04:17:07Z pfdietz: Which Common Lisp are you using, btw? 2018-02-16T04:17:10Z __rumbler31 joined #lisp 2018-02-16T04:17:20Z antonv: I was looking for somethe serialization librarty, but had impression that none of them is fast 2018-02-16T04:17:24Z antonv: CCL 2018-02-16T04:17:39Z antonv: byt I tried other CLs, their readers are slow too 2018-02-16T04:17:47Z pfdietz: Hmm. 2018-02-16T04:18:08Z pierpa: most implementation have FASL writers and readers 2018-02-16T04:18:22Z pierpa: if you don't need to be portable... 2018-02-16T04:18:53Z antonv: pfdietz: interesting idea 2018-02-16T04:19:02Z antonv: I'm checking cl-store speed now... 2018-02-16T04:19:14Z antonv: pfdietz: how whould one store some data in FASL? 2018-02-16T04:19:29Z pfdietz: That was pierpa talking about FASLs. 2018-02-16T04:19:56Z pierpa: and the answer is: it depends. It's implementation dependent 2018-02-16T04:20:25Z Bike: no it isn't. compile-file something with a plist in it, bam, stored 2018-02-16T04:20:25Z pfdietz: When you benchmarked the reader, were you reading from a file, or from a string? 2018-02-16T04:20:42Z antonv: pierpa: sorry 2018-02-16T04:20:43Z whoman: better data structure ftw 2018-02-16T04:20:47Z fikka joined #lisp 2018-02-16T04:21:00Z Bike: yeah "fast" and "plist" are kind of separated in my mind 2018-02-16T04:21:05Z antonv: pfdietz: from file 2018-02-16T04:21:23Z pfdietz: It would be interesting to see where the time is being spent. 2018-02-16T04:21:40Z Jen quit (Ping timeout: 240 seconds) 2018-02-16T04:21:51Z __rumbler31 quit (Ping timeout: 248 seconds) 2018-02-16T04:22:24Z pfdietz: What effect the external format had on it, too. 2018-02-16T04:24:04Z JenElizabeth joined #lisp 2018-02-16T04:25:36Z beach` is now known as beach 2018-02-16T04:25:40Z pierpa: to see where time is spent could also try to compare the time needed for reading the same data written as a vector with length prefix #12349556(k1 v1 ...) 2018-02-16T04:28:04Z krwq: is there a way to change initform in the derived class without redefining the slot? 2018-02-16T04:28:19Z Bike: well, you partially redefine it. 2018-02-16T04:28:39Z krwq: Bike: so just add this one slot which changes? 2018-02-16T04:28:42Z Bike: like, if your slot is called foo, you can just have (foo :initform blablabla) and itll keep the accessors and stuff from parent classes. 2018-02-16T04:28:43Z antonv: cl-store writes verly slowly 2018-02-16T04:28:50Z antonv: slower than my current format approach 2018-02-16T04:28:59Z antonv: and finally fails with "memory allocation request failed" 2018-02-16T04:29:19Z antonv: pierpa: lenght prefixed vectors - is that starndard synax? 2018-02-16T04:29:29Z Bike: clhs 7.5.3 2018-02-16T04:29:29Z specbot: Inheritance of Slots and Slot Options: http://www.lispworks.com/reference/HyperSpec/Body/07_ec.htm 2018-02-16T04:29:36Z megalography1 left #lisp 2018-02-16T04:29:37Z krwq: thanks Bike 2018-02-16T04:29:39Z Bike: "The default initial value form for a slot is the value of the :initform slot option in the most specific slot specifier that contains one. " 2018-02-16T04:29:49Z pfdietz: Oh well 2018-02-16T04:30:18Z schoppenhauer quit (Ping timeout: 240 seconds) 2018-02-16T04:31:08Z pierpa: antonv: yes, it's standard 2018-02-16T04:31:48Z dddddd quit (Remote host closed the connection) 2018-02-16T04:31:49Z pfdietz: clhs 2.4.8.3 2018-02-16T04:31:49Z specbot: Sharpsign Left-Parenthesis: http://www.lispworks.com/reference/HyperSpec/Body/02_dhc.htm 2018-02-16T04:32:40Z schoppenhauer joined #lisp 2018-02-16T04:46:06Z whoman: is there a way to use [] instead ? 2018-02-16T04:46:44Z pierpa: [ and ] are reserved for user character macros, so yes, you can use them 2018-02-16T04:47:46Z nowhereman_ joined #lisp 2018-02-16T04:49:09Z antonv quit (Read error: Connection reset by peer) 2018-02-16T04:51:25Z nowhere_man quit (Ping timeout: 256 seconds) 2018-02-16T04:51:57Z Guest99623 joined #lisp 2018-02-16T04:52:37Z rumbler31 quit (Remote host closed the connection) 2018-02-16T04:54:55Z fikka quit (Ping timeout: 248 seconds) 2018-02-16T04:59:04Z fikka joined #lisp 2018-02-16T04:59:25Z thallia quit (Ping timeout: 268 seconds) 2018-02-16T05:01:47Z beach: jasom: Are you referring to a real debugger (where you can set breakpoints, step by form, trace, examine data, etc), or what we habitually call a debugger but that really isn't? 2018-02-16T05:02:12Z beach: jasom: In McCLIM, we have one of the latter type already. 2018-02-16T05:02:23Z thallia joined #lisp 2018-02-16T05:02:26Z dmiles joined #lisp 2018-02-16T05:03:17Z beach: jasom: And I have a specification for one of the former type, but it will require support from the implementation that most implementations may not have yet. 2018-02-16T05:06:14Z epony quit (Remote host closed the connection) 2018-02-16T05:07:06Z Bike quit (Quit: Lost terminal) 2018-02-16T05:07:58Z epony joined #lisp 2018-02-16T05:08:39Z krwq: is there any way to get self reference in the slot's initform? 2018-02-16T05:08:56Z beach: No. 2018-02-16T05:09:05Z dmiles quit (Ping timeout: 240 seconds) 2018-02-16T05:09:06Z krwq: beach: fair enough, thanks 2018-02-16T05:09:07Z beach: Use an :AFTER method on INITIALIZE-INSTANCE. 2018-02-16T05:09:18Z krwq: beach: sounds good, thanks 2018-02-16T05:09:51Z epony quit (Remote host closed the connection) 2018-02-16T05:10:02Z beach: If you don't want to have a slot writer (which often happens to me), then you can use REINITIALIZE-INSTANCE instead. 2018-02-16T05:10:04Z pierpa quit (Quit: Page closed) 2018-02-16T05:10:23Z beach: I mean, you call REINITIALIZE-INSTANCE inside the :AFTER method on INITIALIZE-INSTANCE. 2018-02-16T05:11:03Z saturn2 joined #lisp 2018-02-16T05:11:36Z krwq: beach: can't I use slot-value? 2018-02-16T05:11:45Z beach: You could. 2018-02-16T05:12:12Z beach: I never do, because I consider slot names as being implementation details. 2018-02-16T05:12:23Z krwq: beach: so what does reinitialize-instance do? 2018-02-16T05:12:33Z beach: ... whereas slot accessors and :INITARGs are part of the protocol. 2018-02-16T05:12:51Z beach: clhs reinitialize-instance 2018-02-16T05:12:51Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_reinit.htm 2018-02-16T05:12:53Z krwq: beach: not sure why do you think this way but I barely know CLOS 2018-02-16T05:12:55Z beach: It allows you to split up the initialization process. 2018-02-16T05:13:39Z beach: It has nothing to do with CLOS. It is the same in every language. Slots (or fields, or data members) are implementation details that may change in the future. 2018-02-16T05:13:46Z krwq: beach: I think I'll pass with this for now, slot-value works - I'll likely get to that point where I understand the advantage 2018-02-16T05:13:54Z krwq: beach: but passing for now 2018-02-16T05:14:03Z beach: Accessors are part of the documented protocol (or interface, as most other languages call it). 2018-02-16T05:14:18Z orivej quit (Ping timeout: 240 seconds) 2018-02-16T05:14:44Z krwq: beach: I see - this is meant to be implementation detail, I do not want any accessor here 2018-02-16T05:15:35Z beach: You typically still want an accessor. It is what is called an "internal protocol", i.e. even in your module implementation code, you want to be somewhat modular. 2018-02-16T05:16:44Z beach: Here is another reason: It is possible that in your implementation, SLOT-VALUE, (SETF SLOT-VALUE) etc. are slower than slot accessors. 2018-02-16T05:17:22Z beach: Not in SBCL though, which basically converts SLOT-VALUE with a constant slot name to a kind of slot reader. 2018-02-16T05:17:24Z krwq: beach: do you mean lisp implementation or library implementation? 2018-02-16T05:17:31Z krwq: ok clarified 2018-02-16T05:17:35Z raynold joined #lisp 2018-02-16T05:18:35Z krwq: beach: I might gradually get to the better design but haven't thought through the internal protocl yet 2018-02-16T05:18:38Z beach: I mean that your Common Lisp may have to do more work with slot-value, because it first has to figure out where the slot is stored in the object, given the class of the object and the name of the slot. This procedure can easily be bypassed in a slot accessor, and less easily with slot-value. 2018-02-16T05:19:06Z krwq: beach: I see - that's fine for now, that's not going to be a bottleneck here 2018-02-16T05:19:10Z beach: Sure, you don't think of that in the beginning. But it is good to prepare for them by not using slot-value or with-slots. 2018-02-16T05:19:43Z krwq: with-slots as well? that can easily be fast, shouldn't it? 2018-02-16T05:19:50Z beach: It's easy. Just stick a :reader or :accessor in there with a name that is not exported. 2018-02-16T05:20:04Z beach: WITH-SLOTS expands to slot value. 2018-02-16T05:20:44Z beach: So, stick a reader or accessor in there, use those to access the slot, or use WITH-ACCESSORS where you would otherwise use WITH-SLOTS. 2018-02-16T05:20:46Z beach: Not that hard. 2018-02-16T05:22:41Z beach: In my code, the name of the slot serves only two purposes: The primary purpose is so that when the DEFCLASS form is re-evaluated, the Common Lisp implementation knows that it is the same slot as before. The secondary purpose is so that the Common Lisp implementation knows that when a slot is mentioned in both some class and some subclass, I meant for it to be the same. 2018-02-16T05:23:09Z beach: The latter case is unusual though. 2018-02-16T05:23:26Z whoman: ^_^ 2018-02-16T05:24:01Z Guest99623 quit (Read error: Connection reset by peer) 2018-02-16T05:24:02Z djinni` quit (Ping timeout: 260 seconds) 2018-02-16T05:24:03Z krwq: beach: I ocassionally iterate on the slots in the macrolet 2018-02-16T05:24:24Z beach: Using the slot names? I am sorry to hear that. 2018-02-16T05:25:14Z krwq: beach: yep but no problem with doing that with accessors too 2018-02-16T05:25:44Z beach: Right. 2018-02-16T05:26:01Z beach: Colleen: look up mop class-slots 2018-02-16T05:26:01Z Colleen: Class-slots http://metamodular.com/CLOS-MOP/class-slots.html 2018-02-16T05:26:23Z beach: If I am really interested in the slots, I would use that one ↑ 2018-02-16T05:26:58Z beach: That way, I don't have to mention slot names explicitly, and the code continues to work even when slots are added or removed. 2018-02-16T05:27:31Z krwq: beach: I had hard time with that when the library I used added some slots I didn't want with the metaclass 2018-02-16T05:27:49Z krwq: beach: I only needed some of them 2018-02-16T05:28:52Z beach: That is when the pairs initarg/accessor are useful. I often use a registration mechanism so that the relevant pairs are available by a call to a generic function. 2018-02-16T05:29:30Z beach: For example, when I save an object to a file, it is saved as [ :initarg1 value1 :initarg2 value2...] 2018-02-16T05:30:00Z beach: That way, I can reload the file even after my implementation has changed, so that some slots are added or removed. 2018-02-16T05:30:34Z krwq: beach: how do you do that? 2018-02-16T05:30:48Z krwq: beach: by hand or have some fancy metaclass 2018-02-16T05:31:21Z beach: https://github.com/robert-strandh/SICL/blob/master/Code/Cleavir/Abstract-syntax-tree/general-purpose-asts.lisp#L28 2018-02-16T05:31:43Z fikka quit (Ping timeout: 248 seconds) 2018-02-16T05:31:56Z djinni` joined #lisp 2018-02-16T05:32:12Z epony joined #lisp 2018-02-16T05:32:49Z beach: No, it is simple. Less than 100 lines of code: https://github.com/robert-strandh/SICL/blob/master/Code/Cleavir/Input-output/io.lisp 2018-02-16T05:33:44Z beach: The SAVE-INFO generic function returns a list of those pairs. 2018-02-16T05:34:09Z beach: The macro DEFINE-SAVE-INFO defines those relevant pairs for each class. 2018-02-16T05:35:33Z beach: All I need to do in order to read an object saved that way is a reader macro on #\[ that does (apply #'make-instance (read-delimited-list ...)). 2018-02-16T05:38:10Z krwq: beach: but it still requires that :initarg hasn't changed right? 2018-02-16T05:38:36Z beach: That would be part of the documented external protocol, so it had better not change. 2018-02-16T05:40:52Z krwq: btw, how far are you to implementing SICL? 2018-02-16T05:41:46Z beach: Most of the code is there. I am working on the bootstrapping procedure. Also, Bike is working on Cleavir, and probably heisig as well pretty soon. Right now I am working on indentation in the editor. 2018-02-16T05:42:20Z krwq: beach: what editor do you have? I only have tried clim-listener so far 2018-02-16T05:42:59Z krwq: beach: or do you write some emacs mode 2018-02-16T05:43:00Z beach: Well, Climacs already exists, and I am working on version 2 of it, which is planned to have much better functionality for editing Common Lisp code. 2018-02-16T05:43:12Z beach: No, not Emacs. Pure Common Lisp. 2018-02-16T05:43:41Z krwq: nice, are you planning to implement clim over emacs buffer too? 2018-02-16T05:44:05Z beach: I don't understand the question [it's too early in the morning]. 2018-02-16T05:44:53Z krwq: clim can display on everything and I assume your implementation is using clim interface 2018-02-16T05:44:53Z fikka joined #lisp 2018-02-16T05:45:07Z krwq: so you could technically display everything in emacs 2018-02-16T05:45:17Z krwq: and have two versions of climacs 2018-02-16T05:45:21Z krwq: as emacs mode and standalone 2018-02-16T05:45:45Z krwq: that should have better adoption 2018-02-16T05:45:48Z beach: I don't see how you could use Emacs with CLIM, other than in very simple ways. 2018-02-16T05:46:01Z epony quit (Remote host closed the connection) 2018-02-16T05:46:19Z krwq: beach: what's not supported? it can display pictures 2018-02-16T05:46:32Z beach: But I am not interested in programming in Emacs Lisp. 2018-02-16T05:47:04Z beach: The plan is to propose a set of tools for Common Lisp programming that are an order of magnitude better than the Emacs-based tools we have today. 2018-02-16T05:47:23Z beach: So, using Emacs with those tools would kind of defeat the purpose. 2018-02-16T05:48:04Z krwq: beach: fair enough but if you've proved the point of clim universality by making it work with emacs it would gain in popularity much faster and likely gain contributors faster 2018-02-16T05:48:54Z krwq: don't want to sidetrack or anything but that sounds like a nice hackathon project or something you could give to a student 2018-02-16T05:49:16Z beach: Yes, but that is not my primary goal. My primary goal is to have a comfortable Common Lisp-based environment, and to have my effort to create it count as research. 2018-02-16T05:50:18Z beach: As I often say, it is fine with me if I end up being the only user of those tools. 2018-02-16T05:50:51Z krwq: good point but note that if you did it this way then you could reverse the dependencies by making emacs work with clim as well and those emacs modes could eventually work with climacs 2018-02-16T05:51:22Z krwq: so you'd consume many years of work into climacs 2018-02-16T05:51:47Z krwq: something to think about - do what you like though :) 2018-02-16T05:52:01Z beach: Yes, well, someone who is interested in working that way could do it. I'll work on what I am good at. In particular the hard parts that require fresh research. 2018-02-16T05:52:10Z EvW1 joined #lisp 2018-02-16T05:52:32Z krwq: are you using climacs daily? 2018-02-16T05:53:04Z beach: No, because (first) Climacs is not as good as Emacs, even for Common Lisp programming. This is why I am working on Second Climacs. 2018-02-16T05:53:54Z krwq: beach: I'll be interested to test it once it is usable and fairly convenient. I write most of my stuff in CL either way 2018-02-16T05:54:23Z beach: Thanks. It may be a few more months before I have something to demonstrate. 2018-02-16T05:54:56Z krwq: beach: for me some easy way to work with s-exp and decent debugging is a must 2018-02-16T05:55:09Z beach: Of course. 2018-02-16T05:55:13Z smokeink: *decent debugging* 2018-02-16T05:57:15Z smokeink: speaking of decent debugging, I've found this overly complicated https://www.youtube.com/watch?v=q_ARlVo-J5Q how come it's so difficult to access the local vars during debugging?? Is this feature really that unimportant ? 2018-02-16T05:58:21Z dmiles joined #lisp 2018-02-16T05:59:01Z krwq: I'm seeing clim has a lot of potential, currently feel like some defaults look ugly but each time I try it it feels much better and things like clim-debugger are proving it 2018-02-16T06:00:46Z krwq: smokeink: I find when I use (break) or short functions the experience is all right 2018-02-16T06:01:04Z krwq: and (declaim (optimize (debug 3))) ofc 2018-02-16T06:01:31Z smokeink: you can break and display the local vars, but what if you need to interact with them? You need to play around with them, to see where they fail to behave as you were expecting.. 2018-02-16T06:02:19Z smokeink: Personally I use a little trick that I've stolen from the book LetOverLambda : https://paste.ofcode.org/9ShVACskzbYG68W7X44RsT 2018-02-16T06:02:52Z beach: krwq: Yes, McCLIM is steadily improving, thanks to jackdaniel and several recent contributors. I am very happy with the way things are going. 2018-02-16T06:03:14Z dmiles quit (Ping timeout: 260 seconds) 2018-02-16T06:03:15Z Patternmaster joined #lisp 2018-02-16T06:03:16Z SaganMan joined #lisp 2018-02-16T06:03:50Z krwq: smokeink: you can eval in frame in slime 2018-02-16T06:04:08Z beach: smokeink: It is hard, because Common Lisp implementations take advantage of the freedom the Common Lisp HyperSpec give them to optimize lexical variables. 2018-02-16T06:04:24Z krwq: smokeink: just put (break) and read C-c C-h when debugger shows up 2018-02-16T06:05:22Z beach: smokeink: Information about the location, type, etc, of lexical variables must be made available at runtime in order for a debugger to use this information. And it must be done in a way that does not hamper performance. 2018-02-16T06:06:42Z damke quit (Read error: Connection reset by peer) 2018-02-16T06:06:55Z SaganMan quit (Client Quit) 2018-02-16T06:07:24Z beach: For one thing, the compiler typically reduces the scope of lexical variables. They are not kept around after their last reference. So the programmer may want to examine the variable, but the compiler has eliminated it at that point. 2018-02-16T06:07:56Z beach: Take this one: (let ((x ...) (y ...)) (f x) (g y)) 2018-02-16T06:08:27Z beach: Suppose (g y) signals an error. The stack frame of this expression no longer contains X because it is no longer live. 2018-02-16T06:09:42Z smokeink: k 2018-02-16T06:10:31Z beach: Different problem: (let ((x ...)) (declare (type fixnum x)) (f x) (g x)). Suppose (f x) signals an error. The programmer uses the debugger to alter X so that it is a string instead of a fixnum. The call to G may then fail by having your Common Lisp crash. 2018-02-16T06:10:56Z beach: So, a good debugger must disallow such modifications of values of lexical variables. 2018-02-16T06:11:02Z damke joined #lisp 2018-02-16T06:11:51Z beach: The technique suggested in that video slows down the code a lot, so it is only acceptable as a temporary solution. 2018-02-16T06:13:33Z smokeink: okay: my point is maybe pandoric macros can be of help, perhaps a less cumbersome solution using pandoric macros is possible - it's an interesting thing to research 2018-02-16T06:16:31Z fikka quit (Ping timeout: 248 seconds) 2018-02-16T06:19:38Z python476 joined #lisp 2018-02-16T06:21:16Z Trystam joined #lisp 2018-02-16T06:22:29Z fikka joined #lisp 2018-02-16T06:23:00Z LocaMocha joined #lisp 2018-02-16T06:23:47Z Tristam quit (Ping timeout: 276 seconds) 2018-02-16T06:24:10Z Trystam is now known as Tristam 2018-02-16T06:24:21Z shifty quit (Ping timeout: 256 seconds) 2018-02-16T06:24:57Z windblow quit (Remote host closed the connection) 2018-02-16T06:27:23Z fikka quit (Ping timeout: 256 seconds) 2018-02-16T06:31:05Z windblow joined #lisp 2018-02-16T06:32:54Z fikka joined #lisp 2018-02-16T06:33:14Z dmiles joined #lisp 2018-02-16T06:34:55Z ludston_ quit (Read error: Connection reset by peer) 2018-02-16T06:35:37Z shka quit (Quit: Konversation terminated!) 2018-02-16T06:36:03Z ludston joined #lisp 2018-02-16T06:36:35Z EvW1 quit (Ping timeout: 255 seconds) 2018-02-16T06:38:05Z fikka quit (Ping timeout: 276 seconds) 2018-02-16T06:38:19Z Oladon quit (Quit: Leaving.) 2018-02-16T06:40:16Z windblow quit 2018-02-16T06:42:59Z fikka joined #lisp 2018-02-16T06:44:30Z quazimodo joined #lisp 2018-02-16T06:47:27Z fikka quit (Ping timeout: 248 seconds) 2018-02-16T06:49:24Z fourier joined #lisp 2018-02-16T06:53:08Z rumbler31 joined #lisp 2018-02-16T06:55:30Z cpape` joined #lisp 2018-02-16T06:56:40Z fourier quit (Ping timeout: 240 seconds) 2018-02-16T06:57:37Z rumbler31 quit (Ping timeout: 248 seconds) 2018-02-16T06:57:40Z cpape quit (Ping timeout: 256 seconds) 2018-02-16T06:57:50Z flamebeard joined #lisp 2018-02-16T06:57:59Z phoe: pandoric? 2018-02-16T07:01:04Z cpape`` joined #lisp 2018-02-16T07:03:05Z fikka joined #lisp 2018-02-16T07:03:10Z cpape` quit (Ping timeout: 240 seconds) 2018-02-16T07:05:34Z vlatkoB joined #lisp 2018-02-16T07:05:59Z Karl_Dscc joined #lisp 2018-02-16T07:07:43Z fikka quit (Ping timeout: 248 seconds) 2018-02-16T07:08:22Z Arcaelyx_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-16T07:08:48Z openthesky quit (Ping timeout: 240 seconds) 2018-02-16T07:09:33Z smokeink: phoe: https://letoverlambda.com/textmode.cl/guest/chap6.html#sec_7 2018-02-16T07:11:23Z smokeink: krwq: (declaim (optimize (debug 3))) (let ((v1 2) (v2 3)) (incf v2) (break) ) ; krwq can you eval in frame and get v1 or v2's value? 2018-02-16T07:12:06Z pillton quit (Quit: ERC (IRC client for Emacs 25.3.1)) 2018-02-16T07:12:39Z cpape``` joined #lisp 2018-02-16T07:15:07Z krwq: yes, but I'd put (declaim (optimize (debug 3))) in your .sbclrc or whatever config file you use 2018-02-16T07:15:14Z cpape`` quit (Ping timeout: 256 seconds) 2018-02-16T07:16:28Z smokeink: ok, I already had (declaim (optimize (safety 3) (debug 3) (space 0) (speed 0))) in my .sbclrc , but I can't evaluate v1 or v2 in frame... It always says they're unbound 2018-02-16T07:17:15Z Karl_Dscc quit (Remote host closed the connection) 2018-02-16T07:23:22Z fikka joined #lisp 2018-02-16T07:25:41Z cpape```` joined #lisp 2018-02-16T07:27:32Z openthesky joined #lisp 2018-02-16T07:28:16Z cpape``` quit (Ping timeout: 256 seconds) 2018-02-16T07:28:41Z fikka quit (Ping timeout: 276 seconds) 2018-02-16T07:33:26Z vyzo quit (Remote host closed the connection) 2018-02-16T07:33:55Z fikka joined #lisp 2018-02-16T07:37:54Z cpape```` quit (Ping timeout: 256 seconds) 2018-02-16T07:38:32Z fikka quit (Ping timeout: 255 seconds) 2018-02-16T07:39:35Z pjb: smokeink: since they're not used, they're not needed, so they're not generated. 2018-02-16T07:39:52Z pjb: Try with: (declaim (optimize (debug 3))) (let ((v1 2) (v2 3)) (incf v2) (break) (values v1 v2)) 2018-02-16T07:40:43Z smokeink: got it, thanks 2018-02-16T07:41:09Z pjb: then L will list them. 2018-02-16T07:41:18Z beach: smokeink: I think that's what I said before. The compiler eliminates variables that are not live, independently of the scope defined by the programmer. 2018-02-16T07:41:41Z cpape joined #lisp 2018-02-16T07:41:57Z beach: Take this one: (let ((x ...) (y ...)) (f x) (g y)) 2018-02-16T07:42:05Z beach: Suppose (g y) signals an error. The stack frame of this expression no longer contains X because it is no longer live. 2018-02-16T07:42:11Z beach: ... is what I said before. 2018-02-16T07:42:20Z smokeink: right 2018-02-16T07:42:33Z phoe: (declaim (optimize (debug 3))) (let ((v1 2) (v2 3) (incf v2)) (break)) 2018-02-16T07:42:35Z pjb: Even if the variable was live, it could be eliminated, eg. if it is used only once, and side effect order wouldn't be changed by replacing its use by its initial expresion. 2018-02-16T07:42:42Z phoe: the compiler is free to rewrite it like that or something 2018-02-16T07:42:47Z phoe: basically put the BREAK after the LET 2018-02-16T07:42:57Z beach: pjb: Very good point. 2018-02-16T07:43:11Z emaczen: How do you get the size of a vector (max size of the fill-pointer) 2018-02-16T07:43:20Z phoe: ...I probably screwed up the parens, (let ...) (break) <= like this 2018-02-16T07:43:25Z pjb: (array-dimension v 0) 2018-02-16T07:43:40Z pjb: or (elt (array-dimensions v) 0) 2018-02-16T07:43:45Z fikka joined #lisp 2018-02-16T07:43:46Z whoman: erc lets us paredit in irc 2018-02-16T07:43:54Z beach: emaczen: Do you want to ignore the fill pointer or take it into account? 2018-02-16T07:44:00Z smokeink: it's good to know that one can add a (values v1 v2 ... ) at the end, then the (break) can be put anywhere in the let body 2018-02-16T07:44:12Z emaczen: beach: array-dimension is what I wanted 2018-02-16T07:44:24Z phoe: emaczen: also #'ARRAY-TOTAL-SIZE 2018-02-16T07:44:35Z pjb: Yes, works for vectors too. 2018-02-16T07:44:39Z beach: smokeink: If the LET is in a context where its values are not needed, the compiler can remove those too. 2018-02-16T07:44:49Z phoe: which might be a bit overkill to work with vectors since it's meant for any-dimensional arrays 2018-02-16T07:45:13Z beach: smokeink: (progn (let ((x ...) (y ...)) ... (values x y)) (f)) for example. 2018-02-16T07:45:26Z phoe: smokeink: in general, the compiler is free to optimize everything that doesn't affect the final outcome of the function. 2018-02-16T07:45:39Z phoe: which means return values, and side effects. 2018-02-16T07:45:46Z beach: smokeink: It is VERY HARD to predict what the compiler will do. 2018-02-16T07:45:59Z whoman: ...thats not a good thing, beach 2018-02-16T07:46:14Z phoe: whoman: depends on the compiler 2018-02-16T07:46:17Z beach: whoman: What? That it is hard to predict what the compiler will do? 2018-02-16T07:46:27Z phoe: if you want fast and optimized code, then you want the compiler to be able to optimize the hell out of it 2018-02-16T07:46:44Z whoman: ah true, didnt see 'if it doesnt affect outcome..' 2018-02-16T07:46:44Z beach: whoman: Unfortunately, that's a necessary side effect for good performance. 2018-02-16T07:46:47Z phoe: if you want debuggability, you want the compiler to probably not optimize a single thing 2018-02-16T07:46:56Z phoe: choose your poison 2018-02-16T07:47:27Z beach: whoman: The compiler is obviously only allowed to perform semantics-preserving transformations. 2018-02-16T07:48:27Z Ven`` joined #lisp 2018-02-16T07:48:33Z TMA: whoman: semantic-preserving does not entail preserving the choices made under undefined behavior though 2018-02-16T07:48:49Z fikka quit (Ping timeout: 265 seconds) 2018-02-16T07:48:49Z beach: TMA: Correct. 2018-02-16T07:48:56Z phoe: how can you preserve the semantics of that which has no semantics 2018-02-16T07:49:08Z TMA: exactly 2018-02-16T07:49:18Z scymtym quit (Remote host closed the connection) 2018-02-16T07:50:27Z rme: And some compiler writers take great joy in rubbing your nose in undefined behavior. 2018-02-16T07:50:38Z beach: Indeed. 2018-02-16T07:50:53Z beach: I think GCC used to send email when #pragma was used. 2018-02-16T07:51:43Z beach: phoe: Not quite that easy. It is entirely possible that the implementation decides to define behavior that is labeled as undefined in the standard. If so, it kind of promised to preserve the semantics of that behavior. 2018-02-16T07:52:12Z phoe: beach: Yep, but then it's no longer "undefined" per se. 2018-02-16T07:52:28Z beach: Sure. 2018-02-16T07:52:52Z phoe: So defined = defined by the standard + additionally defined by the implementation. 2018-02-16T07:53:05Z beach: Right. 2018-02-16T07:53:22Z emaczen: pjb: is (reduce fn (mapcar (compose #'bt:join-thread (lambda (piece) (bt:make-thread ....))))) the correct form composition for map-reduce? 2018-02-16T07:53:52Z pjb: it's a way to do it, yes. 2018-02-16T07:54:09Z fikka joined #lisp 2018-02-16T07:54:13Z phoe: I think so, yes. 2018-02-16T07:54:21Z pjb: Instead of compose, you can also use :key #'bt:join-thread ;-) 2018-02-16T07:55:04Z phoe: There's been a series of discussions that BT:JOIN-THREAD's return value is not meant to be used as anything meaningful, but I've yet to see a free implementation that doesn't return the thread function's return values in that case. 2018-02-16T07:55:07Z marusich joined #lisp 2018-02-16T07:55:36Z pjb: indeed. CL implementations are nice. 2018-02-16T07:55:36Z phoe: https://github.com/sionescu/bordeaux-threads/issues/39 2018-02-16T07:55:51Z mishoo joined #lisp 2018-02-16T07:55:58Z whoman: https://github.com/eschulte/curry-compose-reader-macros 2018-02-16T07:58:04Z varjag joined #lisp 2018-02-16T07:58:44Z fikka quit (Ping timeout: 260 seconds) 2018-02-16T08:00:15Z test1600 joined #lisp 2018-02-16T08:02:21Z emaczen: I'm just testing out a simple map-reduce with generating a range of numbers, splitting the range into 4 equal partitions since I have 4 cores, and then evaluating. It is actually a lot slower... 2018-02-16T08:03:20Z phoe: emaczen: don't 2018-02-16T08:03:43Z emaczen: ? 2018-02-16T08:03:48Z phoe: https://lparallel.org/preduce/ 2018-02-16T08:03:53Z phoe: https://lparallel.org/pmap-family/ 2018-02-16T08:03:56Z phoe: use these instead 2018-02-16T08:04:12Z fikka joined #lisp 2018-02-16T08:04:18Z emaczen: why? 2018-02-16T08:04:32Z phoe: parallelism is hard 2018-02-16T08:04:49Z phoe: and it's harder to screw up with LPARALLEL than it is by rolling out your own implementations. 2018-02-16T08:04:59Z phoe - a good example 2018-02-16T08:05:00Z emaczen: can someone explain the complexities as to why my simple map-reduce is slow? 2018-02-16T08:05:08Z phoe: emaczen: show me your code 2018-02-16T08:06:06Z emaczen: Using (time ...) the only difference I see between sequential code and my threaded map-reduce code, is that the sequential code uses 0.2% of the CPU and the threaded code uses 77% of the CPU 2018-02-16T08:06:16Z loli quit (Ping timeout: 268 seconds) 2018-02-16T08:06:36Z z3t0 joined #lisp 2018-02-16T08:06:40Z marusich quit (Ping timeout: 240 seconds) 2018-02-16T08:06:53Z emaczen: phoe: my code is not much more complicated than that (reduce fn (map ..)) form I showed earlier 2018-02-16T08:07:02Z phoe: emaczen: show it anyway 2018-02-16T08:07:17Z emaczen: where? is paste.lisp.org still down? 2018-02-16T08:07:19Z phoe: it's hard to get any concrete examples from speculation 2018-02-16T08:07:20Z phoe: pastebin.com 2018-02-16T08:07:23Z phoe: it is AFAIK 2018-02-16T08:08:02Z whoman: just pmap and lparallel and then time and then start getting the chisel out 2018-02-16T08:08:35Z fikka quit (Ping timeout: 240 seconds) 2018-02-16T08:09:01Z emaczen: https://pastebin.com/D1DxHBfC 2018-02-16T08:09:03Z whoman: if you want to do it your way, why insult the vets giving you real world wisdom and making them watch you go through what they went through 2018-02-16T08:09:06Z whoman: js 2018-02-16T08:09:26Z phoe: what is co:smap? 2018-02-16T08:09:38Z phoe: oh wait, I think I get it now 2018-02-16T08:09:45Z emaczen: It is map for a custom doubly-linked-list data structure 2018-02-16T08:10:33Z whoman: (just curious, does it matter if the list is linked in both ways, if the map goes one way?) 2018-02-16T08:11:31Z emaczen: whoman: not sure if it is necessary but I used the previous link for programming ease 2018-02-16T08:11:44Z vyzo joined #lisp 2018-02-16T08:11:58Z openthesky quit (Remote host closed the connection) 2018-02-16T08:12:38Z whoman: they can be mutated/destructed during traversal too, its cool =) just wondering if an existing map could walk it 2018-02-16T08:12:53Z msb quit (Ping timeout: 276 seconds) 2018-02-16T08:14:27Z fikka joined #lisp 2018-02-16T08:16:31Z emaczen: whoman: Actually I don't think it needs to be doubly-linked, however I made a mistake in lower levels of my code so I think I have to 2018-02-16T08:16:32Z Cymew joined #lisp 2018-02-16T08:17:14Z ak5 joined #lisp 2018-02-16T08:17:47Z emaczen: phoe: What were you going to tell me? 2018-02-16T08:17:53Z xoreaxeax joined #lisp 2018-02-16T08:18:20Z emaczen: I actually would like to have more knowledge of just how complex parallelism is 2018-02-16T08:19:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-16T08:19:10Z smasta joined #lisp 2018-02-16T08:19:21Z makomo joined #lisp 2018-02-16T08:19:44Z nullman quit (Ping timeout: 260 seconds) 2018-02-16T08:19:55Z whoman: hmm. careful though! small mistake early on tends to fan out into big mistakes later 2018-02-16T08:20:26Z emaczen: whoman: I know... I've got several from when I first started using CL... 2018-02-16T08:20:43Z nullman joined #lisp 2018-02-16T08:21:30Z whoman: i stay frozen solid unmovable due to immobilizing fear of mistakes. since when i started life... =P 2018-02-16T08:21:39Z python476 quit (Ping timeout: 256 seconds) 2018-02-16T08:21:55Z emaczen: maybe I should see inconvience instead of mistake. 2018-02-16T08:22:45Z DeadTrickster_ quit (Remote host closed the connection) 2018-02-16T08:24:01Z z3t0 quit (Remote host closed the connection) 2018-02-16T08:24:28Z z3t0 joined #lisp 2018-02-16T08:24:34Z fikka joined #lisp 2018-02-16T08:25:55Z msb joined #lisp 2018-02-16T08:27:20Z nullman quit (Remote host closed the connection) 2018-02-16T08:27:34Z nullman joined #lisp 2018-02-16T08:28:48Z z3t0 quit (Ping timeout: 240 seconds) 2018-02-16T08:29:09Z loli joined #lisp 2018-02-16T08:29:32Z fikka quit (Ping timeout: 260 seconds) 2018-02-16T08:31:50Z dmiles quit (Ping timeout: 252 seconds) 2018-02-16T08:31:54Z cpape` joined #lisp 2018-02-16T08:33:33Z krwq quit (Remote host closed the connection) 2018-02-16T08:33:35Z kdridi quit (Read error: Connection reset by peer) 2018-02-16T08:33:45Z cpape quit (Ping timeout: 256 seconds) 2018-02-16T08:38:59Z SaganMan joined #lisp 2018-02-16T08:40:49Z fikka joined #lisp 2018-02-16T08:41:09Z DeadTrickster joined #lisp 2018-02-16T08:41:52Z cpape` quit (Quit: ERC (IRC client for Emacs 25.3.1)) 2018-02-16T08:42:14Z cpape joined #lisp 2018-02-16T08:43:39Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-16T08:44:02Z Ven`` joined #lisp 2018-02-16T08:44:32Z smokeink: Let's say I have this fib function that breaks when the parameter n equals 2 , https://stackoverflow.com/questions/27889989/stepping-in-sbcl-from-within-the-debugger?rq=1 How to proceed to STEPPING , right after the (break) , without using slime's Return From Frame" (R) and manually typing (fib 2) ? 2018-02-16T08:46:48Z python476 joined #lisp 2018-02-16T08:47:30Z beach: You probably can't, depending on the Common Lisp implementation you are using. 2018-02-16T08:48:22Z dmiles joined #lisp 2018-02-16T08:48:49Z Ven`` quit (Ping timeout: 268 seconds) 2018-02-16T08:49:42Z Ven`` joined #lisp 2018-02-16T08:51:01Z smurfrobot joined #lisp 2018-02-16T08:52:08Z emaczen: beach: would you touch on the complexities of parallelism for me? 2018-02-16T08:52:56Z dmiles quit (Ping timeout: 255 seconds) 2018-02-16T08:54:24Z dmiles joined #lisp 2018-02-16T08:54:50Z scymtym joined #lisp 2018-02-16T08:55:31Z fikka quit (Ping timeout: 265 seconds) 2018-02-16T08:55:58Z kdridi joined #lisp 2018-02-16T08:56:05Z smurfrobot quit (Ping timeout: 255 seconds) 2018-02-16T08:58:58Z hhdave_ joined #lisp 2018-02-16T09:01:11Z _cosmonaut_ joined #lisp 2018-02-16T09:01:37Z fikka joined #lisp 2018-02-16T09:04:06Z damke quit (Ping timeout: 252 seconds) 2018-02-16T09:04:10Z mlf quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-16T09:05:23Z Ven`` quit (Ping timeout: 255 seconds) 2018-02-16T09:06:17Z fikka quit (Ping timeout: 255 seconds) 2018-02-16T09:07:59Z iridioid joined #lisp 2018-02-16T09:08:28Z damke_ joined #lisp 2018-02-16T09:10:42Z smasta quit (Ping timeout: 256 seconds) 2018-02-16T09:11:55Z fikka joined #lisp 2018-02-16T09:13:56Z JenElizabeth quit (Ping timeout: 255 seconds) 2018-02-16T09:16:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-16T09:18:08Z fikka joined #lisp 2018-02-16T09:18:21Z emaczen` joined #lisp 2018-02-16T09:18:26Z emaczen` quit (Client Quit) 2018-02-16T09:22:06Z emaczen quit (Ping timeout: 265 seconds) 2018-02-16T09:23:19Z DeadTrickster quit (Read error: Connection reset by peer) 2018-02-16T09:24:28Z madrik joined #lisp 2018-02-16T09:24:29Z DeadTrickster joined #lisp 2018-02-16T09:26:27Z makomo quit (Ping timeout: 240 seconds) 2018-02-16T09:26:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-16T09:27:16Z saki quit (Ping timeout: 256 seconds) 2018-02-16T09:28:05Z smokeink: some implementations have a Restart Frame Stepping option 2018-02-16T09:28:12Z ludston: emaczen: doing things in parallel is pretty easy. The tricky part is the synchronization afterwards. 2018-02-16T09:28:49Z damke_ joined #lisp 2018-02-16T09:29:02Z nsrahmad joined #lisp 2018-02-16T09:29:31Z makomo joined #lisp 2018-02-16T09:30:45Z ludston: That is, if you follow a simple rule; don't ever modify state that is being referred to by more than one thread. Things like mapreduce are handy abstractions that people have invented for following this rule. 2018-02-16T09:33:23Z random-nick joined #lisp 2018-02-16T09:33:51Z lnostdal joined #lisp 2018-02-16T09:34:11Z saki joined #lisp 2018-02-16T09:35:06Z kdridi quit (Remote host closed the connection) 2018-02-16T09:38:19Z Murii joined #lisp 2018-02-16T09:40:26Z dim: doing things concurrently is easy when it makes sense that every one is only minding their own business, computer beings involved or not ;-) 2018-02-16T09:40:58Z dim: (being... I guess... that typo has something to it tho) 2018-02-16T09:41:54Z sjl joined #lisp 2018-02-16T09:42:41Z ludston: Doing trickier things than that is usually a bit of a mine field for other people trying to work with your code. (Imho this is why Google based their parallelism on mapreduce-> it means that Google devs didn't have to worry about the minefield that is trying to guess which state might be modified by multiple threads the first time that they are looking at some code) 2018-02-16T09:44:06Z manualcrank quit (Quit: WeeChat 2.0.1) 2018-02-16T09:44:35Z m00natic joined #lisp 2018-02-16T09:44:49Z DeadTrickster quit (Read error: Connection reset by peer) 2018-02-16T09:45:02Z lnostdal quit (Remote host closed the connection) 2018-02-16T09:45:17Z DeadTrickster joined #lisp 2018-02-16T09:45:17Z lnostdal joined #lisp 2018-02-16T09:45:35Z Kevslinger quit (Quit: Connection closed for inactivity) 2018-02-16T09:45:50Z kdridi joined #lisp 2018-02-16T09:46:24Z sjl quit (Ping timeout: 256 seconds) 2018-02-16T09:47:09Z dim: or do it the Erlang way: message passing only, share nothing 2018-02-16T09:49:50Z damke joined #lisp 2018-02-16T09:51:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-16T09:53:38Z smurfrobot joined #lisp 2018-02-16T09:58:18Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-16T09:59:14Z attila_lendvai joined #lisp 2018-02-16T10:01:17Z beach: ::notify emaczen You might want to look at Amdahl's law: https://en.wikipedia.org/wiki/Amdahl%27s_law 2018-02-16T10:01:17Z Colleen: beach: Got it. I'll let emaczen know as soon as possible. 2018-02-16T10:03:08Z orivej joined #lisp 2018-02-16T10:04:37Z kdridi quit (Ping timeout: 260 seconds) 2018-02-16T10:06:04Z damke_ joined #lisp 2018-02-16T10:06:57Z damke quit (Ping timeout: 264 seconds) 2018-02-16T10:09:33Z kdridi joined #lisp 2018-02-16T10:09:48Z ak5 quit (Ping timeout: 240 seconds) 2018-02-16T10:12:30Z SaganMan quit (Quit: WeeChat 1.6) 2018-02-16T10:13:39Z nsrahmad quit (Read error: Connection reset by peer) 2018-02-16T10:13:54Z nsrahmad joined #lisp 2018-02-16T10:18:28Z shifty joined #lisp 2018-02-16T10:18:51Z thallia quit (Ping timeout: 268 seconds) 2018-02-16T10:19:56Z kdridi quit (Remote host closed the connection) 2018-02-16T10:20:25Z thallia joined #lisp 2018-02-16T10:21:14Z ak5 joined #lisp 2018-02-16T10:26:53Z mishoo quit (Ping timeout: 256 seconds) 2018-02-16T10:29:19Z nirved joined #lisp 2018-02-16T10:30:59Z thallia quit (Ping timeout: 260 seconds) 2018-02-16T10:37:24Z thallia joined #lisp 2018-02-16T10:38:59Z smokeink: Why is sbcl's core image (27mb) so huge in comparison to Corman CL's (1.5mb) ? How is it that FreeBasic can create binaries as small as 120kb (that can portably plot gfx onto a GUI window ) ? 2018-02-16T10:39:02Z nullman quit (Ping timeout: 260 seconds) 2018-02-16T10:39:16Z nullman joined #lisp 2018-02-16T10:40:19Z smokeink: .. and most lisps can't produce such small binaries .. ? 2018-02-16T10:40:39Z beach: smokeink: There is often a trade-off between speed and size due to inlining. 2018-02-16T10:40:52Z dim: compare with Go binary images maybe, or those produced by something that doesn't link/require libc at runtime 2018-02-16T10:41:28Z beach: smokeink: The Common Lisp runtime is more complex than (say) that of C, because CLOS needs the compiler and there is the garbage collector of course. 2018-02-16T10:41:38Z dim: IME most small executable binaries are small because they just rely on the right version of libc being there at runtime 2018-02-16T10:41:53Z dim: (but maybe I got that all wrong) 2018-02-16T10:42:02Z phoe: you bundle all of Lisp with your executables, that's why. 2018-02-16T10:42:11Z beach: smokeink: Having said that, I think someone should create a Common Lisp implementation where most of the code is in a shared library. 2018-02-16T10:42:18Z phoe: beach: you mean ECL? 2018-02-16T10:42:20Z phoe: (: 2018-02-16T10:42:23Z Ven`` joined #lisp 2018-02-16T10:42:32Z beach: Maybe so. 2018-02-16T10:42:42Z mishoo joined #lisp 2018-02-16T10:42:45Z phoe: the ECL binary is AFAIK just a tiny call to libecl.so 2018-02-16T10:42:57Z beach: smokeink: Then again, you might want to ask yourself whether it matters. 2018-02-16T10:43:00Z phoe: but I'm not a specialist here 2018-02-16T10:43:08Z phoe: jackdaniel: requesting support 2018-02-16T10:43:22Z jackdaniel: support for what? 2018-02-16T10:43:35Z jackdaniel: libecl may be reduced to around 200kb as well (just saying) 2018-02-16T10:43:40Z phoe: am I correct up there? 2018-02-16T10:43:47Z phoe: oh, I see 2018-02-16T10:44:03Z jackdaniel: ecl binary is indeed application linked with libecl which provides core runtime 2018-02-16T10:44:29Z jackdaniel: of course libecl may be statically linked in it (not by default though) 2018-02-16T10:44:56Z deba5e12 quit (Quit: WeeChat 1.9.1) 2018-02-16T10:45:24Z deba5e12 joined #lisp 2018-02-16T10:45:25Z jackdaniel: fwiw that's how ECL graphical application works on android – libecl is accessed via jni wrapper from java 2018-02-16T10:46:43Z smokeink: sbcl also depends on libc at runtime, doesn't it ? 2018-02-16T10:47:13Z Shinmera: What doesn't these days 2018-02-16T10:47:19Z kdridi joined #lisp 2018-02-16T10:48:07Z stacksmith: sbcl.org is offline 2018-02-16T10:48:19Z phoe: stacksmith: Sourceforge is. 2018-02-16T10:48:21Z jackdaniel: sourceforge migration 2018-02-16T10:50:28Z dmiles: i wonder how muchg of ECL is available to external apps via libffi 2018-02-16T10:50:52Z dmiles: sounds like quite a bit 2018-02-16T10:50:56Z phoe: dmiles: AFAIK you can call Lisp from C in ECL, it provides the interface for it 2018-02-16T10:50:57Z mishoo quit (Ping timeout: 240 seconds) 2018-02-16T10:51:58Z jackdaniel: dmiles: all functions are (unless they are bytecompiled, in that case you have to use cl_funcall) 2018-02-16T10:52:50Z jackdaniel: there is a calling convention for functions with &optional, &key etc as well as for closures 2018-02-16T10:54:11Z jackdaniel: that said, I'm focused on clim today :-) 2018-02-16T10:54:12Z dmiles: very nice.. (despite working on wam-cl i have quite a bit i plan being done with ECL from SWI-Prolog's new LibFFI) 2018-02-16T10:54:31Z kdridi quit (Remote host closed the connection) 2018-02-16T10:55:12Z orivej_ joined #lisp 2018-02-16T10:55:15Z kdridi joined #lisp 2018-02-16T10:55:40Z fikka quit (Ping timeout: 256 seconds) 2018-02-16T10:55:41Z jackdaniel: uh oh, figured out a bug I was tracing for an hour :) 2018-02-16T10:55:53Z orivej quit (Read error: Connection reset by peer) 2018-02-16T10:56:01Z nsrahmad quit (Read error: Connection reset by peer) 2018-02-16T10:56:52Z jackdaniel: fittestbits: I have good news for you, I've fixed the ticket you reported yesterday (will push in a minute) 2018-02-16T10:56:55Z dmiles: sometimes completely unrealated to all the troubleshooting :P 2018-02-16T11:00:06Z jackdaniel: not this time though :p 2018-02-16T11:01:56Z dmiles: optional 2018-02-16T11:01:59Z dmiles: oops 2018-02-16T11:03:59Z orivej_ quit (Ping timeout: 248 seconds) 2018-02-16T11:08:09Z nsrahmad joined #lisp 2018-02-16T11:11:38Z smurfrobot joined #lisp 2018-02-16T11:11:54Z fikka joined #lisp 2018-02-16T11:15:22Z makomo quit (Ping timeout: 252 seconds) 2018-02-16T11:15:59Z kdridi quit (Remote host closed the connection) 2018-02-16T11:16:22Z smurfrobot quit (Ping timeout: 260 seconds) 2018-02-16T11:16:57Z fikka quit (Ping timeout: 260 seconds) 2018-02-16T11:17:26Z python476 quit (Ping timeout: 268 seconds) 2018-02-16T11:19:08Z kdridi joined #lisp 2018-02-16T11:19:34Z vap1 quit (Remote host closed the connection) 2018-02-16T11:23:28Z kdridi quit (Remote host closed the connection) 2018-02-16T11:25:06Z kdridi joined #lisp 2018-02-16T11:25:33Z thallia quit (Ping timeout: 264 seconds) 2018-02-16T11:25:48Z fikka joined #lisp 2018-02-16T11:27:05Z kdridi quit (Remote host closed the connection) 2018-02-16T11:27:42Z thallia joined #lisp 2018-02-16T11:33:05Z thallia quit (Ping timeout: 265 seconds) 2018-02-16T11:38:13Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-16T11:38:21Z thallia joined #lisp 2018-02-16T11:40:35Z attila_lendvai joined #lisp 2018-02-16T11:40:39Z nsrahmad quit (Quit: Leaving) 2018-02-16T11:40:43Z smaster joined #lisp 2018-02-16T11:43:16Z iridioid quit (Ping timeout: 256 seconds) 2018-02-16T11:46:58Z madrik quit (Remote host closed the connection) 2018-02-16T11:49:24Z scymtym: fe[nl]ix: could you make a fiveam release? i think the accumulated changes justify one 2018-02-16T11:50:23Z sjl joined #lisp 2018-02-16T11:51:38Z sjl__ joined #lisp 2018-02-16T11:54:26Z fe[nl]ix: will do 2018-02-16T11:54:48Z sjl quit (Ping timeout: 240 seconds) 2018-02-16T11:58:45Z scymtym: thank you 2018-02-16T11:58:56Z fe[nl]ix: scymtym: please test it in the meanwhile 2018-02-16T12:00:09Z scymtym: fe[nl]ix: anything in particular? i'm using master all the time without problems 2018-02-16T12:00:31Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-16T12:01:16Z gabiruh joined #lisp 2018-02-16T12:02:54Z scymtym: fe[nl]ix: maybe getting rid of asdf's "recursive use of test-op" before the release would be good? or immediately after the release, depending on how you operate w.r.t. these things 2018-02-16T12:07:55Z raynold quit (Quit: Connection closed for inactivity) 2018-02-16T12:09:18Z scymtym: fe[nl]ix: https://github.com/sionescu/fiveam/pull/53 2018-02-16T12:12:49Z nsrahmad joined #lisp 2018-02-16T12:13:35Z jstypo quit (Ping timeout: 240 seconds) 2018-02-16T12:15:18Z jstypo joined #lisp 2018-02-16T12:16:44Z fe[nl]ix: scymtym: thanks 2018-02-16T12:17:13Z Murii quit (Remote host closed the connection) 2018-02-16T12:24:12Z Ven`` joined #lisp 2018-02-16T12:25:52Z dddddd joined #lisp 2018-02-16T12:27:57Z wigust joined #lisp 2018-02-16T12:29:35Z Kaisyu joined #lisp 2018-02-16T12:30:54Z saki quit (Ping timeout: 252 seconds) 2018-02-16T12:32:10Z vap1 joined #lisp 2018-02-16T12:32:17Z vaporatorius joined #lisp 2018-02-16T12:32:27Z saki joined #lisp 2018-02-16T12:33:23Z ludston quit (Quit: -a- Connection Timed Out) 2018-02-16T12:33:36Z ludston joined #lisp 2018-02-16T12:36:38Z vap1 quit (Client Quit) 2018-02-16T12:39:47Z d4ryus3 is now known as d4ryus 2018-02-16T12:46:26Z nsrahmad quit (Quit: Leaving) 2018-02-16T12:52:08Z EvW joined #lisp 2018-02-16T12:53:18Z smurfrobot joined #lisp 2018-02-16T12:54:11Z Murii joined #lisp 2018-02-16T12:56:09Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-16T13:03:02Z makomo joined #lisp 2018-02-16T13:04:50Z alexmlw joined #lisp 2018-02-16T13:08:17Z thallia quit (Ping timeout: 248 seconds) 2018-02-16T13:09:05Z smurfrobot quit (Remote host closed the connection) 2018-02-16T13:10:01Z thallia joined #lisp 2018-02-16T13:12:58Z smurfrobot joined #lisp 2018-02-16T13:13:30Z kdridi joined #lisp 2018-02-16T13:15:36Z lucasb joined #lisp 2018-02-16T13:17:40Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-16T13:21:34Z Denommus joined #lisp 2018-02-16T13:23:43Z lksmk joined #lisp 2018-02-16T13:23:57Z alexmlw quit (Quit: alexmlw) 2018-02-16T13:25:59Z fittestbits1 joined #lisp 2018-02-16T13:26:23Z fittestbits quit (Ping timeout: 255 seconds) 2018-02-16T13:30:32Z fikka quit (Ping timeout: 265 seconds) 2018-02-16T13:31:02Z mareskeg joined #lisp 2018-02-16T13:31:32Z solyd joined #lisp 2018-02-16T13:32:32Z Tobbi joined #lisp 2018-02-16T13:32:51Z comborico1611 joined #lisp 2018-02-16T13:36:22Z saki quit (Ping timeout: 260 seconds) 2018-02-16T13:38:10Z solyd quit (Quit: solyd) 2018-02-16T13:38:14Z EvW quit (Ping timeout: 260 seconds) 2018-02-16T13:39:48Z papachan_ is now known as papachan 2018-02-16T13:41:23Z fikka joined #lisp 2018-02-16T13:42:58Z EvW joined #lisp 2018-02-16T13:44:42Z smurfrobot joined #lisp 2018-02-16T13:44:44Z kdridi quit (Remote host closed the connection) 2018-02-16T13:46:19Z damke joined #lisp 2018-02-16T13:48:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-16T13:50:00Z jstypo quit (Remote host closed the connection) 2018-02-16T13:53:05Z python476 joined #lisp 2018-02-16T13:54:41Z smurfrobot quit (Ping timeout: 268 seconds) 2018-02-16T13:55:11Z thallia quit (Ping timeout: 248 seconds) 2018-02-16T13:58:18Z thallia joined #lisp 2018-02-16T13:59:27Z LiamH joined #lisp 2018-02-16T14:01:08Z mareskeg quit (Quit: mareskeg) 2018-02-16T14:01:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-16T14:01:57Z python476 left #lisp 2018-02-16T14:02:04Z nydel quit (Read error: Connection reset by peer) 2018-02-16T14:07:42Z fikka joined #lisp 2018-02-16T14:09:39Z kdridi joined #lisp 2018-02-16T14:10:39Z mareskeg joined #lisp 2018-02-16T14:12:28Z Murii quit (Ping timeout: 252 seconds) 2018-02-16T14:12:39Z fikka quit (Ping timeout: 260 seconds) 2018-02-16T14:13:21Z xoreaxeax left #lisp 2018-02-16T14:13:33Z joast quit (Quit: Leaving.) 2018-02-16T14:14:21Z joast joined #lisp 2018-02-16T14:16:13Z Kevslinger joined #lisp 2018-02-16T14:16:30Z drewc quit (Ping timeout: 252 seconds) 2018-02-16T14:17:04Z warweasle joined #lisp 2018-02-16T14:17:45Z fikka joined #lisp 2018-02-16T14:22:33Z thallia quit (Ping timeout: 264 seconds) 2018-02-16T14:22:57Z fikka quit (Ping timeout: 248 seconds) 2018-02-16T14:24:17Z Ven`` joined #lisp 2018-02-16T14:24:34Z thallia joined #lisp 2018-02-16T14:26:15Z mareskeg quit (Quit: mareskeg) 2018-02-16T14:26:33Z smokeink quit (Quit: Leaving) 2018-02-16T14:29:22Z fikka joined #lisp 2018-02-16T14:33:53Z Bike joined #lisp 2018-02-16T14:34:39Z rstandy joined #lisp 2018-02-16T14:37:02Z lksmk quit (Ping timeout: 276 seconds) 2018-02-16T14:37:21Z Ven`` quit (Ping timeout: 248 seconds) 2018-02-16T14:39:03Z Kaisyu quit (Quit: Connection closed for inactivity) 2018-02-16T14:40:22Z Ven`` joined #lisp 2018-02-16T14:42:35Z rumbler31 joined #lisp 2018-02-16T14:44:24Z rumbler31: antov: find anything? 2018-02-16T14:44:32Z rumbler31: antonov: ^ 2018-02-16T14:47:33Z Ven`` quit (Ping timeout: 256 seconds) 2018-02-16T14:47:33Z xristos joined #lisp 2018-02-16T14:47:51Z xristos is now known as Guest35235 2018-02-16T14:49:18Z kdridi quit (Remote host closed the connection) 2018-02-16T14:49:38Z thallia quit (Ping timeout: 255 seconds) 2018-02-16T14:51:54Z kdridi joined #lisp 2018-02-16T14:52:15Z thallia joined #lisp 2018-02-16T14:59:46Z Poeticode_ joined #lisp 2018-02-16T15:00:42Z Poeticode_ quit (Changing host) 2018-02-16T15:00:42Z Poeticode_ joined #lisp 2018-02-16T15:01:01Z Poeticode quit (Disconnected by services) 2018-02-16T15:01:28Z Poeticode_ is now known as Poeticode 2018-02-16T15:01:43Z flamebeard quit (Quit: Leaving) 2018-02-16T15:02:12Z zooey quit (Remote host closed the connection) 2018-02-16T15:03:01Z zooey joined #lisp 2018-02-16T15:14:09Z smaster quit (Ping timeout: 264 seconds) 2018-02-16T15:17:47Z jstypo joined #lisp 2018-02-16T15:18:29Z saki joined #lisp 2018-02-16T15:19:31Z orivej joined #lisp 2018-02-16T15:20:18Z ak5 quit (Ping timeout: 256 seconds) 2018-02-16T15:21:21Z Ven`` joined #lisp 2018-02-16T15:22:36Z smurfrobot joined #lisp 2018-02-16T15:23:43Z Patternmaster quit (Quit: leaving) 2018-02-16T15:27:48Z smurfrobot quit (Ping timeout: 268 seconds) 2018-02-16T15:29:11Z rippa joined #lisp 2018-02-16T15:31:49Z ak5 joined #lisp 2018-02-16T15:31:59Z drewc joined #lisp 2018-02-16T15:33:36Z al-damiri joined #lisp 2018-02-16T15:38:17Z rstandy quit (Ping timeout: 268 seconds) 2018-02-16T15:41:21Z JenElizabeth joined #lisp 2018-02-16T15:42:04Z SaganMan joined #lisp 2018-02-16T15:42:42Z JenElizabeth quit (Remote host closed the connection) 2018-02-16T15:46:28Z Cymew quit (Remote host closed the connection) 2018-02-16T15:46:40Z fikka quit (Ping timeout: 240 seconds) 2018-02-16T15:47:07Z kdridi quit (Remote host closed the connection) 2018-02-16T15:47:42Z giraffe quit (Remote host closed the connection) 2018-02-16T15:47:42Z itruslove quit (Remote host closed the connection) 2018-02-16T15:48:28Z Murii joined #lisp 2018-02-16T15:50:40Z arbv quit (Ping timeout: 240 seconds) 2018-02-16T15:51:02Z Arcaelyx joined #lisp 2018-02-16T15:52:12Z fikka joined #lisp 2018-02-16T15:52:16Z arbv joined #lisp 2018-02-16T15:52:29Z smokeink joined #lisp 2018-02-16T15:55:24Z kdridi joined #lisp 2018-02-16T15:56:57Z fikka quit (Ping timeout: 260 seconds) 2018-02-16T16:00:26Z smokeink quit (Ping timeout: 255 seconds) 2018-02-16T16:02:27Z vultyre joined #lisp 2018-02-16T16:03:50Z smaster joined #lisp 2018-02-16T16:08:05Z smaster quit (Ping timeout: 240 seconds) 2018-02-16T16:12:17Z saki quit (Ping timeout: 248 seconds) 2018-02-16T16:12:27Z fikka joined #lisp 2018-02-16T16:14:09Z nullman quit (Ping timeout: 264 seconds) 2018-02-16T16:14:27Z saki joined #lisp 2018-02-16T16:15:42Z nullman joined #lisp 2018-02-16T16:16:59Z Tobbi quit (Remote host closed the connection) 2018-02-16T16:17:05Z fikka quit (Ping timeout: 256 seconds) 2018-02-16T16:18:03Z m00natic quit (Remote host closed the connection) 2018-02-16T16:18:30Z porky11 joined #lisp 2018-02-16T16:20:51Z Karl_Dscc joined #lisp 2018-02-16T16:22:53Z fikka joined #lisp 2018-02-16T16:27:59Z fikka quit (Ping timeout: 260 seconds) 2018-02-16T16:28:15Z nullman quit (Ping timeout: 248 seconds) 2018-02-16T16:32:55Z fikka joined #lisp 2018-02-16T16:34:52Z windblow joined #lisp 2018-02-16T16:36:43Z markong joined #lisp 2018-02-16T16:36:44Z smurfrobot joined #lisp 2018-02-16T16:37:51Z fikka quit (Ping timeout: 248 seconds) 2018-02-16T16:38:20Z jmercouris joined #lisp 2018-02-16T16:38:34Z nullman joined #lisp 2018-02-16T16:39:00Z raynold joined #lisp 2018-02-16T16:40:55Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-16T16:41:51Z Ven`` joined #lisp 2018-02-16T16:42:39Z Ven`` quit (Client Quit) 2018-02-16T16:46:07Z Patternmaster joined #lisp 2018-02-16T16:46:51Z Josh_2` joined #lisp 2018-02-16T16:47:06Z Josh_2` quit (Read error: Connection reset by peer) 2018-02-16T16:47:26Z Josh_2 joined #lisp 2018-02-16T16:47:29Z thodg quit (Ping timeout: 248 seconds) 2018-02-16T16:47:32Z lonjil quit (Ping timeout: 255 seconds) 2018-02-16T16:47:36Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-16T16:47:37Z nowhere_man joined #lisp 2018-02-16T16:50:29Z rstandy joined #lisp 2018-02-16T16:51:27Z nowhereman_ quit (Ping timeout: 240 seconds) 2018-02-16T16:53:04Z fikka joined #lisp 2018-02-16T16:56:27Z lonjil joined #lisp 2018-02-16T16:57:20Z smurfrobot quit (Remote host closed the connection) 2018-02-16T16:58:05Z fikka quit (Ping timeout: 276 seconds) 2018-02-16T16:59:14Z EvW quit (Ping timeout: 255 seconds) 2018-02-16T17:00:08Z _cosmonaut_ quit (Ping timeout: 255 seconds) 2018-02-16T17:00:12Z stnutt joined #lisp 2018-02-16T17:00:49Z Karl_Dscc quit (Remote host closed the connection) 2018-02-16T17:04:38Z fikka joined #lisp 2018-02-16T17:12:05Z d0peCanoe joined #lisp 2018-02-16T17:16:30Z Tobbi joined #lisp 2018-02-16T17:16:56Z saki quit (Ping timeout: 276 seconds) 2018-02-16T17:17:40Z nowhere_man quit (Ping timeout: 240 seconds) 2018-02-16T17:19:48Z itruslove joined #lisp 2018-02-16T17:22:22Z varjag joined #lisp 2018-02-16T17:22:25Z Guest35235 is now known as xristos 2018-02-16T17:22:29Z xristos quit (Changing host) 2018-02-16T17:22:29Z xristos joined #lisp 2018-02-16T17:23:22Z giraffe joined #lisp 2018-02-16T17:23:37Z gko quit (Quit: ZNC - http://znc.in) 2018-02-16T17:27:21Z comborico1611 quit (Ping timeout: 256 seconds) 2018-02-16T17:27:31Z Ven`` joined #lisp 2018-02-16T17:28:29Z SaganMan quit (Quit: later) 2018-02-16T17:28:31Z kdridi quit (Remote host closed the connection) 2018-02-16T17:28:52Z fourier joined #lisp 2018-02-16T17:29:15Z fourier quit (Changing host) 2018-02-16T17:29:15Z fourier joined #lisp 2018-02-16T17:31:30Z gko joined #lisp 2018-02-16T17:33:57Z fourier quit (Ping timeout: 240 seconds) 2018-02-16T17:35:38Z saki joined #lisp 2018-02-16T17:36:49Z fikka quit (Ping timeout: 260 seconds) 2018-02-16T17:38:23Z hhdave_ quit (Ping timeout: 276 seconds) 2018-02-16T17:39:18Z mareskeg joined #lisp 2018-02-16T17:40:04Z mareskeg quit (Client Quit) 2018-02-16T17:40:58Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-02-16T17:42:27Z fikka joined #lisp 2018-02-16T17:44:47Z mlf joined #lisp 2018-02-16T17:47:04Z fikka quit (Ping timeout: 256 seconds) 2018-02-16T17:48:31Z fourier joined #lisp 2018-02-16T17:51:59Z smaster joined #lisp 2018-02-16T17:52:05Z butterthebuddha quit (Ping timeout: 240 seconds) 2018-02-16T17:52:29Z fikka joined #lisp 2018-02-16T17:53:06Z Cymew joined #lisp 2018-02-16T17:54:00Z fdund joined #lisp 2018-02-16T17:54:47Z mepian: does anyone know why sbcl.org is down? 2018-02-16T17:56:12Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-16T17:56:39Z smaster quit (Ping timeout: 260 seconds) 2018-02-16T17:57:10Z Cymew quit (Ping timeout: 240 seconds) 2018-02-16T17:57:39Z fikka quit (Ping timeout: 268 seconds) 2018-02-16T17:58:06Z Xach: mepian: it is because sourceforge is down, and sbcl.org is hosted on sourceforge 2018-02-16T17:58:25Z Xach: mepian: sourceforge should not be down a lot longer, but who knows 2018-02-16T17:59:10Z Cymew joined #lisp 2018-02-16T18:00:26Z mepian: Xach: I see, hopefully it will be up soon 2018-02-16T18:00:40Z emacsomancer joined #lisp 2018-02-16T18:00:51Z butterthebuddha joined #lisp 2018-02-16T18:01:35Z orivej quit (Ping timeout: 248 seconds) 2018-02-16T18:01:56Z Xach: mepian: that said, the error I see today is different from the recent errors 2018-02-16T18:03:23Z fourier quit (Changing host) 2018-02-16T18:03:24Z fourier joined #lisp 2018-02-16T18:03:39Z Cymew quit (Ping timeout: 260 seconds) 2018-02-16T18:05:18Z Cymew joined #lisp 2018-02-16T18:07:18Z pfdietz_ joined #lisp 2018-02-16T18:07:42Z pfdietz_: Sourceforge is up. 2018-02-16T18:08:48Z pfdietz_: Https://sourceforge.net/projects/sbcl/ 2018-02-16T18:09:11Z Xach: Ok, I was wrong about sourceforge. I wonder why the site is still down. 2018-02-16T18:09:11Z Ven`` joined #lisp 2018-02-16T18:10:09Z Cymew quit (Ping timeout: 248 seconds) 2018-02-16T18:11:08Z nowhere_man joined #lisp 2018-02-16T18:11:10Z phoe: Ask on #sbcl. 2018-02-16T18:11:14Z pfdietz_: I think it was hosted there. Guessing they need to update sbcl.org's IP address? 2018-02-16T18:11:20Z phoe: ...or I will. 2018-02-16T18:12:24Z phoe: Yep, said it. 2018-02-16T18:12:35Z lksmk joined #lisp 2018-02-16T18:12:43Z fikka joined #lisp 2018-02-16T18:13:40Z Cymew joined #lisp 2018-02-16T18:14:10Z makomo quit (Ping timeout: 240 seconds) 2018-02-16T18:14:18Z fdund quit (Ping timeout: 268 seconds) 2018-02-16T18:14:30Z fourier: is mocl cl project dead ? 2018-02-16T18:14:41Z fourier: haven't heard of them for quite a long time 2018-02-16T18:15:46Z Xach: fourier: I would ask the vendor about it 2018-02-16T18:15:52Z phoe: https://wukix.com/mocl 2018-02-16T18:15:57Z Xach: I don't think anyone here is in the intended audience 2018-02-16T18:16:08Z fourier: heh they will always say its alive :) 2018-02-16T18:16:33Z sjl__ quit (Ping timeout: 264 seconds) 2018-02-16T18:16:36Z Xach: fourier: I don't think that's certain. 2018-02-16T18:17:37Z fikka quit (Ping timeout: 248 seconds) 2018-02-16T18:18:09Z Cymew quit (Ping timeout: 248 seconds) 2018-02-16T18:20:04Z fdund joined #lisp 2018-02-16T18:20:12Z makomo joined #lisp 2018-02-16T18:21:37Z pjb: fourier: indeed, despite being a commercial venture, mocl doesn't seem to benefit from a lot of resources. Of course, since my bug reports were dead letter, I didn't renew my license. 2018-02-16T18:21:49Z phoe: Update on SBCL: SFnet still works on their transition, they are not done yet. 2018-02-16T18:22:02Z saki quit (Ping timeout: 276 seconds) 2018-02-16T18:22:02Z pjb: fourier: you would have to pay for a source license, and debug it yourself. At that price, I find it preferable to work on clicc. 2018-02-16T18:22:46Z raynold: Ahh it's a wonderful day 2018-02-16T18:23:00Z pjb: fourier: that said, if you can accept that it's only an implementation of a strict subset of CL, you can consider that it works nicely enough for the intended purpose. 2018-02-16T18:23:57Z saki joined #lisp 2018-02-16T18:24:12Z pjb: fourier: of course, since you still have to implement the UI in kotlin or swift, and since you can compile kotlin on iOS, the question is whether it's worth the trouble to use CL for the core of the application, given that you won't be able to use random CL libraries with it (basically you have to write subset-CL code from scratch). 2018-02-16T18:24:26Z pjb: (and kotlin and swift can run on the server as well). 2018-02-16T18:24:27Z fourier: pjb: thats what I suspected. 2018-02-16T18:24:49Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-16T18:25:24Z pjb: fourier: you can have a look at the #-mocl in com.informatimago to evaluate if that would be a problem for you. 2018-02-16T18:25:24Z fourier: I was generally curious, since it was promising on startup, but faded away 2018-02-16T18:25:47Z Cymew joined #lisp 2018-02-16T18:26:03Z pjb: Again, while I'm dissatisfied, it can meet your requirements, so I wouldn't discard it without an evaluation. 2018-02-16T18:26:31Z pjb: Perhaps in practice it can still be useful. 2018-02-16T18:27:03Z pjb: One main problem however, is that a lot of mobile applications actually do not contain any core code! Instead they're just UI, tunneling information from the backend server to the screen… 2018-02-16T18:28:12Z pjb: So unless you have an application that actually does something locally (eg. that can be useful while not being connected ot the Internet), it may be not that useful. 2018-02-16T18:28:50Z fourier: architecture wise most of the time it is better, easy to maintain etc. 2018-02-16T18:30:23Z Cymew quit (Ping timeout: 276 seconds) 2018-02-16T18:31:55Z Cymew joined #lisp 2018-02-16T18:31:55Z pjb: Sure, if you have this core computation. But this is not the case in 75% of mobile applications. 2018-02-16T18:32:15Z Ven`` joined #lisp 2018-02-16T18:32:57Z fikka joined #lisp 2018-02-16T18:36:05Z Cymew quit (Ping timeout: 240 seconds) 2018-02-16T18:37:35Z fikka quit (Ping timeout: 240 seconds) 2018-02-16T18:40:27Z fourier quit (Ping timeout: 256 seconds) 2018-02-16T18:41:20Z lucasb quit (Quit: leaving) 2018-02-16T18:41:24Z sjl__ joined #lisp 2018-02-16T18:43:22Z sjl joined #lisp 2018-02-16T18:43:26Z fikka joined #lisp 2018-02-16T18:46:08Z fourier joined #lisp 2018-02-16T18:46:57Z sjl__ quit (Ping timeout: 248 seconds) 2018-02-16T18:48:01Z fikka quit (Ping timeout: 256 seconds) 2018-02-16T18:53:14Z test1600 quit (Ping timeout: 276 seconds) 2018-02-16T18:53:30Z fikka joined #lisp 2018-02-16T18:58:18Z fikka quit (Ping timeout: 240 seconds) 2018-02-16T19:01:18Z pfdietz_ quit (Ping timeout: 240 seconds) 2018-02-16T19:02:03Z lksmk quit (Quit: leaving) 2018-02-16T19:02:09Z fdund quit (Ping timeout: 264 seconds) 2018-02-16T19:03:42Z fikka joined #lisp 2018-02-16T19:04:02Z kotrcka joined #lisp 2018-02-16T19:08:47Z fikka quit (Ping timeout: 256 seconds) 2018-02-16T19:09:16Z fdund joined #lisp 2018-02-16T19:11:38Z dieggsy joined #lisp 2018-02-16T19:11:54Z rstandy quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-16T19:13:51Z fikka joined #lisp 2018-02-16T19:14:41Z nowhere_man quit (Ping timeout: 248 seconds) 2018-02-16T19:14:43Z Tobbi quit (Remote host closed the connection) 2018-02-16T19:18:25Z fikka quit (Ping timeout: 248 seconds) 2018-02-16T19:19:58Z Tobbi joined #lisp 2018-02-16T19:22:39Z emaczen joined #lisp 2018-02-16T19:22:49Z EvW1 joined #lisp 2018-02-16T19:23:20Z emaczen: will anyone explain some details about the complexities of writing your own concurrency especially via (reduce (map ...))? 2018-02-16T19:23:20Z Colleen: emaczen: beach said 9 hours, 22 minutes ago: You might want to look at Amdahl's law: https://en.wikipedia.org/wiki/Amdahl%27s_law 2018-02-16T19:23:43Z emaczen: beach: haha I'll look at it now 2018-02-16T19:24:18Z fikka joined #lisp 2018-02-16T19:26:38Z LocaMocha quit (Remote host closed the connection) 2018-02-16T19:28:01Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-16T19:28:50Z attila_lendvai joined #lisp 2018-02-16T19:28:50Z attila_lendvai quit (Changing host) 2018-02-16T19:28:50Z attila_lendvai joined #lisp 2018-02-16T19:32:17Z Arcaelyx quit (Ping timeout: 248 seconds) 2018-02-16T19:36:38Z emaczen: I understand the basics of Amdahl's law, I would like to know more generally about why my highly parallelizable program is not faster than running serially. How much overhead is bt:make-thread and bt:join-thread? 2018-02-16T19:37:09Z emaczen: Is partitioning your data into the amount of cores your machine has a good idea? 2018-02-16T19:37:57Z Arcaelyx joined #lisp 2018-02-16T19:38:07Z epony joined #lisp 2018-02-16T19:38:22Z orivej joined #lisp 2018-02-16T19:38:57Z Bike: does "highly parallelizable" mean it's not actually parallelized? 2018-02-16T19:39:26Z emaczen: Bike: Let me see if I can find my paste from last night 2018-02-16T19:40:16Z smaster joined #lisp 2018-02-16T19:42:57Z milanj quit (Ping timeout: 248 seconds) 2018-02-16T19:44:40Z smaster quit (Ping timeout: 252 seconds) 2018-02-16T19:46:44Z milanj joined #lisp 2018-02-16T19:47:17Z borei joined #lisp 2018-02-16T19:47:20Z Arcaelyx quit (Max SendQ exceeded) 2018-02-16T19:47:34Z borei: hi all ! 2018-02-16T19:48:16Z jmercouris: hello 2018-02-16T19:48:32Z EvW1 quit (Ping timeout: 260 seconds) 2018-02-16T19:49:39Z borei: can somebody point me to the right direction 2018-02-16T19:49:43Z borei: https://pastebin.com/5Hk27DDS 2018-02-16T19:50:15Z borei: optimizer is not happy with line 6 2018-02-16T19:50:39Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-16T19:51:36Z nullman quit (Ping timeout: 256 seconds) 2018-02-16T19:51:59Z Arcaelyx joined #lisp 2018-02-16T19:52:26Z nullman joined #lisp 2018-02-16T19:53:52Z Bike: borei: you tell it it's a simple array, but not what the element type of that array is. do you know? like, is it a general array, or a string, or could it be either? 2018-02-16T19:54:23Z Bike: you also don't tell it the rank of the array 2018-02-16T19:55:45Z borei: element type is (simple-array single-float (4)) 2018-02-16T19:55:45Z random-nick quit (Ping timeout: 248 seconds) 2018-02-16T19:55:52Z borei: it's array of arrays 2018-02-16T19:56:37Z bjorkintosh joined #lisp 2018-02-16T19:56:50Z fikka quit (Ping timeout: 256 seconds) 2018-02-16T19:56:58Z emaczen: Bike: https://pastebin.com/mHAW5cjz -- I made a new paste with slightly different code 2018-02-16T19:57:13Z Bike: borei: and it's one dimensional? 2018-02-16T19:57:34Z borei: yep, all my arrays are 1D 2018-02-16T19:58:03Z Bike: borei: then you can write (the (simple-array (simple-array single-float (4)) (*)) (elements matrix)) 2018-02-16T19:58:03Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-16T19:58:10Z emaczen: Bike: my paste from last night was from a custom linked-list data-structure, so to remove all doubts about my customized code being the reason that the code is slow (which it does probably add to that fact since there is overhead with CLOS), this paste is just a plain old lisp list. 2018-02-16T19:59:03Z Bike: and how big is n, here? 2018-02-16T19:59:28Z emaczen: I'm testing with 10^4 and then I will keep increasing by a power. 2018-02-16T19:59:29Z dmiles quit (Read error: Connection reset by peer) 2018-02-16T19:59:58Z vultyre quit (Read error: Connection reset by peer) 2018-02-16T20:00:33Z attila_lendvai joined #lisp 2018-02-16T20:00:33Z attila_lendvai quit (Changing host) 2018-02-16T20:00:33Z attila_lendvai joined #lisp 2018-02-16T20:01:25Z Ven`` joined #lisp 2018-02-16T20:01:46Z Bike: okay, so with cores of four, say, what you're going to do is make a list of four elements, each of which consist of 2500 elements. 2018-02-16T20:01:57Z Bike: and you do that entirely serially. 2018-02-16T20:02:01Z dmiles joined #lisp 2018-02-16T20:02:04Z emaczen: Bike: correct 2018-02-16T20:02:22Z milanj_ joined #lisp 2018-02-16T20:02:29Z dmiles quit (Excess Flood) 2018-02-16T20:02:42Z Bike: So obviously it's not going to be much better than making a list of ten thousand elements. In fact with the threads it is probably going to be worse. 2018-02-16T20:02:50Z fikka joined #lisp 2018-02-16T20:02:56Z emaczen: Bike: Okay, let me try again then 2018-02-16T20:03:06Z Bike: Can you not just use lparallel? 2018-02-16T20:03:41Z Bike: The task is kind of fundamentally flawed, I think. Consing the list is probably going to be more expensive than arithmetic. 2018-02-16T20:04:22Z dmiles joined #lisp 2018-02-16T20:04:40Z emaczen: Bike: This is an over simplistic test scenario. In general I have a lot of programs that could be map-reduced 2018-02-16T20:04:52Z milanj quit (Ping timeout: 260 seconds) 2018-02-16T20:05:00Z Bike: i'm sure, but i'm just telling you that amdahl's law is telling you this isn't going to work. 2018-02-16T20:05:09Z damke quit (Ping timeout: 264 seconds) 2018-02-16T20:05:28Z Bike: Do you know how append works? It makes new lists. You're doing way more consing in the parallel version. 2018-02-16T20:05:58Z Bike: lparallel has implementations of map reduce. i haven't used it myself but it looks pretty robust. 2018-02-16T20:05:58Z dmiles quit (Excess Flood) 2018-02-16T20:06:01Z vultyre joined #lisp 2018-02-16T20:06:50Z Achylles joined #lisp 2018-02-16T20:06:50Z _death: maybe instead of just timing it, profile it so you can see where time is spent.. and do this with the "real" code 2018-02-16T20:07:10Z damke joined #lisp 2018-02-16T20:07:17Z nowhere_man joined #lisp 2018-02-16T20:07:23Z Bike: indeed 2018-02-16T20:07:50Z fikka quit (Ping timeout: 265 seconds) 2018-02-16T20:08:17Z dmiles joined #lisp 2018-02-16T20:08:19Z Fare joined #lisp 2018-02-16T20:08:35Z pfdietz quit (Ping timeout: 240 seconds) 2018-02-16T20:10:44Z dmiles quit (Excess Flood) 2018-02-16T20:10:50Z Karl_Dscc joined #lisp 2018-02-16T20:13:11Z emaczen: Bike: thanks, those words helped. 2018-02-16T20:13:13Z emaczen: I see what you mean 2018-02-16T20:14:39Z manualcrank joined #lisp 2018-02-16T20:15:53Z dmiles joined #lisp 2018-02-16T20:16:37Z dmiles quit (Excess Flood) 2018-02-16T20:17:32Z emaczen: Bike: I create the partitions in each thread now, and did not reduce and it is faster 2018-02-16T20:17:46Z emaczen: With my custom linked-list I can probably get away with a lot of this 2018-02-16T20:21:18Z igemnace joined #lisp 2018-02-16T20:22:32Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-16T20:22:52Z fikka joined #lisp 2018-02-16T20:24:03Z dmiles joined #lisp 2018-02-16T20:24:17Z Pixel_Outlaw joined #lisp 2018-02-16T20:24:54Z vultyre quit (Quit: Leaving) 2018-02-16T20:28:36Z sjl__ joined #lisp 2018-02-16T20:28:44Z fikka quit (Ping timeout: 268 seconds) 2018-02-16T20:29:27Z sjl quit (Ping timeout: 240 seconds) 2018-02-16T20:33:37Z fourier quit (Ping timeout: 248 seconds) 2018-02-16T20:33:53Z fikka joined #lisp 2018-02-16T20:36:09Z random-nick joined #lisp 2018-02-16T20:38:32Z fikka quit (Ping timeout: 276 seconds) 2018-02-16T20:38:47Z borei: Bike: your code works 2018-02-16T20:39:15Z borei: but on the other hand, i tried the following 2018-02-16T20:39:19Z borei: (lane (aref (the simple-vector (elements matrix)) lane-index)) 2018-02-16T20:40:04Z borei: no notes, now im trying to understand are both forms equevalent ? 2018-02-16T20:40:05Z heurist`_ joined #lisp 2018-02-16T20:40:48Z Bike: They are on your implementation. Another implementation could hypothetically not have them equivalent, though I wouldn't worry about it. Try (upgraded-array-element-type '(simple-array single-float (4))) 2018-02-16T20:41:17Z Bike: (it's T) 2018-02-16T20:41:28Z Bike: simple-vector is shorthand for (simple-array T (*)) 2018-02-16T20:41:43Z Bike: since your specified element type of (simple-array single-float (4)) upgrades to T, the two types are equivalent. 2018-02-16T20:41:53Z pyface joined #lisp 2018-02-16T20:42:44Z heurist` quit (Ping timeout: 256 seconds) 2018-02-16T20:42:49Z borei: ic 2018-02-16T20:44:14Z scymtym quit (Ping timeout: 255 seconds) 2018-02-16T20:44:32Z sjl__ is now known as sjl 2018-02-16T20:47:15Z Cymew joined #lisp 2018-02-16T20:50:27Z borei: does anybody has experience with simd-pack data type ? 2018-02-16T20:50:57Z borei: i found how to pack data, but how to unpack ??? 2018-02-16T20:51:10Z vlatkoB quit (Remote host closed the connection) 2018-02-16T20:51:23Z python476 joined #lisp 2018-02-16T20:51:27Z Cymew quit (Ping timeout: 240 seconds) 2018-02-16T20:56:33Z Bike: does #s syntax for structures not work if :type is specified? I thought it did, but it doesn't on SBCL. 2018-02-16T20:59:36Z Rawriful joined #lisp 2018-02-16T21:01:50Z Denommus quit (Ping timeout: 276 seconds) 2018-02-16T21:03:41Z attila_lendvai quit (Quit: Leaving.) 2018-02-16T21:05:23Z Achylles_ joined #lisp 2018-02-16T21:05:31Z Achylles_ quit (Max SendQ exceeded) 2018-02-16T21:06:49Z mjl_ quit (Ping timeout: 260 seconds) 2018-02-16T21:10:00Z _death: it type is list or vector, I don't think it's supposed to work.. /me checks clhs 2018-02-16T21:11:08Z _death: clhs 2.4.8.13 2018-02-16T21:11:08Z specbot: Sharpsign S: http://www.lispworks.com/reference/HyperSpec/Body/02_dhm.htm 2018-02-16T21:11:21Z _death: "name of a structure type" 2018-02-16T21:12:24Z Karl_Dscc quit (Remote host closed the connection) 2018-02-16T21:15:51Z smaster joined #lisp 2018-02-16T21:16:57Z jmercouris quit (Ping timeout: 240 seconds) 2018-02-16T21:17:36Z Bike: i suppose "structure type" means there's an actual type, meaning it's not :type 2018-02-16T21:17:41Z Bike: kind of unclear to me, tho 2018-02-16T21:18:49Z papachan quit (Quit: WeeChat 2.0.1) 2018-02-16T21:20:05Z _death: that's my reading of it 2018-02-16T21:25:17Z razzy: beach: yeah, i was thinking of primitive implementations :]. 2018-02-16T21:25:52Z smaster quit (Quit: WeeChat 2.0.1) 2018-02-16T21:28:57Z smasta joined #lisp 2018-02-16T21:32:00Z scymtym joined #lisp 2018-02-16T21:34:05Z jmercouris joined #lisp 2018-02-16T21:34:16Z jmercouris: suggestions on tutorials or libraries to work with sockets in CL? 2018-02-16T21:34:35Z andrew` joined #lisp 2018-02-16T21:34:53Z Shinmera: usocket 2018-02-16T21:35:11Z Shinmera: Otherwise it's no different than socket stuff in any other language 2018-02-16T21:35:33Z jmercouris: Shinmera: ok, great, thank you! 2018-02-16T21:36:54Z andrew` left #lisp 2018-02-16T21:38:42Z comborico1611 joined #lisp 2018-02-16T21:40:31Z pfdietz joined #lisp 2018-02-16T21:40:47Z neirac quit (Ping timeout: 248 seconds) 2018-02-16T21:41:23Z dmiles: speaking of structure type vs :type ... is what would be :type that would yiled the same type as omitting it? (i dont mean a NIL) i mean would it be structure-object ? 2018-02-16T21:41:43Z neirac joined #lisp 2018-02-16T21:41:46Z pfdietz: Yes, only actual structures. Look up def of structure in the glossary. 2018-02-16T21:42:43Z pfdietz: Not sure you can say structure-object there. 2018-02-16T21:43:30Z dmiles: yeah i sorta want something sayable 2018-02-16T21:44:03Z dmiles: this is for my own impl.. but i'd like to align with at least some other impl somewhere 2018-02-16T21:45:03Z pagnol joined #lisp 2018-02-16T21:45:11Z smasta quit (Ping timeout: 256 seconds) 2018-02-16T21:45:40Z mnoonan quit (Quit: Leaving) 2018-02-16T21:45:55Z dmiles: "defined by the implementation to be appropriate." so wondering has anyone ever came up with "appropriate." 2018-02-16T21:46:15Z openthesky joined #lisp 2018-02-16T21:47:49Z dmiles: why i care is that i am adding some things like HASH-TABLE JSON-MAP etc 2018-02-16T21:48:55Z phoe: it seems that the spec says that this behaviour is implementation-defined 2018-02-16T21:49:05Z phoe: so feel free to define it, you're the implementer (: 2018-02-16T21:50:20Z dmiles: oh but why meant to care (i forgot to say it) is i want to have at least something like "structure-object" be somewhat predictable around what people have expected 2018-02-16T21:51:05Z nowhere_man quit (Ping timeout: 240 seconds) 2018-02-16T21:51:12Z Bike: you can't say structure-object there 2018-02-16T21:51:22Z nowhere_man joined #lisp 2018-02-16T21:52:13Z phoe: Bike: why? 2018-02-16T21:53:50Z Bike: nevermind. 2018-02-16T21:54:01Z phoe: I am actually confused about that part 2018-02-16T21:54:06Z smasta joined #lisp 2018-02-16T21:54:17Z phoe: mostly because, IMO, DEFSTRUCT is the worst page of the spec 2018-02-16T21:54:53Z phoe: so I'll welcome any clarifications on the matter 2018-02-16T21:54:57Z makomo quit (Ping timeout: 240 seconds) 2018-02-16T21:55:14Z phoe: ...actually I think I see why 2018-02-16T21:55:15Z Bike: well, in a few places it specifies that so-and-so works if :type is specified or not specified. 2018-02-16T21:55:25Z phoe: "If no :type option is involved, then the structure name of the including structure definition becomes the name of a data type, and therefore a valid type specifier recognizable by typep; it becomes a subtype of the included structure." 2018-02-16T21:55:30Z Bike: So you'd be rewriting that to mean "if :type is unspecified or structure-object" 2018-02-16T21:55:36Z Bike: also it's kind of pointless. 2018-02-16T21:55:40Z whoman: o_o 2018-02-16T21:55:49Z phoe: so if you specify :TYPE option at all, then some parts of DEFSTRUCT just don't work anymore. 2018-02-16T21:56:06Z phoe: like, if you specify TYPE, then the structure no longer defines a type of its own. 2018-02-16T21:56:19Z Bike: yeah. 2018-02-16T21:56:26Z phoe: so if you specify STRUCTURE-OBJECT there, then you get an object without a defined type of its own. 2018-02-16T21:56:37Z phoe: Sure, it's a structure-object now, but it doesn't have a type of its own. 2018-02-16T21:56:42Z Bike: defstruct kind of does two different things that are similar enough that they mashed them together. 2018-02-16T21:56:53Z fikka joined #lisp 2018-02-16T21:56:55Z hhdave joined #lisp 2018-02-16T21:57:00Z whoman: =( 2018-02-16T21:57:21Z phoe: Yes, it a) defines structure-objects, b) defines a series of accessors and copiers and what not for accessing data structured into a particular data type that already has a type. 2018-02-16T21:57:43Z phoe: which are list and vector in the standard, but an implementation is permitted to use other DSes as well. 2018-02-16T21:57:47Z Bike: it's not a place i'd choose to "innovate" 2018-02-16T21:57:53Z phoe: yep, me too 2018-02-16T21:58:50Z rumbler3_ joined #lisp 2018-02-16T22:01:52Z openthesky quit (Quit: Leaving.) 2018-02-16T22:02:03Z rumbler3_ quit (Remote host closed the connection) 2018-02-16T22:02:38Z neirac quit (Ping timeout: 256 seconds) 2018-02-16T22:03:13Z hhdave quit (Quit: hhdave) 2018-02-16T22:04:11Z neirac joined #lisp 2018-02-16T22:05:01Z iridioid joined #lisp 2018-02-16T22:05:33Z smasta quit (Ping timeout: 268 seconds) 2018-02-16T22:05:45Z damke quit (Ping timeout: 264 seconds) 2018-02-16T22:07:20Z LiamH quit (Quit: Leaving.) 2018-02-16T22:07:35Z jmercouris: Shinmera: I've been looking around, and it seems Usocket does not support unix domain sockets and is meant primarily for networking, am I correct? 2018-02-16T22:07:57Z Fare quit (Ping timeout: 240 seconds) 2018-02-16T22:08:25Z Murii quit (Quit: WeeChat 1.4) 2018-02-16T22:09:07Z pfdietz quit (Ping timeout: 260 seconds) 2018-02-16T22:09:11Z jmercouris: I did find IOLib which definitely supports Unix sockets, but (ql:who-depends-on "iolib/sockets") returns nil 2018-02-16T22:09:27Z jmercouris: not sure if my query is malformed, or if there is really nobody using it 2018-02-16T22:09:27Z pfdietz joined #lisp 2018-02-16T22:09:52Z nullman quit (Ping timeout: 256 seconds) 2018-02-16T22:10:10Z damke joined #lisp 2018-02-16T22:10:26Z nullman joined #lisp 2018-02-16T22:11:14Z jmercouris: what are "bsd style sockets"? 2018-02-16T22:11:21Z phoe: unix sockets 2018-02-16T22:11:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-16T22:11:31Z phoe: bsd is unix 2018-02-16T22:11:55Z jmercouris: is there a difference between a unix domain socket and a "bsd style socket"? 2018-02-16T22:12:05Z phoe: I guess not? 2018-02-16T22:12:13Z phoe: both of them are completely local AFAIK 2018-02-16T22:13:22Z Fare joined #lisp 2018-02-16T22:13:49Z jmercouris: someone on stack overflow said usocket supports "BSD style sockets" 2018-02-16T22:13:54Z jmercouris: trying to figure out what that could possibly mean 2018-02-16T22:14:38Z pfdietz quit (Ping timeout: 276 seconds) 2018-02-16T22:14:41Z TMA: bsd style sockets are other name for (a) tcp sockets (b) the whole socket(2) syscall ecosystem 2018-02-16T22:15:07Z phoe: this means I was wrong 2018-02-16T22:15:08Z phoe: TIL 2018-02-16T22:15:18Z fe[nl]ix: jmercouris: (ql:who-depends-on "iolib") 2018-02-16T22:17:00Z jmercouris: TMA: alright, thanks for info, that is exactly what I wanted to avoid 2018-02-16T22:17:32Z fikka joined #lisp 2018-02-16T22:18:10Z jmercouris: rme: does iolib run in CCL? have you tried it? 2018-02-16T22:18:15Z TMA: jmercouris: there are two hard problems in programming: naming things, cache invalidation and off-by-one errors 2018-02-16T22:18:32Z jmercouris: rme: on a mac of course 2018-02-16T22:18:40Z rumbler31 quit (Ping timeout: 240 seconds) 2018-02-16T22:19:01Z jmercouris: TMA: so many terms in this space, it's hard to keep them all straight 2018-02-16T22:19:09Z rme: I don't know; I don't think I've ever tried it. 2018-02-16T22:19:22Z jmercouris: so many people misusing terms as well, that I'm not sure what the meaning of some words is anymore 2018-02-16T22:19:45Z TMA: (I have read that winsock.dll implements "bsd sockets" on windows but it does not implement AF_UNIX domain sockets at all) 2018-02-16T22:19:47Z jmercouris: if I can't get iolib to work, I'll have to settle for usocket, as much as I would like to not do that 2018-02-16T22:20:12Z pfdietz joined #lisp 2018-02-16T22:20:24Z TMA: [or at least did not do that on windows 95 when I read that documentation] 2018-02-16T22:20:32Z solyd joined #lisp 2018-02-16T22:20:41Z jmercouris: man, Windows 95, those were the days 2018-02-16T22:20:47Z pagnol quit (Quit: Ex-Chat) 2018-02-16T22:20:53Z jmercouris: I was not programming then, but I did have my first computer, a Gateway 2000 2018-02-16T22:22:15Z rme: Windows only recently starting adding some support for Unix domain sockets. 2018-02-16T22:22:20Z thallia quit (Ping timeout: 256 seconds) 2018-02-16T22:22:27Z rme: https://github.com/Clozure/ccl/issues/93 2018-02-16T22:22:56Z jmercouris: rme: so you're thinking about putting in support for what precisely? unix domain sockets as an extension to CCL? 2018-02-16T22:23:16Z Josh_2: Why not just use Usocket like 2018-02-16T22:23:27Z rme: If Windows ever supports the AF_UNIX address family, it would be good to add support for that. Windows already supports the AF_INET address family. 2018-02-16T22:23:35Z thallia joined #lisp 2018-02-16T22:23:53Z jmercouris: Josh_2: I do not want to deal with http/loopback interfaces, ports etc etc 2018-02-16T22:24:16Z jmercouris: Josh_2: I'm interested in IPC, and yes, it is possible with usocket and those types of sockets, but I really don't like the idea 2018-02-16T22:24:18Z Josh_2: How do you not use ports with networking?' 2018-02-16T22:24:33Z jmercouris: Josh_2: I am not doing networking, I am doing IPC 2018-02-16T22:24:48Z jmercouris: Josh_2: there is only one computer involved, and two processes are communicating via a special type of file 2018-02-16T22:24:57Z Josh_2: What like slime? 2018-02-16T22:25:05Z jmercouris: Josh_2: I'm not sure what slime uses 2018-02-16T22:25:16Z Josh_2: Uses sockets in the background doesn't it? 2018-02-16T22:25:19Z jmercouris: no, I belive slime is using I guess they are called bsd sockets 2018-02-16T22:25:33Z jmercouris: because slime specifies an IP and port 2018-02-16T22:25:42Z jmercouris: rather than a file descriptor 2018-02-16T22:26:26Z jmercouris: Josh_2: here's the wiki entry: https://en.wikipedia.org/wiki/Unix_domain_socket 2018-02-16T22:26:44Z Josh_2: I was just reading that :D 2018-02-16T22:27:57Z jmercouris: fe[nl]ix: thanks! 2018-02-16T22:27:57Z Josh_2: You could use CFFI with the C library 2018-02-16T22:28:07Z Josh_2: but doesn't that lock you to Linux? 2018-02-16T22:28:08Z jmercouris: Josh_2: for what exactly? which C library? 2018-02-16T22:28:24Z Josh_2: Surely the Linux kernel has IPC no? 2018-02-16T22:28:25Z jmercouris: Josh_2: lots of C libraries run on linux, bsd, and osx 2018-02-16T22:28:47Z jmercouris: Josh_2: the Linux kernel, I don't know enough about it to say how it performs IPC 2018-02-16T22:28:54Z jmercouris: or rather facilitates 2018-02-16T22:29:22Z Josh_2: IPC requires socket like communication inside the kernel 2018-02-16T22:29:23Z jmercouris: I guess I could make CFFI bindings to some C domain socket library 2018-02-16T22:29:32Z White_Flame quit (Quit: No Ping reply in 180 seconds.) 2018-02-16T22:29:51Z jmercouris: Josh_2: I'm not sure I'm following you 2018-02-16T22:30:08Z jmercouris: Josh_2: why does IPC require socket like communication inside the kernel? 2018-02-16T22:30:39Z Josh_2: That's what it said no? " all communication occurs entirely within the operating system kernel." 2018-02-16T22:30:47Z White_Flame joined #lisp 2018-02-16T22:31:32Z iridioid quit (Ping timeout: 276 seconds) 2018-02-16T22:31:52Z Shinmera: jmercouris: When you say "sockets" the natural conclusion I come to is UDP/TCP sockets. Unix domain sockets are more special requirements. 2018-02-16T22:32:17Z whoman: shared memory, shm 2018-02-16T22:32:21Z jmercouris: Shinmera: Don't get me wrong, I'm not blaming you, I would have done the same, I just wanted to make sure there wasn't something I was missing 2018-02-16T22:32:47Z Shinmera: jmercouris: Just explaining why I suggested what I did. 2018-02-16T22:32:53Z jmercouris: ok 2018-02-16T22:32:56Z Patternmaster quit (Quit: leaving) 2018-02-16T22:32:57Z whoman: https://stackoverflow.com/questions/2281204/which-linux-ipc-technique-to-use ? 2018-02-16T22:33:28Z whoman: i would do shared memory filesystem , myself 2018-02-16T22:33:40Z python476 quit (Ping timeout: 240 seconds) 2018-02-16T22:34:14Z jmercouris: Josh_2: In a sense perhaps, as both processes are reading and writing to a file via sys calls 2018-02-16T22:34:28Z Josh_2: I just quoted what was in the Wiki article 2018-02-16T22:34:32Z jmercouris: Josh_2: unless you mean something else, in which case I don't understand 2018-02-16T22:34:50Z Josh_2: first line second paragraph 2018-02-16T22:35:07Z jmercouris: Right, I see that now 2018-02-16T22:35:28Z Josh_2: So I was saying wouldn't (if you used IPC) you have to use 3 different libraries or are there libraries already (I assume in C) that let you use IPC on windoge, mac os and linux 2018-02-16T22:35:30Z jmercouris: interesting, wonder what they mean by that, perhaps they mean that it is all facilitated by the kernel because of the reasons I said above 2018-02-16T22:35:52Z jmercouris: or maybe there is some special kernel facilities for domain sockets that I don't know about 2018-02-16T22:36:17Z whoman: ummm just do http if you are doing multiple platforms ... 2018-02-16T22:36:26Z jmercouris: Josh_2: there may be one library written in C with three implementation Linux, OSX, and Windows 2018-02-16T22:36:44Z jmercouris: whoman: I'm only focusing OSX and Linux right now 2018-02-16T22:36:55Z whoman: NSDistributedNotificationCenter on gnustep-base for all 3 operating systems. 2018-02-16T22:37:19Z whoman: ah, that greatly simplifies =) plans for windows in future though? 2018-02-16T22:37:58Z Josh_2: Seems like a large amount of work when you could just put (let ((hostname "127.0.0.1)(port 45456))) :P 2018-02-16T22:38:09Z d0peCanoe quit (Ping timeout: 264 seconds) 2018-02-16T22:38:09Z jmercouris: whoman: that is very interesting 2018-02-16T22:38:11Z Josh_2: use normal sockets 2018-02-16T22:38:37Z jmercouris: If the pain is too great, I'll use normal sockets 2018-02-16T22:38:39Z whoman: here =) https://github.com/RIAEvangelist/node-ipc 2018-02-16T22:39:19Z jmercouris: whoman: why would I use a node IPC lib? 2018-02-16T22:39:59Z Bike quit (Ping timeout: 260 seconds) 2018-02-16T22:40:23Z gilberth quit (Remote host closed the connection) 2018-02-16T22:40:37Z jmercouris: iolib does not like to install on osx for ccl at least 2018-02-16T22:40:55Z Josh_2: move to SBCL :D 2018-02-16T22:41:19Z Josh_2: Is this for your browser? 2018-02-16T22:41:23Z jmercouris: Yes 2018-02-16T22:41:30Z whoman: how about https://lcm-proj.github.io/ 2018-02-16T22:42:04Z jmercouris: whoman: so make cffi bindings basically? 2018-02-16T22:42:53Z jmercouris: why all these weird libs? if I can't get unix domain sockets to work, I'll switch to "normal" ones 2018-02-16T22:43:20Z whoman: jmercouris, i think cffi to something like that is the most we can squeeze 2018-02-16T22:43:29Z whoman: i am a bit surprised that CL has nothing of this sort 2018-02-16T22:43:33Z whoman: err a CL lib 2018-02-16T22:43:39Z Josh_2: Make one :) 2018-02-16T22:44:00Z Josh_2: I wouldn't even know how 2018-02-16T22:44:15Z Baggers joined #lisp 2018-02-16T22:44:25Z whoman: oh UDP is fine for mac and linux afaik. https://github.com/HaikuArchives/OpenBinder 2018-02-16T22:44:57Z jmercouris: Is it though? I mean, I guess it is 2018-02-16T22:45:03Z jmercouris: but it doesn't feel right 2018-02-16T22:45:08Z whoman: here is a blog post comparing windows and mac : http://blog.bfitz.us/?p=2252 -- seeing the mac ones with POSIX probably fine with linux as well. 2018-02-16T22:45:37Z whoman: a lot of stuff is doing http/rest now , maybe thats why? ^_^ 2018-02-16T22:46:07Z whoman: ...depending on use case of course. if low latency is required, the question of why the processes are seperate in the first place arises 2018-02-16T22:46:48Z whoman: got to know when going down the back roads 2018-02-16T22:46:58Z jmercouris: whoman: because one is strictly foreign code, and one is strictly lisp 2018-02-16T22:47:02Z whoman: suddenly the ride is rough, turns to gravel =) 2018-02-16T22:47:23Z jmercouris: whoman: It's definitely not an easy project, possibly a huge waste of time, but I think it's a good experience regardless 2018-02-16T22:47:41Z whoman: hmmm. i ran into that situation recently, (in concept), and decided to use ECL for the lisp and all is well 2018-02-16T22:47:44Z jmercouris: basically the lisp will be the core, and the other program, whether objective-c, c++, or c will be a "dumb" front end 2018-02-16T22:47:49Z Josh_2 quit (Remote host closed the connection) 2018-02-16T22:48:05Z whoman: oh except, my situation was exactly inverse =) 2018-02-16T22:48:23Z whoman: lisp usermode/userintfc surrounding the foreign 'gutsbrain' code 2018-02-16T22:48:48Z jmercouris: yeah, ECL is an interesting idea, but that will only work for C implementations 2018-02-16T22:48:55Z jmercouris: there isn't really a C API for cocoa, for example 2018-02-16T22:49:07Z whoman: not c++ ? would have to make a C api in between if objc/c++ is involved.. hmm 2018-02-16T22:49:08Z jmercouris: I mean, it's most technically possible, but it adds lots of difficulties for nor eason 2018-02-16T22:49:24Z whoman: yeah =) hmm. Electron =) 2018-02-16T22:49:28Z jmercouris: Please, no 2018-02-16T22:49:48Z jmercouris: electron is my arch nemisis lol 2018-02-16T22:49:53Z whoman: there there 2018-02-16T22:50:00Z whoman: dont u web browse errday 2018-02-16T22:50:16Z jmercouris: Yeah, but I don't need my text editor to be a web browser 2018-02-16T22:50:46Z whoman: see now we are getting into some metaphysical existential parapsychology stuff ehh ! 2018-02-16T22:51:07Z d0peCanoe joined #lisp 2018-02-16T22:51:10Z whoman: heh sorry i only assumed that your mention of cocoa means you will wrap lisp with UI 2018-02-16T22:51:23Z jmercouris: whoman: that's exactly what I will do 2018-02-16T22:51:26Z whoman: because.......... https://github.com/ceramic/ceramic 2018-02-16T22:51:40Z whoman: (which, btw, works beautifully!) 2018-02-16T22:51:57Z jmercouris: that is not what I will do :D 2018-02-16T22:52:02Z whoman: =P 2018-02-16T22:52:05Z jmercouris: the ceramic thing 2018-02-16T22:52:47Z whoman: all you would have to do is run that, and just do lisp from there. you even got parenscript and cl-who for your user interface! oh well i tried ^_^ 2018-02-16T22:53:22Z whoman: there was the deduction for solution, now its up to you to forge your own path my friend ~ 2018-02-16T22:54:43Z jmercouris: Lol, it's not that simple 2018-02-16T22:56:28Z jmercouris: damnit iolib does not want to work on OSX 2018-02-16T22:56:51Z whoman: it sure isnt =) 2018-02-16T22:57:52Z iridioid joined #lisp 2018-02-16T22:58:34Z jmercouris: well, as long as I use https://github.com/robbiehanson/CocoaAsyncSocket it'll be agnostic to whether I use unix domain sockets, or bsd style sockets 2018-02-16T22:58:51Z jmercouris: so I could start with an implementation that uses bsd style sockets, since that will be easier on the lisp side, and then try to develop some cffi bindings down the road 2018-02-16T23:00:22Z fe[nl]ix: jmercouris: what's the problem ? 2018-02-16T23:00:35Z saki quit (Ping timeout: 240 seconds) 2018-02-16T23:00:42Z whoman: https://www.xach.com/sbcl/sb-bsd-sockets.html#UNIX-SOCKET ? 2018-02-16T23:01:50Z igemnace quit (Quit: WeeChat 2.0.1) 2018-02-16T23:01:52Z saki joined #lisp 2018-02-16T23:02:03Z jmercouris: Yeah I just found that link as well 2018-02-16T23:02:35Z jmercouris: fe[nl]ix: no problem, I was just saying thanks 2018-02-16T23:03:10Z jmercouris: whoman: seems like sbcl provides some support for this 2018-02-16T23:03:37Z fe[nl]ix: jmercouris: what's the error with iolib ? 2018-02-16T23:03:44Z karswell_ joined #lisp 2018-02-16T23:04:13Z jmercouris: fe[nl]ix: https://gist.github.com/4ac6960e0e13921cf4cee9fdeb5977d3 2018-02-16T23:04:38Z pfdietz quit (Ping timeout: 255 seconds) 2018-02-16T23:05:35Z terpri quit (Ping timeout: 240 seconds) 2018-02-16T23:06:24Z Fare quit (Ping timeout: 260 seconds) 2018-02-16T23:06:34Z whoman: jmercouris, yeah, thats what i mainly seen at that link =) sb-bsd-sockets 2018-02-16T23:08:27Z fe[nl]ix: jmercouris: why 0.8.1 ? the latest release is 0.8.3 2018-02-16T23:08:54Z dmiles: ahah [13:54] so if you specify STRUCTURE-OBJECT there, then you get an object without a defined type of its own. 2018-02-16T23:10:10Z jmercouris: fe[nl]ix: I'm not sure, that's just what my system tried to load when I typed in (ql:quickload "iolib") 2018-02-16T23:10:19Z dmiles: if anything perhaps adding :include 2018-02-16T23:11:17Z sjl quit (Ping timeout: 276 seconds) 2018-02-16T23:11:49Z terpri joined #lisp 2018-02-16T23:12:21Z iridioid quit (Ping timeout: 264 seconds) 2018-02-16T23:12:49Z d0peCanoe left #lisp 2018-02-16T23:12:53Z fe[nl]ix: jmercouris: have you done (ql:update-all-dists) lately ? 2018-02-16T23:13:04Z jmercouris: fe[nl]ix: no, let me try that 2018-02-16T23:14:13Z jmercouris: fe[nl]ix: I got farther this time: https://gist.github.com/c3aba43f996369cec18bc317b6c7d035 2018-02-16T23:14:38Z jmercouris: seems to be just a deprecation warning, I wonder if I can adjust the flags passed to the compiler 2018-02-16T23:14:46Z smokeink joined #lisp 2018-02-16T23:15:02Z aindilis quit (Read error: Connection reset by peer) 2018-02-16T23:15:14Z jmercouris: also "lfp.h" not found, I wonder where that file even exists or what framework it is part of 2018-02-16T23:15:32Z karswell_ is now known as karswell 2018-02-16T23:15:44Z Shinmera: probably libfixposix 2018-02-16T23:15:45Z jmercouris: libfixposix it seems 2018-02-16T23:15:51Z rumbler31 joined #lisp 2018-02-16T23:16:10Z jmercouris: I wonder if there is a macport for this 2018-02-16T23:17:23Z jmercouris: Nothing... damn 2018-02-16T23:17:45Z aindilis` joined #lisp 2018-02-16T23:17:59Z fe[nl]ix: it's pretty easy to compile 2018-02-16T23:19:00Z Fare joined #lisp 2018-02-16T23:20:31Z rumbler31 quit (Ping timeout: 248 seconds) 2018-02-16T23:20:32Z jmercouris: fe[nl]ix: I may try compiling tomorrow, as well as maybe just trying SBCL 2018-02-16T23:20:50Z jmercouris: when I say SBCL I mean the links that whoman sent earlier 2018-02-16T23:20:55Z jmercouris: anyways, thanks everyone, goodnight! 2018-02-16T23:21:26Z Xal quit (Ping timeout: 255 seconds) 2018-02-16T23:23:05Z Xal joined #lisp 2018-02-16T23:23:13Z whoman: take care! 2018-02-16T23:23:53Z fdund quit (Quit: .) 2018-02-16T23:25:14Z jmercouris quit (Ping timeout: 256 seconds) 2018-02-16T23:26:03Z comborico1611 quit (Ping timeout: 256 seconds) 2018-02-16T23:37:27Z varjag quit (Ping timeout: 240 seconds) 2018-02-16T23:41:02Z hel-io joined #lisp 2018-02-16T23:41:05Z random-nick quit (Ping timeout: 255 seconds) 2018-02-16T23:41:19Z smurfrobot joined #lisp 2018-02-16T23:45:35Z thallia quit (Ping timeout: 240 seconds) 2018-02-16T23:47:47Z Rawriful quit (Quit: WeeChat 1.4) 2018-02-16T23:48:37Z fe[nl]ix: scymtym: I released fiveam 2018-02-16T23:53:38Z nirved quit (Quit: Leaving) 2018-02-16T23:54:07Z thallia joined #lisp 2018-02-16T23:54:27Z varjag joined #lisp 2018-02-16T23:57:08Z smurfrobot quit (Remote host closed the connection) 2018-02-16T23:58:48Z thallia quit (Ping timeout: 256 seconds) 2018-02-16T23:59:22Z varjag quit (Ping timeout: 256 seconds) 2018-02-16T23:59:39Z thallia joined #lisp 2018-02-17T00:01:57Z porky11 quit (Remote host closed the connection) 2018-02-17T00:04:34Z jstypo quit (Ping timeout: 268 seconds) 2018-02-17T00:05:00Z jstypo joined #lisp 2018-02-17T00:13:19Z Fare quit (Ping timeout: 248 seconds) 2018-02-17T00:21:53Z pfdietz joined #lisp 2018-02-17T00:26:40Z thallia quit (Ping timeout: 240 seconds) 2018-02-17T00:27:47Z thallia joined #lisp 2018-02-17T00:30:53Z pfdietz: sbcl.org is back 2018-02-17T00:32:29Z damke_ joined #lisp 2018-02-17T00:34:33Z damke quit (Ping timeout: 264 seconds) 2018-02-17T00:34:44Z Fare joined #lisp 2018-02-17T00:35:11Z Patternmaster joined #lisp 2018-02-17T00:38:10Z windblow left #lisp 2018-02-17T00:40:47Z wigust quit (Ping timeout: 260 seconds) 2018-02-17T00:47:13Z Baggers quit (Remote host closed the connection) 2018-02-17T00:47:40Z Cymew joined #lisp 2018-02-17T00:49:04Z smokeink: "How to get fontified, hyperlinked ANSI CL standard inside your GNU Emacs: http://users-phys.au.dk/harder/dpans.html" <- this link is dead, does anyone know a mirror ? 2018-02-17T00:49:48Z fikka quit (Ping timeout: 256 seconds) 2018-02-17T00:52:38Z Cymew quit (Ping timeout: 256 seconds) 2018-02-17T00:53:06Z smokeink: found one http://xelf.me/guide.html#org16becba 2018-02-17T00:53:17Z Bike joined #lisp 2018-02-17T00:55:27Z fikka joined #lisp 2018-02-17T01:00:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-17T01:05:27Z fikka joined #lisp 2018-02-17T01:10:39Z fikka quit (Ping timeout: 260 seconds) 2018-02-17T01:12:07Z drmeister: Nested macros expand to the same result if you expand them outside in vs inside out - correct? 2018-02-17T01:13:27Z markong quit (Ping timeout: 240 seconds) 2018-02-17T01:13:31Z drmeister: I guess it's not necessarily true - because a macrofunction can do whatever it wants to the forms that it is passed 2018-02-17T01:15:37Z fikka joined #lisp 2018-02-17T01:17:21Z rumbler31 joined #lisp 2018-02-17T01:18:25Z solyd quit (Quit: solyd) 2018-02-17T01:18:57Z thallia quit (Ping timeout: 264 seconds) 2018-02-17T01:19:26Z Tobbi quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-17T01:20:14Z pierpa joined #lisp 2018-02-17T01:21:02Z fikka quit (Ping timeout: 268 seconds) 2018-02-17T01:21:37Z rumbler31 quit (Ping timeout: 248 seconds) 2018-02-17T01:23:00Z sjl joined #lisp 2018-02-17T01:28:09Z Khisanth quit (Ping timeout: 260 seconds) 2018-02-17T01:30:56Z mlf|2 joined #lisp 2018-02-17T01:31:10Z mlf quit (Ping timeout: 240 seconds) 2018-02-17T01:32:02Z thallia joined #lisp 2018-02-17T01:32:35Z bmgxc9 joined #lisp 2018-02-17T01:32:45Z Fare quit (Ping timeout: 268 seconds) 2018-02-17T01:33:51Z Fare joined #lisp 2018-02-17T01:35:47Z fikka joined #lisp 2018-02-17T01:37:33Z pfdietz: Right. Macro expansion is top-down, unless a macro dives in an manually macroexpands deep subforms first. 2018-02-17T01:37:57Z pfdietz: But to do that right involves knowing what subforms are actually forms 2018-02-17T01:40:55Z fikka quit (Ping timeout: 256 seconds) 2018-02-17T01:41:21Z Khisanth joined #lisp 2018-02-17T01:44:41Z eschatologist quit (Ping timeout: 276 seconds) 2018-02-17T01:45:12Z eschatologist joined #lisp 2018-02-17T01:46:12Z fikka joined #lisp 2018-02-17T01:46:39Z thallia quit (Ping timeout: 265 seconds) 2018-02-17T01:50:19Z thallia joined #lisp 2018-02-17T01:50:54Z fikka quit (Ping timeout: 260 seconds) 2018-02-17T01:51:27Z clog quit (Ping timeout: 248 seconds) 2018-02-17T01:55:38Z thallia quit (Ping timeout: 276 seconds) 2018-02-17T01:56:18Z fikka joined #lisp 2018-02-17T01:58:05Z smurfrobot joined #lisp 2018-02-17T01:59:05Z thallia joined #lisp 2018-02-17T02:00:26Z dto joined #lisp 2018-02-17T02:01:05Z fikka quit (Ping timeout: 248 seconds) 2018-02-17T02:03:26Z smurfrobot quit (Ping timeout: 276 seconds) 2018-02-17T02:04:15Z thallia quit (Ping timeout: 248 seconds) 2018-02-17T02:05:35Z thallia joined #lisp 2018-02-17T02:07:16Z Achylles quit (Quit: Leaving) 2018-02-17T02:10:27Z arescorpio joined #lisp 2018-02-17T02:11:06Z hel-io quit 2018-02-17T02:16:33Z fikka joined #lisp 2018-02-17T02:17:50Z rumbler31 joined #lisp 2018-02-17T02:18:20Z igemnace joined #lisp 2018-02-17T02:21:57Z fikka quit (Ping timeout: 264 seconds) 2018-02-17T02:25:47Z clog joined #lisp 2018-02-17T02:27:38Z thallia quit (Ping timeout: 268 seconds) 2018-02-17T02:31:12Z d4ryus1 joined #lisp 2018-02-17T02:31:23Z thallia joined #lisp 2018-02-17T02:34:09Z d4ryus quit (Ping timeout: 248 seconds) 2018-02-17T02:36:27Z fouric: Does anyone know anything about CI using Roswell and cl-prove? 2018-02-17T02:36:42Z fikka joined #lisp 2018-02-17T02:37:21Z fouric: I'm trying to set up CI on GitLab. My project uses cl-sdl2. Running `~/.roswell/bin/run-prove monolith.asd monolith-test.asd` yields 2018-02-17T02:37:23Z fouric: Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #: Component "sdl2" not found 2018-02-17T02:38:23Z fouric: ...I would provide more information, but there's so *much* of it that I don't know where to start. 2018-02-17T02:41:39Z fikka quit (Ping timeout: 260 seconds) 2018-02-17T02:42:52Z fouric: ...well, running run-prove multiple times eventually installs all of the systems and it succeeds... 2018-02-17T02:47:12Z fikka joined #lisp 2018-02-17T02:48:41Z dto quit (Remote host closed the connection) 2018-02-17T02:52:18Z fikka quit (Ping timeout: 268 seconds) 2018-02-17T02:54:35Z thallia quit (Ping timeout: 256 seconds) 2018-02-17T02:56:48Z thallia joined #lisp 2018-02-17T02:57:15Z safe joined #lisp 2018-02-17T02:57:27Z fikka joined #lisp 2018-02-17T02:57:48Z smurfrobot joined #lisp 2018-02-17T03:00:40Z damke joined #lisp 2018-02-17T03:01:02Z dieggsy quit (Ping timeout: 255 seconds) 2018-02-17T03:01:57Z fikka quit (Ping timeout: 256 seconds) 2018-02-17T03:02:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-17T03:04:20Z iridioid joined #lisp 2018-02-17T03:09:10Z smurfrobot quit (Remote host closed the connection) 2018-02-17T03:09:57Z iridioid quit (Ping timeout: 264 seconds) 2018-02-17T03:14:09Z thallia quit (Ping timeout: 248 seconds) 2018-02-17T03:15:50Z thallia joined #lisp 2018-02-17T03:17:20Z fikka joined #lisp 2018-02-17T03:20:23Z Karl_Dscc joined #lisp 2018-02-17T03:21:27Z thallia quit (Ping timeout: 240 seconds) 2018-02-17T03:22:10Z fikka quit (Ping timeout: 240 seconds) 2018-02-17T03:24:19Z thallia joined #lisp 2018-02-17T03:27:44Z fikka joined #lisp 2018-02-17T03:32:24Z fikka quit (Ping timeout: 260 seconds) 2018-02-17T03:35:17Z lemoinem quit (Read error: Connection reset by peer) 2018-02-17T03:35:41Z lemoinem joined #lisp 2018-02-17T03:36:08Z fikka joined #lisp 2018-02-17T03:44:35Z iridioid joined #lisp 2018-02-17T03:46:35Z arescorpio quit (Quit: Leaving.) 2018-02-17T03:54:21Z eschatologist quit (Ping timeout: 264 seconds) 2018-02-17T03:54:36Z Karl_Dscc quit (Remote host closed the connection) 2018-02-17T03:54:37Z eschatologist joined #lisp 2018-02-17T03:55:17Z sjl__ joined #lisp 2018-02-17T03:58:17Z al-damiri quit (Quit: Connection closed for inactivity) 2018-02-17T03:59:35Z sjl__ quit (Ping timeout: 240 seconds) 2018-02-17T04:10:37Z fikka quit (Ping timeout: 268 seconds) 2018-02-17T04:12:50Z mason joined #lisp 2018-02-17T04:18:48Z AxelAlex joined #lisp 2018-02-17T04:20:02Z Oladon joined #lisp 2018-02-17T04:20:03Z Arcaelyx_ joined #lisp 2018-02-17T04:22:02Z Arcaelyx quit (Ping timeout: 252 seconds) 2018-02-17T04:25:39Z fikka joined #lisp 2018-02-17T04:27:33Z madrik joined #lisp 2018-02-17T04:29:45Z schoppenhauer quit (Ping timeout: 265 seconds) 2018-02-17T04:29:48Z smurfrobot joined #lisp 2018-02-17T04:30:35Z fikka quit (Ping timeout: 240 seconds) 2018-02-17T04:31:25Z schoppenhauer joined #lisp 2018-02-17T04:34:04Z fikka joined #lisp 2018-02-17T04:37:19Z madrik` joined #lisp 2018-02-17T04:38:57Z madrik quit (Ping timeout: 240 seconds) 2018-02-17T04:48:26Z smurfrobot quit (Remote host closed the connection) 2018-02-17T04:48:29Z nowhereman_ joined #lisp 2018-02-17T04:50:01Z marusich joined #lisp 2018-02-17T04:51:05Z nowhere_man quit (Ping timeout: 240 seconds) 2018-02-17T04:52:06Z iridioid quit (Quit: WeeChat 2.0.1) 2018-02-17T04:58:07Z thallia quit (Ping timeout: 248 seconds) 2018-02-17T05:04:56Z whoman quit (Read error: Connection reset by peer) 2018-02-17T05:06:57Z dddddd quit (Remote host closed the connection) 2018-02-17T05:07:45Z fikka quit (Ping timeout: 248 seconds) 2018-02-17T05:08:53Z pierpa quit (Quit: Page closed) 2018-02-17T05:12:21Z whoman joined #lisp 2018-02-17T05:14:40Z python476 joined #lisp 2018-02-17T05:19:09Z thallia joined #lisp 2018-02-17T05:19:19Z krwq joined #lisp 2018-02-17T05:21:28Z nika joined #lisp 2018-02-17T05:23:38Z fikka joined #lisp 2018-02-17T05:28:36Z fikka quit (Ping timeout: 256 seconds) 2018-02-17T05:33:31Z vtomole joined #lisp 2018-02-17T05:34:06Z fikka joined #lisp 2018-02-17T05:36:44Z SaganMan joined #lisp 2018-02-17T05:38:41Z fikka quit (Ping timeout: 248 seconds) 2018-02-17T05:41:16Z Arcaelyx joined #lisp 2018-02-17T05:42:55Z Arcaelyx_ quit (Ping timeout: 248 seconds) 2018-02-17T05:52:18Z test1600 joined #lisp 2018-02-17T05:54:24Z fikka joined #lisp 2018-02-17T05:59:46Z fikka quit (Ping timeout: 268 seconds) 2018-02-17T06:02:05Z Fare quit (Ping timeout: 240 seconds) 2018-02-17T06:02:09Z damke quit (Ping timeout: 264 seconds) 2018-02-17T06:03:19Z damke joined #lisp 2018-02-17T06:07:13Z Bike quit (Quit: Lost terminal) 2018-02-17T06:07:46Z saki quit (Read error: Connection reset by peer) 2018-02-17T06:08:59Z saki joined #lisp 2018-02-17T06:12:57Z damke quit (Ping timeout: 264 seconds) 2018-02-17T06:16:16Z damke joined #lisp 2018-02-17T06:16:44Z vtomole quit (Ping timeout: 260 seconds) 2018-02-17T06:23:21Z smurfrobot joined #lisp 2018-02-17T06:26:15Z SaganMan quit (Quit: WeeChat 1.6) 2018-02-17T06:28:13Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-17T06:28:49Z smurfrobot joined #lisp 2018-02-17T06:29:03Z xoreaxeax joined #lisp 2018-02-17T06:31:08Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-17T06:31:35Z LocaMocha joined #lisp 2018-02-17T06:33:41Z smurfrobot quit (Ping timeout: 268 seconds) 2018-02-17T06:38:05Z White_Flame quit (Quit: No Ping reply in 180 seconds.) 2018-02-17T06:38:22Z White_Flame joined #lisp 2018-02-17T06:39:47Z aindilis` quit (Remote host closed the connection) 2018-02-17T06:42:55Z aindilis joined #lisp 2018-02-17T06:43:35Z Oladon quit (Quit: Leaving.) 2018-02-17T06:44:07Z vlatkoB joined #lisp 2018-02-17T06:44:57Z nika quit (Quit: Leaving...) 2018-02-17T06:45:47Z fikka joined #lisp 2018-02-17T06:46:44Z smurfrobot joined #lisp 2018-02-17T06:47:15Z python476 quit (Ping timeout: 268 seconds) 2018-02-17T06:47:27Z nullman quit (Ping timeout: 240 seconds) 2018-02-17T06:48:41Z nullman joined #lisp 2018-02-17T06:48:41Z kotrcka quit (Remote host closed the connection) 2018-02-17T06:50:19Z fikka quit (Ping timeout: 256 seconds) 2018-02-17T06:50:32Z makomo joined #lisp 2018-02-17T06:51:19Z smurfrobot quit (Ping timeout: 260 seconds) 2018-02-17T06:52:39Z madrik` quit (Remote host closed the connection) 2018-02-17T06:54:06Z smurfrobot joined #lisp 2018-02-17T06:56:35Z marusich quit (Ping timeout: 276 seconds) 2018-02-17T06:58:35Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-17T07:02:52Z Pixel_Outlaw quit (Quit: Leaving) 2018-02-17T07:04:02Z smurfrobot joined #lisp 2018-02-17T07:06:12Z fikka joined #lisp 2018-02-17T07:07:53Z smasta joined #lisp 2018-02-17T07:09:00Z mjl_ joined #lisp 2018-02-17T07:09:40Z beach: Good morning everyone! 2018-02-17T07:11:32Z fikka quit (Ping timeout: 276 seconds) 2018-02-17T07:13:05Z saki quit (Ping timeout: 248 seconds) 2018-02-17T07:13:52Z saki joined #lisp 2018-02-17T07:16:02Z fikka joined #lisp 2018-02-17T07:21:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-17T07:23:45Z d4ryus1 is now known as d4ryus 2018-02-17T07:26:30Z fikka joined #lisp 2018-02-17T07:30:52Z fikka quit (Ping timeout: 260 seconds) 2018-02-17T07:31:23Z sjl__ joined #lisp 2018-02-17T07:32:10Z AX31_A13X joined #lisp 2018-02-17T07:32:55Z smurfrobot quit (Remote host closed the connection) 2018-02-17T07:35:05Z AxelAlex quit (Ping timeout: 256 seconds) 2018-02-17T07:35:40Z sjl__ quit (Ping timeout: 240 seconds) 2018-02-17T07:38:47Z smurfrobot joined #lisp 2018-02-17T07:41:08Z safe quit (Read error: Connection reset by peer) 2018-02-17T07:43:14Z fisxoj joined #lisp 2018-02-17T07:44:08Z quazimodo quit (Ping timeout: 276 seconds) 2018-02-17T07:44:29Z smokeink quit (Remote host closed the connection) 2018-02-17T07:51:44Z smurfrobot quit (Remote host closed the connection) 2018-02-17T07:56:39Z DeadTrickster left #lisp 2018-02-17T07:58:23Z test1600_ joined #lisp 2018-02-17T08:00:01Z smasta quit (Ping timeout: 248 seconds) 2018-02-17T08:00:48Z krwq quit (Remote host closed the connection) 2018-02-17T08:01:33Z test1600 quit (Ping timeout: 264 seconds) 2018-02-17T08:05:35Z wigust joined #lisp 2018-02-17T08:09:03Z _whitelogger quit (Remote host closed the connection) 2018-02-17T08:11:14Z _whitelogger joined #lisp 2018-02-17T08:15:04Z _whitelogger quit (Remote host closed the connection) 2018-02-17T08:16:25Z phoe: Hey beach! 2018-02-17T08:17:09Z beach: What's up? 2018-02-17T08:17:17Z _whitelogger joined #lisp 2018-02-17T08:19:22Z phoe: I am waking up. It is time for me to tend to the so-called real life today. 2018-02-17T08:20:14Z beach: Sorry to hear that. :) 2018-02-17T08:20:32Z phoe: I know that you can imagine how it feels. (: 2018-02-17T08:20:40Z beach: I can, yes. 2018-02-17T08:20:56Z fourier joined #lisp 2018-02-17T08:20:58Z phoe: I will try to do it quickly and properly, so I can get back to parentheses. 2018-02-17T08:21:09Z beach: Good plan. 2018-02-17T08:25:46Z mlf|2 quit (Read error: Connection reset by peer) 2018-02-17T08:26:39Z nowhere_man joined #lisp 2018-02-17T08:28:22Z bmgxc9 quit (Remote host closed the connection) 2018-02-17T08:28:47Z orivej quit (Ping timeout: 248 seconds) 2018-02-17T08:29:24Z milanj_ quit (Quit: This computer has gone to sleep) 2018-02-17T08:29:29Z nowhereman_ quit (Ping timeout: 256 seconds) 2018-02-17T08:30:00Z pjb: Hire some secretary or buttler to tend to your so-called real life! 2018-02-17T08:30:17Z phoe: I shall, as soon as I'm rich enough. 2018-02-17T08:31:11Z makomo quit (Ping timeout: 256 seconds) 2018-02-17T08:35:29Z makomo joined #lisp 2018-02-17T08:36:24Z fisxoj quit (Quit: fisxoj) 2018-02-17T08:38:44Z epony quit (Read error: Connection reset by peer) 2018-02-17T08:43:33Z damke quit (Ping timeout: 264 seconds) 2018-02-17T08:51:16Z Murii joined #lisp 2018-02-17T08:51:25Z raynold quit (Quit: Connection closed for inactivity) 2018-02-17T08:55:05Z fourier: for that you need to abandon cl and start to learn java :) 2018-02-17T08:57:58Z pjb: Not necessarily. But it may be less progressive. 2018-02-17T08:58:46Z phoe: I already know Java. 2018-02-17T08:58:51Z phoe: That's how I want to get rich. 2018-02-17T09:01:43Z fourier: yep C# is also a way :) 2018-02-17T09:05:32Z damke joined #lisp 2018-02-17T09:09:27Z jackdaniel: it is the other way around 2018-02-17T09:09:32Z jackdaniel: to get rich you need to hire butler 2018-02-17T09:09:41Z jackdaniel: so you have time to get rich ;-) 2018-02-17T09:09:43Z loke: Hello JD 2018-02-17T09:09:51Z zaquest quit (Ping timeout: 248 seconds) 2018-02-17T09:10:21Z jackdaniel: hey 2018-02-17T09:10:28Z smokeink joined #lisp 2018-02-17T09:13:00Z random-nick joined #lisp 2018-02-17T09:16:31Z saki quit (Ping timeout: 256 seconds) 2018-02-17T09:19:01Z aeth: To get rich all you need to do is print your own currency. 2018-02-17T09:19:11Z aeth: (That would have been a joke 10 years ago.) 2018-02-17T09:22:18Z fittestbits1 quit (Ping timeout: 240 seconds) 2018-02-17T09:23:31Z fittestbits joined #lisp 2018-02-17T09:27:27Z fourier quit (Ping timeout: 248 seconds) 2018-02-17T09:30:14Z aeth: Nothing stops you from making money with CL, you just have to do something where people don't care about the implementation language. 2018-02-17T09:30:48Z aeth: So that probably means no enterprise middleware. 2018-02-17T09:30:59Z White_Flame: or serve the few big-monied parties that do want lisp 2018-02-17T09:32:26Z aeth: Or use ABCL. 2018-02-17T09:33:39Z beach would like to see the job description of a "buttler". 2018-02-17T09:36:49Z wxie joined #lisp 2018-02-17T09:41:46Z wxie quit (Ping timeout: 268 seconds) 2018-02-17T09:42:55Z White_Flame: "What exactly do you do?" "I buttle, sir." 2018-02-17T09:43:05Z Shinmera: beach: Maybe a physician? 2018-02-17T09:43:21Z beach: Possibly. 2018-02-17T09:44:49Z phoe: I'm slowly warming other people around me to the idea of including an ABCL in our product. 2018-02-17T09:45:23Z phoe: I am still curious how far I can push the environment of a JBoss with Java Enterprise from inside an ABCL image. 2018-02-17T09:45:24Z beach: What is their reaction? 2018-02-17T09:45:35Z phoe: None yet. I'm very slow at the warming-up. (: 2018-02-17T09:46:00Z phoe: Right now they tolerate me writing and hacking Lisp in between work tasks, which is a step in a good direction. 2018-02-17T09:48:25Z phoe: I'm curious, because if I figure out a way to interactively call Java in a JEE environment, then I essentially get a REPL for free in our product. 2018-02-17T09:49:32Z phoe: It's a bit more complicated, because it's a cluster of several JBoss servers on different machines and not just a single JVM, but if I ever figure that out, then I'll essentially have material for a nice paper. 2018-02-17T09:51:05Z beach: Sounds good. 2018-02-17T09:52:11Z test1600_ quit (Ping timeout: 276 seconds) 2018-02-17T09:52:30Z pjb: beach: http://dpnonline.com/employers/articles/job-descriptions-and-functions-butler-house-manager 2018-02-17T09:54:45Z Shinmera: pjb: Note he wrote "buttler", not "butler" 2018-02-17T09:54:59Z pjb: Yes, I noticed, but too late. 2018-02-17T09:56:09Z saki joined #lisp 2018-02-17T09:57:16Z beach: pjb: "buttler" is not the same as "butler". 2018-02-17T09:57:38Z phoe: https://en.wikipedia.org/wiki/Jos_Buttler 2018-02-17T09:57:47Z phoe: gosh, this starts being #lispcafe material with all the butts 2018-02-17T09:57:52Z beach: pjb: I was trying to be funny. Failed miserably. Sorry. 2018-02-17T09:58:07Z pjb: Only because I was oblivious of my mistake. 2018-02-17T09:58:25Z beach: Flyspell caught it. 2018-02-17T09:59:10Z Shinmera: pjb: I got the joke. 2018-02-17T09:59:14Z Shinmera: *beach 2018-02-17T09:59:21Z pjb: I avoid orthographic correctors, because they usually get it wrong. Also, there are often multiple valid orthographs (eg. American English vs. British English or variants in French). 2018-02-17T10:00:29Z pjb: Oh, and also because their substitutions are often way worse than simple orthographic errors. 2018-02-17T10:06:27Z thallia quit (Ping timeout: 240 seconds) 2018-02-17T10:07:18Z porky11 joined #lisp 2018-02-17T10:15:32Z jackdaniel: pjb: "Yes, I noticed, butt too late." – fixed it for you ;-) 2018-02-17T10:17:59Z TMA: phoe: JEE is tricky because of all the nested classloaders isolating everything from everything else; the clojure folks made an awesome remote repl called nREPL for clojure. I am not sure, but it could probably be ported to ABCL so that the client need not be rewritten 2018-02-17T10:18:57Z TMA: phoe: but even then making the repl useful in a JEE environment is a challenge 2018-02-17T10:32:40Z fourier joined #lisp 2018-02-17T10:36:44Z makomo quit (Ping timeout: 255 seconds) 2018-02-17T10:39:16Z makomo joined #lisp 2018-02-17T10:44:03Z Murii quit (Quit: WeeChat 1.4) 2018-02-17T10:44:21Z Murii joined #lisp 2018-02-17T10:45:23Z fourier quit (Ping timeout: 276 seconds) 2018-02-17T10:51:08Z ak5 quit (Ping timeout: 255 seconds) 2018-02-17T10:51:09Z igemnace quit (Quit: WeeChat 2.0.1) 2018-02-17T10:56:26Z wigust quit (Ping timeout: 276 seconds) 2018-02-17T10:57:32Z orivej joined #lisp 2018-02-17T11:00:09Z damke_ joined #lisp 2018-02-17T11:00:57Z damke quit (Ping timeout: 264 seconds) 2018-02-17T11:03:05Z thinkpad quit (Quit: lawl) 2018-02-17T11:04:03Z damke joined #lisp 2018-02-17T11:04:49Z kotrcka joined #lisp 2018-02-17T11:05:09Z damke_ quit (Ping timeout: 264 seconds) 2018-02-17T11:09:14Z thinkpad joined #lisp 2018-02-17T11:10:45Z neirac quit (Remote host closed the connection) 2018-02-17T11:11:54Z thinkpad quit (Client Quit) 2018-02-17T11:14:38Z rippa quit (Read error: Connection reset by peer) 2018-02-17T11:16:15Z flak joined #lisp 2018-02-17T11:18:23Z varjag joined #lisp 2018-02-17T11:22:59Z kdridi joined #lisp 2018-02-17T11:23:32Z thinkpad joined #lisp 2018-02-17T11:25:35Z test1600_ joined #lisp 2018-02-17T11:26:14Z Chream_ joined #lisp 2018-02-17T11:27:48Z Karl_Dscc joined #lisp 2018-02-17T11:45:33Z ccl-logbot joined #lisp 2018-02-17T11:45:33Z 2018-02-17T11:45:33Z names: ccl-logbot bitch Fare vibs29 Princess17b29a fikka gabiruh_ minion side_track papachan varjagg Colleen Karl_Dscc Chream_ test1600_ thinkpad kdridi flak kotrcka damke orivej Murii makomo porky11 saki fittestbits random-nick smokeink nowhere_man _whitelogger AX31_A13X mjl_ nullman vlatkoB aindilis White_Flame LocaMocha xoreaxeax whoman schoppenhauer mason eschatologist lemoinem d4ryus clog rumbler31 Khisanth sjl Patternmaster pfdietz jstypo Xal terpri 2018-02-17T11:45:33Z names: karswell scymtym pyface heurist`_ dmiles manualcrank bjorkintosh borei emaczen butterthebuddha emacsomancer gko giraffe itruslove stnutt lonjil arbv drewc zooey Poeticode xristos Kevslinger joast ludston vaporatorius deba5e12 shifty lnostdal cpape loli msb vyzo Tristam djinni` saturn2 stacksmith beach oleo jdz k-hos kumori[m] parjanya Mon_Ouie jack_rabbit kini chat__ dyelar MetaYan christoph_debian Duns_Scrotus fortitude groovy2shoes pjb elts foom2 2018-02-17T11:45:33Z names: libreman kajo phadthai tokenrove copec arrsim ym ninegrid SAL9000 Mandus jibanes guna funnel Cthulhux GuilOooo peterhil Fade akkad DGASAU froggey johs stylewarning parseval convexferret benny dmh p_l ggherdov thijso CrazyEddy Xach rgrau razzy tripty dTal weltung jerme_ tfb dan64- banjiewen zkat kilimanjaro l1x asedeno dcluna devlaf angelo angular_mike_ drmeister jyc CEnnis91 __main__ easye troydm justinmcp sabrac eatonphil AntiSpamMeta pmden les vsync 2018-02-17T11:45:33Z names: jonh zmt00 mfiano kozy katco[m] hiq[m] cryptomarauder plll[m] ArthurAGleckler[ RichardPaulBck[m hdurer[m] mhitchman[m] equalunique[m] kfdenden[m] Jach[m] CharlieBrown dirb kammd[m] bigfondue gingerale Aritheanie galdor borodust wladz_ reu joga em Walex Firedancer Patzy ben3 Posterdati fdfdf sword jackdaniel ryanbw hvxgr sthalik sshirokov mikaelj sigjuice bailon splittist zotan terrorjack rann tobel gendl rme gbyers fluxit SamSkulls XachX jeremyheiler 2018-02-17T11:45:33Z names: billstclair mbrock danlentz alms_clozure gz_ mjl _death sukaeto ozzloy impulse voidlily antismap HDurer dxtr pchrist Lord_Nightmare dim pareidolia adulteratedjedi Meow-J_ tazjin rvirding trig-ger d4gg4d_ xantoz oldtopman ft brucem aeth Intensity dvdmuckle cmatei samebchase azrazalea cpt_nemo tessier phoe gabot Oddity uint mathrick nhandler AeroNotix azahi larsen GGMethos leo_song_ abbe MightyJoe @fe[nl]ix stux|RC-- crsc rk[ghost] kuneco guaqua 2018-02-17T11:45:33Z names: theBlackDragon zacts raydeejay anon_ bkst SlashLife kjeldahl larme Lord_of_Life brandonz drdo isoraqathedh hjudt_ sveit_ michalisko alphor norserob ioa ghostyyy cromachina_ ikopico malcom2073 ``Erik omilu abeaumont jurov ski esthlos PyroLagus shenghi argoneus svillemot jasom ericmath1son snits_ f32ff whyNOP shelvick swflint tokik TMA trn caffe rotty presiden tkd sbat mepian cross nopf dilated_dinosaur kolb ssake pok Zhivago alandipert himmAllRight17 2018-02-17T11:45:33Z names: luis davsebamse aijony sbryant whartung Blkt koenig mulk micro kushal cess11 stux|RC antoszka rjeli_ flip214 cyberlard jself GreaseMonkey koisoke fouric zymurgy ecraven ja-barr drot vhost- kbtr eMBee shaftoe loke beaky salva dlowe |3b| mood runejuhl philosaur grumble Xof vert2 Tordek vutral Nikotiini askatasuna Rovanion cods mrSpec paratox otwieracz pankracy ircbrowse felideon tomaw lxpz creat lugh eagleflo fiddlerwoaroof mtd dotc krator44 nimiux malm 2018-02-17T11:45:33Z names: djh cibs spacepluk z0d chocolait Elite-Epochs ramus arrdem jsnell aoh peccu3 gorgor eschulte catern pacon whaack Shinmera Ziemas lieven renard_ 2018-02-17T11:46:20Z fikka quit (Ping timeout: 268 seconds) 2018-02-17T12:04:24Z ccl-logbot joined #lisp 2018-02-17T12:04:24Z 2018-02-17T12:04:24Z names: ccl-logbot cpape` Colleen Princess17b29a_ Lord_Nightmare sbryant tessier_ eschulte_ djh_ jsnell_ kotrcka_ specbot bitch Fare vibs29 gabiruh_ minion side_track papachan varjagg Chream_ test1600_ thinkpad kdridi flak damke orivej Murii makomo porky11 saki fittestbits random-nick smokeink nowhere_man _whitelogger AX31_A13X mjl_ nullman vlatkoB aindilis White_Flame LocaMocha xoreaxeax whoman schoppenhauer mason eschatologist lemoinem d4ryus clog rumbler31 2018-02-17T12:04:24Z names: Khisanth sjl Patternmaster pfdietz jstypo Xal terpri karswell heurist`_ manualcrank bjorkintosh borei emaczen butterthebuddha emacsomancer gko giraffe itruslove stnutt lonjil arbv drewc zooey Poeticode xristos Kevslinger joast ludston vaporatorius deba5e12 shifty lnostdal loli msb vyzo Tristam djinni` saturn2 stacksmith beach oleo jdz k-hos kumori[m] parjanya Mon_Ouie jack_rabbit kini chat__ dyelar MetaYan christoph_debian Duns_Scrotus fortitude groovy2shoes 2018-02-17T12:04:24Z names: pjb elts foom2 libreman kajo phadthai tokenrove copec arrsim ym ninegrid SAL9000 Mandus jibanes guna Cthulhux GuilOooo peterhil Fade akkad DGASAU froggey johs stylewarning parseval convexferret benny dmh p_l ggherdov thijso CrazyEddy Xach rgrau razzy tripty dTal weltung jerme_ tfb dan64- banjiewen zkat kilimanjaro l1x asedeno dcluna devlaf angelo angular_mike_ drmeister jyc CEnnis91 __main__ easye troydm justinmcp sabrac eatonphil AntiSpamMeta pmden les 2018-02-17T12:04:24Z names: vsync jonh zmt00 mfiano kozy katco[m] hiq[m] cryptomarauder plll[m] ArthurAGleckler[ RichardPaulBck[m hdurer[m] mhitchman[m] equalunique[m] kfdenden[m] Jach[m] CharlieBrown dirb kammd[m] bigfondue gingerale Aritheanie galdor borodust wladz_ reu joga em Walex Firedancer Patzy ben3 Posterdati fdfdf sword jackdaniel ryanbw hvxgr sthalik sshirokov mikaelj sigjuice bailon splittist zotan terrorjack rann tobel gendl rme gbyers fluxit SamSkulls XachX jeremyheiler 2018-02-17T12:04:24Z names: billstclair mbrock danlentz alms_clozure gz_ mjl _death sukaeto ozzloy impulse voidlily antismap HDurer dxtr pchrist dim pareidolia adulteratedjedi Meow-J_ tazjin rvirding trig-ger d4gg4d_ xantoz oldtopman ft brucem aeth Intensity dvdmuckle cmatei samebchase azrazalea cpt_nemo phoe gabot Oddity uint mathrick nhandler AeroNotix azahi larsen GGMethos leo_song_ abbe MightyJoe @fe[nl]ix stux|RC-- crsc rk[ghost] kuneco guaqua theBlackDragon zacts raydeejay anon_ 2018-02-17T12:04:24Z names: bkst SlashLife kjeldahl larme Lord_of_Life brandonz drdo isoraqathedh hjudt_ sveit_ michalisko alphor norserob ioa ghostyyy cromachina_ ikopico malcom2073 ``Erik omilu abeaumont jurov ski esthlos PyroLagus shenghi argoneus svillemot jasom ericmath1son snits_ f32ff whyNOP shelvick swflint tokik TMA trn caffe rotty presiden tkd sbat mepian cross nopf dilated_dinosaur kolb ssake pok Zhivago alandipert himmAllRight17 luis davsebamse aijony whartung Blkt koenig 2018-02-17T12:04:24Z names: mulk micro kushal cess11 stux|RC antoszka rjeli_ flip214 cyberlard jself GreaseMonkey koisoke zymurgy ecraven ja-barr drot vhost- kbtr eMBee shaftoe loke beaky salva dlowe |3b| mood runejuhl philosaur grumble Xof vert2 Tordek vutral Nikotiini askatasuna Rovanion cods mrSpec paratox otwieracz pankracy ircbrowse felideon tomaw lxpz creat lugh eagleflo fiddlerwoaroof mtd dotc krator44 nimiux malm cibs spacepluk z0d chocolait Elite-Epochs ramus arrdem aoh peccu3 2018-02-17T12:04:24Z names: gorgor catern pacon whaack Shinmera Ziemas lieven renard_ 2018-02-17T12:05:40Z funnel joined #lisp 2018-02-17T12:05:42Z Karl_Dscc joined #lisp 2018-02-17T12:07:07Z markong joined #lisp 2018-02-17T12:07:14Z heurist_ joined #lisp 2018-02-17T12:08:27Z fouric joined #lisp 2018-02-17T12:08:27Z heurist`_ quit (Ping timeout: 240 seconds) 2018-02-17T12:10:27Z scymtym joined #lisp 2018-02-17T12:12:08Z dmiles joined #lisp 2018-02-17T12:12:22Z cpape`` joined #lisp 2018-02-17T12:13:24Z EvW joined #lisp 2018-02-17T12:14:27Z cpape``` joined #lisp 2018-02-17T12:14:46Z cpape` quit (Ping timeout: 256 seconds) 2018-02-17T12:15:02Z dddddd joined #lisp 2018-02-17T12:16:47Z vlatkoB quit (Remote host closed the connection) 2018-02-17T12:17:36Z cpape`` quit (Ping timeout: 256 seconds) 2018-02-17T12:18:08Z vlatkoB joined #lisp 2018-02-17T12:19:46Z thallia joined #lisp 2018-02-17T12:22:02Z fikka joined #lisp 2018-02-17T12:22:26Z saki quit (Quit: saki) 2018-02-17T12:24:07Z saki joined #lisp 2018-02-17T12:24:25Z solyd joined #lisp 2018-02-17T12:26:37Z fikka quit (Ping timeout: 260 seconds) 2018-02-17T12:26:47Z Rawriful joined #lisp 2018-02-17T12:27:44Z cpape```` joined #lisp 2018-02-17T12:29:30Z cpape``` quit (Ping timeout: 256 seconds) 2018-02-17T12:31:48Z cpape```` quit (Client Quit) 2018-02-17T12:32:21Z cpape joined #lisp 2018-02-17T12:40:16Z milanj joined #lisp 2018-02-17T12:42:49Z jmercouris joined #lisp 2018-02-17T12:43:27Z Bike joined #lisp 2018-02-17T12:43:47Z makomo_ joined #lisp 2018-02-17T12:46:30Z makomo quit (Ping timeout: 248 seconds) 2018-02-17T12:54:56Z scymtym: fe[nl]ix: thank you 2018-02-17T12:59:22Z Baggers joined #lisp 2018-02-17T13:00:00Z smokeink quit (Read error: Connection reset by peer) 2018-02-17T13:00:34Z smokeink joined #lisp 2018-02-17T13:03:11Z jmercouris: how to reinstall quicklisp? can I simply delete ~/.quicklisp? 2018-02-17T13:03:19Z jmercouris: or is there a simpler way? 2018-02-17T13:05:32Z Shinmera: Yes, No 2018-02-17T13:05:43Z jmercouris: Shinmera: ok, thanks 2018-02-17T13:05:44Z Shinmera: Hard to get simpler than removing a directory, in my opinion 2018-02-17T13:05:57Z jmercouris: there are some things in my directory that I'd rather not have to recreate is all 2018-02-17T13:06:10Z Shinmera: Well what about it do you want to "reinstall"? 2018-02-17T13:06:16Z Shinmera: /Why/ do you want to reinstall? 2018-02-17T13:06:40Z jmercouris: I was playing around with sbcl yesterday, and I "installed" quicklisp in sbcl, and that has made some issues for CCL I believe 2018-02-17T13:07:12Z Shinmera: That doesn't sound right. Multiple implementations can use the same quicklisp directory. 2018-02-17T13:07:24Z jmercouris: well, I'm getting strange UIOP/asdf messages I wasn't getting before 2018-02-17T13:07:49Z python476 joined #lisp 2018-02-17T13:07:52Z jmercouris: I'm not sure exactly why that is, possibly because I did a dist update while in sbcl, then went back to ccl 2018-02-17T13:08:13Z Shinmera: That shouldn't be a problem. 2018-02-17T13:08:39Z jmercouris: I have no idea then: https://gist.github.com/44b75d294745d283db62c06ee0c7c21f 2018-02-17T13:09:02Z Shinmera: wew 2018-02-17T13:09:27Z Bike: maybe ccl has an old asdf or something. 2018-02-17T13:09:33Z jackdaniel: it is asdf doing asdf thing 2018-02-17T13:09:33Z jmercouris: the thing is looking at the string "2018.02.02", there are no leading zeros 2018-02-17T13:09:51Z jackdaniel: version is separated by "." 2018-02-17T13:09:54Z jackdaniel: so it has 3 components 2018-02-17T13:09:57Z jackdaniel: 2018, 02 and 02 2018-02-17T13:10:04Z jmercouris: ah okay, so it is like "2018" "02" "02" 2018-02-17T13:10:05Z jackdaniel: two of these 3 components have leading zeros 2018-02-17T13:10:17Z Shinmera: #justASDFthings 2018-02-17T13:10:22Z jmercouris: so cl-string match apparently uses the date as a version specifier 2018-02-17T13:10:40Z Tobbi joined #lisp 2018-02-17T13:10:47Z jackdaniel: you may safely ignore these warnings 2018-02-17T13:11:01Z jackdaniel: no need to remove quicklisp or reinstall your system 2018-02-17T13:11:11Z jackdaniel: (they will probably appear again when you have newest dist) 2018-02-17T13:11:12Z Bike: oh yeah they're just warnings. who cares then. 2018-02-17T13:11:34Z Shinmera: They're kinda stupid warnings, but yeah 2018-02-17T13:11:41Z jmercouris: okay, cool, thanks everyone 2018-02-17T13:11:49Z jmercouris: I don't really like warnings when I load my system 2018-02-17T13:11:53Z Shinmera: Should be a style warning at most. 2018-02-17T13:12:05Z jmercouris: but such is life 2018-02-17T13:12:20Z Patternmaster quit (Quit: Lost terminal) 2018-02-17T13:13:22Z jackdaniel: right now they are warnings, but nobody knows what they will be in next asdf version 2018-02-17T13:13:29Z jackdaniel: so brace yourself ,) 2018-02-17T13:13:52Z thallia quit (Ping timeout: 260 seconds) 2018-02-17T13:13:58Z jackdaniel: [aka: make-operation enforcement reminescence] 2018-02-17T13:14:02Z jmercouris: I've got my seatbelt on tight 2018-02-17T13:17:13Z thallia joined #lisp 2018-02-17T13:20:22Z pjb: jmercouris: there are actually at least two circumstances when you load your system: 1- you load your system to compile and check it while developping and testing it. 2- you load your system to use it. 2018-02-17T13:21:15Z pjb: jmercouris: even in the second case, it may be useful to have warnings, because the developers may have loaded on some version of some implementation and found no errors and no warning, but then you're using it in a new version or another implementation, and those warning could matter a lot. 2018-02-17T13:21:30Z Baggers loves the warnings 2018-02-17T13:22:10Z pjb: jmercouris: if ArianeEspace engineers had had a warning about the Ariane3 module loaded into the Ariane5 system that used a different type of lateral acceleration, they would have saved a rocket and 2 satellites! 2018-02-17T13:22:17Z raynold joined #lisp 2018-02-17T13:22:36Z jackdaniel: living on the edge, huh? 2018-02-17T13:23:24Z jmercouris: pjb: Right yeah, I don't have issues with warnings, it's just that on my own system at least, I'd hope that the warnings don't exist 2018-02-17T13:23:34Z jmercouris: aka I've developed it to "spec" 2018-02-17T13:24:58Z rumbler31 quit (Remote host closed the connection) 2018-02-17T13:25:48Z wigust joined #lisp 2018-02-17T13:28:10Z saki quit (Ping timeout: 240 seconds) 2018-02-17T13:31:50Z beach: This is how Second Climacs computes the indentation for LOCALLY http://metamodular.com/locally.png 2018-02-17T13:31:57Z beach: Compare to Emacs+SLIME. 2018-02-17T13:32:47Z phoe: beach: ooooh 2018-02-17T13:32:49Z phoe: that is nice 2018-02-17T13:33:03Z beach: Thanks. 2018-02-17T13:33:06Z phoe: I think LOCALLY in slime indents everything the same 2018-02-17T13:33:08Z phoe: two spaces for all 2018-02-17T13:33:34Z beach: No, the first argument expression is treated differently. 2018-02-17T13:33:46Z beach: No matter what it is, declaration or form. 2018-02-17T13:33:49Z dieggsy joined #lisp 2018-02-17T13:34:26Z saki joined #lisp 2018-02-17T13:34:36Z shrdlu68 joined #lisp 2018-02-17T13:35:17Z phoe: Oh. 2018-02-17T13:35:18Z phoe: Okay. 2018-02-17T13:37:15Z phoe: Even better. 2018-02-17T13:44:55Z beach: This is how it does SETQ (idea by flip214): http://metamodular.com/setq.png 2018-02-17T13:45:54Z beach: That should have been SETF I guess. 2018-02-17T13:46:06Z beach: They are indented the same. 2018-02-17T13:46:15Z fikka joined #lisp 2018-02-17T13:46:51Z jmercouris: beach: it'd be really cool to have a highlight-indentation mode 2018-02-17T13:47:06Z beach: What would it do? 2018-02-17T13:47:25Z jmercouris: beach: basically depending on how deep you are in the indentation/nest it'll color boxes to the gutter 2018-02-17T13:47:38Z jmercouris: so a 1st level indentation might be red, second might be green, and so on and so forth 2018-02-17T13:47:44Z jmercouris: or it could be shades of gray 2018-02-17T13:47:47Z jmercouris: similar things exist for emacs 2018-02-17T13:48:05Z jmercouris: like this: https://github.com/antonj/Highlight-Indentation-for-Emacs/ 2018-02-17T13:48:39Z beach: I see. 2018-02-17T13:49:20Z beach: Sounds like a great project for someone who would like to make a contribution. But it must wait until I have more infrastructure available. 2018-02-17T13:51:10Z makomo_ quit (Ping timeout: 265 seconds) 2018-02-17T13:51:18Z phoe: jmercouris: I use rainbow parens for that 2018-02-17T13:51:19Z phoe: https://i.imgur.com/Ugnsmnq.png 2018-02-17T13:51:19Z Baggers quit (Remote host closed the connection) 2018-02-17T13:51:48Z jmercouris: phoe: yeah, that's another good one 2018-02-17T13:51:59Z jmercouris: and definitely, you don't want to have to build out every possible theoretical extension 2018-02-17T13:52:02Z phoe: that would be more easily implemented methinks 2018-02-17T13:52:11Z jmercouris: it's hard to build a platform without at least some initial draws though 2018-02-17T13:52:32Z jmercouris: in some ways are projects are very similar and very different, obviously our approaches and technologies are radically different, but we are both trying to build platforms 2018-02-17T13:52:40Z jmercouris: s/are/our 2018-02-17T13:52:45Z jmercouris: what is happening to my english... 2018-02-17T13:55:41Z phoe: beach: when you style your code, does the styler know how deep you are in the parens? 2018-02-17T13:55:46Z varjagg quit (Ping timeout: 256 seconds) 2018-02-17T13:56:01Z phoe: If yes, then you can take (mod depth 6) and style each paren according to one of six colors. Boom, rainbow parens. 2018-02-17T13:56:08Z beach: phoe: That information is present, yes. 2018-02-17T13:56:09Z kdridi quit (Remote host closed the connection) 2018-02-17T13:56:17Z phoe: Then it's not only possible, it's also easy. 2018-02-17T13:56:34Z phoe: I might try to tinker with it one day. 2018-02-17T13:56:43Z kdridi joined #lisp 2018-02-17T13:56:49Z beach: Probably. I don't much like to emphasize parentheses myself, but it could be another contributed project. 2018-02-17T13:57:19Z phoe: I know people who dislike emphasizing parens and I understand them and respect them. 2018-02-17T13:57:31Z phoe: But my brain functions better when it sees colors. (: 2018-02-17T13:57:57Z sellout joined #lisp 2018-02-17T13:58:24Z jmercouris: we are all very different, which is why we use emacs 2018-02-17T13:58:36Z beach: phoe: I see you are a good candidate for that contribution then. :) 2018-02-17T13:58:50Z phoe: "we are all very different, which is why we use emacs" 2018-02-17T13:58:52Z phoe: hahahah 2018-02-17T13:58:53Z jmercouris: *climacs :D 2018-02-17T13:59:04Z phoe: climacs will come next. 2018-02-17T13:59:11Z jmercouris: phoe: if all people were really similar, and all needs could be met with a single editor, then likely a dominant paradigm would emerge 2018-02-17T13:59:53Z phoe: it emerged, it's called an Integrated Development Environment and it's used for languages like C or Java or C#. 2018-02-17T14:00:04Z phoe: but this is already #lispcafe material. 2018-02-17T14:00:07Z beach: jmercouris: Nah. You ignore some very strong psychological phenomena. 2018-02-17T14:01:02Z jmercouris: beach: care to elaborate? 2018-02-17T14:01:07Z kdridi quit (Ping timeout: 260 seconds) 2018-02-17T14:01:23Z comborico1611 joined #lisp 2018-02-17T14:01:32Z beach: jmercouris: You seem to think that people make decisions because they are rational. They aren't. 2018-02-17T14:01:55Z kdridi joined #lisp 2018-02-17T14:01:57Z jmercouris: yes, that's definitely true, otherwise I wouldn't have picked up lisp, or a browser project 2018-02-17T14:02:24Z jmercouris: at least I enjoy my flavor of irrationality :D 2018-02-17T14:03:37Z phoe: even CL agrees 2018-02-17T14:03:41Z phoe: (rationalp 'human) ;=> NIL 2018-02-17T14:07:22Z shrdlu68: They can't even be coerced to be rational... 2018-02-17T14:07:31Z phoe: yep 2018-02-17T14:07:36Z varjagg joined #lisp 2018-02-17T14:15:27Z varjagg quit (Ping timeout: 240 seconds) 2018-02-17T14:16:16Z nowhere_man quit (Quit: Konversation terminated!) 2018-02-17T14:16:30Z nowhere_man joined #lisp 2018-02-17T14:21:55Z SaganMan joined #lisp 2018-02-17T14:22:34Z papachan quit (Quit: WeeChat 2.0.1) 2018-02-17T14:23:37Z nowhereman_ joined #lisp 2018-02-17T14:23:46Z jstypo quit (Read error: Connection reset by peer) 2018-02-17T14:24:13Z nowhere_man quit (Ping timeout: 256 seconds) 2018-02-17T14:25:29Z rumbler31 joined #lisp 2018-02-17T14:30:25Z rumbler31 quit (Ping timeout: 248 seconds) 2018-02-17T14:31:09Z pjb: It would be more useful to colorize the parentheses according to their interpretation by the evaluator: operator application (3 kinds), code syntax, data. 2018-02-17T14:34:24Z wxie joined #lisp 2018-02-17T14:35:39Z pjb: (let (foo) (bar '(baz))) 2018-02-17T14:37:30Z pjb: Sorry, I mean: (let (foo) (bar '(baz))) 2018-02-17T14:38:44Z saki quit (Ping timeout: 276 seconds) 2018-02-17T14:39:20Z pjb: (check-type (car foo) (integer 0)) 2018-02-17T14:39:26Z saki joined #lisp 2018-02-17T14:39:41Z saki quit (Client Quit) 2018-02-17T14:39:57Z pjb: and then, with enough colour, we could also distinguish accessors from normal functions. 2018-02-17T14:40:05Z jstypo joined #lisp 2018-02-17T14:41:28Z wxie quit (Ping timeout: 268 seconds) 2018-02-17T14:42:04Z wxie joined #lisp 2018-02-17T14:44:37Z shrdlu68 quit (Ping timeout: 256 seconds) 2018-02-17T14:49:31Z saki joined #lisp 2018-02-17T14:51:46Z shrdlu68 joined #lisp 2018-02-17T14:54:01Z comborico1611: Hello. I'm interested in learning Lisp, but I'd like to see how a certain simple program would work in Lisp. The program converts an input of seconds into Years Days Hours Minutes Seconds. 2018-02-17T14:54:25Z beach: That's too simple. 2018-02-17T14:54:39Z comborico1611: Is there anyone willing to write that up? 2018-02-17T14:54:49Z comborico1611: Haha 2018-02-17T14:55:21Z comborico1611: Could you post it here or on GitHub? 2018-02-17T14:55:30Z beach: (decode-universal-time seconds) 2018-02-17T14:55:33Z loke: comborico1611: Show what your current code looks like. 2018-02-17T14:55:39Z beach: ↑ 2018-02-17T14:55:51Z loke: comborico1611: We really want to try to avoid to people's homework for them 2018-02-17T14:56:00Z nsrahmad joined #lisp 2018-02-17T14:56:03Z loke: But we're happy to assist if you're having specific problems. 2018-02-17T14:56:08Z comborico1611: I don't have enough knowledge to do it in lisp 2018-02-17T14:56:18Z beach: comborico1611: I just showed you the solution. 2018-02-17T14:56:23Z comborico1611: Loke, haha. 2018-02-17T14:56:51Z jmercouris: I wonder what happened with that other guy pjb was helping, did he pass his assignment? 2018-02-17T14:56:57Z comborico1611: A built-in function is not what I'm looking for. 2018-02-17T14:56:59Z jmercouris: the vm emulation thing 2018-02-17T14:56:59Z fdfdf quit (Quit: leaving) 2018-02-17T14:58:24Z smokeink: comborico1611: read the first few chapters here http://www.gigamonkeys.com/book/ 2018-02-17T14:59:00Z loke: comborico1611: Show your current coe and explain where you have problems. 2018-02-17T14:59:01Z beach: comborico1611: I think I am with loke here. If your purpose is really to learn Common Lisp, then ask some specific questions, and we will answer. 2018-02-17T14:59:01Z comborico1611: Yes, i found that one. Thank you, though. 2018-02-17T15:00:33Z jmercouris: alternatively, describe what you think the steps should be to convert your input to your desired result 2018-02-17T15:00:44Z jmercouris: and maybe we can guide you through each step logically 2018-02-17T15:00:47Z nsrahmad quit (Remote host closed the connection) 2018-02-17T15:00:49Z comborico1611: Beach, I'm wanting to see this little program *before* i decide to learn the language. But if i have no takers, i will attempt to write it, then come back to see if i did it in a concise manner 2018-02-17T15:00:52Z Bike: https://pastebin.com/DgpGhrbp i don't think this is very informative about how lisp works 2018-02-17T15:00:57Z Bike: but you do you 2018-02-17T15:01:05Z beach: comborico1611: Then I suggest you don't learn it. 2018-02-17T15:01:22Z Bike: assuming i understand the problem correctly that you just want a bunch of divisions 2018-02-17T15:01:25Z jmercouris: Bike: would you be willing to explain multiple-value-bind? 2018-02-17T15:01:35Z jmercouris: is that to take two return values and bind them? 2018-02-17T15:01:39Z jmercouris: or rather two or more? 2018-02-17T15:01:40Z Bike: yeah 2018-02-17T15:01:49Z Bike: floor returns the quotient and remainder 2018-02-17T15:01:50Z jmercouris: so how do functions return multiple values? 2018-02-17T15:01:59Z beach: clhs values 2018-02-17T15:01:59Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/a_values.htm 2018-02-17T15:02:03Z Bike: "how"? they just do. floor is defined to return two values 2018-02-17T15:02:30Z jmercouris: right, but within floor, what does the last form in the defun look like? 2018-02-17T15:02:36Z jmercouris: (values value1 value2)? 2018-02-17T15:02:37Z Bike: floor is built in 2018-02-17T15:02:43Z Bike: but it could be something like that, yes 2018-02-17T15:02:53Z Bike: this function i wrote returns five values, as you can see 2018-02-17T15:03:02Z Bike: using the values function beach linked 2018-02-17T15:03:04Z jmercouris: aha, yes, I see 2018-02-17T15:04:01Z jmercouris: very clever solution 2018-02-17T15:04:32Z orivej quit (Ping timeout: 248 seconds) 2018-02-17T15:04:34Z comborico1611: Beach, you suggest i don't learn it because i want to see an example of code first? (I think i found the grumpy one of the group.). Your name is quite fitting. 2018-02-17T15:04:37Z Bike: it's not actually correct, since years aren't exactly 365 days 2018-02-17T15:04:50Z smokeink: haha 2018-02-17T15:05:00Z jmercouris: comborico1611: I don't think it's that, it just seems very much like fishing for a homework problem 2018-02-17T15:05:09Z Bike: this is too easy to be a homework problem 2018-02-17T15:05:14Z Bike: it's barely even a "program" 2018-02-17T15:05:18Z jmercouris: comborico1611: If you really wanted to learn the language you'd be willing to look at just about any example of any type as long as it teaches something about the language 2018-02-17T15:05:31Z comborico1611: Not true. 2018-02-17T15:05:51Z jmercouris: comborico1611: unless you presume that you can predict which kinds of functions will be the most illustrative of the langauges techniques and strengths without knowing the language 2018-02-17T15:05:59Z comborico1611: If i suspect this particular problem is well-suited to demonstrate the aspects of a language, I would prefer to use that one program as an example. Not just any program. 2018-02-17T15:06:09Z Bike: it's not well suited 2018-02-17T15:06:11Z jmercouris: how can you suspect without knowing? that is my point 2018-02-17T15:06:24Z White_Flame: you asked for a 1-liner, and got a 1-liner... 2018-02-17T15:06:57Z White_Flame: it doesn't sound like you realized the code was posted right after you asked 2018-02-17T15:07:03Z Bike: as you can see, it's just a bunch of divisions 2018-02-17T15:07:08Z comborico1611: If the person has a limited amount of knowledge in programming, but his work with one program, namely the seconds program, then that program example is best for them to understand other languages, without investing time in learning the language first. 2018-02-17T15:07:20Z Bike: i'm not sure what would be informative as to the nature of the language, but i don't think this is it 2018-02-17T15:07:39Z pjb: jmercouris: unfortunately, we never know. But we can guess he flunked heavily. 2018-02-17T15:07:40Z jmercouris: comborico1611: let's start with a different approach, what is your motivation for learning programming languages, and what would you hope to get out of learning lisp? 2018-02-17T15:07:41Z beach: comborico1611: You can take our collective word for it. Common Lisp is worth learning. 2018-02-17T15:07:52Z beach: comborico1611: Now let's move on. 2018-02-17T15:07:58Z _death: comborico1611: this channel is not to convince people to learn lisp, it's for people already interested in lisp 2018-02-17T15:08:06Z Bike: but jmercouris learned something, so i'll call it a win 2018-02-17T15:08:51Z comborico1611: Bike, with your understanding of programming, you are correct this wouldn't be a good demonstration of the nature of the language. But with someone with limited knowledge working on the same sample code that they've done in other languages, is the appropriate choice. 2018-02-17T15:09:03Z pjb: comborico1611: it's not a question of knowing lisp or even programming. It's a question of having brains, and booting it. 2018-02-17T15:09:40Z pjb: comborico1611: you could start by doing it yourself, by hand, with paperl and pencil. 2018-02-17T15:09:55Z comborico1611: Pjb, I've written the code in another language. I just don't want to take the time to read a few chapters in a book to just see the sample code. 2018-02-17T15:10:01Z pjb: comborico1611: once you've done a few times, you should try to note what you're doing. 2018-02-17T15:10:11Z beach: comborico1611: Show us the code you have written. 2018-02-17T15:10:20Z pjb: If you already have the code, then it is trivial to convert to lisp. 2018-02-17T15:10:29Z White_Flame: comborico1611: this is like a C programmer asking how you get the length of a string in Python, but not wanting to use the builtin 2018-02-17T15:10:31Z pjb: comborico1611: just read a tutorial, half an hour should be enough. 2018-02-17T15:10:32Z jmercouris: pjb: it's written in x86 assembler 2018-02-17T15:10:46Z comborico1611: Beach, I'm very aware that lisp is a great programming language. I am a die-hard Emacs user. I'll be at not good enough to use the customization that elisp provides.. 2018-02-17T15:10:51Z pjb: jmercouris: lisp is a lower-level programming language than C! 2018-02-17T15:10:53Z jmercouris: White_Flame: length("lol") 2018-02-17T15:11:14Z test1600_ quit (Ping timeout: 260 seconds) 2018-02-17T15:11:18Z solyd quit (Quit: solyd) 2018-02-17T15:11:31Z beach: comborico1611: Oh, you want to learn Emacs Lisp. Wrong channel. This one is dedicated to Common Lisp. 2018-02-17T15:11:31Z jmercouris: comborico1611: I think the word you are looking for is albeit 2018-02-17T15:11:37Z loke: pjb: It's lower-level, but it's lower along a different dimension! :-) 2018-02-17T15:12:11Z jmercouris: pjb: it's literally written in binary 2018-02-17T15:12:17Z pjb: comborico1611: for a quick intro, have a look at http://clisp.hg.sourceforge.net/hgweb/clisp/clisp/raw-file/tip/doc/LISP-tutorial.txt or http://www.franz.com/resources/educational_resources/cooper.book.pdf 2018-02-17T15:12:30Z jmercouris: and it's tailor made for an obsolete instruction set on an experimental chip from the 60s 2018-02-17T15:12:47Z comborico1611: Beach, no no. I'm looking for common lisp. I know lisp is the most powerful language. And cl the most powerful dialect. 2018-02-17T15:12:47Z random-nick: comborico1611: which lisp are you talking about? emacs lisp or common lisp? 2018-02-17T15:12:57Z beach: comborico1611: Good. 2018-02-17T15:13:32Z beach: It is getting more and more clear to me that loke was right. 2018-02-17T15:13:50Z comborico1611: Jmercouris, thanks. I'm using voice recognition. But i appreciate the thoughtfulness. 2018-02-17T15:13:57Z pjb: comborico1611: if you want an example of a lisp program, have a look at https://gitlab.common-lisp.net/gsharp/gsharp 2018-02-17T15:14:54Z comborico1611: It would be more useful if I saw an example of a program I've worked with. And I've only work with one program in my life. A program that converts seconds in 2 years months days hours minutes seconds. 2018-02-17T15:15:06Z beach: Show us your code. 2018-02-17T15:15:23Z comborico1611: Let me see if it is still on GitHub. I'm on my phone. 2018-02-17T15:15:32Z jmercouris: comborico1611: you make it sound like you've been toiling your whole life on this one program, I imagine it is the best seconds converter in the world 2018-02-17T15:15:36Z White_Flame: so, just basically div/mod a few times? 2018-02-17T15:15:41Z pjb: comborico1611: also, I'd be curious about my adjective. Feel free to identify the seven dwarfs ;-) 2018-02-17T15:15:43Z _death: comborico1611: (decode-universal-time seconds) 2018-02-17T15:15:48Z White_Flame: or is it doing real date computations against an epoch? 2018-02-17T15:15:57Z beach: _death: I already suggested that. 2018-02-17T15:16:04Z _death: beach: ah 2018-02-17T15:16:09Z beach: _death: Built-in functions are unacceptable apparently. 2018-02-17T15:16:18Z pjb: 6 to go. 2018-02-17T15:16:34Z jmercouris: "I've only worked on one program my whole life, but this one, let me tell you, this is the fastest, most lightweight seconds to date converter ver" 2018-02-17T15:16:36Z _death: beach: he could always look at an implementation's source code for it ;) 2018-02-17T15:16:47Z beach: Heh! Good idea. 2018-02-17T15:17:01Z comborico1611: Haha. No. I just learned to code last spring. 2018-02-17T15:17:10Z jmercouris: In one year you've only written one program? 2018-02-17T15:17:18Z White_Flame: comborico1611: I would suggest simply learning Common Lisp. Forget your date example. You don't really have the grounding yet to make comparison evaluations; learn Lisp to at least get that foundation established 2018-02-17T15:17:18Z jmercouris: You must not really like it that much 2018-02-17T15:17:23Z comborico1611: It's complicated . . . 2018-02-17T15:17:59Z comborico1611: Going on to computer, you chatty people 2018-02-17T15:18:25Z jmercouris: There is one good thing about learning lisp as your first language, none of the terms will confuse you 2018-02-17T15:18:44Z jmercouris: and you won't carry in expectations from other runtimes and languages 2018-02-17T15:18:48Z pjb: comborico1611: by the way, here is how it's done in lisp: https://codeshare.io/G7YeBE 2018-02-17T15:18:59Z comborico1611: True. I've read OO what's in a name. I didn't understand most of it, but i liked it. 2018-02-17T15:19:47Z Bike: comborico1611: well, enjoy my code i guess 2018-02-17T15:19:48Z jmercouris: why did you keep reading a book if you didn't understand it? and how did you like it if you didn't understand it? 2018-02-17T15:19:54Z comborico1611: Pjb, thank you! You want my uninitiated unbiased opinion of it? 2018-02-17T15:20:00Z pjb: comborico1611: also, Common Lisp is very close to emacs lisp: the share the same root. 2018-02-17T15:20:07Z _death: what's up with these sites, requiring javascript to view static text 2018-02-17T15:20:14Z jmercouris: _death: js is the new flash 2018-02-17T15:20:21Z pjb: comborico1611: I'd prefer the 6 other dwarfs of #lisp, if you identified them already. 2018-02-17T15:20:25Z White_Flame: js is the new ActiveX 2018-02-17T15:20:36Z comborico1611: Death, haha. True. Bad web developers. 2018-02-17T15:20:39Z jmercouris: that's a more suitable comparison actually 2018-02-17T15:20:55Z pjb: comborico1611: but unbiased opinion is ok too. 2018-02-17T15:20:59Z jmercouris: though, js doesn't have some big evil corporation pushing it 2018-02-17T15:21:21Z jmercouris: pjb: who are the 6 dwarfs of #lisp? what are you talking about? 2018-02-17T15:21:33Z wxie quit (Ping timeout: 268 seconds) 2018-02-17T15:21:46Z pjb: jmercouris: comborico1611 identified beach as Grumpy. I'm wondering about the others. 2018-02-17T15:21:55Z jmercouris: ah, lol, nice 2018-02-17T15:21:59Z beach: Heh! 2018-02-17T15:22:03Z comborico1611: Pjb, it's very busy. 2018-02-17T15:22:35Z comborico1611: Jmer, as in "i was correct"? 2018-02-17T15:22:45Z jmercouris: pjb: the problem is, we don't have enough Grumpy spots for all the people on #lisp 2018-02-17T15:22:50Z White_Flame: comborico1611: it's a very clever solution that has a generic numeric breakdown that can take any list of modulos 2018-02-17T15:23:01Z White_Flame: instead of directly making hardcoded div/mod operations 2018-02-17T15:23:01Z jmercouris: comborico1611: no, that White_Flame was correct 2018-02-17T15:23:15Z pjb: comborico1611: it was written more than 10 years ago, and it is used to generate the code of Babylonian or Aztec number systems too. 2018-02-17T15:23:30Z comborico1611_ joined #lisp 2018-02-17T15:24:20Z comborico1611_: Okay. Keyboard. 2018-02-17T15:24:26Z pjb: More recently, of Indian's since they use strange grouping of tens for their big numbers (1000 100 100 100 …) 2018-02-17T15:24:42Z White_Flame: so you could plug in 100 at the end of the list and add centuries to your breakdown, for example 2018-02-17T15:24:56Z White_Flame: without changing the actual computing code 2018-02-17T15:25:33Z comborico1611_: jmercouris, that is insane. I'm glad you mentioned that. I doubt my request needs every aspect of that code then. 2018-02-17T15:25:49Z comborico1611_: Okay. First, let me try to rememeber git password. 2018-02-17T15:25:55Z White_Flame: the meat of the calculation is (truncate value (car bases)) 2018-02-17T15:26:01Z White_Flame: in line 10 2018-02-17T15:26:06Z comborico1611_: Then I'll show you code. Oh wwait. I'm not acomputer. So I can just show you the code. 2018-02-17T15:26:11Z White_Flame: that's what's recursed over, based on the list of bases 2018-02-17T15:26:20Z Patternmaster joined #lisp 2018-02-17T15:28:57Z White_Flame: I'd still repeat that you'd be way better off simply going through Lisp tutorials and not focus in on something like this. 2018-02-17T15:31:18Z comborico1611_ quit (Remote host closed the connection) 2018-02-17T15:32:06Z thodg joined #lisp 2018-02-17T15:32:08Z comborico1611: Something wrong with computer. Rebooting. Can't remember password. All i have at the moment is a functional version. 2018-02-17T15:33:16Z AX31_A13X quit (Remote host closed the connection) 2018-02-17T15:33:42Z AX31_A13X joined #lisp 2018-02-17T15:33:43Z comborico1611: It is a shame how many programming languages have borrowed from Lisp, and don't give it credit. 2018-02-17T15:35:32Z comborico1611_ joined #lisp 2018-02-17T15:35:53Z comborico1611_: my $min-t = $raw div 60; 2018-02-17T15:35:53Z comborico1611_: my $sec = $raw - ( $min-t * 60 ); 2018-02-17T15:35:53Z comborico1611_: my $hr-t = $min-t div 60; 2018-02-17T15:35:53Z comborico1611_: my $min = $min-t - ( $hr-t * 60 ); 2018-02-17T15:35:53Z comborico1611_: my $day-t = $hr-t div 24; 2018-02-17T15:35:53Z comborico1611_: my $hr = $hr-t - ( $day-t * 24 ); 2018-02-17T15:35:55Z comborico1611_: my $yr = $day-t div 365; 2018-02-17T15:35:57Z comborico1611_: my $day = $day-t - ( $yr * 365 ); 2018-02-17T15:35:59Z comborico1611_: 2018-02-17T15:36:01Z comborico1611_: say "Year: $yr ", "Day: $day ", "Hour: $hr ", "Min: $min ", "Sec: $sec "; 2018-02-17T15:36:03Z comborico1611_: } 2018-02-17T15:36:23Z comborico1611_: This is the functional version -- not my preferred one. I'm nt even sure this one works. 2018-02-17T15:36:48Z pjb: it's not functional, since it has side effects (the say operation). 2018-02-17T15:36:57Z drewc quit (Ping timeout: 264 seconds) 2018-02-17T15:36:57Z comborico1611_: Still trying to rmember stupid ghitjp password -- just let me have a simple password 2018-02-17T15:37:02Z comborico1611_: Yeah, it' snot strictly functional 2018-02-17T15:37:16Z comborico1611_: just trying to keep state static 2018-02-17T15:37:30Z comborico1611_: It was an experiment on my understanding of ucntion. 2018-02-17T15:37:32Z comborico1611_: functional*( 2018-02-17T15:37:53Z Jesin joined #lisp 2018-02-17T15:37:59Z comborico1611_: And this piec eof garbage mac book pro from 2007 is going bad. 2018-02-17T15:38:07Z comborico1611_: that or kubuntu is. 2018-02-17T15:38:19Z comborico1611_: So I'm looking for something like that in CL. 2018-02-17T15:38:27Z comborico1611_: Minus the functional. 2018-02-17T15:39:01Z smurfrobot joined #lisp 2018-02-17T15:39:51Z comborico1611_: Here is proper seconds program, I believe. https://gist.github.com/COMBORICO 2018-02-17T15:40:07Z comborico1611_: beach, here is what you were asking for. 2018-02-17T15:42:01Z beach: That looks very wrong. Mismatched curly braces and double quotes. 2018-02-17T15:42:03Z comborico1611_: Oops oops 2018-02-17T15:42:10Z comborico1611_: yeah, that is not the full program. 2018-02-17T15:42:21Z comborico1611_: I would need to go to a different computer to get it. 2018-02-17T15:42:23Z saki quit (Ping timeout: 248 seconds) 2018-02-17T15:42:27Z comborico1611_: but the one I posted here is the gist of it. 2018-02-17T15:43:14Z comborico1611_: It should be very easy to write up in Lisp. I'd just like to see it in Lisp for myself, without having to read a few chapters more than I have already. 2018-02-17T15:43:33Z beach: It certainly is easy to write up. 2018-02-17T15:43:59Z comborico1611_: But? You're too lazy to? Or I should do my own homework? 2018-02-17T15:44:01Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-17T15:44:16Z beach: Both. 2018-02-17T15:44:23Z comborico1611_: Thought so. 2018-02-17T15:44:36Z saki joined #lisp 2018-02-17T15:45:18Z comborico1611_: pjb: Think you would mind writing my request up real quick? 2018-02-17T15:45:39Z beach: I usually help people when I think it might be a good investment, i.e. that the person I help will later contribute to the common code base. I don't have that impression in this case. 2018-02-17T15:45:48Z comborico1611_: bike: what code? 2018-02-17T15:46:15Z White_Flame: again, just go do some basic lisp tutorials, and you'll have enough to figure this out on your own. Or, start using the builtin decode time function 2018-02-17T15:46:29Z comborico1611_: beach, that's fine. I don't claim that I would do that. Just a guy looking to see a sample of this code in this language. 2018-02-17T15:46:33Z jmercouris: comborico1611_: What are you asking for exactly? if you want to learn lisp, just learn it, if you encounter issues in the path of learning we can help 2018-02-17T15:46:39Z Bike: comborico1611_: the answer i linked half an hour ago https://pastebin.com/DgpGhrbp 2018-02-17T15:46:42Z White_Flame: play around with the truncate function, as was in th eposted example 2018-02-17T15:47:08Z jmercouris: comborico1611_: don't just ask people to randomly write up functions for your amusement, have some respect for people's time 2018-02-17T15:47:14Z comborico1611_: jmercouris, again for the fifth or more time. I'm just looking to see a sample code of how this task would be done in CL. 2018-02-17T15:47:30Z jmercouris: comborico1611_: Again, for the 10th time, that's not a good way to learn CL 2018-02-17T15:47:31Z White_Flame: why? you can't read it. you don't have the basis to evaluate code yet 2018-02-17T15:47:41Z White_Flame: just go through tutorials and learn the language 2018-02-17T15:48:04Z comborico1611_: jmercouris, asking for a simple program to be written by someone affluent in a language doesn't seem disrespectful of someone's time. 2018-02-17T15:48:11Z White_Flame: Lisp doesn't look like other languages, so whatever introduction you've had before isn't going to help you read Lisp 2018-02-17T15:48:28Z jmercouris: yes it totally does, because you are ignoring what everyone is telling you, that it is a waste of time 2018-02-17T15:48:42Z White_Flame: comborico1611: there are already tons of resources to help you learn. You're trying to bypass them for no defensible reason 2018-02-17T15:48:43Z jackdaniel: this looks very much like you have an assignment from uni (or wherever) and you think that you will "outsmart" people on lisp by asking them to write it for you (with some improbable excuse) 2018-02-17T15:48:58Z jackdaniel: s/on lisp/on #lisp/ 2018-02-17T15:49:02Z comborico1611_: jackdaniel, lol. 2018-02-17T15:49:11Z jackdaniel: very silly indeed, but not laughable 2018-02-17T15:49:21Z random-nick: comborico1611_: what's wrong with Bike's code? 2018-02-17T15:49:27Z White_Flame: and you've had a few working examples pasted at you already 2018-02-17T15:49:40Z smurfrobot joined #lisp 2018-02-17T15:49:51Z comborico1611_: This is terribly simple code. I just want to see a sample of it, inspect how I feel the language is reflected by the code *before* I commit time to learning a language. 2018-02-17T15:50:01Z comborico1611_: jmercouris, thanks for speaking for everyone here. 2018-02-17T15:50:05Z jmercouris: there's a billion and one samples online 2018-02-17T15:50:06Z White_Flame: you can't make that decision 2018-02-17T15:50:07Z fourier joined #lisp 2018-02-17T15:50:21Z comborico1611_: random-nick, I did't see the link. I looked three times for it. 2018-02-17T15:50:33Z smokeink quit (Ping timeout: 265 seconds) 2018-02-17T15:50:33Z jmercouris: I don't speak for everyone here, but I think I have a good pulse of what many are thinking 2018-02-17T15:50:38Z White_Flame: "show me written Chinese before I learn the language, and I'll use that to decide whether or not I want to learn it, because there's a lot I can intuit from it" 2018-02-17T15:50:52Z jmercouris: White_Flame: very well said 2018-02-17T15:50:56Z comborico1611_: jmercouris, you have a reading comprehension problem. I detailed before the reason I preferred this specific example. 2018-02-17T15:51:17Z jmercouris: I don't have a reading problem, you simply don't know how to program in any langauge, so I don't see how that would help you even if it were true 2018-02-17T15:51:20Z White_Flame: you've see multiple examples, you've seen multiple tutorials. your question repetition is pointing that somethign else is wrong 2018-02-17T15:51:29Z comborico1611_: jmercouris says "you are ignoring what everyone is telling you". sounds like you rpresent everyone 2018-02-17T15:51:47Z |3b| suspects anyone who disagreed would say so 2018-02-17T15:51:57Z comborico1611_: jmercouris, you hurt my feelings. I'm not able to program blah blah blah lanague blah blah. I'm done with you, loser. 2018-02-17T15:52:10Z thallia quit (Ping timeout: 240 seconds) 2018-02-17T15:52:12Z beach: Wow. 2018-02-17T15:52:17Z White_Flame: yeah 2018-02-17T15:52:22Z jackdaniel: actually he assessed your attitude based on your reactions to what others do (he didn't mention "others" internal motives / feelings) 2018-02-17T15:52:34Z ChanServ has set mode +o jackdaniel 2018-02-17T15:52:37Z jmercouris: comborico1611_: I don't think hurting your feelings makes me a loser, but that's not what I'm after, I'm just trying to help, maybe I did the wrong approach, sorry for that 2018-02-17T15:52:52Z jackdaniel: comborico1611_: please refrain from calling people names 2018-02-17T15:52:54Z pjb: comborico1611_: check: https://codeshare.io/G7YeBE ; I added a better solution. 2018-02-17T15:53:00Z jackdaniel: you may /ignore him if you feel like it 2018-02-17T15:53:42Z whoman quit (Read error: Connection reset by peer) 2018-02-17T15:53:45Z pjb: comborico1611_: the first macro generated a function that looped over the bases list; instead, the new solution expand to the truncate calls like Bike's solution. 2018-02-17T15:54:41Z White_Flame: and just to be clear, pjb's solutions are advanced. So if you want to see examples of "real" lisp beyond just hardcoded toy examples, there you go 2018-02-17T15:55:00Z thallia joined #lisp 2018-02-17T15:55:12Z comborico1611_: Bike, thanks for your help! I found your code. Whew. I think he did in less than 3 minutes. Cry babies not wanting to demonstrate some code. Gee wiz. 2018-02-17T15:55:43Z jackdaniel: (last warning) 2018-02-17T15:55:43Z dieggsy quit (Read error: Connection reset by peer) 2018-02-17T15:56:08Z White_Flame: well, that's one way to admit that you can't read code yet, given the number of links that have been posted. Again, go through tutorials to learn how to read the code if you want specifics 2018-02-17T15:56:15Z comborico1611_: jackdaniel, you got it, jack. 2018-02-17T15:56:20Z comborico1611_: No more names. 2018-02-17T15:56:22Z kdridi quit (Remote host closed the connection) 2018-02-17T15:56:42Z drewc joined #lisp 2018-02-17T15:56:58Z kdridi joined #lisp 2018-02-17T15:57:48Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-17T15:58:01Z jackdaniel has set mode -o jackdaniel 2018-02-17T15:58:09Z comborico1611_: pjb, I like the incorporation of a list. Interesting idea. 2018-02-17T15:58:42Z comborico1611_: pjg, I'm inspecting the code now. 2018-02-17T15:59:39Z pjb: Notice however, that both the standard decode-universal-time and my macro and functions take and generate the list in the least-significant first order. Since lists can grow unbounded, that let the code know the meaning of the first elements of the list without having to compute its length. 2018-02-17T16:00:01Z jmercouris: pjb: I take it this exercise amuses you :D? 2018-02-17T16:00:25Z pjb: jmercouris: It allows me to improve code written ten+ years ago :-) 2018-02-17T16:00:33Z thallia quit (Ping timeout: 256 seconds) 2018-02-17T16:00:45Z Princess17b29a_ is now known as Princess17b29a 2018-02-17T16:00:51Z Lycurgus joined #lisp 2018-02-17T16:01:22Z comborico1611_: pjb, it's difficult for me to follow. But I do have a question. I have read that using macros un-needlessly (meaning unless you are forced) is considered a violation of best practices. Do you agree with this? 2018-02-17T16:01:22Z _death: comborico1611: here's your program in lisp: https://plaster.tymoon.eu/view/713#713 2018-02-17T16:01:38Z pjb: comborico1611_: of course. 2018-02-17T16:01:43Z comborico1611_: _death, thank you. 2018-02-17T16:01:55Z pjb: (incf _death) 2018-02-17T16:01:56Z jmercouris: _death: I literally spit on my screen from laughing, thank you for that 2018-02-17T16:02:02Z kdridi quit (Ping timeout: 276 seconds) 2018-02-17T16:02:07Z thallia joined #lisp 2018-02-17T16:02:25Z comborico1611_: I do like Lisp's comment system. Very nice! 2018-02-17T16:02:32Z pjb: comborico1611_: you may find it funny, but both my code and _death are really demonstrating the strong points of lisp. 2018-02-17T16:03:27Z comborico1611: https://pastebin.com/DgpGhrbp 2018-02-17T16:03:38Z pjb: comborico1611_: If you wondered why you should learn lisp, you got the perfect answers. 2018-02-17T16:03:49Z comborico1611_: (the link is for my own use here. I had to move phone data to pc. 2018-02-17T16:03:50Z pjb: comborico1611_: (Bike was just trolling you). 2018-02-17T16:04:05Z Bike: what? i was not. 2018-02-17T16:04:16Z jmercouris: you are confused pjb, you are thinking of _death 2018-02-17T16:04:17Z pjb: Bike: yes, you were. :-) 2018-02-17T16:04:17Z comborico1611_: Yeah, I don't htink he was. Or i mssed it. 2018-02-17T16:04:30Z pjb: jmercouris: not at all. _death answer is a perfect example of what lisp is. 2018-02-17T16:04:39Z comborico1611_: I'm super confused because throughout all ths, my pc has been bugging slow. 2018-02-17T16:04:41Z jmercouris: ah, I see where this is going now :D 2018-02-17T16:04:41Z Bike: i was not. don't impugn my motives. i did what i was asked, while saying i didn't think it was a good question. 2018-02-17T16:04:51Z jmercouris: Bike: he's making a joke 2018-02-17T16:05:01Z jackdaniel: Bike: pjb and _death have fun with him (well deserved I suppose despite the fact I don't find such toying funny at all) 2018-02-17T16:05:05Z kdridi joined #lisp 2018-02-17T16:05:08Z pjb: Bike: yes, but then your answer doesn't demonstrate why you're programming in lisp. 2018-02-17T16:05:47Z comborico1611_: It's okay guys. Let's keep our dislike focused on me. 2018-02-17T16:05:52Z Bike: that's why i said the actually this has been the channel for an hour so i'll just come back later 2018-02-17T16:05:55Z jmercouris: I'm certainly pro-humor, as long as it isn't at the detriment of someone else, and I don't think _death's is evil natured or anything 2018-02-17T16:05:56Z Bike left #lisp 2018-02-17T16:06:08Z comborico1611_: Now everyone go get some coffee. I need to study these codes. Thank you all who particpated. 2018-02-17T16:06:23Z White_Flame: don't study the code. Just look at it 2018-02-17T16:06:24Z pjb: jackdaniel: _death and my answer demonstrate meta programming, which is the strong point of lisp. My answer demonstrate a macro that generalize the problem statement so you can use it with Aztec or Babylonian number systems; _death demonstrate a general technique (the "inteprreter" pattern as the GoF puts it). 2018-02-17T16:06:27Z White_Flame: learn lisp, then study it 2018-02-17T16:07:02Z jmercouris: what is the original language he posted here anyway? applescript? 2018-02-17T16:07:07Z pjb: perl. 2018-02-17T16:07:20Z pjb: has it been python, we'd have used cl-python :-) 2018-02-17T16:07:22Z jmercouris: ah, I've never done any perl, interesting that it has "say" 2018-02-17T16:07:41Z jackdaniel: however if you read into it, it is not obvious who is trolling who. maybe it is a self-driven vicious cycle. 2018-02-17T16:07:45Z jackdaniel: laters \o 2018-02-17T16:07:46Z jmercouris: the dollar signs should have given it away, but I just associate those with PHP 2018-02-17T16:08:39Z comborico1611_: bike, yours is very clean. Very good! 2018-02-17T16:08:47Z jmercouris: at the end of the day, it doesn't matter who was trolling who, it was an interesting journey, and in some ways pretty informative, I'm actually trying to understand _death's code 2018-02-17T16:09:42Z comborico1611_: It is Perl6, actually. 2018-02-17T16:09:56Z comborico1611_: We're no longer done, by the way. :-) 2018-02-17T16:10:55Z Baggers joined #lisp 2018-02-17T16:11:40Z rumbler31 joined #lisp 2018-02-17T16:11:56Z jmercouris: _death: so each cond line basically covers a case, first one empty program, second one a number, and then whatever operands are supported, right? 2018-02-17T16:13:05Z _death: jmercouris: yes.. a better name for the function is EVAL... you may find similar functions in various Lisp books :) 2018-02-17T16:13:25Z jmercouris: _death: I get the gist of your snippet, I couldn't write something so elegant, but I could make a very clunky version I think 2018-02-17T16:13:37Z jmercouris: in Lisp at least, in python it'd look "ok" 2018-02-17T16:14:00Z jmercouris: also "elegant" because of course it assumes a lot and isn't really extendable, but it is nice and compact 2018-02-17T16:14:17Z pagnol joined #lisp 2018-02-17T16:14:22Z jmercouris: very cool though, thanks for sharing 2018-02-17T16:15:57Z rumbler31 quit (Ping timeout: 240 seconds) 2018-02-17T16:16:20Z vibs29 quit (Ping timeout: 276 seconds) 2018-02-17T16:16:35Z pjb: jmercouris: the hint is the use of progv, which is specifically designed to implement interpreters :-) 2018-02-17T16:17:09Z White_Flame: can anybody freely edit in those codeshare links? 2018-02-17T16:17:23Z vibs29 joined #lisp 2018-02-17T16:17:25Z jmercouris: White_Flame: yeah 2018-02-17T16:17:27Z pjb: White_Flame: depends; they may be marked read-only. 2018-02-17T16:17:30Z pjb: I don't do that. 2018-02-17T16:17:57Z hhdave joined #lisp 2018-02-17T16:18:03Z pjb: White_Flame: but codeshare is designed for collaborative editing and development; there's a videochat module. 2018-02-17T16:20:55Z jmercouris: If two people ssh on to the same machine, and that machine is running emacs daemon, and they both launch an instance to a file, can they both see that file being edited? 2018-02-17T16:21:49Z White_Flame: there's always screen as a general solution 2018-02-17T16:22:12Z jmercouris: yeah, but the emacs daemon would be cooler as you could do x forwarding 2018-02-17T16:22:20Z jmercouris: it would only make sense on a local network realistically 2018-02-17T16:23:41Z EvW quit (Ping timeout: 255 seconds) 2018-02-17T16:24:15Z banjamine joined #lisp 2018-02-17T16:24:16Z jmercouris: I believe sbcl complains when you don't use defgeneric, but in practice, is it bad? 2018-02-17T16:24:27Z jmercouris: should I be actually doing these declarations? 2018-02-17T16:24:44Z pjb: jmercouris: there are advantages of doing them. On the other hand, it's a bore for accessors. 2018-02-17T16:25:04Z pjb: The main advantage, is that it allows you to document the generic function; also you can provide a default method. 2018-02-17T16:25:15Z _death: if you think in terms of protocols then you generally want to write defgenerics anyway 2018-02-17T16:25:40Z jmercouris: I have never made that mental connection until you just said that 2018-02-17T16:25:51Z pjb: And since this allows you to explicitely define and document the protocol, you can easily export it from a package. So there's no problem when several different package define methods to the same generic function. 2018-02-17T16:25:54Z jmercouris: writing a set of defgenerics is effectively defining a protocol for objects of a class 2018-02-17T16:25:59Z jmercouris: that makes so much sense 2018-02-17T16:26:05Z pjb: You can gather all the defgeneric in a common "protocol" package used by the others. 2018-02-17T16:26:35Z jmercouris: right right, yes 2018-02-17T16:26:59Z jmercouris: now I see the purpose 2018-02-17T16:27:04Z wigust quit (Ping timeout: 256 seconds) 2018-02-17T16:27:10Z jmercouris: or rather, a possible purpose, I'm not sure I have the whole picture yet, but yeah 2018-02-17T16:28:13Z varjagg joined #lisp 2018-02-17T16:28:14Z pjb: jmercouris: for example, since methods are not attached to classes but to the generic function, it make sense often to just define them with the :method option of defgeneric. Keeping all the methods in the generic function, instead of spreading them all over the project. 2018-02-17T16:28:31Z ak5 joined #lisp 2018-02-17T16:28:31Z pjb: Depending on the logic of your code… 2018-02-17T16:29:22Z White_Flame: defmethod without defgeneric is sortakinda like setf without defvar 2018-02-17T16:29:32Z phoe: theoretically, yes, I like to think of it like that 2018-02-17T16:29:39Z phoe: except SBCL stopped warning about it some time ago 2018-02-17T16:30:32Z beach: These days I even stick a DEFGENERIC in there for slot accessors. If I don't, the default signature has OBJECT as the name of the parameter, but I often want something more specific. 2018-02-17T16:32:23Z comborico1611_: Thank pjb and _death for your time. When bike gets back, tell him I bless him in the name of Jesus Christ. 2018-02-17T16:33:23Z White_Flame: comborico1611: besides this weird exchange we've had here, you should probably ask further learning questions in #clnoobs 2018-02-17T16:33:37Z comborico1611_: Thank you. 2018-02-17T16:33:42Z White_Flame: this channel is always going to be more advanced 2018-02-17T16:34:17Z comborico1611_: I've saved the programs, not to use as a homework assignment, but to meditate on. As I stated earlier, I know Lisp is the most powerful progrmming lanugage. 2018-02-17T16:34:21Z thodg quit (Read error: No route to host) 2018-02-17T16:35:50Z White_Flame: (that's still like meditating on a foreign language text, instead of meditating on the instructional materials to learn the language) 2018-02-17T16:37:05Z comborico1611_: And I adore Emacs. My main career is in Web Development and design. I have an interest in programming, but I'm not sure if I'm *that* intested. I only have Saturdays to dedicate to programming, when I do decide to dedicate it to learning programming. So that is why I requested a sample of this particular program. I don't wish to dedicate my free Saturdays to learning just to see a sample code. I thank this channel again fo 2018-02-17T16:37:05Z comborico1611_: r helping me by providing a custom simple program for me to meditate on. 2018-02-17T16:37:40Z comborico1611_: Yes, I know. But it speaks to the verbosity of a given language and other generalities. 2018-02-17T16:37:52Z White_Flame: not really 2018-02-17T16:38:02Z phoe: Is there a limit on how many dimensions an array can have in CL? 2018-02-17T16:38:09Z White_Flame: lisp can collapse code size compared to other languages, even if it can be larger in small examples 2018-02-17T16:38:26Z comborico1611_: You can definitely demonstrate verbose-ness with such a sample. 2018-02-17T16:38:28Z White_Flame: again, you need context to evaluate any of this. You're on the path to cargo cult 2018-02-17T16:38:39Z _death: clhs array-rank-limit 2018-02-17T16:38:39Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/v_ar_ran.htm 2018-02-17T16:38:50Z comborico1611_: Cargo cult? haha. 2018-02-17T16:40:04Z comborico1611_: White_Flame, I will keep what you said in mind. 2018-02-17T16:40:54Z comborico1611_: Bye. 2018-02-17T16:41:02Z comborico1611_ left #lisp 2018-02-17T16:43:41Z zaquest joined #lisp 2018-02-17T16:44:01Z comborico1611 quit (Quit: comborico1611) 2018-02-17T16:44:24Z comborico1611 joined #lisp 2018-02-17T16:45:59Z hhdave quit (Quit: hhdave) 2018-02-17T16:47:00Z Jesin quit (Quit: Leaving) 2018-02-17T16:47:31Z pjb: phoe: I think the limit is most-positive-fixnum. 2018-02-17T16:48:05Z pjb: phoe: however in practice, since there's array-total-size-limit (which may be as low as 1024), the practical limit on dimensions is on the order of 10 in the worst case. 2018-02-17T16:48:43Z pjb: phoe: also, you have to consider call-arguments-limit. You couldn't index an array with that many dimensions (aref takes the array itself as first argument). 2018-02-17T16:49:14Z phoe: pjb: yes, that is what I thought. 2018-02-17T16:49:28Z pjb: (you could still use array-row-major-aref, but what would be the point of declaring a multidimentionnal array if you can't index it directly). 2018-02-17T16:49:54Z pjb: So (1- call-arguments-limit) being as low as 49, this could be the lowest maximum array dimension. 2018-02-17T16:50:10Z Shinmera: _death already linked array-rank-limit. 2018-02-17T16:50:13Z scymtym: did anybody see what _death said? also, array-total-size-limit is not relevant in (make-array (make-list 1000 :initial-element 0)) 2018-02-17T16:50:21Z phoe: oh wait 2018-02-17T16:50:22Z phoe: right 2018-02-17T16:50:29Z phoe: geez, it got lost in the talk above 2018-02-17T16:50:37Z phoe: it's 8 or more. 2018-02-17T16:50:52Z pjb: as long as (<= (expt 2 (1- call-arguments-limit)) array-total-size-limit) 2018-02-17T16:51:48Z pjb: Shinmera: yes, but (< call-arguments-limit array-rank-limit) is possible. 2018-02-17T16:52:06Z pjb: And anyways, the standard only specifies lower bounds for those maximum, so… 2018-02-17T16:52:52Z zaquest quit (Quit: Leaving) 2018-02-17T16:53:02Z comborico1611 quit (Read error: Connection reset by peer) 2018-02-17T16:53:22Z Oladon joined #lisp 2018-02-17T16:53:31Z White_Flame: you can probably get around aref's parameter limits by using displaced arrays 2018-02-17T16:53:43Z pjb: Yes, that's funny, but Since there's no constraint on array-rank-limit vs. call-arguments-limit, you could have problems :-) 2018-02-17T16:53:55Z pjb: White_Flame: indeed. 2018-02-17T16:54:34Z zaquest joined #lisp 2018-02-17T16:55:46Z fourier: anyone from osicat maintainers are around? 2018-02-17T16:57:35Z test1600_ joined #lisp 2018-02-17T16:59:48Z banjamine quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )) 2018-02-17T17:17:37Z SaganMan quit (Quit: WeeChat 1.6) 2018-02-17T17:27:37Z Chream_2 joined #lisp 2018-02-17T17:27:37Z Chream_ quit (Read error: Connection reset by peer) 2018-02-17T17:29:08Z smasta joined #lisp 2018-02-17T17:39:28Z fe[nl]ix: fourier: what's up ? 2018-02-17T17:40:27Z beach: This is how Second Climacs computes the indentation of TAGBODY: http://metamodular.com/tagbody.png compare to what Emacs does. 2018-02-17T17:40:40Z tankrim joined #lisp 2018-02-17T17:40:44Z beach: Notice that the comments are aligned with what they comment, tag or statement. 2018-02-17T17:41:07Z phoe: beach: This is good. Aligning of the comments is awesome. 2018-02-17T17:42:46Z beach: By now, you should be convinced that the technique that I use is superior to regular expressions for indentation, right? 2018-02-17T17:43:26Z thallia quit (Ping timeout: 276 seconds) 2018-02-17T17:44:11Z phoe: beach: I am convinced. This is superb stuff. 2018-02-17T17:44:19Z beach: Thanks. 2018-02-17T17:44:32Z _death: what about a macro expanding to tagbody 2018-02-17T17:44:40Z jmercouris: if I have a method like this (defmethod run-something ((args))) and then I have (defmethod run-something :before ((args))), am I correct in thinking that the method with :before will be invoked before the other? 2018-02-17T17:44:46Z phoe: _death: like DO? 2018-02-17T17:44:53Z _death: yes 2018-02-17T17:45:00Z phoe: (do (...) (...) a (frob) b (fred) c (quux)) 2018-02-17T17:45:02Z phoe: something like that, yes 2018-02-17T17:45:13Z phoe: jmercouris: correct 2018-02-17T17:45:27Z phoe: read up on the standard method combination for more details. 2018-02-17T17:45:29Z beach: _death: What about it? 2018-02-17T17:45:37Z _death: beach: how will it indent 2018-02-17T17:45:47Z phoe: clhs 7.6.6.2 2018-02-17T17:45:47Z specbot: Standard Method Combination: http://www.lispworks.com/reference/HyperSpec/Body/07_ffb.htm 2018-02-17T17:45:49Z phoe: jmercouris: ^ 2018-02-17T17:46:13Z jmercouris: I'd prefer something a little lighter than the CLHS, but I'll take a look, thanks 2018-02-17T17:46:40Z beach: _death: The indentation will be based on the macro lambda list. 2018-02-17T17:47:04Z phoe: beach: so the DO's &body will not have tagbody indentation in that case? 2018-02-17T17:47:16Z _death: beach: ok.. I think emacs/slime has some special-casing for DO 2018-02-17T17:47:25Z beach: Oh, sorry. For specific standard macros, there will be a separate indentation rule. 2018-02-17T17:47:42Z Arcaelyx joined #lisp 2018-02-17T17:48:36Z phoe: beach: you could also define some generic "ways" of indenting stuff. You could introduce a thing like &tagbody that is only for defining indentation and otherwise equivalent to &body, but will indent the body forms in a TAGBODY style. 2018-02-17T17:49:28Z phoe: (define-indentation cl:do (4 4 &tagbody)) or something alike 2018-02-17T17:49:54Z _death: I think for "smart" indentation you'd want to use some annotation mechanism.. 2018-02-17T17:50:55Z beach: phoe: I considered that and decided against it. It is more complicated than that, because I need to know whether sub-expressions are forms or not. The recursive indentation calculation depends on it. 2018-02-17T17:51:47Z phoe: beach: I see. 2018-02-17T17:53:03Z phoe: Do you allow arbitrary computation when computing indentation for a form? 2018-02-17T17:53:43Z phoe: Can I define a method for (eql 'cl:do) that will turn its indentation into something tagbodylike? 2018-02-17T17:54:03Z whoman joined #lisp 2018-02-17T17:54:52Z thallia joined #lisp 2018-02-17T17:55:33Z _death: that sounds like the pretty-printer approach 2018-02-17T17:55:58Z phoe: It would work like that, yeah. 2018-02-17T17:56:50Z fourier: fe[nl]ix: submitted 2 prs, wanna get them in 2018-02-17T17:58:25Z test1600_ quit (Ping timeout: 256 seconds) 2018-02-17T17:59:24Z mikecheck joined #lisp 2018-02-17T18:01:35Z thallia quit (Ping timeout: 240 seconds) 2018-02-17T18:03:58Z jmercouris: beach: this is more work than I ever imagined :D 2018-02-17T18:04:10Z jmercouris: now that I am starting to get into it, I am seeing what kind of a monumental task this is 2018-02-17T18:04:28Z jmercouris: especially because I am simultaneously converting the interface to a CLOS object to allow for multiple simultaneous backends 2018-02-17T18:04:43Z jmercouris: a lot of pain for now, but potentially unbeleivably cool stuff if the implementation actually works 2018-02-17T18:05:13Z jmercouris: I can imagine a single server running multiple backends on peoples computers, that would be interesting, multiple people with the same "tabs" open, stuff like that 2018-02-17T18:05:23Z scymtym quit (Ping timeout: 255 seconds) 2018-02-17T18:09:02Z smurfrobot joined #lisp 2018-02-17T18:10:44Z terpri quit (Remote host closed the connection) 2018-02-17T18:12:19Z smurfrob_ joined #lisp 2018-02-17T18:12:26Z rumbler31 joined #lisp 2018-02-17T18:13:51Z whoman: ~___~ 2018-02-17T18:13:58Z whoman: not cool man 2018-02-17T18:14:13Z smurfrobot quit (Ping timeout: 268 seconds) 2018-02-17T18:15:02Z jmercouris: whoman: ??? 2018-02-17T18:15:46Z whoman: just seen the scrollback from last night 2018-02-17T18:16:53Z hhdave joined #lisp 2018-02-17T18:17:07Z rumbler31 quit (Ping timeout: 256 seconds) 2018-02-17T18:17:07Z smurfrob_ quit (Ping timeout: 256 seconds) 2018-02-17T18:17:54Z fdund joined #lisp 2018-02-17T18:18:15Z LocaMocha is now known as Sauvin 2018-02-17T18:18:35Z jmercouris: whoman: what isn't cool? by whom? I don't understand 2018-02-17T18:18:51Z phoe: yep, it's all out of context. 2018-02-17T18:19:29Z jmercouris: what is "the scrollback"? the history? the logs? 2018-02-17T18:20:20Z sjl: the stuff said while you were away but your IRC client was connected, which you usually have to "scroll back" to see 2018-02-17T18:20:42Z jmercouris: ah okay, that solves part of the mystery 2018-02-17T18:20:58Z scymtym joined #lisp 2018-02-17T18:21:25Z test1600_ joined #lisp 2018-02-17T18:22:19Z whoman: jmercouris, you hurt my feelings. I'm not able to program blah blah blah lanague blah blah. I'm done with you, loser. 2018-02-17T18:22:26Z whoman: T_T 2018-02-17T18:23:07Z phoe: geez, don't repost this stuff 2018-02-17T18:23:19Z phoe: the more you repost it the more energy we all spend on it 2018-02-17T18:23:28Z phoe: the more we forget about it the more we can focus on actual Lisp. 2018-02-17T18:23:43Z phoe: repost stuff that's worth reposting. 2018-02-17T18:24:45Z whoman: sorry, should have left it. moving on 2018-02-17T18:25:37Z whoman: has anyone had a chance to play with the specialized lisp editor for iphone ? 2018-02-17T18:26:04Z jackdaniel: I'm a bit sceptical of editing lisp on any phone 2018-02-17T18:26:29Z fourier: lisp is too verbose language for a phone 2018-02-17T18:27:13Z shrdlu68: Assembly would be perfect, with those long thin poetic lines... 2018-02-17T18:27:35Z Xal quit (Ping timeout: 240 seconds) 2018-02-17T18:28:02Z whoman: i can't find the name of it, but it had special buttons for editing forms and such, a bit like 'touch paredit' , quite experimental. i searched but i cannot remember the name 2018-02-17T18:28:03Z fourier: APL is the best lang for the phone. Dyalog is working on their version for Android, and J already has a version for Android 2018-02-17T18:28:36Z Shinmera: Best to code in binary on the phone, only needs two buttons! No way to mistype! 2018-02-17T18:29:07Z smurfrobot joined #lisp 2018-02-17T18:29:28Z Xal joined #lisp 2018-02-17T18:29:45Z RyanRadomski joined #lisp 2018-02-17T18:30:18Z whoman: fourier, i think if it were more visual, for eg.: https://joelkuiper.eu/assets/knowledge/lisp-edit.png 2018-02-17T18:30:21Z _death: you can use a blockly-like interface 2018-02-17T18:30:24Z jackdaniel: fourier: CL also has repl and editor on android - this doesn't mean it is usable for actual programming 2018-02-17T18:30:29Z whoman: i've seen one like this for s-expressions, but i cant find the name =( 2018-02-17T18:30:54Z whoman: touch screen is *soooo* beautiful for scrolling and zooming. mouse wheel and keyboard cant compare with that 2018-02-17T18:31:12Z fourier: jackdaniel: as i said cl is too verbose, apl would really suite well as it is extremely terse 2018-02-17T18:32:21Z whoman: verbose in text form -- but we could visualize the trees of forms, getting to the verbotic symbol names as necessary 2018-02-17T18:32:31Z fikka quit (Ping timeout: 248 seconds) 2018-02-17T18:32:42Z whoman: for eg. one could 'zoom' in to each symbol name indefinately resolving them 2018-02-17T18:34:17Z pjb: beach: Try it with (tagbody \n (expr) tag1 \n (expr) tag2 \n (expr) tagN) 2018-02-17T18:34:47Z pjb: beach: We would want the expr to align on one column, and the tags to align on their own column. 2018-02-17T18:35:16Z pjb: beach: I can imagine several kinds of tagbody where writing the tags at the end of the line would be the right thing to do… 2018-02-17T18:35:54Z pjb: one the other hand, we all know I've got a disturbed imagination :-P 2018-02-17T18:37:36Z shrdlu68 recoils at APL 2018-02-17T18:37:39Z pjb: beach: perhaps more seriously, (tagbody tag (expr1) \n longer-tag (expr2) very-long-tag (expr3) final-tag) 2018-02-17T18:39:07Z mikecheck left #lisp 2018-02-17T18:43:57Z beach: It's an impossible requirement. Imagine (tagbody tag1 statment1 statment2 tag2) 2018-02-17T18:44:08Z Pixel_Outlaw joined #lisp 2018-02-17T18:44:25Z beach: I'll look at it tomorrow. Now I will go spend time with my (admittedly small) family. 2018-02-17T18:44:51Z Lycurgus only saw APL used once, at IBM Palo Alto, and it was tEH fail then 2018-02-17T18:46:20Z random-nick quit (Read error: Connection reset by peer) 2018-02-17T18:46:43Z Fare: Lycurgus, have you seen Aaron Hsu write APL code? He is impressive. 2018-02-17T18:47:13Z Lycurgus: no and I don't doubt it 2018-02-17T18:47:14Z fourier: yes Aaron's presentation is really impressive and mind blowing 2018-02-17T18:47:30Z Fare: He had a point-free APL optimizing compiler from APL to C++ in ~100 lines of APL (plus C++ headers and runtime). 2018-02-17T18:47:51Z fourier: dont forget it is running on GPU and generates GPU code as well 2018-02-17T18:47:58Z Fare: just the source code representation was impressive. 2018-02-17T18:48:03Z fikka joined #lisp 2018-02-17T18:48:52Z Fare: both very high-level and very low-level at the same time. 2018-02-17T18:49:05Z Lycurgus: the failure was the IBMer contending that he could implement some function, a simple transcendental iirc, quickly, which he could not 2018-02-17T18:51:10Z Fare: https://confengine.com/user/aaron-w-hsu 2018-02-17T18:52:29Z Lycurgus expected and old guy 2018-02-17T18:52:34Z Lycurgus: *an 2018-02-17T18:52:49Z fikka quit (Ping timeout: 248 seconds) 2018-02-17T18:55:33Z fourier: Aaron is former schemer btw. he told on one conference that APL is the only language he was not able to express in scheme 2018-02-17T18:55:37Z ecraven: I still want to learn APL properly some day 2018-02-17T18:56:30Z fourier: for me learning APL was the second mind-blowing programming experience after lisp 2018-02-17T18:57:36Z ecraven: I learned some, but haven't really "groked" it well enough to read even simple programs 2018-02-17T18:57:49Z ecraven: I don't understand most "idioms" as APLers call them 2018-02-17T18:58:06Z ecraven: also, dyalog with its trains is an entirely different level yet again 2018-02-17T18:58:59Z fourier: yep trains are hard ;) 2018-02-17T18:59:33Z ecraven: APL finally made me understand that succinctness can be a virtue.. arcfide's compiler on a few pages is just really impressive, and the claim that you can actually keep it all in your head is indeed believable in that context 2018-02-17T18:59:56Z nowhere_man joined #lisp 2018-02-17T19:02:22Z attila_lendvai joined #lisp 2018-02-17T19:02:22Z attila_lendvai quit (Changing host) 2018-02-17T19:02:22Z attila_lendvai joined #lisp 2018-02-17T19:03:40Z smurfrobot quit (Remote host closed the connection) 2018-02-17T19:03:56Z nowhereman_ quit (Ping timeout: 276 seconds) 2018-02-17T19:07:31Z stacksmith: Fare: are you still scheme-bound these days? 2018-02-17T19:08:18Z fikka joined #lisp 2018-02-17T19:08:23Z fdund quit (Quit: leaving) 2018-02-17T19:13:16Z ecraven: hehe, "...in the simplest manner imaginable" is a quote I wouldn't apply to APL and the co-dfns compiler myself :P 2018-02-17T19:13:35Z fikka quit (Ping timeout: 240 seconds) 2018-02-17T19:16:17Z XachX quit (Ping timeout: 180 seconds) 2018-02-17T19:17:11Z test1600_ quit (Quit: Leaving) 2018-02-17T19:17:46Z wxie joined #lisp 2018-02-17T19:18:02Z fikka joined #lisp 2018-02-17T19:18:18Z phoe: shortest ain't mean no simple 2018-02-17T19:18:53Z wigust joined #lisp 2018-02-17T19:18:58Z mlf joined #lisp 2018-02-17T19:19:52Z RyanRadomski left #lisp 2018-02-17T19:21:25Z raynold quit (Quit: Connection closed for inactivity) 2018-02-17T19:21:27Z fourier: strangely enough these 2 communities - apl and cl - almost never intersecting. the CL community grows from mature software engineers and science(around AI back in the day), while APL from domain experts and non-programmers 2018-02-17T19:23:12Z thallia joined #lisp 2018-02-17T19:23:19Z stacksmith: Don't hear much Haskell talk either, for that matter. 2018-02-17T19:23:34Z KarlDscc joined #lisp 2018-02-17T19:23:59Z fourier: "these haskellers and their types!" 2018-02-17T19:24:48Z stacksmith: I suppose strong typing is a deal breaker for many lispers. 2018-02-17T19:26:10Z shrdlu68 quit (Remote host closed the connection) 2018-02-17T19:26:11Z fourier: hm the stance "if its compiles, it most certainly works" sounds appealing, I guess some lispers (like peter siebel iirc) have switched to haskell 2018-02-17T19:26:27Z shrdlu68 joined #lisp 2018-02-17T19:26:34Z Karl_Dscc quit (Ping timeout: 256 seconds) 2018-02-17T19:27:56Z |3b| likes being able to compile things without knowing what "works" is yet :) 2018-02-17T19:28:41Z phoe: I have been compiling Haskell once 2018-02-17T19:28:45Z stacksmith: I am strangely attracted to this: https://en.wikipedia.org/wiki/APL_(programming_language)#/media/File:APL-keybd2.svg. Do APLers actually remember which key stands for what? 2018-02-17T19:28:59Z phoe: It worked indeed, except it did not do what I wanted it to do, so I can't say that it "worked". 2018-02-17T19:30:33Z fourier: stacksmith: yep its not that many of them. also for example in Dyalog APL IDE there is a toolbar with all the symbols so you can just point your mouse and get a hint on it. In GNU APL Emacs's mode there is a popup keyboard with a similar hint when you move mouse over the symbols. 2018-02-17T19:31:38Z wigust quit (Quit: ZNC 1.6.5 - http://znc.in) 2018-02-17T19:31:58Z stacksmith: It depends on how you define 'works'. Someone here has written gobs of Lisp code he claims "works", but he doesn't know basic things about Lisp. 2018-02-17T19:32:18Z pjb: fourier: real lispers will know the dire limitations of the haskell point of view. 2018-02-17T19:32:22Z phoe: stacksmith: passes the tests that I defined for it 2018-02-17T19:32:32Z pjb: I would advise all to study very closely the RAX bug. 2018-02-17T19:32:58Z pjb: https://cliki.net/DeepSpace1 2018-02-17T19:33:14Z phoe: ooh yes, how to use a REPL properly 2018-02-17T19:33:25Z pjb: Check the google talk, and read the Formal Analysis of the Remote Agent Before and After Flight. 2018-02-17T19:33:38Z pjb: Then you will LOL each time you hear a haskeller. 2018-02-17T19:33:46Z fourier: pjb: I guess main limitation is the necessity to have a phd in category theory in order to write hello world 2018-02-17T19:33:57Z pjb: phoe: the REPL part is the least interesting in that bug! 2018-02-17T19:34:07Z pjb: Hing: the system had been formally verified! 2018-02-17T19:34:48Z pjb: fourier: well, not really, since like in any language you're not forced to use very part of the language to write programs. 2018-02-17T19:35:08Z pjb: s/Hing/Hint/ 2018-02-17T19:36:22Z pjb: It is possible that eventually haskell become useful. When it will run on formally verified hardware, on which would run formally verified operating systems and drivers, and where all the libraries and network protocols you'd use would have be formally verified. Then perhaps… 2018-02-17T19:36:28Z stacksmith: phoe: there is an implied trust that the test itself "works". 2018-02-17T19:37:03Z phoe: stacksmith: at some point you need to trust something when you automate verification. 2018-02-17T19:37:17Z pjb: But the main objection I see is that businesses won't finance such development in your life time (they didn't in mine). So don't dream. 2018-02-17T19:37:21Z stacksmith: phoe: indeed. 2018-02-17T19:37:29Z fourier: pjb: not really. there is a pandoc which is quite widely used; other apps will come 2018-02-17T19:37:43Z pjb: fourier: yes, it's free software. 2018-02-17T19:37:54Z pjb: Not a paying job with paying customers. 2018-02-17T19:40:03Z fourier: there are a few jobs for haskellers; and their activity in reddit for example is higher than in lisp reddit 2018-02-17T19:40:55Z fourier: but still it is too hard language to be widely adopted. 2018-02-17T19:41:44Z ecraven: idris seems an interesting language that might succeed haskell 2018-02-17T19:47:59Z pjb: Activity in forums is proportional to the difficulties of the language or system. It's not a good sign. 2018-02-17T19:48:14Z thallia quit (Ping timeout: 256 seconds) 2018-02-17T19:48:27Z thallia joined #lisp 2018-02-17T19:49:15Z loli quit (Quit: WeeChat 2.0.1) 2018-02-17T19:50:03Z loli joined #lisp 2018-02-17T20:00:40Z damke_ joined #lisp 2018-02-17T20:03:21Z damke quit (Ping timeout: 264 seconds) 2018-02-17T20:06:57Z fikka quit (Ping timeout: 248 seconds) 2018-02-17T20:08:11Z pagnol quit (Ping timeout: 256 seconds) 2018-02-17T20:11:12Z kdridi quit (Remote host closed the connection) 2018-02-17T20:11:25Z kdridi joined #lisp 2018-02-17T20:11:57Z kdridi quit (Remote host closed the connection) 2018-02-17T20:13:09Z rumbler31 joined #lisp 2018-02-17T20:13:14Z vultyre joined #lisp 2018-02-17T20:18:04Z rumbler31 quit (Ping timeout: 260 seconds) 2018-02-17T20:18:18Z Chream_ joined #lisp 2018-02-17T20:19:17Z Lycurgus quit (Quit: Ex Chat) 2018-02-17T20:19:50Z Chream_2 quit (Ping timeout: 256 seconds) 2018-02-17T20:20:58Z orivej joined #lisp 2018-02-17T20:22:46Z fikka joined #lisp 2018-02-17T20:22:46Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-17T20:24:34Z kdridi joined #lisp 2018-02-17T20:24:39Z attila_lendvai joined #lisp 2018-02-17T20:24:43Z attila_lendvai quit (Changing host) 2018-02-17T20:24:43Z attila_lendvai joined #lisp 2018-02-17T20:27:57Z fikka quit (Ping timeout: 264 seconds) 2018-02-17T20:35:38Z makomo joined #lisp 2018-02-17T20:40:18Z terpri joined #lisp 2018-02-17T20:40:50Z xoreaxeax quit (Quit: Page closed) 2018-02-17T20:42:32Z hhdave quit (Quit: hhdave) 2018-02-17T20:43:03Z fikka joined #lisp 2018-02-17T20:46:14Z pagnol joined #lisp 2018-02-17T20:47:04Z bmgxc9 joined #lisp 2018-02-17T20:47:23Z Fare quit (Ping timeout: 276 seconds) 2018-02-17T20:48:23Z fikka quit (Ping timeout: 268 seconds) 2018-02-17T20:49:51Z EvW joined #lisp 2018-02-17T20:52:01Z milanj quit (Quit: This computer has gone to sleep) 2018-02-17T20:53:58Z Patternmaster quit (Quit: leaving) 2018-02-17T20:54:07Z bmgxc9 quit (Remote host closed the connection) 2018-02-17T20:54:26Z mjl_ quit (Ping timeout: 276 seconds) 2018-02-17T20:54:28Z random-nick joined #lisp 2018-02-17T20:54:37Z makomo: good evening :-) 2018-02-17T20:55:20Z bmgxc9 joined #lisp 2018-02-17T20:55:38Z makomo: what would be the best way to create a function from a body of code? i.e. i have a list of forms and want to make a function that will run these forms? 2018-02-17T20:55:56Z fourier: flet/labels 2018-02-17T20:56:01Z makomo: so far i've used (compile nil `(lambda () ,@body)) 2018-02-17T20:56:54Z makomo: hm i guess that's doable too, and then i could create a lambda which just calls the one defined by flet/labels 2018-02-17T20:57:45Z makomo: what would be the best way to create it directly? 2018-02-17T20:58:03Z pjb: makomo: yep. 2018-02-17T20:58:13Z White_Flame: if you have the expressions as list-based data, it will have to end up as EVAL or COMPILE 2018-02-17T20:58:26Z makomo: from what i can tell, FUNCTION is out of the game because it's a special operator and then i would have to eval it myself (which i suppose flet/labels, etc. do under the hood) 2018-02-17T20:58:39Z makomo: White_Flame: yup, that's exactly what i'm thinking 2018-02-17T20:58:42Z White_Flame: (at runtime. at compile-time, get it in a macro expansion) 2018-02-17T20:58:52Z makomo: mhm, exactly 2018-02-17T20:59:17Z pjb: it depends on the expressions. If they are all function calls, then you can do (mapcar (lambda (x) (apply (first x) (rest x))) '((+ 1 2 3) (* 3 4 5))) #| --> (6 60) |# 2018-02-17T20:59:42Z pjb: but if you also have macros or special operators, then (compile nil `(lambda () ,@body)) is better. 2018-02-17T21:00:24Z White_Flame: the APPLY example wouldn't work with nested expressions as written 2018-02-17T21:02:40Z pjb: Also, it may depend on how you want to handle errors, notably program-errors. With compile if there's a program error, nothing will be called. On the other hand you may do (mapcar (lambda (x) (ignore-errors (funcall (compile nil `(lambda () ,x))))) '((print (+ 1 2 3)) (print (/ 0)) (print 'hi))) #| 6 hi --> (6 nil hi) |# 2018-02-17T21:02:55Z pjb: White_Flame: indeed. 2018-02-17T21:03:25Z fikka joined #lisp 2018-02-17T21:05:17Z hel-io joined #lisp 2018-02-17T21:06:02Z makomo: pjb: i see 2018-02-17T21:07:51Z pjb: makomo: also you have to consider that there are no variables linking your expressions. Perhaps you want some? Why do you have such isolated expressions? Perhaps you want to scan them for free variables and bind them in a surrounding let, so that you can have ((setf foo 42) (+ foo 3)) ? 2018-02-17T21:08:08Z fikka quit (Ping timeout: 256 seconds) 2018-02-17T21:09:07Z bmgxc9 quit (Remote host closed the connection) 2018-02-17T21:09:19Z makomo: pjb: what i'm trying to do is to see how exactly i would implement a small HDL/hardware simulator in lisp. it has already been done in C++ by writing a compiler and a vm, but i'm interested to see how easy it would be in lisp 2018-02-17T21:09:37Z makomo: so the first thing to do is to come up with some macros to define the hardware components and behavioral processes and such 2018-02-17T21:09:54Z makomo: and these processes would just contain lisp code which i would stuff into lambdas and store within these component objects 2018-02-17T21:10:19Z AX31_A13X quit (Remote host closed the connection) 2018-02-17T21:11:20Z makomo: in this case, since everything is known at compile-time i can just generate lambda expressions myself without using COMPILE 2018-02-17T21:12:37Z White_Flame: yes 2018-02-17T21:12:45Z makomo: this code contained within the processes can technically be arbitrary lisp code but should only contain operators which are related to the simulation 2018-02-17T21:12:57Z smasta quit (Ping timeout: 264 seconds) 2018-02-17T21:12:57Z White_Flame: you only need to deal with eval/compile if you're loading in code at runtime. Everything else should be doable at macro-time 2018-02-17T21:13:07Z makomo: White_Flame: yup :-) 2018-02-17T21:13:53Z fikka joined #lisp 2018-02-17T21:14:33Z pjb: or with closures. 2018-02-17T21:14:37Z makomo: if i want to be safe against people putting arbitrary/nasty code into these processes, i would have to first preprocess this code before putting it into a lambda right? i would have to somehow walk the code and allow only simulation-related operators 2018-02-17T21:14:55Z White_Flame: right. have a "safe" subset of CL that you can verify 2018-02-17T21:14:56Z pjb: or use closures. 2018-02-17T21:15:07Z makomo: or can i somehow make this code execute in a "sandbox"? 2018-02-17T21:15:09Z makomo: pjb: hmm? 2018-02-17T21:15:26Z pjb: code is not random, it comes from your hdl definitions. 2018-02-17T21:15:45Z White_Flame: plus, if you're concerned about reading untrusted code, you need to ensure reader eval macros are not enabled 2018-02-17T21:15:49Z makomo: well, since it's just arbitrary lisp code, it could contain nasty stuff like "rm -rf /" 2018-02-17T21:15:57Z random-nick quit (Read error: Connection reset by peer) 2018-02-17T21:16:06Z random-nick joined #lisp 2018-02-17T21:16:08Z makomo: i.e. if someone else prepares a malicious simulation for you to run 2018-02-17T21:16:19Z jmercouris quit (Ping timeout: 265 seconds) 2018-02-17T21:16:34Z makomo: if i had a sandbox, rather than having to check the code myself, this sandbox would only provide simulation-related operators and everything else would be unbound/undefined 2018-02-17T21:16:42Z makomo: is there a way this could be done? 2018-02-17T21:18:01Z makomo: White_Flame: right, that too 2018-02-17T21:18:24Z makomo: but if the code ran in this sandbox, then those eval macros could be stopped too 2018-02-17T21:18:46Z makomo: i.e. they would just fail 2018-02-17T21:19:01Z fikka quit (Ping timeout: 256 seconds) 2018-02-17T21:20:53Z jmercouris joined #lisp 2018-02-17T21:21:28Z makomo: hm i was thinking of running the code in a different package or something, but the code could always just use IN-PACKAGE to switch back i guess? 2018-02-17T21:21:53Z White_Flame: yes, or just (sb-ext::lol-mung-your-os) 2018-02-17T21:22:27Z makomo: hm yeah :-( 2018-02-17T21:22:55Z kajo quit (Quit: WeeChat 2.0.1) 2018-02-17T21:23:28Z kajo joined #lisp 2018-02-17T21:23:53Z kajo quit (Client Quit) 2018-02-17T21:24:04Z fikka joined #lisp 2018-02-17T21:24:21Z kajo joined #lisp 2018-02-17T21:26:17Z Pixel_Outlaw quit (Ping timeout: 276 seconds) 2018-02-17T21:29:13Z fikka quit (Ping timeout: 256 seconds) 2018-02-17T21:31:43Z jmercouris quit (Ping timeout: 248 seconds) 2018-02-17T21:32:06Z jmercouris joined #lisp 2018-02-17T21:34:29Z fikka joined #lisp 2018-02-17T21:38:40Z Pixel_Outlaw joined #lisp 2018-02-17T21:38:51Z fikka quit (Ping timeout: 256 seconds) 2018-02-17T21:38:57Z fourier quit (Ping timeout: 268 seconds) 2018-02-17T21:41:53Z Arcaelyx_ joined #lisp 2018-02-17T21:43:22Z Arcaelyx quit (Ping timeout: 252 seconds) 2018-02-17T21:43:31Z kdridi quit (Remote host closed the connection) 2018-02-17T21:47:54Z Murii quit (Quit: WeeChat 1.4) 2018-02-17T21:48:58Z Murii joined #lisp 2018-02-17T21:54:03Z Fare joined #lisp 2018-02-17T21:59:37Z dieggsy joined #lisp 2018-02-17T22:00:37Z stacksmith: Does anyone know if vectors of 4-bit unsigned-byte values are handled efficiently by modern implementations? 2018-02-17T22:02:01Z Fare: probably not 2018-02-17T22:02:14Z phoe: stacksmith: efficiently, what do you mean? 2018-02-17T22:02:30Z phoe: because CPUs might not be able to handle them more efficiently than they would be able to handle uint8 2018-02-17T22:03:07Z Fare: stacksmith, on SBCL (upgraded-array-element-type '(unsigned-byte 4)) says (UNSIGNED-BYTE 4) so you might be in luck. 2018-02-17T22:03:19Z White_Flame: yes, it's a space efficiency vs code efficiency tradeoff to decide whether to bit-pack <8-bit values 2018-02-17T22:03:20Z phoe: ooh, that is actually interesting 2018-02-17T22:03:33Z stacksmith: I mean as efficiently as can be expected from an 8-bit vector plus the required shift/mask 2018-02-17T22:03:37Z pjb: Armed Bear Common Lisp --> T 2018-02-17T22:03:37Z pjb: Clozure Common Lisp --> (UNSIGNED-BYTE 8) 2018-02-17T22:03:38Z pjb: CLISP --> (UNSIGNED-BYTE 4) 2018-02-17T22:03:38Z pjb: ECL --> EXT:BYTE8 2018-02-17T22:03:41Z pjb: SBCL --> (UNSIGNED-BYTE 4) 2018-02-17T22:03:44Z pjb: 2018-02-17T22:04:00Z pjb: So sbcl and clisp optimizes it. ecl and ccl are not too bad. abcl is no good there. 2018-02-17T22:04:23Z Fare: cl-launch can help you quickly test out many lisps. 2018-02-17T22:04:38Z Fare: or lisp-invocation.asd 2018-02-17T22:04:42Z stacksmith: Interesting. Does it mean that CCL will store 4-bit values in an 8-bit byte discarding 4 bits? 2018-02-17T22:04:54Z phoe: stacksmith: seems so 2018-02-17T22:06:22Z Fare: next question: does anyone store strings as 3 characters per 64-bit word? :-) 2018-02-17T22:06:34Z stacksmith: That is very interesting. Fare: thank you, i will check out cl-launch. And thank you all. 2018-02-17T22:08:03Z hhdave joined #lisp 2018-02-17T22:09:05Z kdridi joined #lisp 2018-02-17T22:09:34Z Fare: interesting results for (loop for i from 1 to 128 collect (upgraded-array-element-type `(unsigned-byte ,i))) 2018-02-17T22:09:53Z krwq joined #lisp 2018-02-17T22:10:59Z hhdave_ joined #lisp 2018-02-17T22:12:26Z nowhereman_ joined #lisp 2018-02-17T22:12:52Z nowhere_man quit (Ping timeout: 260 seconds) 2018-02-17T22:12:59Z hhdave quit (Ping timeout: 260 seconds) 2018-02-17T22:13:00Z hhdave_ is now known as hhdave 2018-02-17T22:13:27Z terpri quit (Ping timeout: 240 seconds) 2018-02-17T22:13:54Z rumbler31 joined #lisp 2018-02-17T22:14:10Z stacksmith: why (unsigned-byte 7) for 5,6,7 bits? Does it mean that 7 bits are stored in an 8-bit byte? 2018-02-17T22:14:40Z Murii quit (Quit: WeeChat 1.4) 2018-02-17T22:14:59Z phoe: it means that it has a way of optimizing for uint7s 2018-02-17T22:15:05Z phoe: probably stores them in uint8 with tags 2018-02-17T22:15:09Z phoe: or something 2018-02-17T22:15:26Z pjb: stacksmith: often, for integers, there's only one type tag in the low order bit, so (unsigned-byte 7) is the most efficient way to store small integer (fixnum) values into a byte. 2018-02-17T22:16:08Z Pixel_Outlaw quit (Quit: Leaving) 2018-02-17T22:16:15Z stacksmith: Confused: if 7 means it is probably 8, does 4 mean maybe 8? Does upgraded-array-element-type make any promises about the storage size? 2018-02-17T22:16:30Z phoe: nothing makes any promises about the storage-size 2018-02-17T22:17:05Z phoe: consult your implementation for the exact details. upgraded-array-element-type can't tell you such implementation details. 2018-02-17T22:18:29Z dieggsy quit (Remote host closed the connection) 2018-02-17T22:18:35Z stacksmith: OK. As a note, my original question had nothing to do with upgraded-array-element-type... 2018-02-17T22:18:42Z rumbler31 quit (Ping timeout: 260 seconds) 2018-02-17T22:18:52Z phoe: ;) 2018-02-17T22:19:20Z phoe: stacksmith: I think you can direct your question towards SBCL as it's reasonably fast and has a separate u-a-e-t for uint4 2018-02-17T22:19:27Z phoe: so #sbcl 2018-02-17T22:19:56Z stacksmith: will do. 2018-02-17T22:26:23Z smasta joined #lisp 2018-02-17T22:29:34Z emacsoma` joined #lisp 2018-02-17T22:35:07Z vultyre quit (Quit: Leaving) 2018-02-17T22:37:10Z shrdlu68 quit (Ping timeout: 240 seconds) 2018-02-17T22:38:23Z shrdlu68 joined #lisp 2018-02-17T22:39:45Z hel-io quit (Remote host closed the connection) 2018-02-17T22:40:24Z hel-io joined #lisp 2018-02-17T22:44:25Z random-nick quit (Remote host closed the connection) 2018-02-17T22:44:40Z hel-io quit (Ping timeout: 240 seconds) 2018-02-17T22:48:47Z Patternmaster joined #lisp 2018-02-17T22:55:43Z raynold joined #lisp 2018-02-17T23:04:18Z LostPw joined #lisp 2018-02-17T23:07:05Z emacsomancer quit (Quit: ERC (IRC client for Emacs 25.3.1)) 2018-02-17T23:08:51Z emacsomancer joined #lisp 2018-02-17T23:09:53Z LostPw quit (Quit: Leaving) 2018-02-17T23:15:45Z smasta quit (Ping timeout: 256 seconds) 2018-02-17T23:16:40Z smasta joined #lisp 2018-02-17T23:16:48Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-17T23:17:57Z attila_lendvai joined #lisp 2018-02-17T23:21:38Z papachan joined #lisp 2018-02-17T23:22:33Z vlatkoB_ joined #lisp 2018-02-17T23:22:35Z nullman quit (Ping timeout: 240 seconds) 2018-02-17T23:23:49Z nullman joined #lisp 2018-02-17T23:26:20Z vlatkoB quit (Ping timeout: 265 seconds) 2018-02-17T23:26:35Z jmercouris quit (Ping timeout: 240 seconds) 2018-02-17T23:36:00Z borei quit (Ping timeout: 248 seconds) 2018-02-17T23:36:17Z pillton joined #lisp 2018-02-17T23:37:29Z le4fy joined #lisp 2018-02-17T23:47:31Z Rawriful quit (Quit: WeeChat 1.4) 2018-02-17T23:47:42Z gabiruh_ is now known as gabiruh 2018-02-17T23:50:03Z dieggsy joined #lisp 2018-02-17T23:55:39Z hhdave quit (Quit: hhdave) 2018-02-17T23:58:59Z |3b|: unsigned-byte 7,15,31,etc u-a-e-t are probably from the combination of upgrading rules and type lattice, like NIL arrays being strings, since unsigned-byte 7 overlaps signed-byte 8 2018-02-18T00:00:02Z kozy quit (Remote host closed the connection) 2018-02-18T00:00:44Z kozy joined #lisp 2018-02-18T00:01:39Z wxie quit (Ping timeout: 256 seconds) 2018-02-18T00:01:57Z varjagg quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2018-02-18T00:04:10Z nowhere_man joined #lisp 2018-02-18T00:07:34Z nowhereman_ quit (Ping timeout: 268 seconds) 2018-02-18T00:10:03Z terpri joined #lisp 2018-02-18T00:10:36Z Chream_ quit (Read error: Connection reset by peer) 2018-02-18T00:10:48Z Chream_ joined #lisp 2018-02-18T00:13:35Z kdridi quit (Remote host closed the connection) 2018-02-18T00:13:41Z Chream_2 joined #lisp 2018-02-18T00:14:15Z borei joined #lisp 2018-02-18T00:14:34Z rumbler31 joined #lisp 2018-02-18T00:15:15Z Chream_ quit (Ping timeout: 256 seconds) 2018-02-18T00:15:56Z terpri quit (Ping timeout: 276 seconds) 2018-02-18T00:16:31Z porky11 quit (Quit: Leaving) 2018-02-18T00:16:37Z marusich joined #lisp 2018-02-18T00:19:50Z rumbler31 quit (Ping timeout: 276 seconds) 2018-02-18T00:21:05Z jstypo quit (Ping timeout: 240 seconds) 2018-02-18T00:21:45Z marusich quit (Ping timeout: 268 seconds) 2018-02-18T00:22:06Z marusich joined #lisp 2018-02-18T00:25:07Z pierpa joined #lisp 2018-02-18T00:27:03Z stacksmith quit (Read error: Connection reset by peer) 2018-02-18T00:28:50Z attila_lendvai quit (Quit: Leaving.) 2018-02-18T00:29:25Z stacksmith joined #lisp 2018-02-18T00:30:04Z kdridi joined #lisp 2018-02-18T00:30:36Z krwq quit (Remote host closed the connection) 2018-02-18T00:36:47Z makomo quit (Ping timeout: 248 seconds) 2018-02-18T00:38:26Z arescorpio joined #lisp 2018-02-18T00:38:34Z arescorpio quit (Max SendQ exceeded) 2018-02-18T00:39:02Z fisxoj joined #lisp 2018-02-18T00:39:36Z jstypo joined #lisp 2018-02-18T00:42:45Z Baggers quit (Remote host closed the connection) 2018-02-18T00:46:52Z python476 quit (Ping timeout: 260 seconds) 2018-02-18T00:50:17Z vultyre joined #lisp 2018-02-18T00:50:58Z kdridi quit (Remote host closed the connection) 2018-02-18T00:51:19Z python476 joined #lisp 2018-02-18T00:56:58Z arescorpio joined #lisp 2018-02-18T00:57:16Z kdridi joined #lisp 2018-02-18T01:00:08Z hel-io joined #lisp 2018-02-18T01:00:18Z milanj joined #lisp 2018-02-18T01:01:19Z terpri joined #lisp 2018-02-18T01:01:39Z cranix joined #lisp 2018-02-18T01:01:40Z cranix: hello 2018-02-18T01:02:07Z cranix: i would like to make many declaration of global variables in a loop using defparameter 2018-02-18T01:02:23Z cranix: so i will have variables of names say r0 r1 r2 .. r31 2018-02-18T01:02:30Z cranix: wihout 32 (defparameter rn 0) 2018-02-18T01:02:36Z cranix: i am trying to make a macro 2018-02-18T01:02:42Z cranix: that will run it inside a loop 2018-02-18T01:02:47Z cranix: but without success 2018-02-18T01:02:57Z cranix: i'm googling about loops in macros 2018-02-18T01:03:06Z cranix: but i find only things about a macro called loop 2018-02-18T01:03:11Z cranix: i do not want to use array 2018-02-18T01:03:24Z cranix: i have a function that gernates symbol 2018-02-18T01:03:32Z cranix: and i have a macro that will generate one defparameter 2018-02-18T01:03:39Z cranix: but i can not put it inside a loop 2018-02-18T01:03:42Z cranix: i mean it compiles 2018-02-18T01:03:49Z cranix: but i do not have anything new defined 2018-02-18T01:03:55Z cranix: and i have no idea why 2018-02-18T01:03:59Z cranix: macroexpand does not help me 2018-02-18T01:04:05Z cranix: i see that it has expanded properly 2018-02-18T01:04:13Z cranix: i tried quoting/unqotin in all possible ways 2018-02-18T01:06:05Z stylewarning: cranix: (macrolet ((f (n) `(progn ,@(loop for k below n collect `(defparameter ,(intern (format nil "r~D" k)) nil)))) (f 32)) 2018-02-18T01:06:39Z hel-io quit (Remote host closed the connection) 2018-02-18T01:07:54Z cranix: i'm reading about macrolet 2018-02-18T01:08:20Z stylewarning: You can replace the macrolet with defmacro 2018-02-18T01:08:25Z cranix: i tried 2018-02-18T01:08:32Z stylewarning: My macrolet? 2018-02-18T01:08:48Z learning joined #lisp 2018-02-18T01:08:50Z cranix: i'm redaing what it does 2018-02-18T01:08:58Z cranix: i would like to understand what i have done wrong 2018-02-18T01:09:05Z cranix: i have macro for defparameter 2018-02-18T01:09:18Z cranix: and tried to put it inside a loop in all possible ways 2018-02-18T01:09:41Z learning: been coding a project in python. it's crazy how differently i think about programming after doing only lisp for a long time. 2018-02-18T01:09:42Z cranix: this macro calls function that uses intern with format in similar fasion to what You wrote 2018-02-18T01:10:02Z cranix: learning: please write more, i'm curious 2018-02-18T01:11:16Z wheelsucker joined #lisp 2018-02-18T01:12:53Z cranix: and why You have used collect in this loop? 2018-02-18T01:13:01Z learning: like i used to think about objects like some sort of abstract idea. now they just look like variables that have their own namespace that you can add variables on to. to be more concrete, i had a problem that required that i "override" (not sure what it's called in python when you define a function that's already been defined). the example solution created a new class in order to override. i wanted to do it in a more st 2018-02-18T01:13:02Z learning: raight forward way. so i looked up how to just redefine the function. it's actually a really bad way to do it because of a memory issue, but it was just about doing it for the learning experience. i would have never done that before lisp. 2018-02-18T01:15:16Z learning: instead of just seeing the solution to my problem and not understanding how it works, i not only understand how the solution works but i actually have this driving curiosity to figure out how to code it in a different way 2018-02-18T01:15:29Z rumbler31 joined #lisp 2018-02-18T01:15:54Z hel-io joined #lisp 2018-02-18T01:16:14Z learning: of course i learned recursion from doing lisp and that's prolly the biggest game changer 2018-02-18T01:16:54Z learning: and getting away from "solve everything by making more types" i think helped me a lot 2018-02-18T01:17:10Z cranix: when i use collect it works 2018-02-18T01:17:14Z cranix: stylewarning: thanks :) 2018-02-18T01:17:19Z cranix: but why there has to be collect 2018-02-18T01:17:21Z cranix: not do? 2018-02-18T01:17:41Z stylewarning: cranix: because you need to generate code, not execute it 2018-02-18T01:17:52Z stylewarning: in a macro 2018-02-18T01:18:17Z hel-io quit (Client Quit) 2018-02-18T01:18:23Z cranix: and collect will return all results of iteration 2018-02-18T01:18:24Z cranix: right 2018-02-18T01:18:27Z cranix: thanks a lot :) 2018-02-18T01:18:28Z stylewarning: Using do won’t actually generate any code to run 2018-02-18T01:18:35Z stylewarning: Yes that’s right 2018-02-18T01:19:42Z rumbler31 quit (Ping timeout: 252 seconds) 2018-02-18T01:20:43Z learning: i laughed when i learned that python doesn't have multiline anonymous functions. so you have to name functions even if they're only going to be called once. that's something i wouldn't even have thought about before. anonymous functions have become my bread and butter. 2018-02-18T01:22:06Z learning: you can see the difference in mentalities just from the design of the programming languages. like clearly the person who invented python wasn't using lambdas when he created the language. 2018-02-18T01:25:02Z learning: when i started learning lisp it was definitely on the promises that "it makes you a better programmer even if you never use lisp again" and i'm glad that i can come back to this irc channel and say that i'm now one of those people who got better from learning lisp 2018-02-18T01:25:16Z GreaseMonkey: if `from __future__ import braces` is anything to go by i think it would be really, really hard to actually get multiline anonymous functions working 2018-02-18T01:25:19Z marusich quit (Ping timeout: 248 seconds) 2018-02-18T01:25:47Z learning: i dont think they'll ever add it to the language 2018-02-18T01:26:32Z stylewarning: learning: not even multiline; you can’t express arbitrary Python code in there 2018-02-18T01:27:06Z GreaseMonkey: it'd have to be a "python 4" where guido somehow reneges and adds braces... which is a shame because python's possibly the most popular programming language that has the machinery required for you to provide a macro transformer (AST parser and compiler + lets you hijack the import machinery) 2018-02-18T01:29:18Z marusich joined #lisp 2018-02-18T01:29:41Z cranix: thanks for help, i have to go 2018-02-18T01:29:44Z cranix quit (Quit: leaving) 2018-02-18T01:30:43Z learning: i mean i dont think it's important to have unnamed functions. it's more about having the mentality to write those functions in the first place. having to name something isn't that big of a deal to me. 2018-02-18T01:34:32Z learning quit 2018-02-18T01:34:48Z learning joined #lisp 2018-02-18T01:35:36Z vultyre quit (Ping timeout: 256 seconds) 2018-02-18T01:35:52Z EvW quit (Ping timeout: 265 seconds) 2018-02-18T01:44:38Z Patternmaster quit (Quit: leaving) 2018-02-18T01:49:39Z smokeink joined #lisp 2018-02-18T01:50:57Z python476 quit (Ping timeout: 248 seconds) 2018-02-18T01:54:09Z markong quit (Ping timeout: 248 seconds) 2018-02-18T01:54:52Z smasta quit (Ping timeout: 256 seconds) 2018-02-18T01:56:17Z kotrcka_ quit (Remote host closed the connection) 2018-02-18T01:58:57Z Cthulhux quit (Ping timeout: 240 seconds) 2018-02-18T01:59:59Z Cthulhux joined #lisp 2018-02-18T02:02:34Z kdridi quit (Read error: No route to host) 2018-02-18T02:03:01Z kdridi joined #lisp 2018-02-18T02:03:26Z Cthulhux quit (Changing host) 2018-02-18T02:03:26Z Cthulhux joined #lisp 2018-02-18T02:04:00Z epony joined #lisp 2018-02-18T02:10:33Z kdridi_ joined #lisp 2018-02-18T02:10:33Z kdridi quit (Read error: Connection reset by peer) 2018-02-18T02:10:40Z pagnol quit (Ping timeout: 265 seconds) 2018-02-18T02:12:48Z emacsomancer quit (Ping timeout: 248 seconds) 2018-02-18T02:13:25Z kdridi_ quit (Remote host closed the connection) 2018-02-18T02:13:57Z kdridi joined #lisp 2018-02-18T02:18:55Z kdridi quit (Ping timeout: 268 seconds) 2018-02-18T02:23:21Z smurfrobot joined #lisp 2018-02-18T02:25:26Z emacsomancer joined #lisp 2018-02-18T02:28:38Z thallia quit (Ping timeout: 252 seconds) 2018-02-18T02:29:26Z d4ryus1 joined #lisp 2018-02-18T02:29:35Z papachan quit (Quit: WeeChat 2.0.1) 2018-02-18T02:31:04Z thallia joined #lisp 2018-02-18T02:32:33Z d4ryus quit (Ping timeout: 248 seconds) 2018-02-18T02:39:11Z emacsomancer quit (Read error: Connection reset by peer) 2018-02-18T02:40:21Z emacsomancer joined #lisp 2018-02-18T02:52:34Z smurfrobot quit (Remote host closed the connection) 2018-02-18T02:56:51Z dddddd quit (Remote host closed the connection) 2018-02-18T02:57:24Z arescorpio quit (Excess Flood) 2018-02-18T02:58:09Z nullman quit (Ping timeout: 248 seconds) 2018-02-18T02:58:31Z stacksmith: learning: just in case you are for real - it is extremely important to have unnamed functions. Otherwise it requires a human to name functions. Lambdas can be generated programmatically. It would be a tragedy if you had to name them - pollution of the package, avoiding duplication, not to mention - why name things that need no name? 2018-02-18T02:59:04Z nullman joined #lisp 2018-02-18T03:02:23Z heurist_ quit (Ping timeout: 248 seconds) 2018-02-18T03:03:07Z heurist_ joined #lisp 2018-02-18T03:05:40Z whoman: naming stuff is probably the main problem in all of linguistics, speech, communication, programming ... 2018-02-18T03:08:05Z orivej quit (Ping timeout: 256 seconds) 2018-02-18T03:08:24Z vultyre joined #lisp 2018-02-18T03:08:30Z fisxoj quit (Quit: fisxoj) 2018-02-18T03:08:46Z mfiano: 2 hard problems in CS 2018-02-18T03:10:07Z whoman: gensym to me is a terribly hacky solution 2018-02-18T03:10:18Z whoman: when i see this, it feels something is not right 2018-02-18T03:10:33Z mfiano: in general or is there some code I'm not seeing? 2018-02-18T03:11:08Z dmh: the hardest problem in CS is why modern websites hide scrollbars 2018-02-18T03:11:49Z bmgxc9 joined #lisp 2018-02-18T03:11:50Z bmgxc9 quit (Max SendQ exceeded) 2018-02-18T03:12:16Z bmgxc9 joined #lisp 2018-02-18T03:13:24Z Chream_2 quit (Read error: Connection reset by peer) 2018-02-18T03:14:25Z Chream_ joined #lisp 2018-02-18T03:14:30Z whoman: mfiano, in general 2018-02-18T03:15:01Z whoman: dmh, ugh! and my scrollwheel is broken !! so many many many sites these days, have dynamic content, where the scroll nub jumps around and changes size. its a terrible situation 2018-02-18T03:15:08Z mfiano: whoman: You need to actually learn why it is /very/ important 2018-02-18T03:15:11Z dmh: haha 2018-02-18T03:15:26Z whoman: although to be fair, keyboard or mouse is NO MATCH for touch screen for scroll and zoom 2018-02-18T03:15:42Z whoman: mfiano, well i do know why =) its just harder to track for me, mentally 2018-02-18T03:16:04Z dmh: i hate touch screen 2018-02-18T03:16:06Z dmh: so idk 2018-02-18T03:16:25Z mfiano: I mean how would you implement the ONCE-ONLY macro otherwise, or most correct macros that don't unintentionally capture? 2018-02-18T03:17:02Z dieggsy quit (Ping timeout: 252 seconds) 2018-02-18T03:18:12Z whoman: mfiano, i know =( special cases. is there a clean way to provide prefix on gensym? instead of say (gensym (concat ...)) ? 2018-02-18T03:18:49Z mfiano: CONCAT is not even a Common Lisp operator. 2018-02-18T03:19:30Z learning: gensym is fine, it's just you need something on top of it so that you don't have to do it by hand 2018-02-18T03:19:42Z learning: it's hacky because it's too low level 2018-02-18T03:20:08Z mfiano: I think that's the point 2018-02-18T03:20:21Z whoman: pseudocode :| 2018-02-18T03:20:28Z learning: don't we want the low level thing so we can just build it ourselves? 2018-02-18T03:21:02Z mfiano: whoman: But what are you even trying to concatenate? 2018-02-18T03:24:14Z mfiano: I think maybe you are confused what gensym is used for given your pseudocode 2018-02-18T03:25:06Z Oladon quit (Quit: Leaving.) 2018-02-18T03:25:22Z learning: it's not some complicated thing right. gensym's are just used to avoid two things being named the same thing, yeah? 2018-02-18T03:28:12Z jason_m joined #lisp 2018-02-18T03:29:01Z learning: i wonder how bad it would be to just define a function that creates multiline anonymous functions from a string lol 2018-02-18T03:32:19Z learning: pretty sure it wouldn't work at all 2018-02-18T03:32:31Z learning: prolly issues with variable lookup 2018-02-18T03:32:50Z stacksmith: learning: what language are you talking about? 2018-02-18T03:33:34Z k-hos: eval? 2018-02-18T03:33:43Z stacksmith: Lisp does not do 'variable lookup' or care about 'multiline' 2018-02-18T03:35:01Z whoman quit (Quit: Leaving) 2018-02-18T03:35:18Z whoman joined #lisp 2018-02-18T03:36:21Z wxie joined #lisp 2018-02-18T03:36:24Z stacksmith: learning: All lisp function are lambdas. The Lisp implementation creates 'anonymous functions' from a string, and if needed, attaches them to symbols. may I suggest #clnoobs? 2018-02-18T03:39:34Z learning: may i suggest passing the irc environment to your typing function, because you're missing some context 2018-02-18T03:40:20Z learning: why am i laughing at such a dumb joke 2018-02-18T03:40:39Z learning: i was talking about python 2018-02-18T03:41:01Z stacksmith: May I suggest noticing that this is #lisp? 2018-02-18T03:41:20Z learning: im pretty sure you can get the logs from the topic and read the whole convo 2018-02-18T03:41:28Z KarlDscc quit (Remote host closed the connection) 2018-02-18T03:41:29Z stacksmith: Sadly I did 2018-02-18T03:41:34Z learning: instead of telling me to fuck off in 10 dif ways 2018-02-18T03:41:36Z learning: you could just read 2018-02-18T03:41:52Z mason: learning: Snark is more satisfying when one's at loose ends. 2018-02-18T03:42:02Z stacksmith: You are still off-topic, troll. 2018-02-18T03:42:19Z learning: dont come at me on irc if you dont know what the word troll means 2018-02-18T03:42:35Z stacksmith: shitlisted. 2018-02-18T03:43:09Z learning: millenials using netscape era vocab 2018-02-18T03:43:44Z mason: stacksmith: If either of you is making the channel less pleasant, it's you. Please realize that whatever is bothering you has nothing to do with learning's rambling comparison. 2018-02-18T03:44:06Z stacksmith: shitlisted. 2018-02-18T03:44:10Z learning: XD 2018-02-18T03:44:22Z mason: Also, clean up your foul language. 2018-02-18T03:47:06Z mason: learning: For context, stacksmith feels like he's an old hand, having come in with his desperately important beginners questions in 2014, from what I can see. 2018-02-18T03:47:43Z learning: oh he's fine 2018-02-18T03:48:38Z learning: better that we have someone who's trying to drop knowledge than utter silence 2018-02-18T03:48:54Z whoman: whoaaa 2018-02-18T03:49:13Z whoman: phoe ? 2018-02-18T03:49:15Z mfiano: May I suggest to you all to use this forum for proper questions and discussions regarding Common Lisp instead of putting people down. Thank you. 2018-02-18T03:49:24Z learning: triggered 2018-02-18T03:52:44Z whoman: https://tinybuddha.com/blog/stop-war-head/ 2018-02-18T03:54:34Z learning: is that worth reading or only a jest 2018-02-18T03:55:00Z whoman: the first paragraph is a nice little story; beyond that is up to you 2018-02-18T03:56:52Z learning: like lisp, it will be what i make it 2018-02-18T04:00:05Z beach: Good morning everyone! 2018-02-18T04:03:11Z learning: good morrow cuz 2018-02-18T04:05:16Z Tobbi quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-18T04:05:25Z wxie quit (Quit: AtomicIRC: The nuclear option.) 2018-02-18T04:05:57Z safe joined #lisp 2018-02-18T04:09:05Z nika joined #lisp 2018-02-18T04:13:36Z smurfrobot joined #lisp 2018-02-18T04:20:40Z vultyre quit (Quit: Leaving) 2018-02-18T04:20:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-18T04:27:29Z Pixel_Outlaw joined #lisp 2018-02-18T04:27:57Z schoppenhauer quit (Ping timeout: 240 seconds) 2018-02-18T04:29:58Z smasta joined #lisp 2018-02-18T04:30:20Z schoppenhauer joined #lisp 2018-02-18T04:31:48Z milanj quit (Quit: This computer has gone to sleep) 2018-02-18T04:48:57Z Fare quit (Ping timeout: 256 seconds) 2018-02-18T04:55:57Z smurfrobot quit (Remote host closed the connection) 2018-02-18T05:01:11Z Naergon joined #lisp 2018-02-18T05:03:19Z Naergon: Hi. I dont know anything about lisp yet, but im looking for a language with this property: i can read a value from a file and use this value as an operation such as + * < etc? Without writing a hundred if-else, simply storing the value of whatever lisp considers a + ? 2018-02-18T05:03:41Z krwq joined #lisp 2018-02-18T05:04:05Z smasta quit (Ping timeout: 240 seconds) 2018-02-18T05:07:00Z whoman: Naergon: yep!! 2018-02-18T05:07:12Z Naergon: Yay 2018-02-18T05:07:36Z Naergon: Usual answer is 'why do you even need this' 2018-02-18T05:08:15Z whoman: especially with Lisp, with the 'read' function =) its a common thing to do stuff like that 2018-02-18T05:08:19Z whoman: ^_^ 2018-02-18T05:08:30Z Naergon: Perfect, thank you =) 2018-02-18T05:08:51Z ludston_ joined #lisp 2018-02-18T05:11:42Z ludston quit (Ping timeout: 260 seconds) 2018-02-18T05:13:53Z ak5 quit (Ping timeout: 256 seconds) 2018-02-18T05:15:14Z learning: it'll be simpler too because of prefix notation 2018-02-18T05:15:40Z pierpa quit (Quit: Page closed) 2018-02-18T05:16:45Z learning: you won't have to worry about replacing shit like 1 + 2 + 5. it'll just be (+ 1 2 5) and you can use a variable like (my-var 1 2 5) where my-var will be set to + after reading the file 2018-02-18T05:17:54Z Naergon: Perfect, variable as a operation is what i wanted 2018-02-18T05:18:48Z Naergon: and the same but with more stuff like branches, cycles, jumps in code are also possible the same way, being read from a file? 2018-02-18T05:19:13Z Oladon joined #lisp 2018-02-18T05:19:26Z smokeink: of course 2018-02-18T05:21:21Z beach: learning: It can be done of course, but not the way you show it. 2018-02-18T05:21:30Z Naergon: and one more thing, what is expected 'build' time for a new code being read from a file and to the execution? seconds? 2018-02-18T05:21:38Z learning: yes. oversimplification. 2018-02-18T05:21:53Z Naergon: (Assuming several kb of code) 2018-02-18T05:22:06Z stacksmith: Naergon: Lisp is a great language for metaprogramming - Lisp is designed to operate on code or data using Lisp. 2018-02-18T05:22:09Z beach: Naergon: It is very fast. 2018-02-18T05:23:00Z smokeink: Naergon: while developing, you don't have to recompile your whole application, you can just recompile the functions you modified. 2018-02-18T05:23:01Z learning: lisp was made to be ran on really shitty computers. so it's really fast on modern ones. 2018-02-18T05:23:31Z learning: compared to java/python 2018-02-18T05:24:02Z beach: learning: Java and Python are very different cases. 2018-02-18T05:24:12Z learning: yes but we're just talking about speed differences 2018-02-18T05:24:51Z beach: Java execution is very fast, because a lot of effort has been put into optimizing the compiler. Python, on the other hand, is not that great. 2018-02-18T05:24:53Z whoman: tangents. can we update topic for SBCL version? ^_^ 2018-02-18T05:24:57Z beach: So they are very different cases. 2018-02-18T05:25:13Z learning: java is still slow in comparison 2018-02-18T05:25:36Z learning: a car is much faster than a bike or walking 2018-02-18T05:25:43Z kark joined #lisp 2018-02-18T05:25:44Z whoman: ehe 2018-02-18T05:25:46Z learning: yes a bike and walking are very different things 2018-02-18T05:25:52Z learning: but the point is to show how fast the car is 2018-02-18T05:25:59Z learning: not get into a philisophical argument about bikes and wlaking 2018-02-18T05:26:15Z kark left #lisp 2018-02-18T05:27:27Z sjl quit (Ping timeout: 248 seconds) 2018-02-18T05:27:38Z smasta joined #lisp 2018-02-18T05:28:44Z Naergon: What about REPL (read-execute-print-loop) type of usage, where i want my code to be updated in text editor often, can it work at about 1 second for this task for small project? (so i start a script, it reads the code, executes programm, prints it output, and returns to text editor) 2018-02-18T05:29:04Z learning: yes 2018-02-18T05:29:11Z thallia quit (Ping timeout: 256 seconds) 2018-02-18T05:29:37Z learning: you should develop in real time if you are capable of building or using the tools to do so imo 2018-02-18T05:30:10Z Naergon: Perfect, thank you 2018-02-18T05:30:40Z kark joined #lisp 2018-02-18T05:30:52Z beach: Naergon: We don't use the term "script". You are constantly in communication with your Common Lisp system, and you can incrementally modify the code in that system, by hitting a few keys in your text editor or by loading a file containing definitions. 2018-02-18T05:30:54Z learning: it's not that hard to hack together a solution if you know how to make hotkeys 2018-02-18T05:31:00Z White_Flame: the only thing you need to concern yourself about hot edits is make sure your functions actually exit or call each other; any "main loop" function will still keep running old code even if you replace the implementation with a new version 2018-02-18T05:31:31Z Naergon: Yes, i found a vim plugin for it 2018-02-18T05:31:49Z whoman: White_Flame: good point. side note: unless CLOS? 2018-02-18T05:32:23Z quotation joined #lisp 2018-02-18T05:32:27Z White_Flame: yes, that would be a specific case of "make sure your functions call each other" instead of being monolithic in a single function that doesn't return 2018-02-18T05:32:31Z beach: Naergon: Also notice that modern Common Lisp systems compile on the fly, so that a function definition that you type at the REPL or that you load from a file will be compiled to native code automatically. 2018-02-18T05:33:25Z learning: is that true 2018-02-18T05:33:34Z whoman: White_Flame: ohh, right. the fun itself which doesnt return, not the symbols to which it refers. (ocaml was terrible for this, but great in all the other repl-like ways) 2018-02-18T05:33:38Z learning: im pretty sure you have to tell it to compile? 2018-02-18T05:33:56Z beach: learning: I recommend you be less sure. 2018-02-18T05:33:58Z learning: otherwise it doesn't give you the compiled verison back. it gives you this slower function 2018-02-18T05:34:11Z whoman: interpreted ? 2018-02-18T05:34:30Z White_Flame: the standard allows for implementations to distinguish "compiled" and "not compiled" functions, but most implementations don't bother 2018-02-18T05:34:52Z thallia joined #lisp 2018-02-18T05:35:02Z beach: learning: SBCL: (defun f (x) (+ x 2)) => F 2018-02-18T05:35:07Z learning: im pretty sure ive played around with this like a year or two ago and there was a difference between when i explicity compiled and when i didn't 2018-02-18T05:35:13Z beach: learning: (compiled-function-p #'f) => T 2018-02-18T05:40:16Z stacksmith: Sigh. 2018-02-18T05:40:53Z beach: stacksmith: What's the matter? 2018-02-18T05:42:09Z Naergon: And evolving turing machines, genetic algorithms and simikar concepts are bedt in lisp too, right? 2018-02-18T05:43:41Z learning: ye, compiled-function-p returns true on ccl 2018-02-18T05:43:43Z beach: Naergon: Common Lisp is a general-purpose programming language that is capable of most things that other languages allow, so it is usually better independently of the application domain. But yeah, if you are going to transform code, then Common Lisp is a good choice. 2018-02-18T05:43:52Z learning: but id need to speed test it 2018-02-18T05:43:58Z learning: because thats what i did before 2018-02-18T05:44:23Z White_Flame: learning: again, most implementations only bother having 1 form of executable function 2018-02-18T05:44:28Z stacksmith: beach: just annoyed at certain parties' desire to blab ignorance. 2018-02-18T05:44:42Z beach: I know what you mean. 2018-02-18T05:44:45Z Naergon: beach: thank you again =) i wonder why i didnt find it before 2018-02-18T05:44:53Z White_Flame: especially if compiled-function-p returns true, that's a reasonable hint that it's going to run the same 2018-02-18T05:45:14Z bmgxc9 quit (Remote host closed the connection) 2018-02-18T05:45:15Z Murii joined #lisp 2018-02-18T05:45:19Z beach: Naergon: Oh, it's a common situation. I hope you have plenty of time to make up for the lost years. :) 2018-02-18T05:45:23Z learning: white_flame: that would make the most sense to me. maybe im just remembering something else. 2018-02-18T05:45:25Z White_Flame: people tend to use COMPILE to avoid having EVAL, even though for defining functions, it's generally equivalent 2018-02-18T05:45:56Z learning: like, (compile (load file)) should be pointless then right 2018-02-18T05:46:56Z White_Flame: the syntax would be wrong 2018-02-18T05:47:06Z learning: ugh. i think im just tired. can't even remember the file to find the source im trying to remember 2018-02-18T05:47:12Z learning: yeah i know trying to find the file im talking about 2018-02-18T05:47:12Z White_Flame: you don't compile files, you compile individual functions 2018-02-18T05:47:41Z White_Flame: ah, there is compile-file as well 2018-02-18T05:47:48Z learning: ye 2018-02-18T05:47:55Z learning: maybe im mixing up compile-file with compile 2018-02-18T05:48:04Z White_Flame: but still, you don't need to specify it. Just load/read your code and it's in & compiled for popular implementations 2018-02-18T05:48:22Z White_Flame: let slime, asdf, etc worry about compiling files 2018-02-18T05:48:24Z learning: or maybe it was for some esoteric thing i was doing at the time and now i dont remember the context 2018-02-18T05:51:27Z ebzzry_ joined #lisp 2018-02-18T05:51:43Z ebzzry_: Is there a way for Woe to serve the local directory? 2018-02-18T05:52:04Z ebzzry_: Or, what is the equivalent of 'python3 -m http.server 8080' in CL? 2018-02-18T05:58:19Z Chream_ quit (Read error: Connection reset by peer) 2018-02-18T05:58:27Z Chream_ joined #lisp 2018-02-18T05:58:55Z Chream_2 joined #lisp 2018-02-18T05:58:56Z Chream_ quit (Read error: Connection reset by peer) 2018-02-18T06:01:42Z ludston_ quit (Read error: Connection reset by peer) 2018-02-18T06:03:38Z ludston joined #lisp 2018-02-18T06:03:52Z thallia quit (Ping timeout: 252 seconds) 2018-02-18T06:04:34Z thallia joined #lisp 2018-02-18T06:07:38Z smurfrobot joined #lisp 2018-02-18T06:09:34Z thallia quit (Ping timeout: 260 seconds) 2018-02-18T06:12:31Z thallia joined #lisp 2018-02-18T06:15:24Z tkd quit (Remote host closed the connection) 2018-02-18T06:16:36Z stacksmith quit (Read error: Connection reset by peer) 2018-02-18T06:17:41Z tkd joined #lisp 2018-02-18T06:20:07Z stacksmith joined #lisp 2018-02-18T06:20:13Z learning quit (Remote host closed the connection) 2018-02-18T06:21:55Z kark quit (Quit: ZNC 1.6.5+deb1 - http://znc.in) 2018-02-18T06:22:13Z kark joined #lisp 2018-02-18T06:24:51Z Pixel_Outlaw quit (Quit: Leaving) 2018-02-18T06:28:23Z smurfrobot quit (Remote host closed the connection) 2018-02-18T06:29:03Z tkd quit (Quit: WeeChat 1.4) 2018-02-18T06:29:08Z learning joined #lisp 2018-02-18T06:29:30Z Kevslinger quit (Quit: Connection closed for inactivity) 2018-02-18T06:31:18Z smurfrobot joined #lisp 2018-02-18T06:31:31Z stacksmith quit (Ping timeout: 256 seconds) 2018-02-18T06:32:00Z kark quit (Quit: ZNC 1.6.5+deb1 - http://znc.in) 2018-02-18T06:32:25Z kark joined #lisp 2018-02-18T06:32:40Z tkd joined #lisp 2018-02-18T06:32:55Z Patternmaster joined #lisp 2018-02-18T06:35:13Z thallia quit (Ping timeout: 248 seconds) 2018-02-18T06:36:34Z thallia joined #lisp 2018-02-18T06:41:46Z damke_ joined #lisp 2018-02-18T06:44:44Z stacksmith joined #lisp 2018-02-18T06:50:12Z smurfrobot quit (Remote host closed the connection) 2018-02-18T06:58:30Z wxie joined #lisp 2018-02-18T07:01:21Z wheelsucker quit (Ping timeout: 268 seconds) 2018-02-18T07:01:25Z Naergon quit (Remote host closed the connection) 2018-02-18T07:09:23Z Vicfred joined #lisp 2018-02-18T07:12:27Z wxie quit (Ping timeout: 240 seconds) 2018-02-18T07:14:44Z learning quit 2018-02-18T07:21:04Z smokeink quit (Remote host closed the connection) 2018-02-18T07:27:09Z fourier joined #lisp 2018-02-18T07:29:32Z smokeink joined #lisp 2018-02-18T07:30:40Z void_pointer joined #lisp 2018-02-18T07:31:53Z iridioid joined #lisp 2018-02-18T07:33:51Z smasta quit (Ping timeout: 256 seconds) 2018-02-18T07:40:40Z smurfrobot joined #lisp 2018-02-18T07:45:39Z bmgxc9 joined #lisp 2018-02-18T07:45:40Z bmgxc9 quit (Max SendQ exceeded) 2018-02-18T07:46:09Z bmgxc9 joined #lisp 2018-02-18T07:48:05Z wxie joined #lisp 2018-02-18T07:50:11Z saki quit (Remote host closed the connection) 2018-02-18T07:50:20Z BitPuffin joined #lisp 2018-02-18T07:52:14Z makomo joined #lisp 2018-02-18T07:53:44Z saki joined #lisp 2018-02-18T07:54:41Z bmgxc9 quit (Remote host closed the connection) 2018-02-18T07:59:57Z wxie quit (Ping timeout: 240 seconds) 2018-02-18T08:01:15Z marusich quit (Quit: Leaving) 2018-02-18T08:05:51Z fourier quit (Ping timeout: 248 seconds) 2018-02-18T08:07:07Z kotrcka joined #lisp 2018-02-18T08:07:14Z kotrcka: #join #haskell 2018-02-18T08:07:20Z Murii quit (Ping timeout: 268 seconds) 2018-02-18T08:07:24Z kotrcka: sorry 2018-02-18T08:16:34Z Murii joined #lisp 2018-02-18T08:21:49Z quotation quit (Quit: Connection closed for inactivity) 2018-02-18T08:27:38Z learning joined #lisp 2018-02-18T08:28:19Z ryanbw quit (Quit: WeeChat 2.0.1) 2018-02-18T08:29:37Z smaster joined #lisp 2018-02-18T08:31:05Z iridioid quit (Ping timeout: 256 seconds) 2018-02-18T08:34:23Z smokeink: https://steve-yegge.blogspot.com/2010/12/haskell-researchers-announce-discovery.html 2018-02-18T08:35:53Z wxie joined #lisp 2018-02-18T08:42:14Z phoe: ebzzry_: woe? 2018-02-18T08:42:22Z phoe: oh, fukamachiware 2018-02-18T08:43:52Z phoe: ebzzry_: it looks like you should be able to do it with clack 2018-02-18T08:44:44Z phoe: (clack:clackup (make-instance ' :root (truename ".")) :port 8080 :server :woo) 2018-02-18T08:44:49Z fikka joined #lisp 2018-02-18T08:44:51Z phoe: but again, this is just my speculation 2018-02-18T08:45:08Z phoe: if anything, throw issues at fukamachi for writing no sensible documentation for his code whatsoever. 2018-02-18T08:46:25Z wxie quit (Quit: AtomicIRC: The nuclear option.) 2018-02-18T08:46:36Z beach: There might be a language issue. 2018-02-18T08:47:22Z Shinmera: Well he doesn't write any documentation in Japanese either 2018-02-18T08:49:35Z MetaYan quit (Ping timeout: 240 seconds) 2018-02-18T08:49:44Z beach: Hmm, yes, I see. 2018-02-18T08:50:41Z MetaYan joined #lisp 2018-02-18T08:50:51Z wxie joined #lisp 2018-02-18T08:57:51Z ebzzry_: phoe: let me try that 2018-02-18T08:58:28Z ebzzry_: Does he write documentation in Japanese? 2018-02-18T08:58:59Z phoe: ebzzry_: he doesn't write any sensible documentation at all. 2018-02-18T08:59:37Z phoe: he writes efficient code that probably only he knows how to appropriately read and debug. 2018-02-18T09:00:15Z damke joined #lisp 2018-02-18T09:02:17Z ebzzry_: phoe: Oh, how about docstrings? 2018-02-18T09:02:46Z Shinmera: just see for yourself, the code is open. 2018-02-18T09:03:02Z phoe: https://github.com/fukamachi/woo/blob/master/src/woo.lisp 2018-02-18T09:03:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-18T09:03:57Z learning quit 2018-02-18T09:04:29Z wxie quit (Ping timeout: 255 seconds) 2018-02-18T09:09:01Z solyd joined #lisp 2018-02-18T09:11:14Z shrdlu68: (let ((acc (make-instance 'hunchentoot:easy-acceptor :port 8080))) 2018-02-18T09:11:15Z shrdlu68: (setf (hunchentoot:acceptor-document-root acc) "~/Downloads/") 2018-02-18T09:11:16Z shrdlu68: (hunchentoot:start acc)) 2018-02-18T09:12:47Z phoe: shrdlu68: that's a case for average Lisp software 2018-02-18T09:12:59Z phoe: it isn't that trivial in case of fukamachiware. 2018-02-18T09:15:05Z Patternmaster quit (Quit: leaving) 2018-02-18T09:16:57Z smokeink: don't bother with issues, he'll most probably tell you "You're not using the code properly - you should use clack's plugin for that" or something similar, with no additional details. After I encountered bugs with one of his programs I stopped using fukamachiware 2018-02-18T09:19:49Z smurfrobot quit (Remote host closed the connection) 2018-02-18T09:20:16Z Murii: If I have a function and I pass to it some arguments how can I change the global value of these arguments whitin the function itself witout telling to modify directly the global variables but the arguments which will reflect on the global variables? 2018-02-18T09:20:42Z beach: You can't. 2018-02-18T09:20:49Z Murii: shit 2018-02-18T09:20:52Z beach: Common Lisp is call-by-value. 2018-02-18T09:21:15Z beach: You can modify the OBJECT that you pass in, but not the binding of the variable. 2018-02-18T09:21:57Z beach: Murii: There are very few modern programming languages, if any, that would allow that. 2018-02-18T09:22:02Z Murii: basically you can modify locally the variable but globally it will be the same? 2018-02-18T09:22:20Z beach: You will then modify the lexical binding inside the function, yes. 2018-02-18T09:22:24Z smurfrobot joined #lisp 2018-02-18T09:22:44Z Murii: alright 2018-02-18T09:22:46Z Murii: thanks! 2018-02-18T09:23:03Z beach: Here, call-by-value, means that the argument is evaluated, and then the VALUE of the argument is passed to the function. 2018-02-18T09:23:23Z beach: How that value was obtained is lost by the time you are inside the function. 2018-02-18T09:23:44Z beach: If you are willing to change the signature of the function, you can do this... 2018-02-18T09:24:08Z shrdlu68: Declarig variables special would get what he wants, right? 2018-02-18T09:24:13Z beach: (fun *bla* (lambda (x) (setf *bla*) x)) 2018-02-18T09:24:38Z Murii: I'm asking because I have a main function,lets call it 'a' and another function,'b',. 'a' holds 'b' but in 'b' I modify some values and in 'a' I new the newly modified values to work with 2018-02-18T09:24:52Z beach: shrdlu68: The variable would still have to be explicitly mentioned in the function then. 2018-02-18T09:25:18Z Murii: I need the newly* 2018-02-18T09:25:27Z beach: Murii: What does it mean for one function to hold another function? 2018-02-18T09:25:39Z Murii: 'b' is called in 'a' 2018-02-18T09:26:00Z phoe: Murii: depends on what you mean by "modify" 2018-02-18T09:26:09Z phoe: 1) look at where the variable is bound. 2018-02-18T09:26:10Z beach: You can make your functions return multiple values and make one of them the new value of the variable. 2018-02-18T09:26:18Z shrdlu68: Murii: Why not just return the modified object? 2018-02-18T09:26:27Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-18T09:26:36Z phoe: if you bind a dynamic variable in A and modify it in B, then you will be able to use the new value afterwards in A. 2018-02-18T09:26:44Z phoe: also what shrdlu68 said. 2018-02-18T09:26:53Z Murii: Well, I was thinking in doing that but the only way will be by returning a list() and then use nth to bind,right? 2018-02-18T09:27:13Z phoe: Murii: nope, functions in Lisp can return multiple values 2018-02-18T09:27:14Z beach: clhs values 2018-02-18T09:27:14Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/a_values.htm 2018-02-18T09:27:20Z phoe: (defun foo () (values 1 2 3)) 2018-02-18T09:27:32Z phoe: (multiple-value-bind (a b c) (foo) (print a) (print b) (print c)) 2018-02-18T09:28:55Z jackdaniel: (mapc #'print (multiple-value-list (values 1 2 3))) 2018-02-18T09:29:38Z Murii: phoe: so what exactly would be the output of 'foo' ? 2018-02-18T09:29:45Z Murii: (1 2 3) ? 2018-02-18T09:29:49Z phoe: Murii: 2018-02-18T09:29:51Z shrdlu68: (values 1 2 3) 2018-02-18T09:29:52Z phoe: 1 2018-02-18T09:29:52Z phoe: 2 2018-02-18T09:29:53Z phoe: 3 2018-02-18T09:30:03Z phoe: where 1 is the primary value 2018-02-18T09:30:17Z phoe: not a list (1 2 3) because that would be one value. 2018-02-18T09:30:23Z phoe: (print (foo)) ;=> 1 2018-02-18T09:30:48Z phoe: by default, non-primary values are discarded in most functions. you need to explicitly use them. 2018-02-18T09:31:15Z Murii: so how do you access the second values using (foo) ? 2018-02-18T09:31:24Z beach: He just showed that. 2018-02-18T09:31:33Z beach: clhs multiple-value-bind 2018-02-18T09:31:33Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_multip.htm 2018-02-18T09:33:23Z aeth: You can also use multiple-value-call, e.g. (multiple-value-call #'format t "~A ~A ~A~%" (foo)) 2018-02-18T09:34:07Z mjl_ joined #lisp 2018-02-18T09:35:20Z milanj joined #lisp 2018-02-18T09:35:45Z shrdlu68 quit (Ping timeout: 264 seconds) 2018-02-18T09:37:54Z Arcaelyx_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-18T09:38:05Z pjb: Murii: so how you do it: you return the new value, and you mutate the state outside of the function! 2018-02-18T09:38:16Z pjb: Murii: for example: (setf list (delete item list)) 2018-02-18T09:38:44Z pjb: Murii: (defun foo (x) (+ 2 x)) (let ((v 42)) (setf v (foo v)) v) #| --> 44 |# 2018-02-18T09:39:28Z pjb: Murii: notice that there's a define-modify-macro macro so that you can write: (define-modify-macro foof () foo) (let ((v 42)) (foof v) v) #| --> 44 |# 2018-02-18T09:41:03Z Murii: Now I'm able to manage it 2018-02-18T09:41:05Z Murii: thanks all! 2018-02-18T09:41:49Z smurfrobot joined #lisp 2018-02-18T09:41:51Z pjb: Murii: notice that this promote the functional style: write your functions so that it doesn't mutate external state. Therefore they become easy to test and debug. Therefore there's fewer bugs in your programs. All nice. 2018-02-18T09:42:17Z shrdlu68 joined #lisp 2018-02-18T09:42:30Z mlf quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-18T09:46:07Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-18T09:47:21Z Oladon quit (Quit: Leaving.) 2018-02-18T09:50:32Z smurfrobot joined #lisp 2018-02-18T09:58:27Z random-nick joined #lisp 2018-02-18T09:58:35Z smurfrobot quit (Remote host closed the connection) 2018-02-18T09:58:49Z smurfrobot joined #lisp 2018-02-18T10:00:03Z fourier joined #lisp 2018-02-18T10:02:05Z fourier quit (Remote host closed the connection) 2018-02-18T10:09:51Z smurfrobot quit (Remote host closed the connection) 2018-02-18T10:10:11Z tankrim quit (Remote host closed the connection) 2018-02-18T10:13:05Z fikka quit (Ping timeout: 256 seconds) 2018-02-18T10:19:06Z fikka joined #lisp 2018-02-18T10:19:16Z d4ryus1 is now known as d4ryus 2018-02-18T10:21:18Z mjl_ quit (Quit: Lost terminal) 2018-02-18T10:22:40Z orivej joined #lisp 2018-02-18T10:32:58Z nullman quit (Remote host closed the connection) 2018-02-18T10:33:12Z nullman joined #lisp 2018-02-18T10:34:50Z nirved joined #lisp 2018-02-18T10:35:48Z zacknite joined #lisp 2018-02-18T10:36:39Z zacknite: Why do Lisp programmers support Trump more than other programmers? 2018-02-18T10:36:51Z zacknite: What is the meaning behind this correlation? 2018-02-18T10:36:59Z Shinmera: Try trolling elsewhere 2018-02-18T10:37:06Z zacknite: I'm not trolling, just curious! 2018-02-18T10:37:10Z Shinmera: Yes you are. 2018-02-18T10:37:22Z Shinmera: Now please spend your time with something else. 2018-02-18T10:37:24Z zacknite: A like of unorthodox things perhaps that leads one to both of those things incidentally? 2018-02-18T10:37:26Z beach: Shinmera: drop it. 2018-02-18T10:38:28Z zacknite: Honestly not trying to troll, I can't be the only one who notices this. Or is this chat only for technical discussion? 2018-02-18T10:38:40Z Chream_2 quit (Read error: Connection reset by peer) 2018-02-18T10:38:50Z Chream_ joined #lisp 2018-02-18T10:39:14Z Chream_2 joined #lisp 2018-02-18T10:39:15Z Chream_ quit (Read error: Connection reset by peer) 2018-02-18T10:39:26Z zacknite left #lisp 2018-02-18T10:41:50Z shka joined #lisp 2018-02-18T10:42:13Z Chream_ joined #lisp 2018-02-18T10:42:13Z Chream_2 quit (Read error: Connection reset by peer) 2018-02-18T10:42:39Z Chream_2 joined #lisp 2018-02-18T10:42:39Z Chream_ quit (Read error: Connection reset by peer) 2018-02-18T10:42:54Z pjb: zacts: there's #lispcafe for this. 2018-02-18T10:43:05Z phoe: pjb: it's not zacts, the person already left. 2018-02-18T10:43:10Z pjb: ok. 2018-02-18T10:43:29Z aeth: I didn't want to mention #lispcafe 2018-02-18T10:44:17Z aeth: There's off-topic and then there's topics that are beyond off-topic. 2018-02-18T10:44:51Z pjb: There's nothing off-topic in #lispcafe. It's the #emacs of #lisp… 2018-02-18T10:45:08Z aeth: #lispcafe is the most on-topic off-topic channel in Freenode 2018-02-18T10:45:11Z Chream_2 quit (Read error: Connection reset by peer) 2018-02-18T10:45:19Z Chream_ joined #lisp 2018-02-18T10:45:29Z pjb: aeth: And you don't see the correlation with Trump support! :-) 2018-02-18T10:45:30Z python476 joined #lisp 2018-02-18T10:45:46Z Chream_2 joined #lisp 2018-02-18T10:45:47Z Chream_ quit (Read error: Connection reset by peer) 2018-02-18T10:45:48Z aeth: A lot of the time #lispcafe is overflow of on-topic things because something's even more on-topic here. 2018-02-18T10:46:05Z heurist_ quit (Ping timeout: 240 seconds) 2018-02-18T10:46:46Z heurist_ joined #lisp 2018-02-18T10:46:58Z nullman quit (Remote host closed the connection) 2018-02-18T10:46:59Z beach: In a special form like LET or LET* that takes a body with declarations, should we not indent the declarations one column more than the forms of the body? 2018-02-18T10:47:53Z phoe: How much do you indent the bindings in LET now? 2018-02-18T10:47:56Z Shinmera: Hrm. I don't know how much I like that since it goes against conventions 2018-02-18T10:48:19Z beach: phoe: 4 position compared to the (LET itself. 2018-02-18T10:48:23Z shrdlu68: As long as it's consistent, i.e do the same for functions, macros, etc. 2018-02-18T10:48:34Z pjb: beach: if you indent declarations in general, yes why not. Same as in lambda, locally, etc. 2018-02-18T10:48:36Z shrdlu68: But I'd rather not. 2018-02-18T10:49:04Z beach: phoe: But normally, the bindings are on the same line as the (LET so they get aligned that way instead. 2018-02-18T10:49:10Z pjb: But if you do that, do it also for docstrings. Remember that docstrings can be mixed in the middle of declarations. 2018-02-18T10:49:26Z beach: pjb: Sure. 2018-02-18T10:49:36Z pjb: (defun foo () (declare (foo)) "this documents" (declare (bar)) "this is the result") 2018-02-18T10:49:52Z pjb: (defun foo () (declare (foo)) (declare (bar)) "this documents" "this is the result") 2018-02-18T10:49:59Z beach: pjb: If I do it, I'll do it consistently for both kinds of `body', i.e. the ones that allow docstrings and the ones that don't. 2018-02-18T10:50:01Z pjb: (defun foo () (declare (foo)) (declare (bar)) "this is the result") ; no docstring! 2018-02-18T10:50:18Z shrdlu68: One vexing this is how multiline docstrings don't align. 2018-02-18T10:50:31Z shrdlu68: s/this/thing 2018-02-18T10:50:32Z beach: pjb: I know the rule, or rather, I know where to find it. 2018-02-18T10:50:36Z milanj quit (Read error: Connection reset by peer) 2018-02-18T10:50:59Z beach: shrdlu68: That's why I use #.(format nil ...) 2018-02-18T10:51:21Z pjb: beach: my hint is that it's not a bad idea to indent declarations and docstrings differently from the body expressions, if it's indeed done consistently and correctly. 2018-02-18T10:51:25Z beach: shrdlu68: That way I can use ~@ in the docstring, and indent the following lines. 2018-02-18T10:51:38Z beach: pjb: Understood. 2018-02-18T10:51:46Z shrdlu68: beach: clever. 2018-02-18T10:51:53Z beach: shrdlu68: Thanks! 2018-02-18T10:52:09Z smokeink: has anyone gone through this tutorial and understood the mechanics of the VM it describes? https://www.pvk.ca/Blog/2014/03/15/sbcl-the-ultimate-assembly-code-breadboard/ I don't get it why each stack slot has its own code-page (and this is vital for understanding how (NEXT) works ) 2018-02-18T10:52:09Z Chream_2 quit (Read error: Connection reset by peer) 2018-02-18T10:52:13Z Chream_ joined #lisp 2018-02-18T10:52:18Z nullman joined #lisp 2018-02-18T10:52:35Z pjb: Once I defined a document macro that I used with #. for docstrings. It could handle alternate localizations of the documentation… 2018-02-18T10:52:35Z Chream_ quit (Read error: Connection reset by peer) 2018-02-18T10:52:41Z ebzzry_: shrdlu68: How do I make that automatically serve index.html? 2018-02-18T10:52:41Z Chream_ joined #lisp 2018-02-18T10:53:07Z shrdlu68: ebzzry_: What do you mean by automatically? 2018-02-18T10:53:24Z phoe: so that http://foo/ autoserves http://foo/index.html? 2018-02-18T10:53:59Z beach: Shinmera: It would be optional, of course. 2018-02-18T10:53:59Z Chream_ quit (Read error: Connection reset by peer) 2018-02-18T10:54:03Z Chream_2 joined #lisp 2018-02-18T10:54:24Z Chream_2 quit (Read error: Connection reset by peer) 2018-02-18T10:54:31Z kotrcka quit (Quit: leaving) 2018-02-18T10:54:37Z Chream_ joined #lisp 2018-02-18T10:54:53Z phoe: I wouldn't indent them but would instead color them differently, just like docstrings are colored differently nowadays 2018-02-18T10:55:00Z phoe: ...but I'm a color person, so I might not be in the majority 2018-02-18T10:55:38Z phoe: I kind of wish declarations were more greyish compared to usual text, so the rest of code stands out more among them 2018-02-18T10:55:43Z safe quit (Read error: Connection reset by peer) 2018-02-18T10:55:55Z phoe: this could increase readability in heavily declaretype'd code. 2018-02-18T10:57:44Z shrdlu68: ebzzry_: By defining an easy handler for "/". Hunchentoot has great documentation: https://edicl.github.io/hunchentoot/#reference 2018-02-18T11:00:15Z ebzzry_: shrdlu68: thanks 2018-02-18T11:01:00Z damke_ joined #lisp 2018-02-18T11:02:10Z kdridi joined #lisp 2018-02-18T11:02:45Z damke quit (Ping timeout: 263 seconds) 2018-02-18T11:03:22Z krwq quit (Remote host closed the connection) 2018-02-18T11:10:29Z fikka quit (Ping timeout: 276 seconds) 2018-02-18T11:13:03Z smurfrobot joined #lisp 2018-02-18T11:15:02Z shrdlu68: ebzzry_: Something like this: https://plaster.tymoon.eu/view/714#714 2018-02-18T11:15:16Z shrdlu68 left #lisp 2018-02-18T11:19:09Z phoe: ...I just realized that Plaster has Lisp coloring 2018-02-18T11:19:33Z phoe: I kind of want it to become the new lisppaste but I'm also worried it might share the same fate as it 2018-02-18T11:26:14Z fikka joined #lisp 2018-02-18T11:29:16Z pjb: Indeed, in fontification not only color should be used, but also bold, italic and underline, since there are color blind people. 2018-02-18T11:31:07Z pjb: Also, why not, use different fonts, or different unicode characters, such as 𝔣𝔯𝔞𝔠𝔱𝔲𝔯, 𝗆𝖺𝗍𝗁𝖾𝗆𝖺𝗍𝗂𝖼𝖺𝗅 𝗌𝖺𝗇𝗌 𝗌𝖾𝗋𝗂𝖿, 𝚘𝚛 𝚖𝚊𝚝𝚑𝚎𝚖𝚊𝚝𝚒𝚌𝚊𝚕 𝚖𝚘𝚗𝚘𝚜𝚙𝚊𝚌𝚎. 2018-02-18T11:31:20Z phoe: I think it's trivial with CSS. Just supply a color-blind-mode CSS that replaces the styles. 2018-02-18T11:32:05Z sz0 joined #lisp 2018-02-18T11:32:12Z pjb: I would guess beach uses McCLIM, not CSS… 2018-02-18T11:32:30Z phoe: Oh wait, i was talking about Shinmera's plaster. 2018-02-18T11:32:33Z quazimodo joined #lisp 2018-02-18T11:32:39Z phoe: And you're talking about his Climacs fontification. 2018-02-18T11:36:33Z makomo quit (Ping timeout: 248 seconds) 2018-02-18T11:38:17Z nowhere_man quit (Read error: Connection reset by peer) 2018-02-18T11:40:20Z wxie joined #lisp 2018-02-18T11:40:35Z nowhere_man joined #lisp 2018-02-18T11:40:54Z pagnol joined #lisp 2018-02-18T11:41:34Z beach: Color and font changes would definitely be an option too. 2018-02-18T11:43:04Z smurfrobot quit (Remote host closed the connection) 2018-02-18T11:45:05Z shelvick quit (Quit: EliteBNC - http://elitebnc.org (Auto-Removal: idle account/not being used)) 2018-02-18T11:47:24Z dddddd joined #lisp 2018-02-18T11:48:40Z Chream_ quit (Ping timeout: 240 seconds) 2018-02-18T11:49:52Z lonjil quit (Ping timeout: 256 seconds) 2018-02-18T11:49:54Z Karl_Dscc joined #lisp 2018-02-18T11:51:51Z lonjil joined #lisp 2018-02-18T11:54:41Z kdridi quit (Remote host closed the connection) 2018-02-18T11:55:17Z kdridi joined #lisp 2018-02-18T11:57:21Z fikka quit (Ping timeout: 248 seconds) 2018-02-18T11:59:49Z kdridi quit (Ping timeout: 268 seconds) 2018-02-18T12:02:54Z kdridi joined #lisp 2018-02-18T12:03:50Z makomo joined #lisp 2018-02-18T12:03:59Z nowhereman_ joined #lisp 2018-02-18T12:06:05Z ebzzry_ quit (Ping timeout: 240 seconds) 2018-02-18T12:07:18Z nowhere_man quit (Ping timeout: 240 seconds) 2018-02-18T12:07:20Z EvW joined #lisp 2018-02-18T12:07:33Z fikka joined #lisp 2018-02-18T12:08:05Z Fare joined #lisp 2018-02-18T12:08:57Z ebzzry_ joined #lisp 2018-02-18T12:09:59Z raynold quit (Quit: Connection closed for inactivity) 2018-02-18T12:12:09Z markong joined #lisp 2018-02-18T12:12:57Z fikka quit (Ping timeout: 264 seconds) 2018-02-18T12:21:57Z smaster quit (Ping timeout: 240 seconds) 2018-02-18T12:23:59Z orivej quit (Ping timeout: 256 seconds) 2018-02-18T12:24:04Z fikka joined #lisp 2018-02-18T12:24:09Z Tobbi joined #lisp 2018-02-18T12:24:33Z ebzzry_ quit (Ping timeout: 248 seconds) 2018-02-18T12:29:01Z python476 quit (Read error: Connection reset by peer) 2018-02-18T12:31:19Z fikka quit (Remote host closed the connection) 2018-02-18T12:31:33Z fikka joined #lisp 2018-02-18T12:34:58Z smurfrobot joined #lisp 2018-02-18T12:35:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-18T12:37:32Z python476 joined #lisp 2018-02-18T12:37:48Z wxie quit (Ping timeout: 240 seconds) 2018-02-18T12:40:20Z ebzzry_ joined #lisp 2018-02-18T12:41:05Z MetaYan quit (Ping timeout: 240 seconds) 2018-02-18T12:41:57Z MetaYan joined #lisp 2018-02-18T12:44:09Z makomo_ joined #lisp 2018-02-18T12:47:20Z makomo quit (Ping timeout: 276 seconds) 2018-02-18T12:47:40Z random-nick quit (Remote host closed the connection) 2018-02-18T12:53:53Z smaster joined #lisp 2018-02-18T12:54:02Z random-nick joined #lisp 2018-02-18T12:59:01Z smaster quit (Ping timeout: 268 seconds) 2018-02-18T13:04:44Z fikka joined #lisp 2018-02-18T13:04:58Z smurfrobot quit (Remote host closed the connection) 2018-02-18T13:06:18Z pagnol quit (Ping timeout: 240 seconds) 2018-02-18T13:08:12Z kdridi quit (Remote host closed the connection) 2018-02-18T13:09:21Z kdridi joined #lisp 2018-02-18T13:10:26Z smurfrobot joined #lisp 2018-02-18T13:15:18Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-18T13:16:36Z attila_lendvai joined #lisp 2018-02-18T13:16:56Z pagnol joined #lisp 2018-02-18T13:17:09Z fdund joined #lisp 2018-02-18T13:19:38Z trocado joined #lisp 2018-02-18T13:20:23Z Kevslinger joined #lisp 2018-02-18T13:21:22Z kdridi quit (Remote host closed the connection) 2018-02-18T13:21:54Z kdridi joined #lisp 2018-02-18T13:22:36Z shka: good day 2018-02-18T13:23:46Z kdridi quit (Read error: No route to host) 2018-02-18T13:24:14Z kdridi joined #lisp 2018-02-18T13:29:10Z random-nick quit (Remote host closed the connection) 2018-02-18T13:29:42Z smaster joined #lisp 2018-02-18T13:31:46Z beach: Hello shka. 2018-02-18T13:32:18Z shka: beach: hello there, what you are doing? 2018-02-18T13:32:46Z beach: Right now I just got up from a nap. Otherwise, I am working on indentation functions in the editor. 2018-02-18T13:32:53Z beach: What about you? 2018-02-18T13:32:54Z shka: cool 2018-02-18T13:33:42Z shka: added some boring linear regression functions to cl-data-structures, I will probably do some house work now 2018-02-18T13:34:08Z smurfrobot joined #lisp 2018-02-18T13:34:17Z Xach: I am dismayed by the number of new failures at http://report.quicklisp.org/2018-02-18/failure-report.html 2018-02-18T13:34:23Z Xach: (that is what i am doing) 2018-02-18T13:34:44Z shka: oh 2018-02-18T13:34:48Z pagnol quit (Ping timeout: 240 seconds) 2018-02-18T13:34:50Z Xach: The trouble for me is new failures in old projects 2018-02-18T13:34:54Z shka: and cepl 2018-02-18T13:35:02Z Xach: Things that haven't updated in a while are now failing 2018-02-18T13:35:04Z shka: and blackbird! 2018-02-18T13:35:09Z Xach: I haven't changed my setup that I know of 2018-02-18T13:35:11Z beach: That's worrisome. 2018-02-18T13:36:01Z Xach: I did find that some projects fail to test if you have something running on port 8000 2018-02-18T13:36:09Z shka: uhm 2018-02-18T13:36:10Z Xach: They set up example services on port 8000 2018-02-18T13:36:15Z Karl_Dscc quit (Remote host closed the connection) 2018-02-18T13:36:55Z Chream_ joined #lisp 2018-02-18T13:38:27Z ninegrid quit (Quit: leaving) 2018-02-18T13:44:09Z ninegrid joined #lisp 2018-02-18T13:46:38Z jackdaniel: maybe some common dependency changed 2018-02-18T13:46:40Z jackdaniel: and broke them 2018-02-18T13:46:42Z rumbler31 joined #lisp 2018-02-18T13:47:15Z random-nick joined #lisp 2018-02-18T13:47:54Z milanj joined #lisp 2018-02-18T13:47:55Z jackdaniel: however looking at random failure log it seems that asdf can't find secondary system 2018-02-18T13:48:26Z smaster quit (Ping timeout: 276 seconds) 2018-02-18T13:49:11Z Chream_ quit (Read error: Connection reset by peer) 2018-02-18T13:49:37Z Xach: You can essentially ignore anything with mabragor or gendl in it 2018-02-18T13:49:50Z Xach: and I think cepl has a common cause 2018-02-18T13:50:00Z Xach: But there are a number of other problems that perplex me 2018-02-18T13:50:10Z Chream_ joined #lisp 2018-02-18T13:50:27Z smurfrobot quit (Remote host closed the connection) 2018-02-18T13:50:34Z Xach: http://report.quicklisp.org/2018-02-18/failure-report/trivialib.bdd.html#trivialib.bdd.test for example is a new failure in a project that has not changed in years 2018-02-18T13:50:50Z smaster joined #lisp 2018-02-18T13:51:01Z jackdaniel: and what is your asdf:*compile-file-warnings-behaviour* ? 2018-02-18T13:51:14Z Xach: jackdaniel: the default 2018-02-18T13:51:15Z Murii quit (Ping timeout: 256 seconds) 2018-02-18T13:51:15Z Xach: http://report.quicklisp.org/2018-02-18/failure-report/trivia.html#trivia.level2.test 2018-02-18T13:51:41Z Xach: http://report.quicklisp.org/2018-02-18/failure-report/introspect-environment.html#introspect-environment-test is one of Bike's that now fails 2018-02-18T13:51:43Z jackdaniel: fwiw the default has changed a few times during the course of asdf development 2018-02-18T13:51:49Z jackdaniel: on my sbcl version its value is :warn 2018-02-18T13:52:03Z Xach: I have not changed my asdf or sbcl setup since the last quicklisp update 2018-02-18T13:52:24Z dieggsy joined #lisp 2018-02-18T13:52:32Z Xach: Nothing I know of changed between http://report.quicklisp.org/2018-02-16/failure-report.html and http://report.quicklisp.org/2018-02-18/failure-report.html in my local config 2018-02-18T13:52:38Z Xach: But the failures are all quite different 2018-02-18T13:53:29Z Xach: Hmmmmm 2018-02-18T13:53:46Z jackdaniel: I would try loading manually systems and replacing dependencies gradually to older versions 2018-02-18T13:54:12Z jackdaniel: to pin-point what is the cause of break (because in such circumstances my bet is on some common dependency messing with the reader or asdf or something else) 2018-02-18T13:54:41Z jackdaniel: s/manually systems/manualy suspicious system/ 2018-02-18T13:56:58Z smurfrobot joined #lisp 2018-02-18T13:56:59Z Baggers joined #lisp 2018-02-18T14:01:27Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-18T14:03:49Z dim: git bissect? 2018-02-18T14:04:10Z dim: (I mean, is it possible to automate that, as like what git bissect is doing?) 2018-02-18T14:04:17Z smaster quit (Ping timeout: 256 seconds) 2018-02-18T14:09:05Z Amplituhedron joined #lisp 2018-02-18T14:19:39Z xoreaxeax joined #lisp 2018-02-18T14:24:01Z jstypo quit (Read error: Connection reset by peer) 2018-02-18T14:24:06Z pagnol joined #lisp 2018-02-18T14:24:08Z jackdaniel: you'd have to compute all A system dependencies (recursively) and pick half of them to downgrade, not sure if easy to automate 2018-02-18T14:25:42Z makomo_ quit (Ping timeout: 256 seconds) 2018-02-18T14:25:49Z Bike joined #lisp 2018-02-18T14:31:14Z wigust joined #lisp 2018-02-18T14:40:02Z jstypo joined #lisp 2018-02-18T14:46:18Z trocado quit (Ping timeout: 240 seconds) 2018-02-18T14:47:50Z EvW quit (Ping timeout: 255 seconds) 2018-02-18T14:48:47Z Amplituhedron quit (Ping timeout: 268 seconds) 2018-02-18T14:51:34Z Chream_ quit (Read error: Connection reset by peer) 2018-02-18T14:51:42Z Chream_ joined #lisp 2018-02-18T14:52:09Z Chream_2 joined #lisp 2018-02-18T14:52:10Z Chream_ quit (Read error: Connection reset by peer) 2018-02-18T14:55:39Z knicklux joined #lisp 2018-02-18T14:55:48Z klltkr joined #lisp 2018-02-18T14:56:36Z EvW joined #lisp 2018-02-18T14:57:39Z makomo_ joined #lisp 2018-02-18T15:01:26Z Xach: My current setup is easy for latest, hard for not-latest 2018-02-18T15:01:47Z saki quit (Remote host closed the connection) 2018-02-18T15:15:25Z nsrahmad joined #lisp 2018-02-18T15:15:33Z Xach looks into fiveam 2018-02-18T15:16:31Z Xach: aha. i think that may be the common element, changed two days ago 2018-02-18T15:16:31Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-18T15:16:56Z Sheilong joined #lisp 2018-02-18T15:17:07Z Xach: yes, that's it. 2018-02-18T15:17:51Z varjag joined #lisp 2018-02-18T15:18:14Z Xach: scymtym: you have made some "recent" changes to fiveam - are you up for troubleshooting today? 2018-02-18T15:19:06Z attila_lendvai joined #lisp 2018-02-18T15:19:06Z attila_lendvai quit (Changing host) 2018-02-18T15:19:06Z attila_lendvai joined #lisp 2018-02-18T15:20:05Z Xach: or fe[nl]ix? 2018-02-18T15:20:14Z fe[nl]ix: yes 2018-02-18T15:20:25Z Xach: scymtym, fe[nl]ix: my example case is (ql:quickload "introspect-environment-test" :verbose t) 2018-02-18T15:20:25Z fe[nl]ix: at your service 2018-02-18T15:20:38Z Xach: fe[nl]ix: with the latest fiveam, it fails - older fiveam succeeds. 2018-02-18T15:20:45Z Xach: fe[nl]ix: i don't really know much beyond that 2018-02-18T15:22:30Z fe[nl]ix: I'm looking into it 2018-02-18T15:22:32Z Xach: Thanks. 2018-02-18T15:25:25Z fe[nl]ix: found the ofending commit cc23df4700d6 2018-02-18T15:25:39Z fe[nl]ix: scymtym: I might have to revert that 2018-02-18T15:27:00Z jason_m quit (Quit: Leaving) 2018-02-18T15:31:19Z pagnol quit (Ping timeout: 260 seconds) 2018-02-18T15:31:25Z trocado joined #lisp 2018-02-18T15:31:45Z saki joined #lisp 2018-02-18T15:34:30Z fe[nl]ix: Xach: can you take a look at https://github.com/quicklisp/quicklisp-projects/issues/1450 and https://github.com/quicklisp/quicklisp-projects/issues/1451 before the update ? 2018-02-18T15:34:53Z Xach: Will do 2018-02-18T15:34:57Z fe[nl]ix: thanks 2018-02-18T15:35:23Z fe[nl]ix: I still don't understand the breakage 2018-02-18T15:35:35Z fe[nl]ix: the code block that fails has a comment "haha oh man" 2018-02-18T15:35:59Z klltkr quit (Ping timeout: 260 seconds) 2018-02-18T15:36:21Z phoe: xD 2018-02-18T15:38:29Z Xach: fe[nl]ix: well, it's not the only one - i can find other examples without suspicious comments 2018-02-18T15:39:41Z fe[nl]ix: other libraries ? 2018-02-18T15:40:18Z Xach: fe[nl]ix: yes. e.g. http://report.quicklisp.org/2018-02-18/failure-report/trivialib.bdd.html#trivialib.bdd.test 2018-02-18T15:40:34Z Xach: project has not changed since 2016, new failure 2018-02-18T15:41:14Z makomo_ quit (Ping timeout: 260 seconds) 2018-02-18T15:42:50Z Xach: http://report.quicklisp.org/2018-02-18/failure-report/cl-oauth.html#cl-oauth.tests too 2018-02-18T15:43:57Z makomo_ joined #lisp 2018-02-18T15:44:09Z trocado quit (Ping timeout: 264 seconds) 2018-02-18T15:49:03Z fourier joined #lisp 2018-02-18T15:53:17Z nsrahmad quit (Quit: Leaving) 2018-02-18T15:54:23Z fourier quit (Changing host) 2018-02-18T15:54:23Z fourier joined #lisp 2018-02-18T15:57:50Z smurfrobot joined #lisp 2018-02-18T15:59:19Z knicklux quit (Ping timeout: 260 seconds) 2018-02-18T16:01:20Z wxie joined #lisp 2018-02-18T16:02:36Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-18T16:03:05Z drewc quit (Ping timeout: 276 seconds) 2018-02-18T16:04:44Z fdund quit (Ping timeout: 256 seconds) 2018-02-18T16:06:03Z Naergon joined #lisp 2018-02-18T16:11:46Z knicklux joined #lisp 2018-02-18T16:11:46Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-18T16:12:38Z fourier quit (Ping timeout: 265 seconds) 2018-02-18T16:12:59Z drewc joined #lisp 2018-02-18T16:13:52Z attila_lendvai joined #lisp 2018-02-18T16:16:27Z smokeink quit (Quit: peace) 2018-02-18T16:18:05Z fe[nl]ix: Xach: I reverted and made a new release 2018-02-18T16:22:58Z lonjil quit (Quit: WeeChat 2.0.1) 2018-02-18T16:22:58Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-18T16:23:05Z wxie quit (Ping timeout: 240 seconds) 2018-02-18T16:24:04Z attila_lendvai joined #lisp 2018-02-18T16:24:13Z fdund joined #lisp 2018-02-18T16:27:34Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-18T16:27:39Z slyrus joined #lisp 2018-02-18T16:28:30Z kdridi quit (Read error: Connection reset by peer) 2018-02-18T16:28:49Z kdridi joined #lisp 2018-02-18T16:29:10Z Xach: fe[nl]ix: I'll try it, thanks 2018-02-18T16:29:27Z attila_lendvai joined #lisp 2018-02-18T16:29:27Z attila_lendvai quit (Changing host) 2018-02-18T16:29:27Z attila_lendvai joined #lisp 2018-02-18T16:35:01Z pagnol joined #lisp 2018-02-18T16:37:33Z shrdlu68 joined #lisp 2018-02-18T16:45:36Z smcnamara joined #lisp 2018-02-18T16:47:55Z fdund quit (Quit: leaving) 2018-02-18T16:49:10Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-18T16:51:19Z attila_lendvai joined #lisp 2018-02-18T16:51:19Z attila_lendvai quit (Changing host) 2018-02-18T16:51:19Z attila_lendvai joined #lisp 2018-02-18T16:52:35Z Khisanth quit (Ping timeout: 240 seconds) 2018-02-18T16:53:41Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-18T16:54:09Z solyd quit (Remote host closed the connection) 2018-02-18T16:54:10Z pagnol quit (Ping timeout: 240 seconds) 2018-02-18T16:54:23Z shifty quit (Ping timeout: 248 seconds) 2018-02-18T16:55:23Z attila_lendvai joined #lisp 2018-02-18T16:55:23Z attila_lendvai quit (Changing host) 2018-02-18T16:55:23Z attila_lendvai joined #lisp 2018-02-18T16:56:05Z xoreaxeax quit (Quit: Page closed) 2018-02-18T17:02:21Z dieggsy quit (Quit: ERC (IRC client for Emacs 27.0.50)) 2018-02-18T17:04:35Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-18T17:04:35Z smurfrobot joined #lisp 2018-02-18T17:06:19Z Khisanth joined #lisp 2018-02-18T17:07:10Z attila_lendvai joined #lisp 2018-02-18T17:07:41Z smurfrobot quit (Remote host closed the connection) 2018-02-18T17:09:37Z orivej joined #lisp 2018-02-18T17:16:49Z vultyre joined #lisp 2018-02-18T17:20:19Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-18T17:20:54Z attila_lendvai joined #lisp 2018-02-18T17:20:54Z attila_lendvai quit (Changing host) 2018-02-18T17:20:54Z attila_lendvai joined #lisp 2018-02-18T17:21:15Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-18T17:21:33Z attila_lendvai joined #lisp 2018-02-18T17:21:34Z attila_lendvai quit (Changing host) 2018-02-18T17:21:34Z attila_lendvai joined #lisp 2018-02-18T17:22:36Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-18T17:23:38Z epony quit (Ping timeout: 256 seconds) 2018-02-18T17:24:54Z attila_lendvai joined #lisp 2018-02-18T17:24:54Z attila_lendvai quit (Changing host) 2018-02-18T17:24:54Z attila_lendvai joined #lisp 2018-02-18T17:33:26Z EvW quit (Ping timeout: 255 seconds) 2018-02-18T17:36:13Z saki quit (Read error: Connection reset by peer) 2018-02-18T17:36:23Z jmercouris joined #lisp 2018-02-18T17:37:18Z saki joined #lisp 2018-02-18T17:38:14Z Arcaelyx joined #lisp 2018-02-18T17:39:53Z nika quit (Quit: Leaving...) 2018-02-18T17:42:45Z fourier joined #lisp 2018-02-18T17:43:52Z sz0 quit (Quit: Connection closed for inactivity) 2018-02-18T17:46:11Z kotrcka joined #lisp 2018-02-18T17:49:01Z pagnol joined #lisp 2018-02-18T17:50:16Z st_iron joined #lisp 2018-02-18T17:51:07Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-18T17:51:41Z lxpup_24904 joined #lisp 2018-02-18T17:52:54Z klltkr joined #lisp 2018-02-18T17:54:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-18T18:00:54Z lxpup_24904 quit (Quit: Leaving) 2018-02-18T18:02:22Z Naergon: How does lisp deals with memory allocation, garbage collection and similar things? 2018-02-18T18:03:05Z Shinmera: It deals with it by not specifying it. Or in other words, it's up to the implementation. 2018-02-18T18:04:08Z Xach: Naergon: did you have a specific concern that prompted the question? 2018-02-18T18:04:48Z Naergon: just trying to compare it with other languages that have GC and that dont have GC 2018-02-18T18:04:57Z phoe: Naergon: the question is too general. 2018-02-18T18:05:07Z Xach: phoe: Not really? 2018-02-18T18:05:19Z Xach: phoe: It's general, but too general? It has a general answer. 2018-02-18T18:05:23Z phoe: Hm. Well. 2018-02-18T18:05:36Z phoe: When Lisp needs to allocate, it allocates, when it needs to collect, it collects. Just like all other GCed languages. 2018-02-18T18:05:42Z Xach: Each implementation is free to do what it wants. 2018-02-18T18:05:51Z Shinmera: An implementation does not have to GC 2018-02-18T18:06:01Z phoe: Well. Correct. 2018-02-18T18:06:03Z Xach: In practice each usually does something useful by default. It may not be suitable for all workloads. 2018-02-18T18:06:13Z Xach: Some can be tuned easily, others can't. 2018-02-18T18:06:16Z phoe: Except I've yet to see a GCless implementation that isn't bocl or something like that. 2018-02-18T18:06:31Z Shinmera: Lisp is not a GCd language either, it's just easier to implement with a GC. 2018-02-18T18:07:03Z jackdaniel: Naergon: this fairly recent post https://medium.com/@MartinCracauer/llvms-garbage-collection-facilities-and-sbcl-s-generational-gc-a13eedfb1b31 touches some parts of SBCL's GC 2018-02-18T18:07:13Z jackdaniel: SBCL is one one the Common Lisp implementations 2018-02-18T18:07:39Z jackdaniel: (it tackles the topic from LLVM perspective) 2018-02-18T18:08:19Z jackdaniel: ECL on the other hand simply uses Boehm GC (commonly present on linux systems as libgc.so) 2018-02-18T18:08:42Z jackdaniel: Clasp uses MPS afair (memory pool system) 2018-02-18T18:09:00Z Shinmera: Clasp uses Boehm primarily still 2018-02-18T18:09:06Z Shinmera: But the end goal is the MPS 2018-02-18T18:09:13Z jackdaniel: uhm, thanks 2018-02-18T18:10:32Z shrdlu68: I've always wondered whether an implementation could just deal with memory the way C programmers do. 2018-02-18T18:10:42Z Shinmera: Sure could. 2018-02-18T18:10:58Z Shinmera: Conforming programs would quickly crash on your system, though. 2018-02-18T18:11:10Z shrdlu68: Why? 2018-02-18T18:11:12Z Shinmera: Out of memory. 2018-02-18T18:11:26Z jackdaniel: shrdlu68: you do (list 1 2 3) in a function - that's basically a malloc 2018-02-18T18:11:34Z jackdaniel: without GC you don't have free operation 2018-02-18T18:11:42Z jackdaniel: so you accumulate all new data 2018-02-18T18:12:14Z Xach: Quickly? 2018-02-18T18:12:18Z Xach: I have lots of memory! So much! 2018-02-18T18:12:32Z shrdlu68: Oh, leaks. Nah, the implementation simply notices when something can no longer be references and calls free. 2018-02-18T18:12:39Z jackdaniel: in worst case it will wrap from 0 :-) 2018-02-18T18:12:44Z Shinmera: shrdlu68: That's called a GC 2018-02-18T18:12:55Z jackdaniel: shrdlu68: that's basically gc (I've smiled :-) 2018-02-18T18:13:04Z shrdlu68: Well, I had something less fancy in mind. 2018-02-18T18:13:05Z Xach: If I allocated 1k per second I wouldn't run out of memory for 185 days 2018-02-18T18:13:49Z shrdlu68: Isn't it essentially how C programmers do it? 2018-02-18T18:13:59Z shrdlu68: "Manual" GC. 2018-02-18T18:14:06Z Xach: the 186th day is a vacation day 2018-02-18T18:14:25Z jmercouris: They don't really do garbage collection, they manually alloc and dealloc/free memory spaces 2018-02-18T18:14:26Z jackdaniel: shrdlu68: C programmers sometimes use libgc. Usually though they call free themself when data is not needed 2018-02-18T18:14:42Z jackdaniel: but it's not C implementation what detects such situation, it's C programmer 2018-02-18T18:14:54Z jmercouris: garbage collection as a term is usually reserved for any "freeing" that is done automatically by some system 2018-02-18T18:14:56Z jackdaniel: and he still can (erronously) access freed memory 2018-02-18T18:15:04Z jackdaniel: and sometimes it even works, until it stops working ! :-) 2018-02-18T18:15:22Z shrdlu68: Exactly. Put the implementation in the exact same shoes. 2018-02-18T18:15:30Z jackdaniel: that's why GC buys us so much - it removes a whole class of bugs. On the other hand it makes performance less predicitlbe 2018-02-18T18:15:31Z fourier: c/c++ programmers are controlling the life time of objects they create on a heap manually 2018-02-18T18:15:37Z Shinmera: shrdlu68: http://www.memorymanagement.org/ 2018-02-18T18:15:56Z jackdaniel: shrdlu68: if implementation detects when objects are not referenced and removes them, then this implementation implements garbage collector 2018-02-18T18:16:00Z jackdaniel: that's the very definition of GC 2018-02-18T18:16:09Z shrdlu68: I'm familiar with memory management - I once implemented once in asm. 2018-02-18T18:17:10Z fourier: wondering though if the implementation could instead of gc wrap everything in reference-counted objects like c++ smart pointer. 2018-02-18T18:17:16Z jackdaniel drops to watch chinease cartoons, cyas \o 2018-02-18T18:19:00Z jmercouris: fourier: I don't see why not 2018-02-18T18:19:28Z shrdlu68: What I had in mind was more like what you'd do if given some CL code to translate to C. 2018-02-18T18:19:39Z jmercouris: I was having a discussion about that approximately a month ago where I argued that a manaul reference count based system would be more performant than any "automatic" gc 2018-02-18T18:19:59Z fourier: yes thats why c++ exists and kicks 2018-02-18T18:20:13Z jmercouris: yeah, everyone seemed to believe the opposite though :D 2018-02-18T18:20:17Z Shinmera: reference counting is slow as balls. 2018-02-18T18:20:18Z jmercouris: or maybe I am misremembering 2018-02-18T18:20:25Z jmercouris: nah, seems I am remembering correctly lol 2018-02-18T18:20:51Z mlf joined #lisp 2018-02-18T18:21:13Z k-hos: shrdlu68 like https://github.com/eratosthenesia/lispc ? 2018-02-18T18:21:43Z k-hos: *not common lisp 2018-02-18T18:24:52Z shrdlu68: k-hos: Nope. What I have in mind is an implementation that naively translates CL to C, therefore instead of a GC you'd simply have malloc/calloc/free, etc. 2018-02-18T18:25:56Z k-hos: you would have a hell of a time trying to get that work without ending up with another gc 2018-02-18T18:26:00Z phoe: shrdlu68: you still need some kind of reference counting or other mechanism 2018-02-18T18:26:04Z phoe: shrdlu68: (defparameter *foo* (make-huge-object)) 2018-02-18T18:26:22Z k-hos: reference counting breaks down in circular references as well 2018-02-18T18:26:26Z phoe: how do you remember that the value of *foo* is now something that takes up memory? 2018-02-18T18:26:53Z phoe: at some point later in your code someone calls (setf *foo* 2) 2018-02-18T18:26:55Z k-hos: which is why languages generally go for a full gc rather than a more c++ setup 2018-02-18T18:26:58Z cmatei quit (Ping timeout: 256 seconds) 2018-02-18T18:27:09Z phoe: this is the last moment when you can free that object, later it'll be inaccessible and a memory leak. 2018-02-18T18:27:57Z phoe: unless you figure out a clever way in which SETF checks if the object is otherwise inaccessible, *somehow*, 2018-02-18T18:28:07Z phoe: and calls free() if it is. 2018-02-18T18:28:33Z phoe: but reference counting will fail as Lisp is full of circularities, and other techniques essentially mean implementing a GC anyway,. 2018-02-18T18:28:49Z phoe: so, in other words, "you'd simply have malloc/calloc/free" is a unicorn. 2018-02-18T18:28:55Z Shinmera: For a language that doesn't have GC and no explicit memory management, see Rust. Though for that to work you need a lot of language support. 2018-02-18T18:29:19Z phoe: yes, Rust has very nice concepts for memory management. 2018-02-18T18:29:43Z cmatei joined #lisp 2018-02-18T18:30:35Z shrdlu68: A sufficiently clever compiler is a CL programmer tasked with translating some CL code to assembly. 2018-02-18T18:32:26Z shrdlu68: i.e it would figure out what you're trying to do and simply figure out how to do it in assembly. 2018-02-18T18:33:00Z k-hos: so SBCL? 2018-02-18T18:33:04Z phoe: shrdlu68: compilers were invented so CL programmers would *not* need to hand-translate Lisp into assembly 2018-02-18T18:33:07Z phoe: yes, SBCL 2018-02-18T18:33:18Z k-hos: :p 2018-02-18T18:33:47Z random-nick quit (Read error: Connection reset by peer) 2018-02-18T18:34:05Z kdridi quit (Remote host closed the connection) 2018-02-18T18:36:04Z python476 quit (Read error: Connection reset by peer) 2018-02-18T18:36:23Z Naergon: Does lisp have an api/analogue/glue for cuda/gl/mobile gl? General computations on video cards 2018-02-18T18:36:42Z phoe: https://github.com/takagi/cl-cuda 2018-02-18T18:36:50Z k-hos: there is cl-opengl for common lisp 2018-02-18T18:36:59Z Shinmera: Naergon: What do you mean? A lisp dialect that runs on the GPU? 2018-02-18T18:37:00Z python476 joined #lisp 2018-02-18T18:37:05Z phoe: Naergon: for GLs, ask on #lispgames 2018-02-18T18:37:16Z Shinmera: Or simply APIs to talk to the GPU 2018-02-18T18:37:17Z Murii joined #lisp 2018-02-18T18:37:39Z phoe: Naergon: Lisp has CFFI through which it can talk to C programs, so anything that you can interface from C is something you can interface from Lisp. 2018-02-18T18:37:53Z Naergon: phoe: nice, thanks 2018-02-18T18:38:22Z Naergon: Shinmera: yes, that would be an ideal 2018-02-18T18:39:08Z Shinmera: Well since graphics vendors haven't given us a way to write assembly for their cards, there isn't really one. There are minor things like Varjo that emit GLSL. 2018-02-18T18:39:32Z Shinmera: So you can write GLSL with lisp syntax (and partial lisp semantics) 2018-02-18T18:39:41Z kdridi joined #lisp 2018-02-18T18:40:34Z damke_ joined #lisp 2018-02-18T18:42:14Z fourier quit (Ping timeout: 276 seconds) 2018-02-18T18:47:19Z klltkr quit (Ping timeout: 260 seconds) 2018-02-18T18:48:15Z pfdietz_ joined #lisp 2018-02-18T18:49:46Z attila_lendvai joined #lisp 2018-02-18T18:50:18Z pfdietz_: The failure mode for gc-ed languages is not referencing freed memory but leaks due to references keeping data from being gc-ed. 2018-02-18T18:50:27Z krwq joined #lisp 2018-02-18T18:50:41Z pfdietz_: Weak pointers of various kinds can be helpful. 2018-02-18T19:00:05Z cmatei quit (Ping timeout: 256 seconds) 2018-02-18T19:00:58Z cmatei joined #lisp 2018-02-18T19:01:47Z fikka quit (Ping timeout: 256 seconds) 2018-02-18T19:05:01Z froggey quit (Remote host closed the connection) 2018-02-18T19:06:48Z froggey joined #lisp 2018-02-18T19:07:05Z lonjil joined #lisp 2018-02-18T19:10:06Z kotrcka is now known as pet84rik 2018-02-18T19:10:44Z kotrcka joined #lisp 2018-02-18T19:11:21Z kotrcka quit (Remote host closed the connection) 2018-02-18T19:11:29Z pet84rik is now known as kotrcka 2018-02-18T19:13:11Z random-nick joined #lisp 2018-02-18T19:13:33Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-18T19:14:38Z Bicyclidine joined #lisp 2018-02-18T19:15:09Z slyrus: is the slime github issue tracker the best for issues, or should they go to slime-devel? 2018-02-18T19:15:35Z attila_lendvai joined #lisp 2018-02-18T19:19:42Z epony joined #lisp 2018-02-18T19:20:03Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-18T19:21:48Z |3b|: slyrus: https://common-lisp.net/project/slime/ points to github issue tracker 2018-02-18T19:22:27Z marusich joined #lisp 2018-02-18T19:24:17Z slyrus: Ok, thanks. 2018-02-18T19:25:11Z slyrus: apparently swank/gray doesn't work on ABCL and stassat's recent SLIME changes make the repl depend on swank/gray. 2018-02-18T19:26:06Z alexmlw joined #lisp 2018-02-18T19:26:17Z Pixel_Outlaw joined #lisp 2018-02-18T19:26:36Z fikka joined #lisp 2018-02-18T19:28:08Z phoe: slyrus: so basically SLIME no longer works on ABCL? 2018-02-18T19:28:24Z emacsoma` quit (Quit: ERC (IRC client for Emacs 25.3.1)) 2018-02-18T19:28:58Z slyrus: slime-repl anyway 2018-02-18T19:29:05Z slyrus: or any other lisp not supported in swank/gray 2018-02-18T19:30:48Z phoe: that is a nasty bug 2018-02-18T19:31:31Z hel-io joined #lisp 2018-02-18T19:32:00Z Patternmaster joined #lisp 2018-02-18T19:32:17Z fikka quit (Ping timeout: 276 seconds) 2018-02-18T19:32:57Z raynold joined #lisp 2018-02-18T19:33:29Z lnostdal quit (Quit: https://quanto.ga/) 2018-02-18T19:34:57Z EvW joined #lisp 2018-02-18T19:35:50Z phoe: breaking ABCL compatibility is bad. 2018-02-18T19:37:45Z phoe: it seems like https://github.com/slime/slime/blob/master/swank/abcl.lisp#L28 might provide some insight 2018-02-18T19:38:51Z slyrus: fun 2018-02-18T19:46:08Z emacsomancer_ joined #lisp 2018-02-18T19:46:43Z phoe: brief reading tells me that there's a shared GS implementation that cannot be used due to this bug. 2018-02-18T19:46:55Z fikka joined #lisp 2018-02-18T19:51:02Z samla joined #lisp 2018-02-18T19:51:23Z emacsomancer quit (Quit: ERC (IRC client for Emacs 25.3.1)) 2018-02-18T19:51:23Z emacsomancer_ is now known as emacsomancer 2018-02-18T19:51:40Z fikka quit (Ping timeout: 240 seconds) 2018-02-18T19:54:24Z samla quit (Remote host closed the connection) 2018-02-18T19:54:59Z lnostdal joined #lisp 2018-02-18T19:57:24Z fikka joined #lisp 2018-02-18T20:01:13Z damke joined #lisp 2018-02-18T20:02:25Z fikka quit (Ping timeout: 256 seconds) 2018-02-18T20:03:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-18T20:05:27Z Chream_ joined #lisp 2018-02-18T20:05:49Z stacksmith: Does the standard specify logbitp as setf-able? 2018-02-18T20:06:16Z Chream_2 quit (Ping timeout: 256 seconds) 2018-02-18T20:07:11Z phoe: stacksmith: nope. 2018-02-18T20:07:15Z pjb: stacksmith: nope. It's written Function logbitp, not Accessor logbitp. 2018-02-18T20:07:23Z fikka joined #lisp 2018-02-18T20:07:26Z phoe: use SETF LDB. 2018-02-18T20:08:47Z stacksmith: pjb: Ah, so that's what it means! I've been wondering for a while. 2018-02-18T20:09:05Z Devon joined #lisp 2018-02-18T20:09:06Z White_Flame: are any of the '-p' predicates setf-able? 2018-02-18T20:09:19Z lemoinem quit (Read error: Connection reset by peer) 2018-02-18T20:09:31Z White_Flame: seems to be against the grammar of the function name 2018-02-18T20:09:38Z pjb: I don't think. Yes. 2018-02-18T20:09:39Z stacksmith: sbcl does it for logbitp... 2018-02-18T20:09:50Z pjb: There can always be extensions. 2018-02-18T20:09:53Z lemoinem joined #lisp 2018-02-18T20:12:06Z stacksmith: There is no official 'set bit of an integer' function, right? 2018-02-18T20:12:15Z pjb: it's dpb 2018-02-18T20:12:23Z pjb: akas (setf ldb) 2018-02-18T20:12:35Z fikka quit (Ping timeout: 276 seconds) 2018-02-18T20:12:43Z pjb: stacksmith: but note that integers are immutable. 2018-02-18T20:13:52Z White_Flame: there's bit vectors, but I don't recall conversions to ints 2018-02-18T20:14:14Z pfdietz_ quit (Ping timeout: 260 seconds) 2018-02-18T20:14:35Z stacksmith: Is it incorrect to modify an integer whose sole purpose is to be returned? Even if you are certain of is width etc... 2018-02-18T20:14:48Z pjb: stacksmith: it's not incorrect, it's IMPOSSIBLE! 2018-02-18T20:14:56Z pjb: stacksmith: numbers are immutable! 2018-02-18T20:14:58Z phoe: stacksmith: you can't do it 2018-02-18T20:15:15Z pjb: stacksmith: also, in lisp integers have infinite width. 2018-02-18T20:15:40Z stacksmith: Yes, of course. 2018-02-18T20:16:07Z phoe: SETF LDB doesn't modify the original number, it returns a new one 2018-02-18T20:16:22Z pjb: it mutates the place, not the integer. 2018-02-18T20:16:41Z phoe: in Lisp numbers aren't values in memory whose bits you can peek and poke. they're immutable things. 2018-02-18T20:17:06Z stacksmith: Right. I win the idiot contest today. 2018-02-18T20:17:14Z phoe: well, at some point, they are represented by values in memory whose bits can be peeked and poked, but the programmer cannot do it, only the implementation can. 2018-02-18T20:17:18Z knicklux quit (Quit: Leaving) 2018-02-18T20:17:21Z fikka joined #lisp 2018-02-18T20:17:37Z phoe: stacksmith: nah, not an idiot contest. Questions are here to be answered, and how Lisp treats numbers isn't obvious, especially to C programmers. 2018-02-18T20:17:50Z pjb: Well, it could but it probably don't do it either, because integers can be interned, and particularly bigints 2018-02-18T20:17:55Z jmercouris: There is no "idiot contest", I think that's the wrong attitude 2018-02-18T20:18:05Z jmercouris: we all make mistakes, that does not make us idiots 2018-02-18T20:18:07Z phoe: where you can int x = 2; x |= 0x0F0F0F0F; and other tricks like that. 2018-02-18T20:18:11Z phoe: also what jmercouris said 2018-02-18T20:19:10Z stacksmith: Meant entirely in good humour, as I slap my forehead. 2018-02-18T20:20:31Z jmercouris: http://www.goodhumor.com 2018-02-18T20:20:37Z void_pointer quit (Remote host closed the connection) 2018-02-18T20:20:54Z void_pointer joined #lisp 2018-02-18T20:21:02Z terpri quit (Ping timeout: 276 seconds) 2018-02-18T20:21:03Z Chream_ quit (Read error: Connection reset by peer) 2018-02-18T20:21:20Z attila_lendvai joined #lisp 2018-02-18T20:21:32Z jmercouris: It's been a long time since I've had an ice cream sandwich, seems hard to get them in germany 2018-02-18T20:22:04Z k-hos: buy cookies and icecream and make your own 2018-02-18T20:22:24Z fikka quit (Ping timeout: 268 seconds) 2018-02-18T20:22:43Z jmercouris: that's a really good idea, I could make basically infinite flavor combinations, cutting and shaping the ice cream will be hard though 2018-02-18T20:23:18Z phoe: #lispcafe serves good ice cream 2018-02-18T20:23:18Z Chream_ joined #lisp 2018-02-18T20:24:04Z Achylles joined #lisp 2018-02-18T20:25:41Z stacksmith: Does this look like an efficient bitvector to integer conversion? I know bitvector has at least one bit. (reduce #'(lambda (a b) (+ (ash a 1) b)) bitvector) 2018-02-18T20:25:48Z Fare quit (Remote host closed the connection) 2018-02-18T20:26:06Z attila_lendvai quit (Ping timeout: 256 seconds) 2018-02-18T20:28:50Z |3b|: if you need efficiency for huge bitvectors, might work better to assemble the final integer 32 or 64 bits at a time, so you don't involve bignums math as much 2018-02-18T20:29:23Z Oladon joined #lisp 2018-02-18T20:29:37Z varjag quit (Ping timeout: 256 seconds) 2018-02-18T20:29:44Z scymtym_ joined #lisp 2018-02-18T20:30:20Z |3b|: and probably would also be better to use dpb or setf ldb rather than shifting if your numbers are large 2018-02-18T20:31:02Z stacksmith: |3b| Wouldn it have to be 63 or whatever the width of a fixnum? 2018-02-18T20:31:17Z |3b|: not if you declare types 2018-02-18T20:31:32Z vaporatorius quit (Ping timeout: 276 seconds) 2018-02-18T20:31:36Z |3b|: most implementations can work on native machine words efficiently if they know the value will fit 2018-02-18T20:31:44Z scymtym quit (Ping timeout: 260 seconds) 2018-02-18T20:32:00Z stacksmith: Ah. 2018-02-18T20:32:35Z |3b|: potentially much more efficiently than same operation on unknown types 2018-02-18T20:33:18Z |3b|: your solution is probably more efficient in code size though :) 2018-02-18T20:35:06Z stacksmith: I've been declaring byte widths smaller, assuming they had to fit in a fixnum. OK, this day is turning out to be more educational than I imagined. 2018-02-18T20:35:41Z Devon quit (Ping timeout: 255 seconds) 2018-02-18T20:35:42Z |3b|: if you know it is smaller, telling the compiler that can still help 2018-02-18T20:36:00Z Rawriful joined #lisp 2018-02-18T20:36:01Z random-nick quit (Remote host closed the connection) 2018-02-18T20:36:14Z |3b|: for example (+ a b) might be a bignum if a and b are unsigned-byte 64, but won't be if they are unsigned-byte 55 2018-02-18T20:36:51Z stacksmith: Yeah, I've gotten into all kinds of issues like that. 2018-02-18T20:37:42Z fikka joined #lisp 2018-02-18T20:38:34Z |3b|: when you only care about the low 64 bits of the result in first case, you can still get fast code on sbcl if you specify that with LDB or LOGAND, like (ldb (byte 64 0) (+ a b)) 2018-02-18T20:39:08Z shka quit (Ping timeout: 256 seconds) 2018-02-18T20:39:28Z aeth: What I like about floats is that float + float is a float, unlike with integers. What I don't like about floats is, well, addition isn't necessarily a good idea. 2018-02-18T20:39:41Z phoe: aeth: xD 2018-02-18T20:40:28Z |3b|: well, to be fair in the comparable case float just says "who knows, it's big though" 2018-02-18T20:40:59Z aeth: When I want to restrict a(n unsigned) integer to some range from 0 to whatever, I tend to mod it by some power of 2. e.g. (mod (+ x 42) (expt 2 32)) 2018-02-18T20:41:36Z aeth: SBCL optimizes it for cases of power of two (compare the disassembly for that vs for (1- (expt 2 32))), and it might not be too hard for other implementations to do that if they don't currently do that 2018-02-18T20:41:48Z aindilis quit (Remote host closed the connection) 2018-02-18T20:41:50Z |3b|: yeah, it detects a few different patterns 2018-02-18T20:42:08Z attila_lendvai joined #lisp 2018-02-18T20:42:16Z vlatkoB_ quit (Remote host closed the connection) 2018-02-18T20:42:57Z fikka quit (Ping timeout: 264 seconds) 2018-02-18T20:43:22Z random-nick joined #lisp 2018-02-18T20:43:51Z aeth: It helps to disassemble and see what it detects. e.g. iirc, SBCL handles FLOOR and CEILING efficiently/inline, but calls ROUND (you can integer divide with these three directly instead of having an intermediate non-integer) 2018-02-18T20:44:25Z aeth: I don't like implementations that don't take disassemble seriously. It's easier than going through the source code. 2018-02-18T20:44:51Z aindilis joined #lisp 2018-02-18T20:45:11Z aeth: If someone is making an implementation, please comment disassemble like SBCL does (allocations, error detection (e.g. bounds checks), function calls, etc.) 2018-02-18T20:47:16Z kark quit (Read error: Connection reset by peer) 2018-02-18T20:49:21Z jackdaniel: patches are welcome 2018-02-18T20:55:47Z BitPuffin quit (Remote host closed the connection) 2018-02-18T20:56:48Z aeth: I probably will if I need to use it for something. 2018-02-18T20:57:57Z fikka joined #lisp 2018-02-18T20:59:32Z Murii quit (Quit: WeeChat 1.4) 2018-02-18T21:02:56Z fikka quit (Ping timeout: 252 seconds) 2018-02-18T21:08:30Z quotation joined #lisp 2018-02-18T21:08:38Z pfdietz_ joined #lisp 2018-02-18T21:10:20Z kark joined #lisp 2018-02-18T21:10:25Z random-nick quit (Remote host closed the connection) 2018-02-18T21:15:58Z moei joined #lisp 2018-02-18T21:16:38Z mishoo joined #lisp 2018-02-18T21:16:57Z jmercouris quit (Ping timeout: 240 seconds) 2018-02-18T21:18:11Z void_pointer quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2018-02-18T21:18:17Z fikka joined #lisp 2018-02-18T21:22:47Z pfdietz_ quit (Ping timeout: 276 seconds) 2018-02-18T21:23:25Z fikka quit (Ping timeout: 265 seconds) 2018-02-18T21:26:06Z Karl_Dscc joined #lisp 2018-02-18T21:28:44Z fikka joined #lisp 2018-02-18T21:29:07Z attila_lendvai quit (Ping timeout: 256 seconds) 2018-02-18T21:29:47Z krwq quit (Remote host closed the connection) 2018-02-18T21:33:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-18T21:36:40Z alexmlw quit (Quit: alexmlw) 2018-02-18T21:38:17Z bmgxc9 joined #lisp 2018-02-18T21:38:19Z bmgxc9 quit (Max SendQ exceeded) 2018-02-18T21:38:47Z fikka joined #lisp 2018-02-18T21:39:50Z pfdietz_ joined #lisp 2018-02-18T21:40:33Z jmercouris joined #lisp 2018-02-18T21:43:35Z fikka quit (Ping timeout: 240 seconds) 2018-02-18T21:44:26Z attila_lendvai joined #lisp 2018-02-18T21:44:26Z attila_lendvai quit (Changing host) 2018-02-18T21:44:26Z attila_lendvai joined #lisp 2018-02-18T21:48:54Z fikka joined #lisp 2018-02-18T21:54:45Z Sheilong quit (Quit: ERC (IRC client for Emacs 25.1.1)) 2018-02-18T21:54:50Z hvxgr quit (Quit: leaving) 2018-02-18T21:58:11Z dieggsy joined #lisp 2018-02-18T21:58:27Z ludston quit (Ping timeout: 240 seconds) 2018-02-18T22:00:23Z ludston joined #lisp 2018-02-18T22:02:05Z mishoo quit (Ping timeout: 240 seconds) 2018-02-18T22:03:47Z Naergon quit (Ping timeout: 260 seconds) 2018-02-18T22:12:17Z schoppenhauer quit (Ping timeout: 248 seconds) 2018-02-18T22:16:33Z bmgxc9 joined #lisp 2018-02-18T22:16:34Z bmgxc9 quit (Max SendQ exceeded) 2018-02-18T22:17:19Z schoppenhauer joined #lisp 2018-02-18T22:18:12Z terpri joined #lisp 2018-02-18T22:18:47Z jsn` joined #lisp 2018-02-18T22:19:13Z clog quit (Ping timeout: 248 seconds) 2018-02-18T22:19:32Z EvW quit (Ping timeout: 260 seconds) 2018-02-18T22:27:27Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-18T22:28:20Z pfdietz_ quit (Ping timeout: 255 seconds) 2018-02-18T22:29:34Z pfdietz_ joined #lisp 2018-02-18T22:30:36Z bjorkintosh quit (Remote host closed the connection) 2018-02-18T22:30:58Z bjorkintosh joined #lisp 2018-02-18T22:36:23Z learning joined #lisp 2018-02-18T22:39:52Z hvxgr joined #lisp 2018-02-18T22:41:59Z EvW1 joined #lisp 2018-02-18T22:42:47Z pfdietz_ quit (Ping timeout: 256 seconds) 2018-02-18T22:43:38Z attila_lendvai joined #lisp 2018-02-18T22:45:03Z epony quit (Read error: Connection reset by peer) 2018-02-18T22:45:53Z slyrus quit (Quit: Client Quit) 2018-02-18T22:48:36Z hel-io quit 2018-02-18T22:52:56Z figurehe4d joined #lisp 2018-02-18T22:56:22Z Karl_Dscc quit (Remote host closed the connection) 2018-02-18T22:56:54Z porky11 joined #lisp 2018-02-18T22:57:43Z kdridi_ joined #lisp 2018-02-18T23:01:14Z kdridi quit (Ping timeout: 256 seconds) 2018-02-18T23:01:26Z damke_ joined #lisp 2018-02-18T23:01:46Z dilated_dinosaur quit (Remote host closed the connection) 2018-02-18T23:03:13Z Baggers quit (Remote host closed the connection) 2018-02-18T23:03:21Z damke quit (Ping timeout: 264 seconds) 2018-02-18T23:04:05Z learning quit (Remote host closed the connection) 2018-02-18T23:06:21Z Oladon quit (Quit: Leaving.) 2018-02-18T23:09:48Z zaquest quit (Ping timeout: 240 seconds) 2018-02-18T23:10:31Z zaquest joined #lisp 2018-02-18T23:16:17Z jmercouris quit (Ping timeout: 248 seconds) 2018-02-18T23:17:22Z Kaisyu7 joined #lisp 2018-02-18T23:18:36Z pierpa joined #lisp 2018-02-18T23:19:17Z slyrus joined #lisp 2018-02-18T23:19:29Z trocado joined #lisp 2018-02-18T23:20:18Z root_ joined #lisp 2018-02-18T23:20:48Z root_ left #lisp 2018-02-18T23:21:23Z dilated_dinosaur joined #lisp 2018-02-18T23:23:05Z pfdietz_ joined #lisp 2018-02-18T23:23:19Z voidlily quit (Remote host closed the connection) 2018-02-18T23:26:50Z voidlily joined #lisp 2018-02-18T23:26:57Z attila_lendvai quit (Ping timeout: 248 seconds) 2018-02-18T23:29:22Z Rawriful quit (Quit: WeeChat 1.4) 2018-02-18T23:34:42Z dilated_dinosaur quit (Quit: Leaving) 2018-02-18T23:35:27Z Kaisyu7 quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-18T23:36:03Z wigust quit (Ping timeout: 256 seconds) 2018-02-18T23:36:48Z shifty joined #lisp 2018-02-18T23:39:03Z epony joined #lisp 2018-02-18T23:43:51Z learning joined #lisp 2018-02-18T23:44:33Z dilated_dinosaur joined #lisp 2018-02-18T23:46:13Z attila_lendvai joined #lisp 2018-02-18T23:50:26Z pfdietz_ quit (Ping timeout: 276 seconds) 2018-02-18T23:51:55Z fikka quit (Ping timeout: 256 seconds) 2018-02-18T23:52:23Z no26 joined #lisp 2018-02-18T23:56:05Z nirved quit (Quit: Leaving) 2018-02-18T23:57:18Z fikka joined #lisp 2018-02-19T00:01:35Z fikka quit (Ping timeout: 240 seconds) 2018-02-19T00:01:43Z milanj quit (Quit: This computer has gone to sleep) 2018-02-19T00:01:52Z ebzzry_ quit (Ping timeout: 252 seconds) 2018-02-19T00:02:39Z fikka joined #lisp 2018-02-19T00:04:21Z nowhere_man joined #lisp 2018-02-19T00:06:21Z shifty quit (Ping timeout: 264 seconds) 2018-02-19T00:07:35Z nowhereman_ quit (Ping timeout: 240 seconds) 2018-02-19T00:10:55Z smaster joined #lisp 2018-02-19T00:12:38Z no26 left #lisp 2018-02-19T00:13:49Z pjb quit (Remote host closed the connection) 2018-02-19T00:14:45Z Xach quit (Ping timeout: 264 seconds) 2018-02-19T00:15:38Z arescorpio joined #lisp 2018-02-19T00:15:42Z pjb joined #lisp 2018-02-19T00:16:14Z Xach joined #lisp 2018-02-19T00:20:56Z pjb quit (Remote host closed the connection) 2018-02-19T00:22:43Z Achylles quit (Ping timeout: 256 seconds) 2018-02-19T00:25:50Z Kaisyu7 joined #lisp 2018-02-19T00:26:23Z clog joined #lisp 2018-02-19T00:27:29Z Kaisyu joined #lisp 2018-02-19T00:27:41Z hel-io joined #lisp 2018-02-19T00:28:26Z no26 joined #lisp 2018-02-19T00:30:08Z hel-io quit (Client Quit) 2018-02-19T00:37:17Z z3t0 joined #lisp 2018-02-19T00:42:37Z z3t0 quit (Remote host closed the connection) 2018-02-19T00:44:57Z SAL9000 quit (Ping timeout: 240 seconds) 2018-02-19T00:44:58Z SAL9000_ joined #lisp 2018-02-19T00:46:39Z igemnace joined #lisp 2018-02-19T00:50:56Z fisxoj joined #lisp 2018-02-19T00:51:01Z SAL9000 joined #lisp 2018-02-19T00:52:17Z SAL9000_ quit (Ping timeout: 248 seconds) 2018-02-19T00:54:14Z smurfrobot joined #lisp 2018-02-19T00:54:35Z clog quit (Ping timeout: 240 seconds) 2018-02-19T00:59:13Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-19T01:02:09Z aeth: This might be the worst example of usage in the HyperSpec: http://www.lispworks.com/documentation/HyperSpec/Body/m_destru.htm 2018-02-19T01:02:14Z aeth: (destructuring-bind) 2018-02-19T01:02:31Z vtomole joined #lisp 2018-02-19T01:03:00Z aeth: I finally figured it out, which is about two years later than if they had used a simpler example and/or more examples there. 2018-02-19T01:07:24Z kdridi_ quit 2018-02-19T01:07:35Z Bicyclidine: the iota thing is pointless, but otherwise it seems fine 2018-02-19T01:08:34Z Oladon joined #lisp 2018-02-19T01:09:22Z aeth: The problem is that (1) you need to know about the fancier macro lambda lists and (2) the choice of using a list for the body is confusing 2018-02-19T01:09:57Z z3t0 joined #lisp 2018-02-19T01:10:17Z thallia quit (Ping timeout: 276 seconds) 2018-02-19T01:12:19Z thallia joined #lisp 2018-02-19T01:13:11Z pierpa: reading the Hyperspec is a terrible way of learning about CL 2018-02-19T01:13:18Z ome joined #lisp 2018-02-19T01:13:23Z ome: ahoy 2018-02-19T01:13:28Z ome: how is everyone? 2018-02-19T01:13:38Z ome: I am following PCL and it is getting boring. 2018-02-19T01:13:43Z pierpa: not worse than usual, ty. You? 2018-02-19T01:14:08Z ome: pierpa: I am not too bad myself. 2018-02-19T01:14:41Z aeth: pierpa: The HyperSpec is a reference for implementors, and many things (like destructuring-bind) imo seem to only make sense if you already know the form that it's talking about. It's imo unfortunate that it's essentially the sole reference of documentation to the language. 2018-02-19T01:14:53Z ome: Any lisp projects that need help? Maybe that way I can learn lisp more. 2018-02-19T01:15:00Z aeth: (And alternate references tend to just use the same source material as the HyperSpec.) 2018-02-19T01:15:05Z stacksmith: plerpa: At first it's impossible, then it's confusing and frustrating, then it makes more and more sense. 2018-02-19T01:15:32Z Bicyclidine: there's a link to destructuring lambda lists like two lines above the example 2018-02-19T01:15:58Z ome: wow 2018-02-19T01:16:02Z ome: this is a thing: https://github.com/froggey/Mezzano 2018-02-19T01:16:06Z z3t0 quit (Ping timeout: 256 seconds) 2018-02-19T01:16:08Z ome: Lisp OS. 2018-02-19T01:16:31Z stacksmith: At this point I think I understand just about everything about destructuring lambda lists except for destructuring bind... 2018-02-19T01:16:34Z aeth: Bicyclidine: It's not a good way to teach destructuring-bind, though. You should have 6 or so examples, and build in complexity. 2018-02-19T01:16:42Z Bicyclidine: more examples would be ok i guess 2018-02-19T01:16:51Z pierpa: yes, it makes sense when one knows 99.9% of something and wants to check the remaining 0.1% 2018-02-19T01:16:58Z Tobbi quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-19T01:17:04Z aeth: stacksmith: Try refactoring something that has a lot of implicit variables in list structure. 2018-02-19T01:17:38Z aeth: where (car list) is foo, (cadr list) is bar, (caaddr list) is baz, (cadaddr list) is quux, etc. 2018-02-19T01:18:03Z aeth: i.e. (foo bar (baz quux)) 2018-02-19T01:18:08Z stacksmith: aeth: It makes sense, I just haven't grokked it fully. 2018-02-19T01:19:42Z stacksmith: For instance, why doesn't let destructure... 2018-02-19T01:20:45Z aeth: stacksmith: like this? (let ((foo bar (baz quux)) some-list) (x 42)) ...) 2018-02-19T01:20:48Z aeth: That would be useful 2018-02-19T01:21:16Z pierpa: the more flexible a form the more error possibilities of error, and the more is difficult to give meaningful error messages 2018-02-19T01:21:22Z python476 quit (Remote host closed the connection) 2018-02-19T01:21:29Z pierpa: oops, there's an error too much 2018-02-19T01:21:45Z aeth: It would also be useful if let used values like (let ((values x y) (floor 42 3)) ...) 2018-02-19T01:21:48Z aeth: setf uses values 2018-02-19T01:21:48Z markong quit (Ping timeout: 252 seconds) 2018-02-19T01:22:05Z pfdietz_ joined #lisp 2018-02-19T01:22:08Z aeth: You could get rid of destructuring-bind, multiple-value-bind, etc. 2018-02-19T01:22:37Z stacksmith: I haven't thought it through, but I think it should be completely compatible... plerpa: kind of agree, but then, it's pretty obvious when your let has even more braces than normal... 2018-02-19T01:23:05Z aeth: pierpa: I'm guessing it's not about errors, but about performance 2018-02-19T01:23:14Z stacksmith: It's compile-time... 2018-02-19T01:23:27Z Bicyclidine: there's a couple libraries that do what you describe 2018-02-19T01:23:30Z attila_lendvai quit (Quit: Leaving.) 2018-02-19T01:23:32Z Bicyclidine: i like let being pretty simple, tho 2018-02-19T01:23:35Z pierpa: everyone has written this extended let macro. But none has gained much traction. And I don't see them used much 2018-02-19T01:23:39Z aeth: stacksmith: compilation performance! Almost irrelevant in 2018 for CL, of course. 2018-02-19T01:23:50Z aeth: But, I guess if you don't care about compilation performance at all you get C++ 2018-02-19T01:24:39Z pierpa: the impact on performance should be negligible 2018-02-19T01:24:58Z stacksmith: General consensus seems to not worry too much about performance in macros etc. This is just a consp check. 2018-02-19T01:25:11Z ludston quit (Ping timeout: 268 seconds) 2018-02-19T01:25:41Z aeth: Bicyclidine: I think all of the libraries do far, far, far too much, rather than simply combining in multiple-value-bind, destructuring-bind, and any other foo-bind that might also exist (are there others?) 2018-02-19T01:25:53Z Bicyclidine: too much but not enough makes you think 2018-02-19T01:26:01Z aeth: Apparently the others are handler-bind and restart-bind 2018-02-19T01:26:10Z Bicyclidine: that doesn't bind variables 2018-02-19T01:26:12Z thallia quit (Ping timeout: 260 seconds) 2018-02-19T01:27:31Z vultyre quit (Quit: Leaving) 2018-02-19T01:27:41Z fikka quit (Ping timeout: 256 seconds) 2018-02-19T01:28:06Z aeth: stacksmith: Well, there *is* an ambiguity, too. When you're binding (values x y) are you binding the values x and y with a multiple-value-bind or are you binding values, x, and y with a destructuring-bind? 2018-02-19T01:28:25Z thallia joined #lisp 2018-02-19T01:28:26Z aeth: (And both really should be merged into let and/or let*) 2018-02-19T01:28:57Z makomo_ quit (Ping timeout: 240 seconds) 2018-02-19T01:30:13Z trocado: hi! i'm puzzled by this: (* 0.1 13) -> 1.3000001 Why? 2018-02-19T01:30:15Z stacksmith: Yes, values are a whole other animal. 2018-02-19T01:31:43Z Bicyclidine: trocado: floating point 2018-02-19T01:31:49Z pierpa: trocado: it's becasue 0.1 it's not representable exactly with binary floating point numbers 2018-02-19T01:31:57Z Bicyclidine: trocado: http://floating-point-gui.de/ 2018-02-19T01:32:24Z trocado: but it only happens with some numbers 2018-02-19T01:32:26Z pierpa: so, 0.1 is not read in as exactly 0.1, but as something close 2018-02-19T01:32:37Z Bicyclidine: because only some numbers are representable exactly with binary floating point numbers 2018-02-19T01:32:41Z Bicyclidine: on account of they're binary 2018-02-19T01:32:50Z pierpa: yes, because, for example, 0.1 is not representable, but 0.5 is 2018-02-19T01:33:06Z Bicyclidine: please use this site or one of the other many similar sites to learn some basic facts about floating point arithmetic, it's good to know and also fascinating if you're a certain kind of fastidious 2018-02-19T01:33:26Z stacksmith: Values... I think it might not be completely insane to destructure values as a special case: values are also things that have no name, but perhaps could be bound? 2018-02-19T01:34:06Z trocado: ok, i'll read. thanks! 2018-02-19T01:34:22Z Bicyclidine: this is also not lisp specific, just to be clear 2018-02-19T01:34:32Z trocado: yes, i see that now 2018-02-19T01:35:41Z stacksmith: It almost makes sense to have a lambda-list-keyword &values... 2018-02-19T01:35:42Z Bicyclidine: the other thing is that 0.1 is probably a single 2018-02-19T01:35:52Z Bicyclidine: if you use a double it might not be as apparent that real numbers aren't real 2018-02-19T01:35:54Z Bicyclidine: stacksmith: how so 2018-02-19T01:36:11Z aeth: You might want the suffix "d0" like (* 0.1d0 13) 2018-02-19T01:37:09Z aeth: It will make the problems less obvious, but the problems with floating-point will still exist. The downside is that it will be slower and it will probably allocate unless you're careful (making it even slower). 2018-02-19T01:37:41Z Bicyclidine: i love problems 2018-02-19T01:37:42Z stacksmith: (defun foo (a b &values c d)...) (defun bar () (values 1 2)) (foo 10 11 (bar)) 2018-02-19T01:37:47Z Bicyclidine: no 2018-02-19T01:37:53Z Bicyclidine: that violates the uh 2018-02-19T01:38:00Z stacksmith: It's not CL. 2018-02-19T01:38:02Z Bicyclidine: that means the compiler has to know that foo has that lambda list when it compiles the call 2018-02-19T01:38:09Z pierpa: that violates everything :) 2018-02-19T01:38:12Z Bicyclidine: which breaks redefinability and stuff 2018-02-19T01:38:13Z Bicyclidine: bad 2018-02-19T01:38:40Z Bicyclidine: you can have (defun foo (a b c d) ...) (multiple-value-call #'foo 10 11 (bar)) 2018-02-19T01:38:42Z aeth: stacksmith: (multiple-value-call #'foo 10 11 (bar)) 2018-02-19T01:39:06Z stacksmith: Yeah, like I said, I haven't really thought about it... 2018-02-19T01:39:12Z aeth: You'd only need a new defun 2018-02-19T01:39:18Z Bicyclidine: calling convention is hard 2018-02-19T01:39:55Z aeth: You *can* implement it (probably inefficiently) with a macro on top of defun that converts the lambda-list with &values into a &rest or &optional or whatever you're trying to go for 2018-02-19T01:40:03Z stacksmith: And also: why bother? 2018-02-19T01:40:17Z aeth: Actually, &optional would match what you're probably trying to go for 2018-02-19T01:41:16Z aeth: (defun foo (a b &optional c d ...) ...) (multiple-value-call #'foo 10 11 (bar)) 2018-02-19T01:41:46Z aeth: Now it doesn't matter how many values bar returns, as long as it returns no more than what foo expects 2018-02-19T01:42:28Z stacksmith: interesting. 2018-02-19T01:43:46Z stacksmith: Of course now you can't have keywords... 2018-02-19T01:43:46Z fikka joined #lisp 2018-02-19T01:44:36Z Bicyclidine: you can have optional and keyword, it's just that you'll hate yourself 2018-02-19T01:44:49Z stacksmith: That's what I mean... 2018-02-19T01:44:51Z Bicyclidine: if you already hate yourself you can save some time 2018-02-19T01:45:56Z stacksmith: With macros you could stick the whole thing into a destructuring list, I suppose. 2018-02-19T01:46:39Z thallia quit (Ping timeout: 248 seconds) 2018-02-19T01:46:57Z aeth: I think you can mix &optional and &rest, so you can handle it arbitrarily. e.g. (defun foo (a b &optional c d &rest rest) (declare (ignore rest)) (values a b c d)) (multiple-value-call #'foo 42 43 (bar)) 2018-02-19T01:47:06Z aeth: Now it handles bar returning any number of values 2018-02-19T01:47:29Z smurfrobot joined #lisp 2018-02-19T01:47:55Z ludston joined #lisp 2018-02-19T01:48:08Z thallia joined #lisp 2018-02-19T01:48:10Z aeth: So you can just translate (a b &values c d) => (&optional c d &rest (gensym)) 2018-02-19T01:48:23Z aeth: sorry, I mean: (a b &values c d) => (a b &optional c d &rest (gensym)) 2018-02-19T01:48:25Z pagnol quit (Quit: Ex-Chat) 2018-02-19T01:48:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-19T01:48:46Z smurfrobot quit (Remote host closed the connection) 2018-02-19T01:49:09Z Bicyclidine: (multiple-value-bind (a b) ...) => (multiple-value-call (lambda (&optional a b &rest ignore) (declare (ignore ignore)) ...) 2018-02-19T01:49:44Z Bicyclidine: throw some more ellipses in there 2018-02-19T01:49:49Z Bicyclidine: just sprinkle randomly all over everything 2018-02-19T01:50:27Z aeth: s/throw some more ellipses in there/throw... some... more... ellipses... ("..." ...) in... there.../ 2018-02-19T01:50:34Z aeth: ftfy 2018-02-19T01:50:46Z Bicyclidine: futfy 2018-02-19T01:51:02Z smurfrobot joined #lisp 2018-02-19T01:51:43Z stacksmith: That's kind of nice. 2018-02-19T01:52:42Z stacksmith: It would be nice to make it easier to use multiple values... 2018-02-19T01:53:52Z shifty joined #lisp 2018-02-19T01:54:05Z EvW1 quit (Ping timeout: 265 seconds) 2018-02-19T01:54:11Z fikka joined #lisp 2018-02-19T01:58:59Z fikka quit (Ping timeout: 260 seconds) 2018-02-19T01:59:50Z findiggle joined #lisp 2018-02-19T02:02:58Z smurfrobot quit (Remote host closed the connection) 2018-02-19T02:04:32Z fikka joined #lisp 2018-02-19T02:09:03Z fikka quit (Ping timeout: 256 seconds) 2018-02-19T02:10:56Z JenElizabeth joined #lisp 2018-02-19T02:13:02Z fiddlerwoaroof: m-v-b and friends aren't too bad 2018-02-19T02:13:39Z paul0 joined #lisp 2018-02-19T02:14:24Z fikka joined #lisp 2018-02-19T02:19:15Z fikka quit (Ping timeout: 256 seconds) 2018-02-19T02:19:29Z ebzzry_ joined #lisp 2018-02-19T02:22:55Z slyrus quit (Ping timeout: 248 seconds) 2018-02-19T02:23:23Z pfdietz: https://www.theonion.com/commas-turning-up-everywhere-1819569774 2018-02-19T02:24:34Z fikka joined #lisp 2018-02-19T02:28:38Z d4ryus1 joined #lisp 2018-02-19T02:29:27Z fikka quit (Ping timeout: 256 seconds) 2018-02-19T02:29:55Z porky11 quit (Remote host closed the connection) 2018-02-19T02:32:09Z d4ryus quit (Ping timeout: 264 seconds) 2018-02-19T02:33:37Z marusich quit (Ping timeout: 248 seconds) 2018-02-19T02:34:18Z Xal quit (Ping timeout: 240 seconds) 2018-02-19T02:34:39Z fikka joined #lisp 2018-02-19T02:35:50Z Xal joined #lisp 2018-02-19T02:36:39Z smokeink joined #lisp 2018-02-19T02:36:42Z smaster quit (Ping timeout: 256 seconds) 2018-02-19T02:36:52Z marusich joined #lisp 2018-02-19T02:37:14Z sjl joined #lisp 2018-02-19T02:39:02Z orivej quit (Ping timeout: 265 seconds) 2018-02-19T02:43:45Z marusich quit (Ping timeout: 248 seconds) 2018-02-19T02:44:09Z marusich joined #lisp 2018-02-19T02:53:22Z clog joined #lisp 2018-02-19T02:56:36Z fiddlerwoaroof: j 2018-02-19T03:00:18Z clog quit (Ping timeout: 265 seconds) 2018-02-19T03:00:30Z JenElizabeth quit (Read error: Connection reset by peer) 2018-02-19T03:00:41Z damke joined #lisp 2018-02-19T03:02:02Z clog joined #lisp 2018-02-19T03:02:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-19T03:04:37Z sfa joined #lisp 2018-02-19T03:08:33Z fikka quit (Ping timeout: 256 seconds) 2018-02-19T03:12:18Z fikka joined #lisp 2018-02-19T03:29:41Z learning quit (Remote host closed the connection) 2018-02-19T03:33:37Z wigust joined #lisp 2018-02-19T03:34:28Z arescorpio quit (Quit: Leaving.) 2018-02-19T03:40:19Z Patternmaster quit (Quit: Lost terminal) 2018-02-19T03:42:36Z learning joined #lisp 2018-02-19T03:46:33Z fikka quit (Ping timeout: 264 seconds) 2018-02-19T03:47:19Z Bicyclidine quit (Ping timeout: 260 seconds) 2018-02-19T03:48:29Z drmeister: https://usercontent.irccloud-cdn.com/file/mByME4Cs/clasp-common-lisp.pdf 2018-02-19T03:48:49Z drmeister: Kerplunk - this is Bike and my submission to ELS - we welcome any feedback. 2018-02-19T03:50:49Z JenElizabeth joined #lisp 2018-02-19T03:51:24Z fikka joined #lisp 2018-02-19T03:53:53Z vtomole: drmeister: Hey, nice work! 2018-02-19T03:56:09Z fikka quit (Ping timeout: 256 seconds) 2018-02-19T04:01:50Z fikka joined #lisp 2018-02-19T04:03:37Z smurfrobot joined #lisp 2018-02-19T04:04:04Z flak quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-02-19T04:04:58Z fittestbits quit (Ping timeout: 252 seconds) 2018-02-19T04:05:00Z ebzzry_ quit (Read error: Connection reset by peer) 2018-02-19T04:06:31Z fikka quit (Ping timeout: 265 seconds) 2018-02-19T04:08:31Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-19T04:09:06Z ebzzry_ joined #lisp 2018-02-19T04:10:30Z fittestbits joined #lisp 2018-02-19T04:11:50Z fikka joined #lisp 2018-02-19T04:13:09Z quazimodo quit (Ping timeout: 256 seconds) 2018-02-19T04:15:00Z |3b|: drmeister: table 2 has offset 24 twice 2018-02-19T04:15:17Z findiggle quit (Quit: ERC (IRC client for Emacs 27.0.50)) 2018-02-19T04:16:35Z fikka quit (Ping timeout: 240 seconds) 2018-02-19T04:19:06Z krwq joined #lisp 2018-02-19T04:22:04Z fikka joined #lisp 2018-02-19T04:22:20Z beach: Good morning everyone! 2018-02-19T04:24:12Z beach: ome: If you can't figure out what to work on, you might want to look at this list of projects: http://metamodular.com/Common-Lisp/suggested-projects.html 2018-02-19T04:25:23Z schoppenhauer quit (Ping timeout: 276 seconds) 2018-02-19T04:25:35Z trocado quit (Ping timeout: 248 seconds) 2018-02-19T04:26:50Z schoppenhauer joined #lisp 2018-02-19T04:27:06Z fikka quit (Ping timeout: 268 seconds) 2018-02-19T04:27:44Z ome quit (Quit: Connection closed for inactivity) 2018-02-19T04:29:07Z pierpa quit (Quit: Page closed) 2018-02-19T04:35:29Z j0nd0e joined #lisp 2018-02-19T04:35:29Z findiggle joined #lisp 2018-02-19T04:37:47Z emaczen: How do I look at the list of threads that SBCL has with SLIME? I think I've done this before, but I'm not finding anything. 2018-02-19T04:38:43Z |3b|: drmeister: your first reference looks like it has a typo: "...Common List"? and not sure about the 75aAS82 at the end 2018-02-19T04:39:21Z |3b|: emaczen: M-x slime-list-threads or C-c C-x t 2018-02-19T04:40:43Z emaczen: |3b|: This will show threads I creat with bt:make-thread right? 2018-02-19T04:41:01Z |3b|: yeah, i think so 2018-02-19T04:42:09Z fikka joined #lisp 2018-02-19T04:42:54Z krwq quit (Ping timeout: 260 seconds) 2018-02-19T04:43:45Z drmeister: |3b|: Thank you. 2018-02-19T04:44:04Z drmeister: I just want to recommend the site: www.overleaf.com 2018-02-19T04:44:10Z drmeister: It's for collaborative writing of papers. 2018-02-19T04:44:25Z drmeister: Bike and I connected to it and were up and running in minutes. 2018-02-19T04:44:35Z drmeister: We experienced a linear speedup in writing speed. 2018-02-19T04:44:51Z drmeister is ignoring the fact that you can put a line through any two points. 2018-02-19T04:46:37Z saki quit (Quit: saki) 2018-02-19T04:46:46Z learning quit (Remote host closed the connection) 2018-02-19T04:47:08Z |3b|: drmeister: #7 also looks odd, (almost) same title as #1 but 2015, and don't see that title in els 2015 proceedings 2018-02-19T04:47:09Z fikka quit (Ping timeout: 264 seconds) 2018-02-19T04:49:13Z drmeister: I'm on it. 2018-02-19T04:50:18Z wigust quit (Quit: ZNC 1.6.5 - http://znc.in) 2018-02-19T04:51:28Z krwq joined #lisp 2018-02-19T04:52:01Z |3b| might also include the 100M count in label of table 5 for people who only skim the tables/figures, don't want them to think CL is that slow :) 2018-02-19T04:52:39Z drmeister: Good point 2018-02-19T04:52:44Z shka joined #lisp 2018-02-19T04:53:12Z beach: |3b|: Where did you learn your proofreading skills? 2018-02-19T04:53:22Z |3b| just reads a lot 2018-02-19T04:53:26Z beach: Ah. 2018-02-19T04:53:41Z drmeister: I changed it to "Generic function call time (100M calls)." 2018-02-19T04:54:14Z drmeister: Bike: We completely forgot to mention that we added multithreading! 2018-02-19T04:54:42Z beach: I learned mine from more than three decades of proofreading papers by students and colleagues. 2018-02-19T04:54:45Z shka: good morning 2018-02-19T04:54:52Z beach: Hello shka. 2018-02-19T04:55:42Z drmeister: beach: You mentioned that we have a couple of days within which we can upload corrected versions - correct? 2018-02-19T04:56:02Z beach: I am not the one deciding, of course.. 2018-02-19T04:56:30Z beach: But, usually, EasyChair allows you to upload modified versions after the deadline. 2018-02-19T04:56:38Z pillton: drmeister: The paper mentions CFFI support. Does it work the other way? Can you run two or more instances of clasp in the same process? 2018-02-19T04:56:49Z beach: It will take several days for the bidding process to be finished. 2018-02-19T04:57:13Z drmeister: pillton: I'm not sure what that means. 2018-02-19T04:58:31Z drmeister: Is there anything to say about multithreading other than we added it? It supports Bordeaux threads. 2018-02-19T04:58:49Z beach: drmeister: My advice is to upload a new version only if you think it might influence the decision by the program committee. If it is accepted, you have time to fix it until the deadline of the final version. If it is rejected, fixing it is a waste of time. 2018-02-19T04:59:38Z beach: drmeister: The jargon is that the paper should be ACCEPT-able. 2018-02-19T04:59:53Z Zhivago: Well, multi-threading by itself doesn't mean much -- so probably the kind of multi-threading is significant. 2018-02-19T05:01:06Z drmeister: What kinds of multi-threading are there? What kind did I implement? It's pthreads. Special variables are bound thread-locally. Hash-tables can be declared thread safe. 2018-02-19T05:01:37Z Zhivago: Co-operative, pre-emptive, real-time, etc, etc. 2018-02-19T05:01:53Z drmeister: Several internal databases were made thread safe - so it's not "trample town". 2018-02-19T05:01:55Z pillton: drmeister: You are advertising that clasp can compose with libraries that adhere to the C calling convention. Can I take a library written in clasp and call it from within another run time environment? 2018-02-19T05:02:29Z fikka joined #lisp 2018-02-19T05:02:35Z marusich quit (Ping timeout: 265 seconds) 2018-02-19T05:03:28Z drmeister: You would need to pass GC managed objects - so I'd say unless you can do that - no. 2018-02-19T05:03:55Z quazimodo joined #lisp 2018-02-19T05:03:55Z dddddd quit (Remote host closed the connection) 2018-02-19T05:04:16Z drmeister: Zhivago: So I guess I implemented pre-emptive multithreading? 2018-02-19T05:04:22Z shifty quit (Ping timeout: 252 seconds) 2018-02-19T05:04:50Z Zhivago: Probably -- saying 'based on pthreads, supporting bordeaux' would probably answer all questions. 2018-02-19T05:06:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-19T05:11:55Z Zhivago: What invokes the GC in your system? 2018-02-19T05:12:35Z Zhivago: I guess it's the clasp allocator? 2018-02-19T05:12:48Z beach: I think that's a good guess. 2018-02-19T05:12:57Z fikka joined #lisp 2018-02-19T05:12:59Z drmeister: Yeah - it's handled by the allocator. 2018-02-19T05:13:07Z ebzzry_ quit (Read error: Connection reset by peer) 2018-02-19T05:13:37Z drmeister: Clasp supports boehm and MPS - and I don't worry about invoking the GC for either one. 2018-02-19T05:17:54Z fikka quit (Ping timeout: 260 seconds) 2018-02-19T05:18:04Z pillton: drmeister: If you have already implemented the C callback API in CFFI then it is in theory possible to construct a foreign object pointing to a vector of callback functions. The question becomes more about how to start clasp and what assumptions it makes. 2018-02-19T05:19:34Z drmeister: pillton: I see what you mean. It's hard to answer the question though. Clasp supports the boehm and MPS garbage collectors. I don't know what assumptions they make. 2018-02-19T05:19:57Z Bike quit (Quit: Lost terminal) 2018-02-19T05:20:32Z Murii joined #lisp 2018-02-19T05:21:11Z dieggsy quit (Ping timeout: 276 seconds) 2018-02-19T05:21:51Z findiggle quit (Quit: ERC (IRC client for Emacs 27.0.50)) 2018-02-19T05:21:53Z drmeister: |3b|: What did you mean with this? " #7 also looks odd, (almost) same title as #1 but 2015, and don't see that title in els 2015 proceedings" 2018-02-19T05:22:35Z drmeister: I see - I added two additional references (pthreads and bordeaux) so the numbers changed 2018-02-19T05:22:54Z fikka joined #lisp 2018-02-19T05:25:08Z wheelsucker joined #lisp 2018-02-19T05:27:57Z fikka quit (Ping timeout: 256 seconds) 2018-02-19T05:30:22Z pillton: drmeister: LispWorks has this feature (http://www.lispworks.com/documentation/lw70/DV/html/delivery-20.htm). None of the open source implementations do AFAIK. 2018-02-19T05:33:06Z fikka joined #lisp 2018-02-19T05:36:11Z nydel joined #lisp 2018-02-19T05:36:24Z vtomole quit (Ping timeout: 260 seconds) 2018-02-19T05:38:12Z fikka quit (Ping timeout: 260 seconds) 2018-02-19T05:39:23Z drmeister: Crap - we forgot to acknowledge Frank Goenninger for developing cffi - updating. 2018-02-19T05:40:23Z beach: That is one item that will not influence ACCEPT-ability. 2018-02-19T05:42:02Z fikka joined #lisp 2018-02-19T05:45:38Z drmeister: I know - I'm just cleaning things up and adding folks editing suggestions. 2018-02-19T05:45:46Z smurfrobot joined #lisp 2018-02-19T05:46:25Z nydel: i recently did a client update on quicklisp from inside itself. i haven't used asdf directly in a while. are others as well having trouble using quicklisp to acquire dependencies because of incompatibility with asdf3/latest? i'm trying to find the correct documentation/approach to loading systems, thank you for bearing with my sloppy explanation here 2018-02-19T05:46:39Z fikka quit (Ping timeout: 248 seconds) 2018-02-19T05:46:52Z Pixel_Outlaw quit (Remote host closed the connection) 2018-02-19T05:47:57Z pfdietz: Yes, there's been trouble with asdf lately. 2018-02-19T05:48:05Z nydel: i know this is common lisp channel not ql/asdf tech support. but the documentation is lacking. 2018-02-19T05:48:37Z fikka joined #lisp 2018-02-19T05:49:45Z nydel: pfdietz: it's really great to hear that, thank you, i wasn't sure. almost all my programs are kind of hung up because they want to tell quicklisp to load, say bordeaux-threads, and quicklisp tries for a version of b-t that it is unable to load with the asdf it has 2018-02-19T05:53:06Z Oladon quit (Quit: Leaving.) 2018-02-19T05:57:02Z pillton: nydel: I think you can go back in client time with (quicklisp-client:install-client :version "2017-03-06"). 2018-02-19T05:57:26Z pillton: nydel: Use (quicklisp-client:available-client-versions) to get a (version . url) alist. 2018-02-19T05:58:45Z nydel quit (Read error: Connection reset by peer) 2018-02-19T05:58:55Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-19T06:00:00Z nydel joined #lisp 2018-02-19T06:01:16Z damke_ joined #lisp 2018-02-19T06:01:29Z igemnace quit (Quit: WeeChat 2.0.1) 2018-02-19T06:02:57Z quazimodo quit (Ping timeout: 240 seconds) 2018-02-19T06:03:21Z eschatologist quit (Ping timeout: 264 seconds) 2018-02-19T06:03:49Z eschatologist joined #lisp 2018-02-19T06:03:57Z damke quit (Ping timeout: 264 seconds) 2018-02-19T06:11:33Z groovy2shoes quit (Quit: moritura te salutat) 2018-02-19T06:16:01Z groovy2shoes joined #lisp 2018-02-19T06:22:34Z jack_rabbit: Can anyone confirm an issue with current quicklisp drakma dist? Trying to get any https site: "Unknown &KEY argument: :VERIFY" when the library tries to call CL+SSL:MAKE-SSL-CLIENT-STREAM 2018-02-19T06:22:39Z fikka quit (Ping timeout: 260 seconds) 2018-02-19T06:24:34Z whoman: what should i eval? 2018-02-19T06:25:09Z jack_rabbit: (drakma:http-request "https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol") 2018-02-19T06:26:00Z whoman: works 2018-02-19T06:27:03Z jack_rabbit: Hmmm :/ 2018-02-19T06:28:22Z fikka joined #lisp 2018-02-19T06:29:41Z jack_rabbit: ahh. Silly me. 2018-02-19T06:29:55Z jack_rabbit: I had an old version of cl+ssl linked in at ~/common-lisp 2018-02-19T06:30:02Z easye: jack_rabbit: DRAKMA works on ccl-1.11 2018-02-19T06:30:29Z whoman: is slime C-c C-t work for anyone, for clearing the repl buffer ? 2018-02-19T06:30:32Z fourier joined #lisp 2018-02-19T06:30:37Z jack_rabbit: Thanks whoman, easye for checking. 2018-02-19T06:30:44Z whoman: np! 2018-02-19T06:33:06Z fikka quit (Ping timeout: 252 seconds) 2018-02-19T06:34:08Z Karl_Dscc joined #lisp 2018-02-19T06:34:16Z jackdaniel: whoman: try C-c M-o 2018-02-19T06:34:31Z jackdaniel: C-c C-t is for tracing afair 2018-02-19T06:35:30Z whoman: awesome thanks! it was listed otherwise in a slime cheatsheet i just came across looking for how to clear repl. it was full of html =) 2018-02-19T06:36:28Z jack_rabbit: doh! lol 2018-02-19T06:36:57Z jackdaniel: whoman: try `C-h m' in slime repl buffer 2018-02-19T06:37:00Z krwq quit (Remote host closed the connection) 2018-02-19T06:37:06Z jackdaniel: to see more practical cheat-sheet 2018-02-19T06:37:14Z fourier quit (Ping timeout: 276 seconds) 2018-02-19T06:45:16Z fisxoj quit (Quit: fisxoj) 2018-02-19T06:48:23Z fikka joined #lisp 2018-02-19T06:48:44Z whoman: jackdaniel: oh cool, thanks ! 2018-02-19T06:49:46Z paul0 quit (Quit: Leaving) 2018-02-19T06:51:49Z smurfrobot joined #lisp 2018-02-19T06:52:36Z safe joined #lisp 2018-02-19T06:53:45Z fikka quit (Ping timeout: 264 seconds) 2018-02-19T06:54:43Z ramosus joined #lisp 2018-02-19T06:59:22Z whoman: https://ia902603.us.archive.org/30/items/byte-magazine-1979-08/1979_08_BYTE_04-08_LISP.pdf 2018-02-19T07:00:28Z phoe: "You can do surprising things when you have 64 kilobytes of fast RAM on one card" 2018-02-19T07:00:55Z whoman: =) =) 2018-02-19T07:01:17Z whoman: curious what "returning to the tower of babel" means 2018-02-19T07:01:59Z jackdaniel: if I had to guess it's about spread of different programming languages 2018-02-19T07:05:26Z yeoh joined #lisp 2018-02-19T07:06:59Z whoman: yeah - but strange first text in a special lisp issue 2018-02-19T07:07:31Z phoe: it had its right to be strange back then 2018-02-19T07:08:01Z phoe: computing was niche, there was no real mainstream as it is today 2018-02-19T07:08:48Z fikka joined #lisp 2018-02-19T07:09:19Z whoman: hm i dont know, there are a lot of ads in there that would suggest otherwise 2018-02-19T07:11:14Z flamebeard joined #lisp 2018-02-19T07:11:15Z Zhivago: What was the strange first text? 2018-02-19T07:12:05Z whoman: sorry -"but i find it strange, that the first text in the lisp special edition magazine, is 'returning to the tower of babel'" 2018-02-19T07:12:54Z whoman: perhaps it is a contrast of lisp, i am unable to read the whole magazine. also perhaps it is a reference to different kinds of "lisping" in the magazine (i see pattern matching, and some other things...) 2018-02-19T07:13:18Z Zhivago: Building a tower so that you can reach heaven? 2018-02-19T07:13:21Z yeoh quit (Quit: Leaving) 2018-02-19T07:13:30Z whoman: i suppose =) 2018-02-19T07:13:50Z phoe: before getting struck by God and, instead of building the tower, focusing on the Lisp-1 vs Lisp-2 debate? 2018-02-19T07:13:52Z Karl_Dscc quit (Remote host closed the connection) 2018-02-19T07:13:55Z fikka quit (Ping timeout: 256 seconds) 2018-02-19T07:14:07Z nydel: jackdaniel: what will you do about drakma? i'm having similar issues with drakma itself and other things. manual clone and load with asdf? 2018-02-19T07:14:24Z phoe: (I think we're going into #lispcafe zone with this) 2018-02-19T07:14:26Z nydel: jack_rabbit: sorry jackdaniel 2018-02-19T07:14:33Z Zhivago: Well, there's also the metacircular tower, although I'm not sure if they're referring to that. 2018-02-19T07:15:13Z jack_rabbit: nydel, No, my mistake was having a local copy that shadowed the quicklisp dist. 2018-02-19T07:15:47Z nydel: understood jack_rabbit i meant to address the first message to jackdaniel but i autocompleted incorrectly 2018-02-19T07:15:48Z jack_rabbit: nydel, Once I removed that local copy from the search path, quicklisp pulled the most recent version and loaded it. It is now working as expected. 2018-02-19T07:16:35Z jack_rabbit: You sure? I was the one with the drakma issue. 2018-02-19T07:16:52Z nydel: haha i'm NOT sure. sorry it's late. 2018-02-19T07:17:01Z nydel: i meant to address it to you. 2018-02-19T07:17:35Z nydel: in SBCL latest with quicklisp latest? hum. 2018-02-19T07:18:10Z jack_rabbit: yeah. What's the error? 2018-02-19T07:18:58Z fikka joined #lisp 2018-02-19T07:20:03Z vlatkoB joined #lisp 2018-02-19T07:21:33Z nydel: illegal function call in v2.0.4 drakma.asd - ((load-system test-op) (:drakma-test (EQL <#system "drakma">)) 2018-02-19T07:21:41Z Tobbi joined #lisp 2018-02-19T07:21:50Z nydel: immediate on ql:quickload 'drakma 2018-02-19T07:23:02Z jack_rabbit: eww. 2018-02-19T07:24:27Z nydel: not pretty. i'm realizing i'm too wiped out to be troubleshooting and not make mistakes. i will triple-check that i did everything right in the morning 2018-02-19T07:24:30Z jack_rabbit: are you missing asdf? 2018-02-19T07:24:42Z thallia quit (Ping timeout: 268 seconds) 2018-02-19T07:25:17Z nydel: not //exactly// i mean i was wondering is this because this drakma is trying asdf3 and quicklisp does not do that? 2018-02-19T07:26:00Z nydel: that's the problem with most my other packages that i depend on (bordeaux-threads, hunchentoot, others) but usually it's a clearer "get asdf3.1 or higher to eval this to repl" 2018-02-19T07:26:23Z ludston quit (Read error: Connection reset by peer) 2018-02-19T07:26:33Z thallia joined #lisp 2018-02-19T07:27:19Z jack_rabbit: nydel, invalid function call signals to me that it's trying to evaluate a form as a function call when it should be part of args to a macro expansion. 2018-02-19T07:27:26Z jack_rabbit: (in this case) 2018-02-19T07:27:55Z jack_rabbit: since it's in the .asd file, it seems like there's something odd about your ASDF package. 2018-02-19T07:28:10Z jack_rabbit: What do you usually do when you get the "get asdf3.1 or higher to eval this to repl" message? 2018-02-19T07:28:22Z ludston joined #lisp 2018-02-19T07:29:18Z nydel: abort to top, there's no other option. you could "retry" or "continue" 2 or 3 times but you end up repeating the same 2018-02-19T07:29:36Z d4ryus1 is now known as d4ryus 2018-02-19T07:29:43Z jack_rabbit: Yes, but is there something you've done to load the proper asdf? 2018-02-19T07:32:03Z nydel: it should be the asdf that is part of the current ql-client/dist ... but i may have made a mistake in which REPL i'm using, sorry i've been working for too long without a break -- 2018-02-19T07:32:31Z nydel: if you try (ql:quickload 'bordeaux-threads) do you get 'asdf3.1 or higher please' ? if you would check 2018-02-19T07:33:00Z jack_rabbit: No, it loads properly 2018-02-19T07:33:19Z jack_rabbit: Have you tried (require "asdf") 2018-02-19T07:33:46Z jackdaniel: quicklisp first tries (require "ASDF") and if it doesn't help it loads bundled ASDF 2.26 2018-02-19T07:34:01Z jack_rabbit: mmmm 2018-02-19T07:34:07Z jack_rabbit: maybe an old CL? 2018-02-19T07:34:21Z jackdaniel: so that means that you have sbcl build which doesn't have bundled ASDF 2018-02-19T07:34:26Z jack_rabbit: right. 2018-02-19T07:34:29Z nydel: it is old sbcl. sorry. 1.0.1 ... need to get an update on this pubnix. 2018-02-19T07:34:34Z jackdaniel: it doesn't have to be old, ASDF is a contrib 2018-02-19T07:34:36Z nydel: on my local machine the system loads. 2018-02-19T07:34:42Z jackdaniel: oh, this is very old indeed 2018-02-19T07:34:44Z shka left #lisp 2018-02-19T07:34:49Z whoman: =P 2018-02-19T07:34:54Z phoe: 1.0.1 oh my gods 2018-02-19T07:34:55Z nydel: i'm a bit shocked it's that old. 2018-02-19T07:35:06Z jack_rabbit: nydel, where did you get that? 2018-02-19T07:35:10Z phoe: nydel: preserve it first 2018-02-19T07:35:14Z phoe: for museum purposes 2018-02-19T07:35:15Z jack_rabbit: lol 2018-02-19T07:35:17Z phoe: then upgrade ity 2018-02-19T07:35:23Z mishoo joined #lisp 2018-02-19T07:35:33Z jack_rabbit: jackdaniel, According to the quicklisp site, all common CL distributions come with ASDF that's at least 3.1, Did I misunderstand what you mean by "contrib?" 2018-02-19T07:35:37Z nydel: drakma loaded as well. i've been moving quicklisp/asdf and packages around on an ancient sbcl. 2018-02-19T07:35:40Z nydel: for like 3.5 hours. 2018-02-19T07:35:50Z nydel: take breaks every 2h30min everyone, please. 2018-02-19T07:36:02Z whoman: ^_^_^ 2018-02-19T07:36:13Z jack_rabbit: nydel, what pubnix, out of curiosity 2018-02-19T07:36:22Z jackdaniel: jack_rabbit: you may or may not build your CL with ASDF 2018-02-19T07:36:30Z jack_rabbit: jackdaniel, ahhhh. 2018-02-19T07:36:42Z jackdaniel: because ASDF is just a library 2018-02-19T07:36:51Z jack_rabbit: Yes, I understand now. 2018-02-19T07:36:59Z jackdaniel: and it is not maintained by sbcl (or other implementation) developers 2018-02-19T07:37:00Z whoman: jack jack 2018-02-19T07:37:05Z nydel: SDF.org ... but it's the ONE system that is on its own and not part of the cluster. 2018-02-19T07:37:17Z phoe: ooooh, sdf 2018-02-19T07:37:19Z nydel: it's my responsibility on this one to request updates. 2018-02-19T07:37:27Z phoe: tell them to upgrade ecl as well. 2018-02-19T07:37:37Z phoe: they have 15.x over there AFAIK, if not 13.x 2018-02-19T07:37:38Z jack_rabbit: nydel, oh, neat. I'm an SDF'er as well. 2018-02-19T07:38:18Z nydel: ah! i love sdf. i do everything at the meta-array though because only clisp on cluster (security &or pkgsrc/netbsd8 beta related) 2018-02-19T07:38:37Z jack_rabbit: mmm 2018-02-19T07:38:44Z nydel: do you have a gopherhole or webspace there i might look at? 2018-02-19T07:38:45Z phoe runs off to work 2018-02-19T07:39:16Z smurfrobot quit (Remote host closed the connection) 2018-02-19T07:39:22Z jack_rabbit: nydel, not yet on the gopherhole. I'm actually working on some of that now. my webspace I host elsewhere. 2018-02-19T07:40:21Z nydel: gopher has gotten so great lately. everyone sick of w3c is joining up and testing the limits. floodworks, sdf, tx.god.jp, bongusta agregator if you feel like poking around at by-date stuff 2018-02-19T07:40:38Z jack_rabbit: nydel, I'm actually writing a lisp gopher browser you may want to check out: https://github.com/knusbaum/clim-gopher 2018-02-19T07:40:56Z jack_rabbit: and yeah, I really like gopher. 2018-02-19T07:41:08Z nydel: i'm trying to load drakma for browsing gopher with my slime repl! coincidence there, how neat. 2018-02-19T07:41:15Z jack_rabbit: hehe 2018-02-19T07:42:21Z nydel: i'll be back tomorrow i need to sleep before i go crazier. very interested in clim-gopher. will pester you about it soon 2018-02-19T07:44:02Z jack_rabbit: Please do. 'night! 2018-02-19T07:45:02Z Murii quit (Remote host closed the connection) 2018-02-19T07:45:32Z scymtym_ quit (Ping timeout: 256 seconds) 2018-02-19T07:46:04Z smokeink quit (Excess Flood) 2018-02-19T07:46:27Z smokeink joined #lisp 2018-02-19T07:49:17Z kark quit (Read error: Connection reset by peer) 2018-02-19T07:50:51Z kark joined #lisp 2018-02-19T07:55:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-19T08:05:35Z sfa quit (Quit: Lost terminal) 2018-02-19T08:11:06Z fikka joined #lisp 2018-02-19T08:12:31Z varjag joined #lisp 2018-02-19T08:12:57Z shrdlu68 quit (Ping timeout: 240 seconds) 2018-02-19T08:13:00Z mingus joined #lisp 2018-02-19T08:14:57Z shrdlu68 joined #lisp 2018-02-19T08:16:10Z LocaMocha joined #lisp 2018-02-19T08:16:41Z fikka quit (Ping timeout: 276 seconds) 2018-02-19T08:17:20Z Sauvin quit (Ping timeout: 276 seconds) 2018-02-19T08:19:30Z LocaMocha quit (Max SendQ exceeded) 2018-02-19T08:20:00Z LocaMocha joined #lisp 2018-02-19T08:21:18Z fikka joined #lisp 2018-02-19T08:25:06Z LocaMocha quit (Excess Flood) 2018-02-19T08:26:08Z fikka quit (Ping timeout: 248 seconds) 2018-02-19T08:27:37Z LocaMocha joined #lisp 2018-02-19T08:28:43Z stacksmith quit (Ping timeout: 256 seconds) 2018-02-19T08:34:03Z saki joined #lisp 2018-02-19T08:34:24Z fikka joined #lisp 2018-02-19T08:34:30Z nirved joined #lisp 2018-02-19T08:34:41Z shifty joined #lisp 2018-02-19T08:39:40Z pjb joined #lisp 2018-02-19T08:40:02Z pjb is now known as Guest70280 2018-02-19T08:46:56Z Guest70280 is now known as pjb` 2018-02-19T08:47:11Z pjb` is now known as pjb 2018-02-19T08:48:05Z smurfrobot joined #lisp 2018-02-19T08:59:29Z safe quit (Read error: Connection reset by peer) 2018-02-19T09:01:00Z damke joined #lisp 2018-02-19T09:03:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-19T09:04:58Z ebzzry_ joined #lisp 2018-02-19T09:06:07Z hhdave joined #lisp 2018-02-19T09:14:27Z hhdave quit (Ping timeout: 240 seconds) 2018-02-19T09:14:31Z makomo_ joined #lisp 2018-02-19T09:15:15Z Cymew joined #lisp 2018-02-19T09:17:36Z TMA quit (Remote host closed the connection) 2018-02-19T09:17:44Z TMA joined #lisp 2018-02-19T09:21:15Z zaquest quit (Quit: Leaving) 2018-02-19T09:23:14Z _cosmonaut_ joined #lisp 2018-02-19T09:23:38Z Arcaelyx quit (Ping timeout: 276 seconds) 2018-02-19T09:24:49Z JenElizabeth quit (Ping timeout: 248 seconds) 2018-02-19T09:27:51Z scymtym joined #lisp 2018-02-19T09:27:57Z _cosmonaut_ quit (Ping timeout: 264 seconds) 2018-02-19T09:27:59Z Arcaelyx joined #lisp 2018-02-19T09:29:19Z jibanes quit (Ping timeout: 260 seconds) 2018-02-19T09:30:01Z milanj joined #lisp 2018-02-19T09:31:13Z jibanes joined #lisp 2018-02-19T09:31:37Z wheelsucker quit (Ping timeout: 256 seconds) 2018-02-19T09:32:40Z zaquest joined #lisp 2018-02-19T09:32:47Z nullman quit (Ping timeout: 248 seconds) 2018-02-19T09:33:31Z nullman joined #lisp 2018-02-19T09:33:35Z Arcaelyx quit (Ping timeout: 268 seconds) 2018-02-19T09:34:48Z scymtym quit (Ping timeout: 240 seconds) 2018-02-19T09:46:18Z _cosmonaut_ joined #lisp 2018-02-19T09:48:03Z pyx joined #lisp 2018-02-19T09:48:07Z pyx quit (Client Quit) 2018-02-19T09:50:33Z mlf quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-19T10:03:19Z logos001 joined #lisp 2018-02-19T10:09:17Z TMA quit (Ping timeout: 255 seconds) 2018-02-19T10:09:47Z TMA joined #lisp 2018-02-19T10:10:05Z shrdlu68 quit (Ping timeout: 240 seconds) 2018-02-19T10:16:19Z cmatei quit (Remote host closed the connection) 2018-02-19T10:17:16Z cmatei joined #lisp 2018-02-19T10:19:08Z xantoz quit (Quit: WeeChat 1.9.1) 2018-02-19T10:20:32Z xantoz joined #lisp 2018-02-19T10:25:17Z Cymew quit (Remote host closed the connection) 2018-02-19T10:25:33Z orivej joined #lisp 2018-02-19T10:31:42Z Cymew joined #lisp 2018-02-19T10:33:55Z logos001 quit (Remote host closed the connection) 2018-02-19T10:35:50Z fittestbits quit (Ping timeout: 255 seconds) 2018-02-19T10:36:15Z Murii joined #lisp 2018-02-19T10:36:29Z Cymew quit (Ping timeout: 268 seconds) 2018-02-19T10:39:36Z fittestbits joined #lisp 2018-02-19T10:48:31Z markong joined #lisp 2018-02-19T10:55:52Z hhdave joined #lisp 2018-02-19T10:58:08Z scymtym joined #lisp 2018-02-19T11:07:07Z ebrasca joined #lisp 2018-02-19T11:08:45Z aindilis quit (Read error: Connection reset by peer) 2018-02-19T11:09:50Z python476 joined #lisp 2018-02-19T11:11:38Z aindilis` joined #lisp 2018-02-19T11:14:38Z fikka quit (Ping timeout: 256 seconds) 2018-02-19T11:27:53Z aindilis` quit (Ping timeout: 276 seconds) 2018-02-19T11:28:16Z nowolfer joined #lisp 2018-02-19T11:32:55Z sparkecho joined #lisp 2018-02-19T11:35:43Z orivej quit (Ping timeout: 256 seconds) 2018-02-19T11:35:46Z fe[nl]ix: scymtym: the idea is good, but requires sending patches to all those projects 2018-02-19T11:37:13Z fe[nl]ix: also, take a look at https://github.com/sionescu/fiveam/pull/9/files for a previous attempt 2018-02-19T11:37:37Z fe[nl]ix: the approach seems good, output compiled tests as a defun 2018-02-19T11:37:57Z quotation quit (Quit: Connection closed for inactivity) 2018-02-19T11:38:30Z fe[nl]ix: and the ones compiled at evaluation time as a defun that calls evaluates the test 2018-02-19T11:38:44Z fe[nl]ix: so that source locations work on tests 2018-02-19T11:40:36Z orivej joined #lisp 2018-02-19T11:40:44Z fikka joined #lisp 2018-02-19T11:45:08Z sparkecho quit (Remote host closed the connection) 2018-02-19T11:47:38Z learning joined #lisp 2018-02-19T11:49:48Z orivej quit (Ping timeout: 240 seconds) 2018-02-19T11:49:56Z jmercouris joined #lisp 2018-02-19T11:52:05Z Cymew joined #lisp 2018-02-19T11:52:06Z mingus quit (Remote host closed the connection) 2018-02-19T12:03:42Z lnostdal quit (Remote host closed the connection) 2018-02-19T12:04:02Z lnostdal joined #lisp 2018-02-19T12:04:06Z nowhereman_ joined #lisp 2018-02-19T12:04:33Z scymtym: fe[nl]ix: yes it seems preferable in general. how many projects are affected? 2018-02-19T12:04:59Z scymtym: trivialib.bdd, for example, should be fixed in any case: the macro in https://github.com/guicho271828/trivialib.bdd/blob/master/src/2.odd.lisp#L18 is not test-related. if OPERATION is not supplied, the default value, which is a function object, is spliced into the returned form 2018-02-19T12:05:12Z fe[nl]ix: at least 3 2018-02-19T12:05:56Z Achylles joined #lisp 2018-02-19T12:07:40Z nowhere_man quit (Ping timeout: 240 seconds) 2018-02-19T12:08:16Z rabbit_05 joined #lisp 2018-02-19T12:12:52Z jsn` quit (Ping timeout: 256 seconds) 2018-02-19T12:14:49Z fikka quit (Ping timeout: 256 seconds) 2018-02-19T12:20:28Z attila_lendvai joined #lisp 2018-02-19T12:20:28Z attila_lendvai quit (Changing host) 2018-02-19T12:20:28Z attila_lendvai joined #lisp 2018-02-19T12:20:41Z nowhereman_ quit (Ping timeout: 256 seconds) 2018-02-19T12:21:44Z fikka joined #lisp 2018-02-19T12:29:01Z raynold quit (Quit: Connection closed for inactivity) 2018-02-19T12:37:13Z visof joined #lisp 2018-02-19T12:37:13Z visof quit (Changing host) 2018-02-19T12:37:13Z visof joined #lisp 2018-02-19T12:37:53Z wxie joined #lisp 2018-02-19T12:38:42Z wxie quit (Client Quit) 2018-02-19T12:45:21Z dddddd joined #lisp 2018-02-19T12:45:21Z Chream_ quit (Read error: Connection reset by peer) 2018-02-19T12:45:28Z Chream_ joined #lisp 2018-02-19T12:46:24Z Chream_ quit (Read error: Connection reset by peer) 2018-02-19T12:47:27Z schoppenhauer: hi. is it possible to mirror the quicklisp repo and use this mirror to install packages? 2018-02-19T12:47:41Z Chream_ joined #lisp 2018-02-19T12:48:10Z jackdaniel: schoppenhauer: yes, but you have to create a proper structure and directory information 2018-02-19T12:48:23Z jackdaniel: ql allows installing distributions from remote locations 2018-02-19T12:48:28Z schoppenhauer: jackdaniel: how hard is this / how long does it take? 2018-02-19T12:48:34Z ramosus left #lisp 2018-02-19T12:48:56Z schoppenhauer: the main problem I want to solve is to make my build process reproducible in some way. 2018-02-19T12:49:07Z schoppenhauer: and package locations and stuff change over time. 2018-02-19T12:49:17Z Shinmera: Just fix QL to a specific dist version then 2018-02-19T12:49:25Z Arcaelyx joined #lisp 2018-02-19T12:49:28Z flip214: when building a binary (via CLON), libosicat.so is searched for in the ~/.cache/common-lisp/.../osicat/... path. having the .so in the current directory and setting LD_LIBRAY_PATH doesn't work. any idea how to get that working? 2018-02-19T12:50:10Z jackdaniel: schoppenhauer: fairly easy 2018-02-19T12:50:20Z schoppenhauer: Shinmera: what guarantees me that this specific dist version is still available in, say, 20 years? 2018-02-19T12:50:24Z flip214: Ideally, I'd like to have the SBCL core search for libosicat.so in a configurable path. 2018-02-19T12:50:30Z Shinmera: schoppenhauer: Xach's grace. 2018-02-19T12:51:13Z schoppenhauer: jackdaniel: is it documented anywhere? 2018-02-19T12:51:15Z schoppenhauer: Shinmera: what? 2018-02-19T12:51:21Z jackdaniel: flip214: most safe solution is to unload libraries before dumping the binary and load them again in init 2018-02-19T12:51:31Z jackdaniel: then you may configure exact path with cffi 2018-02-19T12:51:49Z Shinmera: schoppenhauer: You'll just have to trust Xach that it will still be there. What makes you think anything will still be there in 20 years? That's an eternity in software. 2018-02-19T12:51:50Z flip214: jackdaniel: you think that will work with libosicat as well? 2018-02-19T12:52:01Z jackdaniel: flip214: I don't see why wouldn't it 2018-02-19T12:52:01Z Shinmera: And two eternities in the web 2018-02-19T12:52:27Z schoppenhauer: Shinmera: that is why I want to mirror it 2018-02-19T12:52:35Z flip214: jackdaniel: because "osicat" sounds a bit too low-level for that to me 2018-02-19T12:52:40Z jackdaniel: schoppenhauer: https://github.com/quicklisp/quicklisp-controller 2018-02-19T12:52:40Z flip214: but I'll try, thanks for the idea 2018-02-19T12:52:58Z flip214: jackdaniel: "(unload-shared-object)"? http://www.sbcl.org/manual/#Loading-Shared-Object-Files 2018-02-19T12:53:09Z jackdaniel: flip214: I'd use cffi mechanism for unloading 2018-02-19T12:53:19Z Shinmera: schoppenhauer: My point is, since your requirements seem to be "how hard" and "how long does it take", fixing a version is going to be quite a bit easier than mirroring a dist. 2018-02-19T12:53:30Z jackdaniel: that's what we do for deliveries at least (and it works fairly well) 2018-02-19T12:53:48Z flip214: according to the page linked above I'd really want the "dont-save is true" part 2018-02-19T12:53:59Z flip214: but that means changing QL or so 2018-02-19T12:55:21Z jackdaniel: as I said - portable and safe solution is to unload all shared objects with cffi and load them back in init (of course that require cleanup and init functions in place, so one could say that it kills the fun with lisp ;) 2018-02-19T12:55:23Z flip214: I'll try https://common-lisp.net/project/cffi/manual/html_node/close_002dforeign_002dlibrary.html#close_002dforeign_002dlibrary 2018-02-19T12:55:39Z jackdaniel: yup, that's what I suggest 2018-02-19T12:55:41Z flip214: jackdaniel: is there a way to get all CFFI loaded libraries? 2018-02-19T12:55:45Z jackdaniel: there is 2018-02-19T12:55:54Z jackdaniel: but I don't remember from the top of my head 2018-02-19T12:56:01Z Shinmera: flip214: Why not use https://shinmera.github.io/deploy/ 2018-02-19T12:56:21Z jmercouris: so usocket is blocking read right? if I want to implement a "server", I need to create a new thread and listen on that, or am I wrong? 2018-02-19T12:56:47Z jackdaniel: jmercouris: you may check if data is available with function `listen' 2018-02-19T12:56:47Z jmercouris: is there some sort of usocket asynchronous callback hook or something perhaps? 2018-02-19T12:56:53Z Shinmera: jmercouris: No 2018-02-19T12:57:10Z jmercouris: Shinmera: no as in "you are correct", or no as in "you are wrong"? 2018-02-19T12:57:17Z flip214: Shinmera: because I only heard about that right now. 2018-02-19T12:57:20Z Shinmera: There is no async socket stuff. 2018-02-19T12:57:27Z Shinmera: Because it's not portable. 2018-02-19T12:57:30Z jmercouris: Ok 2018-02-19T12:57:34Z jmercouris: bt threads is portable no? 2018-02-19T12:57:38Z Shinmera: There are libraries to wrap around libev or whatever. 2018-02-19T12:57:41Z Shinmera: Sure 2018-02-19T12:57:46Z jackdaniel: I like clon because it provides good abtraction for cli options and for building binaries 2018-02-19T12:57:51Z jmercouris: so it is possible to make it portable though? 2018-02-19T12:58:20Z Shinmera: You can make threaded IO portable sure 2018-02-19T12:58:43Z jmercouris: jackdaniel: you mean `socket-listen` right? 2018-02-19T12:59:02Z Shinmera: If I remember correctly libev etc. don't work on all platforms, and are thus not portable in that sense. 2018-02-19T12:59:40Z Shinmera: But if you don't need actual async IO and threads will do, then it's a breeze 2018-02-19T12:59:57Z jmercouris: threads are all I need 2018-02-19T13:00:02Z jmercouris: I just don't want to block on the "main" thread 2018-02-19T13:00:08Z Shinmera: Sure, then thread away. 2018-02-19T13:00:10Z jackdaniel: jmercouris: if usocket gives you a stream, then listen should be the function you want 2018-02-19T13:00:34Z jmercouris: since I'm not so familiar with this kind of socket, can I listen and send on the same port? 2018-02-19T13:00:44Z jmercouris: how does that work exactly, lets say I have server/client A, server/client B 2018-02-19T13:00:55Z jmercouris: can they communicate with each other over the same channel, or do I need two ports? 2018-02-19T13:01:01Z Shinmera: A TCP connection represents a bivalent stream between two applications. 2018-02-19T13:01:14Z jmercouris: I see, so I only need one port/address 2018-02-19T13:01:28Z flip214: jackdaniel: *foreign-libraries* 2018-02-19T13:01:29Z schweers joined #lisp 2018-02-19T13:01:44Z rstandy joined #lisp 2018-02-19T13:01:45Z Shinmera: Well, you have one side that acts as the server side that accepts an arbitrary amount of applications. This server designates the port that is used. 2018-02-19T13:01:54Z Shinmera: *amount of connections 2018-02-19T13:02:03Z jackdaniel: flip214: (cffi:list-foreign-libraries) 2018-02-19T13:02:17Z jmercouris: Shinmera: Right, I'll have one "main" application that will launch the frontends 2018-02-19T13:02:26Z Shinmera: Only one application may bind a specific TCP port at the same time 2018-02-19T13:02:29Z jmercouris: and maybe I can pass a flag to those applications on startup telling them what port/address to listen to 2018-02-19T13:02:48Z Shinmera: So if you want multiple servers on the same machine, you need to do port discovery to find a free port. 2018-02-19T13:03:00Z jmercouris: I only need one "server" 2018-02-19T13:03:06Z jmercouris: but I need multiple "clients" 2018-02-19T13:03:18Z Shinmera: Then you're all good. Just mind https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers 2018-02-19T13:03:52Z jmercouris: So, my application binds to a specific TCP port, it takes it, and then clients can connect to that port and listen, right? 2018-02-19T13:04:10Z Shinmera: Sure. 2018-02-19T13:04:10Z flip214: jackdaniel: would you point me to your code that extracts the important data from this list, please? 2018-02-19T13:04:16Z jmercouris: Ok, I'm starting to visualize this 2018-02-19T13:04:31Z jmercouris: Right the reserved ports/space etc 2018-02-19T13:04:54Z Shinmera: Though "listen" is usually a term reserved for "listening for connections", which is what the server does. 2018-02-19T13:05:17Z figurehe4d quit (Ping timeout: 276 seconds) 2018-02-19T13:05:18Z jackdaniel: flip214: I can't, sorry 2018-02-19T13:05:27Z jackdaniel: I could write it again for you if I had time, but I'm quite busy atm 2018-02-19T13:05:46Z jmercouris: Shinmera: so the server "listens" for connections and "reads" data from the port 2018-02-19T13:05:48Z jackdaniel: basically map close-foreign on this list 2018-02-19T13:06:14Z jmercouris: Shinmera: what happens if some client sends data to a specific port, but the server is not reading it, does it get lost? buffered? sent infinitely until it is recieved? 2018-02-19T13:06:32Z jmercouris: right, it is TCP, so it will wait for that confirmation 2018-02-19T13:06:38Z flip214: jackdaniel: the important part is to retain the correct information to _load_ them again.... that's what I'm asking ;/ 2018-02-19T13:07:03Z jackdaniel: well, I know what libraries I need, so I load them one by one 2018-02-19T13:07:07Z jackdaniel: cl+ssl has a reload function though 2018-02-19T13:07:15Z Shinmera: jmercouris: It doesn't "read" data from the port, it reads data from the socket stream. 2018-02-19T13:07:30Z jackdaniel: check out define-foreign-library macro 2018-02-19T13:07:50Z Shinmera: jmercouris: The data is usually buffered, and the connection lives until it is terminated, or there's a timeout. 2018-02-19T13:07:52Z jmercouris: and the socket-stream is bound to a port and addres? 2018-02-19T13:08:03Z jmercouris: Shinmera: the data is buffered by whom? 2018-02-19T13:08:10Z Shinmera: The OS. 2018-02-19T13:08:18Z jack_rabbit: generally 2018-02-19T13:08:24Z Shinmera: The socket is bound to a port and address. It presents you with a stream to read/write from/to. 2018-02-19T13:08:34Z jmercouris: Ok, so it's a matter of terminology 2018-02-19T13:08:37Z jmercouris: I think I get it 2018-02-19T13:08:48Z jmercouris: I was just using the wrong word 2018-02-19T13:09:23Z Shinmera: The socket is a representation of a connection. The stream is a representation of a channel to exchange data over that connection. 2018-02-19T13:09:42Z jmercouris: Ok, that makes sense 2018-02-19T13:10:05Z jmercouris: so you said the socket, or connection, will remain open until time out or terminated 2018-02-19T13:10:13Z Shinmera: Yes. 2018-02-19T13:10:14Z jmercouris: what if I would like to have a persistent connection? 2018-02-19T13:10:21Z jmercouris: do I have to keep sending keep-alive type messages? 2018-02-19T13:10:32Z Shinmera: If it's local, probably not. If it's over the net, yes. 2018-02-19T13:10:34Z jmercouris: or is there a timeout length of infinity? 2018-02-19T13:10:36Z jmercouris: ok 2018-02-19T13:11:25Z jmercouris: ok, so just a recap to make sure I am heading in the right direction here 2018-02-19T13:11:36Z jmercouris: I will have my main lisp application, my server which will launch the clients 2018-02-19T13:11:44Z jmercouris: the server will bind that port so that no other program may use it 2018-02-19T13:12:07Z jmercouris: I can have an infinite amount of clients that connect to that port to listen or send data 2018-02-19T13:12:10Z SaganMan joined #lisp 2018-02-19T13:12:23Z jmercouris: when a new client connects to a socket, is there a new stream, or are they all using the same stream? 2018-02-19T13:12:55Z Shinmera: Hold on, I'll bbl 2018-02-19T13:12:58Z jmercouris: ok 2018-02-19T13:13:02Z jmercouris: no rush 2018-02-19T13:13:06Z SaganMan: Morning! 2018-02-19T13:13:07Z jack_rabbit: each client has their own stream, and the server has many streams, one for each client. 2018-02-19T13:13:12Z jack_rabbit: jmercouris^ 2018-02-19T13:13:31Z jmercouris: jack_rabbit: ok, I see, that is so the server can know who is sending what? 2018-02-19T13:14:18Z jmercouris: SaganMan: morning 2018-02-19T13:14:34Z jack_rabbit: Yes. Each stream is like a tube for passing data. Each client holds an end, and the server holds the other... a bunch of them. 2018-02-19T13:14:43Z jack_rabbit: it's a series of tubes. 2018-02-19T13:15:26Z jmercouris: lol nice 2018-02-19T13:15:45Z jmercouris: ok, I think I have enough to work with, thanks everyone 2018-02-19T13:15:55Z jack_rabbit: o/ 2018-02-19T13:18:09Z SaganMan: I don't know how to communicate with server. 2018-02-19T13:18:29Z SaganMan: jack_rabbit: each server has it's own rules on how they communicate? 2018-02-19T13:19:01Z jack_rabbit: SaganMan, sure. That's what we would call a "protocol" 2018-02-19T13:20:24Z SaganMan: jack_rabbit: IP UDP, TCP? 2018-02-19T13:20:56Z jack_rabbit: Those are various protocols, yes. 2018-02-19T13:21:05Z jack_rabbit: very common ones at that. 2018-02-19T13:22:28Z flip214: SaganMan: other, more high-level, protocols are FTP and HTTP. 2018-02-19T13:23:59Z Kundry_Wag joined #lisp 2018-02-19T13:24:12Z jmercouris: also protocol has another more abstract meaning, it just an agreement between two entities about how an operation will be performed 2018-02-19T13:24:41Z jmercouris: so, for example in java, where we don't have multiple inheritance, we use interfaces, or protocols to agree upon certain behavior 2018-02-19T13:25:08Z jmercouris: so if an object implements an interface, it agrees to be bound by the protocol as defined in the interface 2018-02-19T13:25:08Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-19T13:26:03Z jack_rabbit: jmercouris, I have a feeling that that term has been inherited from the message-passing style of OOP. 2018-02-19T13:26:20Z attila_lendvai joined #lisp 2018-02-19T13:26:20Z attila_lendvai quit (Changing host) 2018-02-19T13:26:20Z attila_lendvai joined #lisp 2018-02-19T13:26:21Z jmercouris: I don't know for sure, but that sounds pretty reasonable 2018-02-19T13:26:35Z jack_rabbit: Where the idea was that objects would speak with each other through protocols. 2018-02-19T13:27:21Z jmercouris: Yeah, it was also a word before computer science, and its application in CS is consistent with the real word 2018-02-19T13:27:45Z jmercouris: that's what I meant when I said "in the abstract sense", so it is hard to say from where it was pilfered, but yeah :D 2018-02-19T13:28:52Z Kundry_Wag quit (Remote host closed the connection) 2018-02-19T13:29:19Z Kundry_Wag joined #lisp 2018-02-19T13:29:21Z Kundry_Wag quit (Remote host closed the connection) 2018-02-19T13:29:27Z Kundry_Wag joined #lisp 2018-02-19T13:31:57Z jack_rabbit: Yeah, I wasn't trying to contradict you. Just speculating about the origin. 2018-02-19T13:34:28Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-19T13:36:21Z attila_lendvai joined #lisp 2018-02-19T13:36:54Z jmercouris: no, yeah I gotcha :) 2018-02-19T13:38:24Z shifty quit (Ping timeout: 268 seconds) 2018-02-19T13:40:40Z rstandy` joined #lisp 2018-02-19T13:40:53Z trn quit (Excess Flood) 2018-02-19T13:41:20Z trn joined #lisp 2018-02-19T13:43:57Z rstandy quit (Ping timeout: 240 seconds) 2018-02-19T13:44:55Z Murii quit (Ping timeout: 256 seconds) 2018-02-19T13:47:22Z schoppenhauer: Shinmera: ok, you are probably right about mirroring, etc. … how can I fix a quicklisp version? 2018-02-19T13:49:29Z schoppenhauer: http://blog.quicklisp.org/2011/08/going-back-in-dist-time.html found this. thx. 2018-02-19T13:49:39Z schoppenhauer: sry for highlighting 2018-02-19T13:53:05Z schoppenhauer: hm ok. no. this is just for moving back in time. 2018-02-19T13:53:21Z jack_rabbit: What is the issue? 2018-02-19T14:01:17Z Mandus quit (Ping timeout: 276 seconds) 2018-02-19T14:01:41Z Mandus joined #lisp 2018-02-19T14:02:19Z flip214: when DRAKMA gets an answer with "Content-Type: application/json;charset=UTF-8", this is returned as a vector of bytes. Can I receive a string directly, without using BABEL explicitly to convert? 2018-02-19T14:02:33Z flip214: there's no :external-format or so... 2018-02-19T14:03:28Z flip214: wait, there is, according to the docs... 2018-02-19T14:05:18Z dieggsy joined #lisp 2018-02-19T14:05:56Z Chream_ quit (Read error: Connection reset by peer) 2018-02-19T14:06:05Z Chream_ joined #lisp 2018-02-19T14:07:11Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-19T14:07:55Z flip214: well, *text-content-types* doesn't include application/json. 2018-02-19T14:08:28Z attila_lendvai joined #lisp 2018-02-19T14:08:28Z attila_lendvai quit (Changing host) 2018-02-19T14:08:28Z attila_lendvai joined #lisp 2018-02-19T14:08:33Z Arcaelyx quit (Ping timeout: 248 seconds) 2018-02-19T14:09:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-19T14:10:59Z jack_rabbit: Yeah, I can't help you there. Sorry. 2018-02-19T14:12:08Z fdund joined #lisp 2018-02-19T14:12:31Z shrdlu68 joined #lisp 2018-02-19T14:12:39Z fikka joined #lisp 2018-02-19T14:13:26Z rumbler31 quit (Remote host closed the connection) 2018-02-19T14:16:28Z whoman: i am not sure it matters, the string can be vectored with or without matching the content type of the content type.......... ?! 2018-02-19T14:18:38Z schoppenhauer: hm. ok, how can I install a specific version of quicklisp? 2018-02-19T14:19:16Z Shinmera: schoppenhauer: going back in dist time is exactly what it means to fix a specific version 2018-02-19T14:19:56Z schoppenhauer: Shinmera: It is? 2018-02-19T14:20:32Z schoppenhauer: Shinmera: I do not want to have to install a former version 2018-02-19T14:20:39Z Arcaelyx joined #lisp 2018-02-19T14:22:12Z whoman: then why would you ask how to install a specific version....?? 2018-02-19T14:22:59Z jack_rabbit: If you want to install a specific version that's not a former version, then you want the most recent version. 2018-02-19T14:23:39Z Shinmera: schoppenhauer: You said you wanted reproducible builds, which means fixing the version of the quicklisp ecosystem, yeah? How is that different from installing a (former) specific version? 2018-02-19T14:23:53Z Murii joined #lisp 2018-02-19T14:24:10Z schoppenhauer: Shinmera: The problem I see is that I have to install the most current version first, before I can fix some version 2018-02-19T14:24:17Z jstypo quit (Read error: Connection reset by peer) 2018-02-19T14:24:35Z Xach: schoppenhauer: no - the installer can accept the url of the version to use as well. 2018-02-19T14:24:37Z Shinmera: You don't, though. 2018-02-19T14:25:10Z Xach: schoppenhauer: also, the initial install really only fetches a few smallish index files - changing versions is also just downloading another set of smallish index files. it's fairly lightweight. 2018-02-19T14:25:41Z Xach: schoppenhauer: there is a program called "qlot" that aims to automate this kind of thing. i haven't tried it myself but it seems promising. 2018-02-19T14:25:51Z schoppenhauer: Xach: you mean I can pass the url to quicklisp-quickstart:install? 2018-02-19T14:26:01Z Xach: schoppenhauer: yes 2018-02-19T14:26:11Z schoppenhauer: Xach: ok. then I will try that. 2018-02-19T14:26:39Z Xach: schoppenhauer: the keyword is :dist-url 2018-02-19T14:26:47Z schoppenhauer: Xach: thx 2018-02-19T14:32:21Z rumbler31 joined #lisp 2018-02-19T14:32:45Z Kundry_Wag quit (Remote host closed the connection) 2018-02-19T14:33:31Z fdund quit (Quit: .) 2018-02-19T14:35:58Z mood quit (Quit: Gone.) 2018-02-19T14:36:50Z mood joined #lisp 2018-02-19T14:40:11Z makomo_ quit (Ping timeout: 255 seconds) 2018-02-19T14:40:33Z fikka quit (Ping timeout: 264 seconds) 2018-02-19T14:41:17Z mood quit (Client Quit) 2018-02-19T14:42:00Z jstypo joined #lisp 2018-02-19T14:42:30Z learning quit (Remote host closed the connection) 2018-02-19T14:42:32Z mood joined #lisp 2018-02-19T14:43:40Z Kundry_Wag joined #lisp 2018-02-19T14:44:55Z makomo_ joined #lisp 2018-02-19T14:46:41Z SaganMan quit (Ping timeout: 256 seconds) 2018-02-19T14:49:16Z Chream_ quit (Ping timeout: 256 seconds) 2018-02-19T14:51:13Z python476 quit (Ping timeout: 256 seconds) 2018-02-19T14:51:37Z dieggsy quit (Remote host closed the connection) 2018-02-19T14:52:15Z rstandy` quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-19T14:52:21Z rstandy joined #lisp 2018-02-19T14:52:27Z rstandy quit (Remote host closed the connection) 2018-02-19T14:52:43Z rstandy joined #lisp 2018-02-19T14:53:50Z Chream_ joined #lisp 2018-02-19T14:53:51Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-19T14:54:28Z Chream_ quit (Read error: Connection reset by peer) 2018-02-19T14:54:45Z schoppenhauer: Xach: may I send you a feature request? ^^ when using ql:add-to-init-file, it should be possible to pass an argument like :interactive nil, such that in the end, it does not ask for pressing enter 2018-02-19T14:55:38Z ghard joined #lisp 2018-02-19T14:55:48Z attila_lendvai joined #lisp 2018-02-19T14:55:48Z attila_lendvai quit (Changing host) 2018-02-19T14:55:48Z attila_lendvai joined #lisp 2018-02-19T14:56:07Z BigSafari joined #lisp 2018-02-19T14:56:29Z fikka joined #lisp 2018-02-19T14:57:44Z visof quit (Ping timeout: 260 seconds) 2018-02-19T14:59:34Z Chream_ joined #lisp 2018-02-19T15:01:32Z Kundry_Wag quit (Remote host closed the connection) 2018-02-19T15:01:59Z Mandus quit (Ping timeout: 256 seconds) 2018-02-19T15:04:01Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-19T15:04:45Z papachan joined #lisp 2018-02-19T15:05:23Z fikka quit (Ping timeout: 256 seconds) 2018-02-19T15:06:19Z attila_lendvai joined #lisp 2018-02-19T15:09:13Z slyrus joined #lisp 2018-02-19T15:10:30Z JenElizabeth joined #lisp 2018-02-19T15:10:41Z Bike joined #lisp 2018-02-19T15:12:12Z rstandy quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-19T15:13:19Z pfdietz_ quit (Ping timeout: 256 seconds) 2018-02-19T15:13:56Z rumbler3_ joined #lisp 2018-02-19T15:16:41Z rumbler31: jmercouris: usocket wraps each implementations own version of socket support. You might have better luck getting unix domain sockets by digging into a specific implementation 2018-02-19T15:18:57Z rumbler3_ quit (Ping timeout: 248 seconds) 2018-02-19T15:19:14Z Kundry_Wag joined #lisp 2018-02-19T15:19:31Z jmercouris: rumbler31: Yeah, I will go down that route in a little bit, for now I am going to just start development, and the only part that will need to change is the socket interface 2018-02-19T15:20:05Z jmercouris: rumbler31: usocket is definitely not my first choice, nor am I familiar with those kinds of sockets, but I don't imagine it would be too hard to adapt the interface 2018-02-19T15:20:34Z kozy quit (Ping timeout: 256 seconds) 2018-02-19T15:21:03Z rumbler31: what kinds of sockets are you familiar with 2018-02-19T15:21:18Z Kundry_Wag quit (Remote host closed the connection) 2018-02-19T15:21:33Z jmercouris: unix type sockets 2018-02-19T15:21:58Z jmercouris: those were the only kind I was familiar with actually, I didn't even know what "BSD style sockets" were until a few days ago 2018-02-19T15:22:08Z thodg joined #lisp 2018-02-19T15:22:16Z jmercouris: I've never had to do much in the way of networking in my life 2018-02-19T15:24:30Z Mandus joined #lisp 2018-02-19T15:27:11Z Kaisyu quit (Quit: Connection closed for inactivity) 2018-02-19T15:27:45Z nowhereman_ joined #lisp 2018-02-19T15:28:34Z Cymew quit (Remote host closed the connection) 2018-02-19T15:29:12Z BigSafari quit (Quit: Textual IRC Client: www.textualapp.com) 2018-02-19T15:29:28Z smaster joined #lisp 2018-02-19T15:30:03Z smokeink quit (Quit: peace) 2018-02-19T15:32:19Z fikka joined #lisp 2018-02-19T15:33:37Z sjl quit (Quit: WeeChat 1.9.1) 2018-02-19T15:35:06Z Cymew joined #lisp 2018-02-19T15:35:30Z bjorkint0sh joined #lisp 2018-02-19T15:35:32Z bjorkintosh quit (Ping timeout: 260 seconds) 2018-02-19T15:36:33Z Xach: schoppenhauer: you can use without-prompting for that. 2018-02-19T15:36:42Z Xach: schoppenhauer: which works for any quicklisp prompt 2018-02-19T15:38:07Z rumbler31: jmercouris: are you writing code to talk to other applications that you didn't write? or are you in control of all sides of the communication channel 2018-02-19T15:38:54Z jmercouris: rumbler31: I am in control of all sides 2018-02-19T15:39:17Z jmercouris: rumbler31: I'm writing a lisp core/server, and then a graphical client in another language 2018-02-19T15:39:35Z Cymew quit (Ping timeout: 255 seconds) 2018-02-19T15:40:28Z makomo joined #lisp 2018-02-19T15:43:06Z makomo_ quit (Ping timeout: 256 seconds) 2018-02-19T15:44:05Z _cosmonaut_ quit (Ping timeout: 240 seconds) 2018-02-19T15:45:55Z learning joined #lisp 2018-02-19T15:47:47Z learning quit (Remote host closed the connection) 2018-02-19T15:48:55Z learning joined #lisp 2018-02-19T15:50:05Z Kundry_Wag joined #lisp 2018-02-19T15:51:00Z rippa joined #lisp 2018-02-19T15:52:29Z rumbler31: I found usocket to be really approachable 2018-02-19T15:52:50Z rumbler31: and wireshark to help me verify my implementatinos 2018-02-19T15:52:57Z orivej joined #lisp 2018-02-19T15:53:19Z chenbin joined #lisp 2018-02-19T15:53:44Z Vicfred quit (Quit: Leaving) 2018-02-19T15:53:47Z jmercouris: aha I didn't think of using wireshark for debugging, that is an excellent idea 2018-02-19T15:53:50Z jmercouris: I will do that 2018-02-19T15:54:24Z wheelsucker joined #lisp 2018-02-19T15:57:55Z flamebeard quit (Quit: Leaving) 2018-02-19T15:57:59Z zacts quit (Quit: WeeChat 1.9.1) 2018-02-19T15:58:11Z zacts joined #lisp 2018-02-19T15:59:30Z no26 quit (Quit: Leaving) 2018-02-19T16:01:23Z Kundry_Wag quit (Remote host closed the connection) 2018-02-19T16:02:41Z slyrus quit (Ping timeout: 248 seconds) 2018-02-19T16:03:11Z orivej quit (Ping timeout: 248 seconds) 2018-02-19T16:03:11Z saki quit (Ping timeout: 248 seconds) 2018-02-19T16:03:54Z JenElizabeth quit (Remote host closed the connection) 2018-02-19T16:04:33Z JenElizabeth joined #lisp 2018-02-19T16:04:56Z saki joined #lisp 2018-02-19T16:05:25Z JenElizabeth quit (Remote host closed the connection) 2018-02-19T16:07:28Z aindilis joined #lisp 2018-02-19T16:08:01Z BitPuffin joined #lisp 2018-02-19T16:09:16Z ckonstanski joined #lisp 2018-02-19T16:10:29Z rumbler31: note that if you're trying to debug localhost-only traffic on windows you can't inspect it, because windows doesn't promote localhost traffic to the level where it can be observed by wireshark 2018-02-19T16:11:58Z Kundry_Wag joined #lisp 2018-02-19T16:12:39Z sjl joined #lisp 2018-02-19T16:14:44Z smaster quit (Ping timeout: 260 seconds) 2018-02-19T16:15:44Z schoppenhauer: Xach: sorry, what is without-prompting? I can't find something meaningful in google under "without-prompt" 2018-02-19T16:17:38Z rumbler31: and for localhost only traffic, the only thing you need are two tcp sockets, so 127.0.0.1 for the ip, and any unused port for your application. A common implementation feature is that you can ask the os to give you an unused port number on socket instantiation, s.t. you can pass to the 2nd socket instantiation 2018-02-19T16:20:01Z Xach: schoppenhauer: (ql-util:without-prompting ...) 2018-02-19T16:20:09Z schoppenhauer: Xach: ah. sorry. ok. 2018-02-19T16:21:00Z visof joined #lisp 2018-02-19T16:28:37Z shrdlu68 quit (Read error: Connection reset by peer) 2018-02-19T16:28:40Z smaster joined #lisp 2018-02-19T16:31:28Z python476 joined #lisp 2018-02-19T16:32:05Z fikka quit (Ping timeout: 256 seconds) 2018-02-19T16:33:56Z Mandus quit (Ping timeout: 276 seconds) 2018-02-19T16:34:41Z Mandus joined #lisp 2018-02-19T16:39:07Z Mandus quit (Ping timeout: 260 seconds) 2018-02-19T16:39:34Z Mandus joined #lisp 2018-02-19T16:42:41Z anon_ quit (Ping timeout: 248 seconds) 2018-02-19T16:43:52Z Kundry_Wag quit (Remote host closed the connection) 2018-02-19T16:45:12Z Kundry_Wag joined #lisp 2018-02-19T16:47:23Z visof quit (Ping timeout: 256 seconds) 2018-02-19T16:47:42Z mathrick quit (Ping timeout: 256 seconds) 2018-02-19T16:48:30Z heurist_ is now known as heurist 2018-02-19T16:49:37Z Kundry_Wag quit (Ping timeout: 248 seconds) 2018-02-19T16:51:25Z varjagg joined #lisp 2018-02-19T16:55:21Z Kundry_Wag joined #lisp 2018-02-19T16:58:34Z learning quit (Remote host closed the connection) 2018-02-19T17:00:29Z voidlily quit (Remote host closed the connection) 2018-02-19T17:03:15Z anon joined #lisp 2018-02-19T17:03:38Z anon is now known as Guest16495 2018-02-19T17:04:07Z warweasle joined #lisp 2018-02-19T17:09:28Z Achylles quit (Quit: Leaving) 2018-02-19T17:09:45Z learning joined #lisp 2018-02-19T17:13:24Z jmercouris: rumbler31: I'm doing MacOS, so I should be OK 2018-02-19T17:15:06Z rumbler3_ joined #lisp 2018-02-19T17:15:30Z thodg quit (Ping timeout: 252 seconds) 2018-02-19T17:16:37Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-19T17:17:59Z raynold joined #lisp 2018-02-19T17:18:31Z attila_lendvai joined #lisp 2018-02-19T17:18:31Z attila_lendvai quit (Changing host) 2018-02-19T17:18:31Z attila_lendvai joined #lisp 2018-02-19T17:20:09Z rumbler3_ quit (Ping timeout: 264 seconds) 2018-02-19T17:22:43Z Oladon joined #lisp 2018-02-19T17:22:48Z smaster quit (Ping timeout: 240 seconds) 2018-02-19T17:27:57Z Karl_Dscc joined #lisp 2018-02-19T17:32:40Z chenbin quit (Ping timeout: 240 seconds) 2018-02-19T17:38:56Z hhdave quit (Ping timeout: 276 seconds) 2018-02-19T17:44:35Z smaster joined #lisp 2018-02-19T17:45:04Z Chream_ quit (Ping timeout: 256 seconds) 2018-02-19T17:49:57Z SamSkulls quit (Read error: Connection reset by peer) 2018-02-19T17:50:38Z smaster quit (Ping timeout: 276 seconds) 2018-02-19T17:52:02Z trocado joined #lisp 2018-02-19T17:52:12Z heurist` joined #lisp 2018-02-19T17:52:50Z SamSkulls joined #lisp 2018-02-19T17:53:12Z schweers quit (Ping timeout: 260 seconds) 2018-02-19T17:53:53Z smaster joined #lisp 2018-02-19T17:54:08Z heurist quit (Ping timeout: 256 seconds) 2018-02-19T18:04:08Z juan-reynoso joined #lisp 2018-02-19T18:07:51Z jsn` joined #lisp 2018-02-19T18:09:02Z saki quit (Read error: Connection reset by peer) 2018-02-19T18:09:33Z drewc quit (Ping timeout: 256 seconds) 2018-02-19T18:09:42Z mlf joined #lisp 2018-02-19T18:10:17Z fikka joined #lisp 2018-02-19T18:12:42Z saki joined #lisp 2018-02-19T18:13:55Z rumbler3_ joined #lisp 2018-02-19T18:14:23Z jonh left #lisp 2018-02-19T18:14:51Z rumbler3_ quit (Remote host closed the connection) 2018-02-19T18:14:57Z zooey quit (Ping timeout: 255 seconds) 2018-02-19T18:17:46Z Kundry_Wag quit (Remote host closed the connection) 2018-02-19T18:18:03Z Kundry_Wag joined #lisp 2018-02-19T18:19:41Z zooey joined #lisp 2018-02-19T18:21:17Z drewc joined #lisp 2018-02-19T18:22:07Z nosaj88 joined #lisp 2018-02-19T18:23:10Z nosaj88 quit (Remote host closed the connection) 2018-02-19T18:26:05Z scymtym quit (Ping timeout: 255 seconds) 2018-02-19T18:38:02Z BitPuffin quit (Remote host closed the connection) 2018-02-19T18:41:59Z mathrick joined #lisp 2018-02-19T18:46:26Z stacksmith joined #lisp 2018-02-19T18:46:29Z rabbit_05 quit (Ping timeout: 255 seconds) 2018-02-19T19:09:19Z smaster quit (Ping timeout: 248 seconds) 2018-02-19T19:14:20Z Kundry_Wag quit (Remote host closed the connection) 2018-02-19T19:15:26Z rumbler3_ joined #lisp 2018-02-19T19:18:12Z Kundry_Wag joined #lisp 2018-02-19T19:20:24Z smaster joined #lisp 2018-02-19T19:20:42Z rumbler3_ quit (Ping timeout: 256 seconds) 2018-02-19T19:21:26Z pfdietz_ joined #lisp 2018-02-19T19:27:04Z pfdietz_ quit (Ping timeout: 256 seconds) 2018-02-19T19:27:57Z LocaMocha quit (Ping timeout: 264 seconds) 2018-02-19T19:28:44Z pfdietz_ joined #lisp 2018-02-19T19:28:52Z pfdietz_: Nvm 2018-02-19T19:29:09Z fikka quit (Ping timeout: 264 seconds) 2018-02-19T19:30:40Z whoman: oh yeah. we were all worried there 2018-02-19T19:32:02Z Pixel_Outlaw joined #lisp 2018-02-19T19:32:04Z jmercouris: it always feels like I'm missing context 2018-02-19T19:32:12Z jmercouris: what do you mean "Nvm"? nevermind what? 2018-02-19T19:33:39Z whoman: context is definately missing there 2018-02-19T19:37:47Z fikka joined #lisp 2018-02-19T19:38:32Z pfdietz_ quit (Ping timeout: 276 seconds) 2018-02-19T19:39:48Z visof joined #lisp 2018-02-19T19:40:16Z nowhereman_: I was still happily using Elephant in a 2015 project and recently discovered it's out of Quicklisp 2018-02-19T19:40:50Z jmercouris: You can still download it manually and add it to your project search path dir 2018-02-19T19:40:53Z pfdietz_ joined #lisp 2018-02-19T19:40:56Z nowhereman_: Does anyone know why? 2018-02-19T19:40:59Z jmercouris: I can't remember the name for that directory, but you know what I mean 2018-02-19T19:41:17Z phoe: Xach: ^ 2018-02-19T19:42:56Z jackdaniel: jmercouris: he most likely mistakenly wrote it here (instead of #sbcl, where some question regarding hppa support was issued) 2018-02-19T19:43:35Z pjb: nowhereman_: basically, QL systems are filtered with the most unstable implementation, that has a new version every month, so you have systems that are rejected every month. 2018-02-19T19:43:39Z jackdaniel: nowhereman_: I'd bet that it either broke on new ASDF or got incompatible with one of its dependencies 2018-02-19T19:45:47Z pfdietz_ quit (Ping timeout: 260 seconds) 2018-02-19T19:45:56Z smaster quit (Ping timeout: 268 seconds) 2018-02-19T19:46:57Z fikka quit (Ping timeout: 260 seconds) 2018-02-19T19:48:11Z pfdietz_ joined #lisp 2018-02-19T19:48:21Z pfdietz_: This irc client made me think I had sent something unintended. 2018-02-19T19:48:37Z smaster joined #lisp 2018-02-19T19:50:40Z jackdaniel: hm, I wonder if with-gensyms can be substituted with with-clean-symbols (so we don't pollute namespace yet we don't need so many ugly commas) 2018-02-19T19:51:47Z jackdaniel: i.e (defmacro foo () (with-gensyms (a) `(let ((,a 3)) …) vs (defmacro foo () (with-clean-symbols (a) `(let ((a 3)) …)) 2018-02-19T19:52:09Z jackdaniel: with-clean-symbols as defined in cmucl for instance (and a few other places since it is public domain) 2018-02-19T19:52:31Z nowhereman_ quit (Read error: Connection reset by peer) 2018-02-19T19:52:36Z phoe: jackdaniel: no problem, as long as you don't `(foo ,foo) 2018-02-19T19:52:49Z nowhere_man joined #lisp 2018-02-19T19:53:50Z jackdaniel: right, one should keep in mind, that we may want to use a symbol which is meaningful globally and the name may clash 2018-02-19T19:54:02Z jackdaniel: thank you, this is a very good argument against such substitution 2018-02-19T19:56:25Z jackdaniel: so the concern is more `(progn (list list)) sutuation, because list function symbol will be substituted too 2018-02-19T20:01:01Z fikka joined #lisp 2018-02-19T20:01:11Z dieggsy joined #lisp 2018-02-19T20:02:42Z Kundry_Wag quit (Remote host closed the connection) 2018-02-19T20:03:06Z damke_ joined #lisp 2018-02-19T20:04:33Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-19T20:05:06Z Kundry_Wag joined #lisp 2018-02-19T20:05:31Z attila_lendvai joined #lisp 2018-02-19T20:05:45Z damke quit (Ping timeout: 264 seconds) 2018-02-19T20:07:48Z pfdietz_ quit (Ping timeout: 240 seconds) 2018-02-19T20:07:48Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-19T20:07:57Z thallia quit (Ping timeout: 260 seconds) 2018-02-19T20:09:16Z attila_lendvai joined #lisp 2018-02-19T20:09:16Z attila_lendvai quit (Changing host) 2018-02-19T20:09:16Z attila_lendvai joined #lisp 2018-02-19T20:09:40Z thallia joined #lisp 2018-02-19T20:13:34Z pfdietz_ joined #lisp 2018-02-19T20:13:34Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-19T20:13:57Z smaster quit (Ping timeout: 240 seconds) 2018-02-19T20:15:46Z attila_lendvai joined #lisp 2018-02-19T20:15:46Z attila_lendvai quit (Changing host) 2018-02-19T20:15:46Z attila_lendvai joined #lisp 2018-02-19T20:17:21Z smaster joined #lisp 2018-02-19T20:18:11Z pfdietz_ quit (Ping timeout: 276 seconds) 2018-02-19T20:18:25Z phoe: that one, too 2018-02-19T20:19:29Z stacksmith: Is anyone familiar with the history of multiple values in CL? Is it an after-the-fact bolt-on? There is a curious asymmetry with it - only a small set of specially-designed forms handles multiple values, and generally to convert it to a form usable by the rest of Lisp... 2018-02-19T20:20:14Z pfdietz_ joined #lisp 2018-02-19T20:20:29Z Bike: how would a coherent version of values work, do you think? 2018-02-19T20:22:13Z phoe: stacksmith: there's a reason the first one is called "primary value" 2018-02-19T20:22:44Z phoe: in many cases, it is enough, just like with GETHASH 2018-02-19T20:23:09Z phoe: but in GETHASH's case, if you want to check if a value actually is present for the given key, you peek at the secondary value. 2018-02-19T20:23:28Z stacksmith: I am not questioning the need for it, or it in itself. I am curious about how it came about. 2018-02-19T20:23:39Z phoe: hm hmmm, I see. 2018-02-19T20:24:13Z stacksmith: Looking at the entire lambda-list system and even ad-hoc destructuring system for what goes _into_ a function, there seems to be an impedance mismatch for what comes out. 2018-02-19T20:24:27Z phoe: nah 2018-02-19T20:24:31Z phoe: out come 0+ values 2018-02-19T20:24:47Z phoe: http://www.softwarepreservation.org/projects/LISP/common_lisp_family/Masinter-vanMelle-Report.pdf page 6 2018-02-19T20:25:08Z phoe: this has a bit of history 2018-02-19T20:26:02Z sz0 joined #lisp 2018-02-19T20:26:51Z stacksmith: What comes out lacks the same rigorousness as I see it. There is no introspective description that lambda-lists provide, and no structure that is metaprogrammable. All you can do is bind it to a flat set of values, assign or pass on... 2018-02-19T20:27:40Z stacksmith: phoe: thanks for the link. 2018-02-19T20:27:43Z Bike: i'm really not sure what this metaprogrammable thing would look like, so i'm curious 2018-02-19T20:27:59Z phoe: stacksmith: you can always go the Java way. 2018-02-19T20:28:01Z Bike: personally i like the "unboxed vectors" i'm vaguely aware haskell has, but that would change the semantics a lot 2018-02-19T20:28:23Z phoe: define class called ComputationResult, return its instance, and then access the slots of that result in your client function. 2018-02-19T20:28:41Z stacksmith: Again - not criticizing or complaining. 2018-02-19T20:29:35Z Cymew joined #lisp 2018-02-19T20:32:32Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-19T20:34:03Z Cymew quit (Ping timeout: 256 seconds) 2018-02-19T20:35:05Z pfdietz_ quit (Ping timeout: 276 seconds) 2018-02-19T20:35:15Z attila_lendvai joined #lisp 2018-02-19T20:35:15Z attila_lendvai quit (Changing host) 2018-02-19T20:35:15Z attila_lendvai joined #lisp 2018-02-19T20:35:52Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-19T20:37:03Z vlatkoB quit (Remote host closed the connection) 2018-02-19T20:37:38Z stacksmith: I've been spending a lot of time studying lambda lists and destructuring... It seems like there may be a smart way to create a symmetrical return structure description that would play nice with the lambda-lists on the other side. Like declaring a return lambda list that macros can use to shuffle values around, for instance. Again, not a criticism of CL, just one of those things that is spinning in my brain waiting for a good reaso 2018-02-19T20:38:38Z jackdaniel: stacksmith: multiple values must be returned that way if we want to make possible certain optimizations without unnecessary consing 2018-02-19T20:38:42Z attila_lendvai joined #lisp 2018-02-19T20:38:42Z attila_lendvai quit (Changing host) 2018-02-19T20:38:42Z attila_lendvai joined #lisp 2018-02-19T20:38:43Z pjb: stacksmith: of course. When you define a grammar, you can use it parse as well as generate words of the language. 2018-02-19T20:39:11Z jackdaniel: (i.e more than one register may be designated for a return value) 2018-02-19T20:39:34Z jackdaniel: if it had a structure for multiple values you'd have to cons it on return 2018-02-19T20:40:01Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-19T20:40:13Z stacksmith: jackdaniel: I get that it's an abstraction of some registers or stacked values that are returned. However the front end of parameters passed in is not that different 2018-02-19T20:40:18Z pjb: stacksmith: also, have a look at: make-parameter-list and make-flat-argument-list in COM.INFORMATIMAGO.COMMON-LISP.LISP-SEXP.SOURCE-FORM 2018-02-19T20:40:53Z pfdietz_ joined #lisp 2018-02-19T20:41:01Z attila_lendvai joined #lisp 2018-02-19T20:41:01Z attila_lendvai quit (Changing host) 2018-02-19T20:41:01Z attila_lendvai joined #lisp 2018-02-19T20:43:04Z stacksmith: jackdaniel: mostly interested in metaprogramming aspects. After compilation it can be flattened just like arguments on the other side. 2018-02-19T20:43:15Z stacksmith: pjb: thanks, looking up... 2018-02-19T20:43:43Z raskolnikov joined #lisp 2018-02-19T20:43:50Z pjb: (make-flat-argument-list (parse-lambda-list '((var-name path-expression &key direction if-does-not-exist if-exists) &body body) :macro)) ; --> (var-name path-expression :direction direction :if-does-not-exist if-does-not-exist :if-exists if-exists body) 2018-02-19T20:44:16Z stacksmith: pjb: do you have a link? 2018-02-19T20:44:17Z jackdaniel: I don't get the metaprogramming part (example would help), but I don't get the gist of what metaprogramming is anyway, so.. 2018-02-19T20:45:24Z pjb: https://gitlab.com/com-informatimago/com-informatimago 2018-02-19T20:45:25Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-19T20:45:30Z jackdaniel: I mean – I've always imagined it is a program which modifies itself at runtime (i.e calling defun from the function), but that's not what people often mean by this word it seems 2018-02-19T20:46:36Z pjb: stacksmith: but you would want make-argument-list for destructuring-lambda-list, and it's not implemented yet for them. We'd have to generate a tree of expressions to build the required sexp. 2018-02-19T20:47:00Z stacksmith: jackdaniel: I mean macros and ability to generate code. 2018-02-19T20:47:29Z pjb: the fact is that usually, it's simple enough to just use backquote to generate the wanted result. 2018-02-19T20:47:41Z pjb: `((,var ,path :direction ,direction) ,@body) 2018-02-19T20:47:46Z attila_lendvai joined #lisp 2018-02-19T20:47:46Z attila_lendvai quit (Changing host) 2018-02-19T20:47:46Z attila_lendvai joined #lisp 2018-02-19T20:48:09Z jackdaniel: my thought exactly, there is nothing awkward in having multiple-value-bind in macroexpansion 2018-02-19T20:48:29Z jackdaniel: and the programmer doesn't have to use it 2018-02-19T20:48:50Z jackdaniel: (only the abstraction vendor aka macro creator) 2018-02-19T20:49:12Z stacksmith: jackdaniel: things like loop present special problems which I haven't even figured out how to work around, except in very ugly ways. 2018-02-19T20:49:12Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-19T20:49:23Z fourier joined #lisp 2018-02-19T20:49:36Z stacksmith: pjb: digesting... 2018-02-19T20:50:00Z scymtym joined #lisp 2018-02-19T20:50:20Z warweasle quit (Quit: later) 2018-02-19T20:50:33Z jackdaniel: well, loop doesn't excel at extensibility (but most implementations ship MIT Loop which has some extensions to, hm, extend loop). you probably can't use it with many things as it is in the spec 2018-02-19T20:50:53Z pjb: stacksmith: actually, it's a method on make-argument-list-form that you would want to add, for destructuring-lambda-list. 2018-02-19T20:51:14Z attila_lendvai joined #lisp 2018-02-19T20:51:14Z attila_lendvai quit (Changing host) 2018-02-19T20:51:14Z attila_lendvai joined #lisp 2018-02-19T20:52:32Z nowhere_man quit (Ping timeout: 268 seconds) 2018-02-19T20:53:00Z pjb: Or rather, this method needs to be update for it. It's generic. But destructuring-lambda-list are special, since some parameters have no names (they're just sublists). 2018-02-19T20:56:00Z stacksmith: pjb: that's very interesting. I am stunned and annoyed that I haven't looked at it before... 2018-02-19T20:56:30Z pjb: For functions, it's more common, than for macros. 2018-02-19T20:56:43Z smaster quit (Ping timeout: 256 seconds) 2018-02-19T20:56:51Z Bike: values are sort of tied to lambda lists in that the only special operator that can look into values is multiple value call, which does so through a function (and so, lambda list 2018-02-19T20:57:14Z Bike: the description of values types is pretty explicit about it, except it's also wrong for other stupid reasons blah 2018-02-19T20:57:15Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-19T20:58:09Z trocado quit (Ping timeout: 248 seconds) 2018-02-19T20:59:43Z attila_lendvai joined #lisp 2018-02-19T20:59:43Z attila_lendvai quit (Changing host) 2018-02-19T20:59:44Z attila_lendvai joined #lisp 2018-02-19T21:01:58Z stacksmith: I suppose I am imagining a return-lambda-list syntax like (value &optional present-p) for say gethash; normally value would be bound as CL does it, but if the receiving site has a destructuring lambda-list (blah blah-p) it would provide both values... 2018-02-19T21:03:47Z stacksmith: pjb: still digesting the treasure-trove that is informatigo... Not used to gitlab. 2018-02-19T21:04:07Z pjb: there's a mirror on github 2018-02-19T21:04:37Z stacksmith: great. 2018-02-19T21:05:28Z pjb: stacksmith: theorically: (second (function-lambda-expression #'gethash)) ; but often not for compiled functions or implementation functions. 2018-02-19T21:05:44Z lnostdal quit (Remote host closed the connection) 2018-02-19T21:05:49Z pjb: (ccl:arglist #'gethash) #| --> (ccl::key ccl::hash &optional ccl::default) ; :analysis |# 2018-02-19T21:05:55Z pjb: implementtaion specific ways exist. 2018-02-19T21:06:21Z lnostdal joined #lisp 2018-02-19T21:06:55Z stacksmith: pjb: where the heck is it on github? 2018-02-19T21:07:22Z Bike: stacksmith: that's basically how it works? i mean, you use multiple value call, but that's it 2018-02-19T21:07:39Z Bike: (multiple-value-call (lambda (value presentp) ...) (gethash ...)) 2018-02-19T21:07:52Z pjb: stacksmith: google works too https://github.com/informatimago/lisp 2018-02-19T21:08:19Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-19T21:08:21Z Murii quit (Quit: WeeChat 1.4) 2018-02-19T21:08:49Z stacksmith: pjb: apologies - i thought I tried that. I think my keyboard is eating m sporadically. 2018-02-19T21:08:58Z cryptomarauder: goodness quicklisp.lisp is a fantastic example of good lisp code, for beginners and hackers returning to the language. Refreshing even 2018-02-19T21:09:56Z Chream_ joined #lisp 2018-02-19T21:10:32Z pfdietz_ quit (Ping timeout: 252 seconds) 2018-02-19T21:10:40Z attila_lendvai joined #lisp 2018-02-19T21:10:40Z attila_lendvai quit (Changing host) 2018-02-19T21:10:40Z attila_lendvai joined #lisp 2018-02-19T21:10:54Z Xach: Hey, thanks. There's some guy on a website who thinks it's really terrible. Only the bad reviews seem to stick with me... 2018-02-19T21:13:07Z Patternmaster joined #lisp 2018-02-19T21:13:50Z Chream_2 joined #lisp 2018-02-19T21:15:02Z stacksmith: Xach: unfortunately, people love complaining when things aren't to their liking... When they are, they just use the thing quietly... You have an army of admirers who should probably be more vocal. 2018-02-19T21:15:21Z saki quit (Ping timeout: 268 seconds) 2018-02-19T21:15:23Z phoe: I <3 quicklisp 2018-02-19T21:15:25Z pfdietz_ joined #lisp 2018-02-19T21:15:29Z aeth: It's so great to have the compiler error check for me, with errors found at compile time. I understand why people like this. 2018-02-19T21:15:33Z Xach: Oh, I get a ton of great and supportive feedback, and I really appreciate it. 2018-02-19T21:15:54Z Xach: I read lots of people who do open source projects and lament how thankless and grueling it is and I'm glad it's not like that to me. 2018-02-19T21:16:01Z Xach: Still, someone saying my code is crap makes me feel bad for a while. 2018-02-19T21:16:25Z phoe: Xach: somewhat related https://caddy.community/t/the-realities-of-being-a-foss-maintainer/2728 2018-02-19T21:16:26Z Chream_ quit (Ping timeout: 256 seconds) 2018-02-19T21:16:30Z rumbler3_ joined #lisp 2018-02-19T21:17:07Z jmercouris quit (Ping timeout: 256 seconds) 2018-02-19T21:19:24Z aeth: I just rewrote an untested part of my code and I'm fairly confident that the part that I use in my examples (which might not be all of it) was rewritten correctly because I verify the macro. It's actually more powerful than relying on a compiler and a type system to do verification because I don't have to encode the verification via types. 2018-02-19T21:20:08Z jmercouris joined #lisp 2018-02-19T21:20:16Z aeth: I actually caught mistakes 4 or 5 times, and was able to quickly fix them based on the error messages. 2018-02-19T21:21:07Z aeth: I might have to take a detour and compile time verify as much as possible in my program. 2018-02-19T21:21:22Z aeth: (I guess it's technically macro expansion time verification?) 2018-02-19T21:22:09Z rumbler3_ quit (Ping timeout: 248 seconds) 2018-02-19T21:22:20Z smaster joined #lisp 2018-02-19T21:23:07Z phoe: yep 2018-02-19T21:23:20Z phoe: macroexpansion time is a part of compilation time 2018-02-19T21:23:57Z jonh joined #lisp 2018-02-19T21:24:02Z saki joined #lisp 2018-02-19T21:24:04Z krwq joined #lisp 2018-02-19T21:25:24Z stacksmith: pjb: I need bigger monitor! I keep typing informatigo... 2018-02-19T21:25:35Z aeth: Ugh, it looks like destructuring-bind's error is not standard. 2018-02-19T21:25:47Z aeth: "an error of type error should be signaled" 2018-02-19T21:25:49Z pjb: el mago de la informatica : informati mago 2018-02-19T21:26:02Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-19T21:26:13Z phoe: in format imago 2018-02-19T21:26:20Z dim: Xach: your code can't be bad by any meaningful definition: it does a well defined job in a non surprising way, and for many users. 2018-02-19T21:26:34Z pjb: :-) 2018-02-19T21:28:01Z aeth: I wrote a little macro called do-destructuring-bind, which is essentially a combination of dolist and destructuring-bind (which showed up a *lot* in my code), but I want to give a more helpful error message when some sublist fails to match the destructuring-bind's lambda list. 2018-02-19T21:28:11Z attila_lendvai joined #lisp 2018-02-19T21:28:11Z attila_lendvai quit (Changing host) 2018-02-19T21:28:11Z attila_lendvai joined #lisp 2018-02-19T21:29:41Z pfdietz_ quit (Ping timeout: 255 seconds) 2018-02-19T21:31:49Z aeth: do-destructuring-bind is useful when there's something like let's bindings section, where there's an arbitrarily long, but structured list. Well, let's bindings section if let didn't permit non-list elements in its bindings section for an implicit nil like (let (foo) ...) 2018-02-19T21:33:03Z aeth: (do-destructuring-bind could be modified to handle that case, though, it would just take one conditional, with the destructuring bind only applying when listp on the sublist gensym) 2018-02-19T21:33:36Z Naergon joined #lisp 2018-02-19T21:34:38Z stacksmith: pjb: Life would be a lot easier if there was a lambda-list that could be used to destructure any lambda-list... Or &lambda-list lambda-list-keyword... 2018-02-19T21:35:49Z visof quit (Ping timeout: 256 seconds) 2018-02-19T21:35:49Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-19T21:38:25Z stacksmith: Or If lambda-lists followed the lambda-list syntax. 2018-02-19T21:38:29Z Shinmera: There's libraries to destructure lambda lists. See lambda-fiddle. 2018-02-19T21:38:57Z pjb: or com.informatimago.common-lisp.lisp-sexp.source-form 2018-02-19T21:39:08Z aeth: Shinmera: I don't want to introduce a library for a 5 line macro, though. 2018-02-19T21:39:27Z Xach: dim: are you going to ELS? 2018-02-19T21:40:00Z stacksmith: xach: pjb: Yes, I found a few libraries for lambda-list, but I don't think any of them are complete and handle all cases... 2018-02-19T21:40:58Z stacksmith: pjb: thanks, btw. There is a lot of good stuf at informatimago. 2018-02-19T21:41:11Z Bike: parsing ordinary lambda lists is completely done by several libraries 2018-02-19T21:41:28Z attila_lendvai joined #lisp 2018-02-19T21:41:28Z attila_lendvai quit (Changing host) 2018-02-19T21:41:28Z attila_lendvai joined #lisp 2018-02-19T21:43:18Z nullniverse joined #lisp 2018-02-19T21:44:02Z orivej joined #lisp 2018-02-19T21:48:54Z Chream_2 quit (Read error: Connection reset by peer) 2018-02-19T21:48:54Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-19T21:48:59Z Chream_ joined #lisp 2018-02-19T21:50:21Z Oladon quit (Quit: Leaving.) 2018-02-19T21:50:38Z attila_lendvai joined #lisp 2018-02-19T21:50:38Z attila_lendvai quit (Changing host) 2018-02-19T21:50:38Z attila_lendvai joined #lisp 2018-02-19T21:51:19Z emaczen: How exactly do I shadow symbols in a package that uses another package? 2018-02-19T21:52:52Z pfdietz_ joined #lisp 2018-02-19T21:52:52Z phoe: emaczen: normally 2018-02-19T21:53:33Z phoe: "The order in which the options appear in a defpackage form is irrelevant. The order in which they are executed is as follows: " 2018-02-19T21:53:46Z phoe: "1. :shadow and :shadowing-import-from. 2. :use. 3. :import-from and :intern. 4. :export. " 2018-02-19T21:54:03Z phoe: "Shadows are established first, since they might be necessary to block spurious name conflicts when the :use option is processed." 2018-02-19T21:55:01Z whoman: despite the appearance of simplicity on the surface, CL is actually founded on a lot of corner-cases 2018-02-19T21:55:54Z phoe: that were the result of actual decades of software development with Lisps that contributed to the Common. 2018-02-19T21:56:33Z milanj quit (Quit: This computer has gone to sleep) 2018-02-19T21:57:35Z pfdietz_ quit (Ping timeout: 265 seconds) 2018-02-19T21:57:40Z SAL9000_ joined #lisp 2018-02-19T21:57:44Z SAL9000 quit (Ping timeout: 260 seconds) 2018-02-19T22:01:31Z epony quit (Remote host closed the connection) 2018-02-19T22:01:48Z marusich joined #lisp 2018-02-19T22:02:45Z paul0 joined #lisp 2018-02-19T22:04:08Z krwq quit (Read error: Connection reset by peer) 2018-02-19T22:04:31Z SAL9000 joined #lisp 2018-02-19T22:05:25Z milanj joined #lisp 2018-02-19T22:06:05Z SAL9000_ quit (Ping timeout: 276 seconds) 2018-02-19T22:06:41Z ludston_ joined #lisp 2018-02-19T22:06:59Z Oladon joined #lisp 2018-02-19T22:07:43Z aeth: whoman: All languages have corner cases. The issues is whether those cases are specified or implementation-specific. 2018-02-19T22:08:41Z fourier quit (Ping timeout: 256 seconds) 2018-02-19T22:08:43Z whoman: phoe, aeth , true true 2018-02-19T22:09:53Z ludston quit (Ping timeout: 255 seconds) 2018-02-19T22:10:03Z learning quit (Remote host closed the connection) 2018-02-19T22:13:07Z hhdave joined #lisp 2018-02-19T22:14:56Z jmercouris: Do all languages have corner case though? 2018-02-19T22:15:22Z aindilis quit (Ping timeout: 256 seconds) 2018-02-19T22:15:28Z jmercouris: I mean that's a pretty bold statement, I don't mean to be pedantic, but I imagine there must be languages without corner cases 2018-02-19T22:15:47Z k-hos: corner cases for what 2018-02-19T22:16:04Z aeth: jmercouris: Probably any language that's useful for general purpose, turing-complete programming 2018-02-19T22:16:47Z vaporatorius joined #lisp 2018-02-19T22:16:47Z vaporatorius quit (Changing host) 2018-02-19T22:16:47Z vaporatorius joined #lisp 2018-02-19T22:16:57Z stacksmith: Stating that any language might not have a corner case is a pretty bold statement! 2018-02-19T22:17:10Z aeth: Even Brainfuck has ambiguities. http://www.hevanet.com/cristofd/brainfuck/epistle.html 2018-02-19T22:17:51Z Kundry_Wag quit (Remote host closed the connection) 2018-02-19T22:18:38Z EvW joined #lisp 2018-02-19T22:18:39Z Kundry_Wag joined #lisp 2018-02-19T22:18:53Z rumbler31 quit (Ping timeout: 256 seconds) 2018-02-19T22:20:18Z stacksmith: Is it possible to define a system that processes information that comes from outside in a way that eliminates the possibility of corner cases? 2018-02-19T22:20:35Z emaczen: So, could I easily shadow functions from the standard library like 'map? 2018-02-19T22:20:42Z vap1 joined #lisp 2018-02-19T22:20:43Z jmercouris: I'll put javascript on the table as the most consistent language without any edge cases 2018-02-19T22:20:50Z dddddd quit (Remote host closed the connection) 2018-02-19T22:21:30Z phoe: emaczen: yes 2018-02-19T22:21:33Z jmercouris: stacksmith: the language definition is not related to whether it can process imperfect external information 2018-02-19T22:21:47Z phoe: many packages actually depend on this by providing their own macros like DEFUN or DEFMETHOD 2018-02-19T22:22:05Z phoe: that you must use in place of CL:DEFUN and CL:DEFMETHOD for their magic to work. 2018-02-19T22:22:06Z jmercouris: though I can't think of a way to prove that 2018-02-19T22:22:24Z phoe puts jmercouris and stacksmith in #lispcafe 2018-02-19T22:22:58Z jmercouris resists in javascript 2018-02-19T22:23:10Z pfdietz_ joined #lisp 2018-02-19T22:23:44Z phoe: jmercouris.putInChannel("#lispcafe"); 2018-02-19T22:24:01Z pfdietz_: For example one of my favorite packages, Waters' COVER. 2018-02-19T22:24:18Z phoe: pfdietz_: for code coverage? 2018-02-19T22:24:23Z Xof: missing a trick by not using *macroexpand-hook* if you ask me 2018-02-19T22:24:35Z pfdietz_: Yes. 2018-02-19T22:24:39Z phoe: Xof: oh, indeed. 2018-02-19T22:24:59Z emaczen: phoe: can you point me to an example? 2018-02-19T22:25:31Z Karl_Dscc quit (Remote host closed the connection) 2018-02-19T22:25:31Z phoe: emaczen: Qtools does that a lot 2018-02-19T22:25:59Z phoe: it provides its own FUNCTION, SETF and a bunch of other symbols 2018-02-19T22:26:09Z saki quit (Ping timeout: 248 seconds) 2018-02-19T22:26:16Z phoe: and you are supposed to use CL+QT instead of CL in qtools projects. 2018-02-19T22:26:26Z saki joined #lisp 2018-02-19T22:26:29Z phoe: which is CL with several shadowed symbols. 2018-02-19T22:27:24Z emaczen: phoe: am I going to run into a lot of problems? I primarily want to define my own sequence functions for custom datastructures and in the meantime I've been defining smap, sreduce etc.... 2018-02-19T22:28:01Z phoe: emaczen: yes. All clients of your code must shadow the same symbols as you or use qualified names. 2018-02-19T22:28:42Z phoe: for example, LPARALLEL has pmap, preduce, pmapcar, ... 2018-02-19T22:29:22Z emaczen: phoe: I would define map as a method and if you give it a sequence it would just call cl:map 2018-02-19T22:29:39Z pfdietz_: :use in defpackage is name collisions waiting to happen. 2018-02-19T22:30:14Z phoe: emaczen: I assume you would take standard behaviour into account. Nonetheless, it's nothing I would advise. 2018-02-19T22:30:31Z emaczen: phoe: standard behaviour? 2018-02-19T22:30:42Z phoe: clhs map 2018-02-19T22:30:42Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_map.htm 2018-02-19T22:30:48Z phoe: this behaviour, in map's case. 2018-02-19T22:31:25Z figurehe4d joined #lisp 2018-02-19T22:31:58Z Kundry_Wag quit (Remote host closed the connection) 2018-02-19T22:31:59Z phoe: you basically just want to define MAP for more data structures. I think you can try, since nothing is stopping you, but expect issues along the way. 2018-02-19T22:32:07Z nullniverse quit (Ping timeout: 256 seconds) 2018-02-19T22:32:14Z emaczen: phoe: I think I'll try this out when I have more time on my hands... lol 2018-02-19T22:32:26Z emaczen: phoe: It would be nice though... 2018-02-19T22:32:46Z phoe: emaczen: I know. 2018-02-19T22:32:49Z emaczen: phoe: I really like the CL seqeuence API and the keywords arguments etc 2018-02-19T22:33:12Z Bike: some implementations have an extensiont o let you define your own sequence types that work with map and co. 2018-02-19T22:33:18Z phoe: http://www.doc.gold.ac.uk/~mas01cr/papers/ilc2007/sequences-20070301.pdf 2018-02-19T22:33:37Z Bike: yeah that one. 2018-02-19T22:33:45Z Bike: i think it's just sbcl and abcl unfortunately 2018-02-19T22:34:42Z emaczen: btw, my map-reduce for a custom linked-list is pretty nice and simple :) 2018-02-19T22:35:18Z pfdietz_: Interesting to consider if more standard functions should be generic. Comes down to efficiency. 2018-02-19T22:35:34Z phoe: pfdietz_: look at cl21 which is a somewhat poorly executed attempt at that. 2018-02-19T22:35:37Z emaczen: the combination function is constant time, just the number of partitions you create for a mutable append 2018-02-19T22:35:42Z emaczen: combination function for reduce 2018-02-19T22:36:28Z phoe: pfdietz_: again, it might be worth to evaluate it when dispatch cost goes down. beach has some research on the matter that is very promising. 2018-02-19T22:36:39Z phoe: s/dispatch/generic dispatch/ 2018-02-19T22:36:56Z pfdietz_: I want to see if SICL/Clasp can make generic dispatch faster. 2018-02-19T22:37:16Z emaczen: isn't there a CL library that compiles your generic dispatch into static dispatch? 2018-02-19T22:37:27Z phoe: emaczen: there is, at a cost. 2018-02-19T22:37:32Z Bike: is there? 2018-02-19T22:37:40Z Bike: i've thought about doing it myself, but it's tricky 2018-02-19T22:37:45Z emaczen: I tried it, and it didn't make my code faster 2018-02-19T22:37:50Z phoe: https://github.com/guicho271828/inlined-generic-function 2018-02-19T22:37:56Z emaczen: phoe: yep thats it 2018-02-19T22:38:05Z Bike: pfdietz_: right now we're about as fast as sbcl's dispatch, which is pretty good considering the compiler comparatively sucks 2018-02-19T22:38:47Z pfdietz_: I want your compiler to mature so I can torture it properly. 2018-02-19T22:38:59Z pfdietz_: Not sporting now. 2018-02-19T22:39:03Z Bike: working on it 2018-02-19T22:39:09Z Bike: turns out it's hard tho 2018-02-19T22:39:22Z pfdietz_: Yes it is. 2018-02-19T22:39:27Z Bike: and i see this inline thing considers classes final, oh well 2018-02-19T22:41:33Z phoe: yes, this is the cost. 2018-02-19T22:41:57Z emaczen: Well isn't it just for after you finish developing and have "static" code anyway? 2018-02-19T22:42:09Z phoe: yes, that is what it is meant for. 2018-02-19T22:42:15Z Bike: yes, but "no more methods" and "no more subclassing" are somewhat different kinds of static 2018-02-19T22:43:11Z phoe: still better than "no more interactivity", "no more error handling", "no more introspection" and "no more types" that some other languages offer after they're fully compiled 2018-02-19T22:43:24Z phoe goes to sleep 2018-02-19T22:43:24Z nowhere_man joined #lisp 2018-02-19T22:47:53Z nowhereman_ joined #lisp 2018-02-19T22:49:03Z varjagg quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2018-02-19T22:49:05Z nowhere_man quit (Ping timeout: 268 seconds) 2018-02-19T22:50:09Z pillton: What do you mean by static dispatch? 2018-02-19T22:50:53Z phoe: pillton: not runtime 2018-02-19T22:51:17Z pfdietz_ quit (Ping timeout: 260 seconds) 2018-02-19T22:51:18Z phoe: compile-time dispatch, that is 2018-02-19T22:51:23Z varjagg joined #lisp 2018-02-19T22:52:12Z pillton: There is also specialization-store. 2018-02-19T22:53:02Z pjb: emaczen: you would have to start with a type-inference engine, to be able to determine at compilation time whether the arguments of a generic function call are of a type determined at compilation-time. Notice that this would involve mostly a global analysis, since compilation-units usually matching only files would be insufficient a scope. 2018-02-19T22:53:43Z pjb: emaczen: it would also be good to be able to determine at compilation time that a symbol will actually be fbound at run-time to a given generic function, (and not another or a non-generic function). 2018-02-19T22:55:43Z mishoo quit (Ping timeout: 256 seconds) 2018-02-19T22:58:30Z rpg joined #lisp 2018-02-19T22:59:40Z juan-reynoso quit (Quit: Leaving) 2018-02-19T23:03:45Z shifty joined #lisp 2018-02-19T23:04:11Z pfdietz_ joined #lisp 2018-02-19T23:08:09Z Bike quit (Ping timeout: 260 seconds) 2018-02-19T23:09:42Z hhdave quit (Quit: hhdave) 2018-02-19T23:12:17Z pfdietz_ quit (Ping timeout: 260 seconds) 2018-02-19T23:12:37Z pfdietz_ joined #lisp 2018-02-19T23:12:38Z varjagg quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2018-02-19T23:14:15Z razzy: who-call-who is not imlemented on sbcl? 2018-02-19T23:14:24Z nullniverse joined #lisp 2018-02-19T23:15:57Z razzy: i feel like i broke the universe :] 2018-02-19T23:17:32Z pfdietz_ quit (Ping timeout: 260 seconds) 2018-02-19T23:18:28Z drmeister: It's about the middle of the month - so it's time for me to ask what people think about Common Lisp parser generators (sigh). 2018-02-19T23:18:31Z rumbler31 joined #lisp 2018-02-19T23:18:41Z drmeister: I've got a lot of experience now writing esrap parsers. 2018-02-19T23:19:09Z drmeister: I like it very much. But I have a large parser written in C++ with Bison that I need to translate into Common Lisp. 2018-02-19T23:20:05Z drmeister: cl-yacc - that's my best choice for an LALR, Backus–Naur form parser generator - correct? 2018-02-19T23:20:38Z drmeister: So - yes - I figure I'll use two different parser generators in the same application (double sigh) 2018-02-19T23:20:47Z Kundry_Wag joined #lisp 2018-02-19T23:21:04Z moei quit (Quit: Leaving...) 2018-02-19T23:21:07Z Oladon quit (Quit: Leaving.) 2018-02-19T23:21:24Z drmeister: I translated one C++/bison/backus-naur form parser into esrap and I don't want to do that again. 2018-02-19T23:21:57Z Naergon: Write an automatic translator? =) 2018-02-19T23:23:05Z rumbler31 quit (Ping timeout: 240 seconds) 2018-02-19T23:25:05Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-19T23:26:37Z razzy: should be possible to jump in code back and forth? 2018-02-19T23:27:15Z mlf quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-19T23:27:42Z mlf joined #lisp 2018-02-19T23:28:01Z pjb: drmeister: or write a grammar translator. Use your parser generator to do that ;-) 2018-02-19T23:29:04Z rpg: logical pathnames really are a hot mess.... Put one in my ASDF:*CENTRAL-REGISTRY* and now every Quicklisp system with an inappropriate name causes a crash.... 2018-02-19T23:29:21Z pjb: rpg: just a bug in asdf. 2018-02-19T23:29:31Z pjb: logical pathnames are really nice. 2018-02-19T23:29:53Z pjb: You have to know how to use them (which basically means: just say no to physical pathnames). 2018-02-19T23:30:19Z pjb: rpg: and crashes are bug in the implementations. What implementation do you use? 2018-02-19T23:30:34Z rpg: pjb: nope. A bug in the person who defined the cl-rrt.benchmark system.... 2018-02-19T23:31:04Z rpg: pjb: I just mean an error by "crash". No lisp implementation actually crashed. 2018-02-19T23:31:58Z pjb: yes, so bug in asdf. 2018-02-19T23:32:14Z rpg: pjb: No. Bug in the system name. 2018-02-19T23:33:25Z rpg: ASDF tells you loud and clear that it will merge the system name into the path. So if you give a system name that can't be merged with a logical pathname, it's your fault, not ASDF's. 2018-02-19T23:35:27Z orivej quit (Ping timeout: 248 seconds) 2018-02-19T23:35:32Z pjb: oh, right. So it's not logical pathnames fault, it's the person who named the system, indeed. 2018-02-19T23:36:04Z pjb: but cl-rrt.benchmark looks like a good pair of logical pathname components. 2018-02-19T23:36:42Z rpg: pjb: I'll have to check and see why SBCL choked on it. 2018-02-19T23:37:00Z rpg: ACL's "anything goes" philosophy was fine. 2018-02-19T23:42:22Z pillton: drmeister: Jasom might be able to help you make decision. 2018-02-19T23:42:57Z Kaisyu joined #lisp 2018-02-19T23:43:08Z pillton: I don't know when he is on. 2018-02-19T23:43:43Z drmeister: I'll check with him - I might end up doing it in esrap 2018-02-19T23:43:49Z drmeister: I need a parser for these... http://www.daylight.com/dayhtml/doc/theory/index.pdf 2018-02-19T23:44:25Z drmeister: I have one written in bison/C++ - but it doesn't play well with moving garbage collection of the Memory Pool System. 2018-02-19T23:45:13Z drmeister: I need a parser for the SMARTS/SMIRKS grammars 2018-02-19T23:45:15Z trocado joined #lisp 2018-02-19T23:46:05Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-19T23:47:36Z attila_lendvai joined #lisp 2018-02-19T23:47:36Z attila_lendvai quit (Changing host) 2018-02-19T23:47:36Z attila_lendvai joined #lisp 2018-02-19T23:50:13Z Oladon joined #lisp 2018-02-19T23:55:00Z rumbler31 joined #lisp 2018-02-19T23:57:57Z marusich quit (Ping timeout: 264 seconds) 2018-02-20T00:00:48Z nowhere_man joined #lisp 2018-02-20T00:01:05Z nowhereman_ quit (Ping timeout: 248 seconds) 2018-02-20T00:05:27Z marusich joined #lisp 2018-02-20T00:06:02Z gval joined #lisp 2018-02-20T00:10:18Z msb quit (Ping timeout: 240 seconds) 2018-02-20T00:10:30Z quazimodo joined #lisp 2018-02-20T00:12:13Z ebzzry_ quit (Ping timeout: 256 seconds) 2018-02-20T00:13:13Z arescorpio joined #lisp 2018-02-20T00:13:35Z markong quit (Ping timeout: 276 seconds) 2018-02-20T00:13:35Z Oladon quit (Read error: Connection reset by peer) 2018-02-20T00:14:18Z sz0 quit (Quit: Connection closed for inactivity) 2018-02-20T00:14:36Z DGASAU quit (Ping timeout: 252 seconds) 2018-02-20T00:15:08Z Oladon joined #lisp 2018-02-20T00:19:41Z python476 quit (Read error: Connection reset by peer) 2018-02-20T00:19:45Z jmercouris quit (Ping timeout: 248 seconds) 2018-02-20T00:21:20Z gval quit 2018-02-20T00:21:51Z smaster quit (Ping timeout: 256 seconds) 2018-02-20T00:22:20Z Kundry_Wag joined #lisp 2018-02-20T00:26:08Z slyrus joined #lisp 2018-02-20T00:26:44Z ebzzry_ joined #lisp 2018-02-20T00:27:08Z Kundry_Wag quit (Ping timeout: 276 seconds) 2018-02-20T00:27:24Z Amplituhedron joined #lisp 2018-02-20T00:28:33Z jsn` left #lisp 2018-02-20T00:30:18Z nirved quit (Quit: Leaving) 2018-02-20T00:30:50Z fikka quit (Ping timeout: 268 seconds) 2018-02-20T00:31:29Z Bike joined #lisp 2018-02-20T00:33:31Z emaczen: how do streams handle output from multiple threads? 2018-02-20T00:37:36Z wmannis joined #lisp 2018-02-20T00:40:17Z wxie joined #lisp 2018-02-20T00:41:48Z rumbler31: there is a special flag for ccl that makes the behave in a thread safe way 2018-02-20T00:42:14Z rumbler31: i suspect the answer is "thats implementation specific" 2018-02-20T00:44:09Z djeis joined #lisp 2018-02-20T00:45:48Z Kundry_Wag joined #lisp 2018-02-20T00:47:50Z smaster joined #lisp 2018-02-20T00:48:14Z pagnol joined #lisp 2018-02-20T00:50:52Z Kundry_Wag quit (Ping timeout: 260 seconds) 2018-02-20T00:55:26Z djeis quit (Quit: Mutter: www.mutterirc.com) 2018-02-20T00:58:19Z fikka joined #lisp 2018-02-20T01:02:57Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-20T01:02:59Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-20T01:05:12Z attila_lendvai joined #lisp 2018-02-20T01:05:48Z Kundry_Wag joined #lisp 2018-02-20T01:05:55Z jsn` joined #lisp 2018-02-20T01:06:18Z krwq joined #lisp 2018-02-20T01:06:37Z jsn` left #lisp 2018-02-20T01:08:29Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-20T01:08:29Z Naergon: what about clojure? It seems to be able to compile for android's command line, its free and its more popukar. Whats the drawback? 2018-02-20T01:09:44Z attila_lendvai joined #lisp 2018-02-20T01:09:49Z attila_lendvai quit (Changing host) 2018-02-20T01:09:49Z attila_lendvai joined #lisp 2018-02-20T01:10:16Z pjb: Naergon: it's not a Common Lisp library, therefore it's not on topic. This channel is reserved for Common Lisp discussion. 2018-02-20T01:10:22Z pjb: Naergon: try ##lisp or #clojure. 2018-02-20T01:10:33Z Kundry_Wag quit (Ping timeout: 264 seconds) 2018-02-20T01:11:26Z Naergon: Thanks 2018-02-20T01:11:29Z pjb: Naergon: notice that you could implement a CL library exporting most of Clojure features. Then you could discuss it and its conforming implementation here. 2018-02-20T01:11:59Z Amplituhedron quit (Ping timeout: 276 seconds) 2018-02-20T01:15:50Z Kundry_Wag joined #lisp 2018-02-20T01:17:01Z aindilis joined #lisp 2018-02-20T01:20:40Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-20T01:28:12Z EvW quit (Ping timeout: 260 seconds) 2018-02-20T01:30:23Z attila_lendvai quit (Quit: Leaving.) 2018-02-20T01:31:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-20T01:34:05Z thallia quit (Ping timeout: 240 seconds) 2018-02-20T01:35:44Z thallia joined #lisp 2018-02-20T01:35:47Z Kundry_Wag joined #lisp 2018-02-20T01:39:01Z emaczen: Naergon: Clojure isn't general enough, CL has more multiparadigm features so that you can select/implement the paradigm best suited for your problem 2018-02-20T01:40:53Z Kundry_Wag quit (Ping timeout: 265 seconds) 2018-02-20T01:41:02Z Naergon: emaczen: yeah, i see, lisp can deal with mutable data (c-style) better 2018-02-20T01:42:06Z emaczen: Naergon: Object Oriented programming too 2018-02-20T01:44:28Z emaczen: function programming is really good too, and you can implement pretty much anything (any paradigm) you would want with macros too 2018-02-20T01:44:58Z emaczen: You can even do metaprogramming with the object system 2018-02-20T01:44:59Z fikka joined #lisp 2018-02-20T01:45:15Z Tobbi quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-20T01:45:27Z Patternmaster quit (Quit: Lost terminal) 2018-02-20T01:45:38Z Kundry_Wag joined #lisp 2018-02-20T01:47:14Z j0nd0e` joined #lisp 2018-02-20T01:50:23Z Kundry_Wag quit (Ping timeout: 248 seconds) 2018-02-20T01:50:34Z wxie quit (Remote host closed the connection) 2018-02-20T01:51:21Z j0nd0e quit (Ping timeout: 264 seconds) 2018-02-20T02:02:40Z pagnol quit (Ping timeout: 248 seconds) 2018-02-20T02:04:09Z rpg joined #lisp 2018-02-20T02:05:13Z copec quit (Quit: checkity check out.) 2018-02-20T02:06:53Z sigjuice: I have downloaded all the releases provided by quicklisp. I frequently grep through all of ~/quicklisp/dists/quicklisp/software/. Any suggestions on what I might do to speed this up or otherwise do this better? My computer is old and slow :/ 2018-02-20T02:07:27Z Bike: uninstall things 2018-02-20T02:10:05Z smaster quit (Ping timeout: 256 seconds) 2018-02-20T02:10:14Z sigjuice: downloading all of quicklisp is deliberate 2018-02-20T02:10:28Z sigjuice: I like to have everything for offline use 2018-02-20T02:10:34Z nullniverse quit (Read error: Connection reset by peer) 2018-02-20T02:10:58Z Bike: fgrep? 2018-02-20T02:10:58Z emaczen: right a customized program to make searching faster instead of grepping 2018-02-20T02:11:01Z emaczen: write* 2018-02-20T02:11:36Z k-hos: get a better computer 2018-02-20T02:11:38Z k-hos: :> 2018-02-20T02:13:14Z smaster joined #lisp 2018-02-20T02:13:15Z sigjuice: k-hos I would like a better computer. It is not within my means at the moment :| 2018-02-20T02:17:47Z pierpa joined #lisp 2018-02-20T02:18:45Z aeth: you only need an SSD, not an entirely new computer 2018-02-20T02:19:06Z aeth: or is grep CPU-bound? 2018-02-20T02:20:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-20T02:21:54Z aeth: hmm... I get about 10% CPU usage when grepping for 'defmethod foo' (surprisingly, this exists! and defun foo also exists and is a lot more common!) 2018-02-20T02:24:49Z makomo quit (Ping timeout: 256 seconds) 2018-02-20T02:27:29Z sigjuice: yes. looks like a lot of 'defun foo', a lot of it in test code. 2018-02-20T02:27:49Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-20T02:27:50Z d4ryus1 joined #lisp 2018-02-20T02:27:50Z aeth: I hope they're all tests 2018-02-20T02:28:30Z sigjuice: time grep -sr 'defun foo' . => real 1m37.537s, user 0m33.024s, sys 0m8.682s 2018-02-20T02:29:34Z saki quit (Ping timeout: 260 seconds) 2018-02-20T02:30:13Z Cymew joined #lisp 2018-02-20T02:30:40Z d4ryus quit (Ping timeout: 240 seconds) 2018-02-20T02:34:54Z Cymew quit (Ping timeout: 256 seconds) 2018-02-20T02:36:29Z copec joined #lisp 2018-02-20T02:37:52Z saki joined #lisp 2018-02-20T02:42:39Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-20T02:44:16Z arescorpio quit (Excess Flood) 2018-02-20T02:45:23Z Arcaelyx joined #lisp 2018-02-20T02:45:57Z Kundry_Wag joined #lisp 2018-02-20T02:46:51Z pillton: Why do you frequently grep through all of the software? 2018-02-20T02:49:41Z ckonstanski quit (Remote host closed the connection) 2018-02-20T02:50:19Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-20T02:56:23Z rme: https://geoff.greer.fm/ag/ is a winner 2018-02-20T02:56:27Z rme: for searching code 2018-02-20T02:57:52Z milanj quit (Quit: This computer has gone to sleep) 2018-02-20T02:58:39Z smokeink joined #lisp 2018-02-20T02:58:48Z wmannis quit (Quit: wmannis) 2018-02-20T03:01:48Z pjb quit (Ping timeout: 252 seconds) 2018-02-20T03:03:34Z shrdlu68 joined #lisp 2018-02-20T03:03:57Z shrdlu68: Good morning, fellow sentient beings! 2018-02-20T03:05:40Z Kundry_Wag joined #lisp 2018-02-20T03:10:27Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-20T03:20:17Z DGASAU joined #lisp 2018-02-20T03:20:39Z learning_ joined #lisp 2018-02-20T03:26:26Z smokeink quit (Remote host closed the connection) 2018-02-20T03:27:26Z dieggsy quit (Ping timeout: 255 seconds) 2018-02-20T03:28:31Z rpg joined #lisp 2018-02-20T03:42:33Z sigjuice: pillton it is my way of trying to learn things 2018-02-20T03:44:15Z lambdastupid joined #lisp 2018-02-20T03:44:30Z lambdastupid: hello 2018-02-20T03:44:45Z lambdastupid: what is a good lisp project to contribute to? 2018-02-20T03:45:21Z aeth: What are your interests? 2018-02-20T03:46:18Z aeth: Desktop applications? Games? Web? Scripting? Something else? 2018-02-20T03:46:46Z sigjuice: rme you were not kidding! I known of ag since forever, but was never motivated to try it until now. thanks! 2018-02-20T03:49:45Z j0nd0e` quit (Remote host closed the connection) 2018-02-20T03:50:10Z smokeink joined #lisp 2018-02-20T03:52:25Z aeth: it is noticably faster than grep 2018-02-20T03:52:26Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-20T03:52:53Z aeth: How do you download all of quicklisp and how large is it? 2018-02-20T03:54:12Z sigjuice: aeth: ql-dist::(map nil 'ensure-installed (provided-releases (dist cl-user::name))) 2018-02-20T03:56:27Z sigjuice: my ~/quicklisp/dists/quicklisp/software/ directory is 1.3G. This includes all of the latest dist and some partial older dists. 2018-02-20T03:57:52Z aeth: That's not bad at all 2018-02-20T03:58:11Z pjb joined #lisp 2018-02-20T03:58:25Z aeth: Although I suspect the total size of everything on Quicklisp (not counting old versions) grows faster than linearly over time. 2018-02-20T03:58:35Z pjb is now known as Guest66869 2018-02-20T04:00:37Z sigjuice: I'm not so sure about that, but it should be easy to get the exact figures 2018-02-20T04:01:09Z aeth: There's no upper limit on libraries for doing the exact same thing, and there's plenty of justifications for new libraries. Especially performance. 2018-02-20T04:01:55Z aeth: I wouldn't be surprised if most libraries in Quicklisp couldn't be replaced by something considerably faster. 2018-02-20T04:03:19Z aeth: And the older projects will add features, tests, examples, documentation (hah), etc. 2018-02-20T04:04:22Z sigjuice: for my own petty needs, performance doesn't even make the list. I need things to 1. be correct 2. something I can understand easily 2018-02-20T04:05:42Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-02-20T04:05:46Z aeth: I've been experimenting with correctness. It seems to work well enough that I'll start slowly moving everything to this new style. 2018-02-20T04:06:36Z aeth: Verifying things *in* macros is neat. 2018-02-20T04:06:54Z aeth: Compile time errors rather than run time errors. 2018-02-20T04:11:29Z Bike: what exactly does this entail 2018-02-20T04:12:40Z lambdastupid quit (Ping timeout: 260 seconds) 2018-02-20T04:14:03Z shrdlu68: Where in the clhs is the documentation for the (defun (setf foo)... form? 2018-02-20T04:15:52Z Patternmaster joined #lisp 2018-02-20T04:16:06Z Bike: clhs defun 2018-02-20T04:16:06Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_defun.htm 2018-02-20T04:16:46Z Bike: "function-name---a function name." "function name n. 2. A symbol or a list (setf symbol)." 2018-02-20T04:17:08Z Bike: maybe you mean something else? like how setf functions are called in macroexpansions of setf? 2018-02-20T04:17:16Z aeth: Bike: Well, macros can only verify structural things and simple atoms, unfortunately, afaik. I can probably move more into compile time. A lot more. 2018-02-20T04:18:35Z aeth: Bike: But it basically entails possibly doubling the size of the code, and a runtime cost at startup (that I can't really notice) for the stuff that can't be checked at compile time. 2018-02-20T04:18:44Z Bike: i meant like 2018-02-20T04:18:48Z Bike: "what are you doing" 2018-02-20T04:18:57Z Bike: "can i see an example" 2018-02-20T04:19:29Z shrdlu68: Bike: I'm looking for where exactly one places the new place in the lambda list. 2018-02-20T04:19:37Z Bike: first 2018-02-20T04:20:06Z Bike: (setf (foo bar baz) v) => (funcall #'(setf foo) v bar baz) 2018-02-20T04:20:41Z aeth: Bike: Unfortunately, I'm nowhere near done yet. 2018-02-20T04:20:49Z Bike: oh 2018-02-20T04:21:34Z Kundry_Wag joined #lisp 2018-02-20T04:21:35Z shrdlu68: I see, thanks. 2018-02-20T04:22:06Z shrdlu68: I still don't know where exactly in the docs this info is, though. 2018-02-20T04:22:14Z Bike: one moment 2018-02-20T04:23:01Z Bike: clhs 5.1.2.9 2018-02-20T04:23:01Z specbot: Other Compound Forms as Places: http://www.lispworks.com/reference/HyperSpec/Body/05_abi.htm 2018-02-20T04:23:27Z schoppenhauer quit (Ping timeout: 240 seconds) 2018-02-20T04:23:44Z shrdlu68: Bike: thanks 2018-02-20T04:25:05Z Kundry_W_ joined #lisp 2018-02-20T04:25:10Z Kundry_Wag quit (Read error: Connection reset by peer) 2018-02-20T04:25:13Z raynold quit (Quit: Connection closed for inactivity) 2018-02-20T04:25:46Z schoppenhauer joined #lisp 2018-02-20T04:27:32Z wheelsucker quit (Quit: Client Quit) 2018-02-20T04:27:56Z daniel-s joined #lisp 2018-02-20T04:29:21Z Kundry_W_ quit (Ping timeout: 248 seconds) 2018-02-20T04:29:43Z ghostyyy is now known as ghostyy 2018-02-20T04:31:29Z wxie joined #lisp 2018-02-20T04:32:11Z drmeister: How do I indent in a format? (format t "~20IHello~%") is doing bupkis 2018-02-20T04:34:06Z drmeister: Uh - wait - turned off the pretty printer - trying again 2018-02-20T04:34:52Z Bike: clhs ~i 2018-02-20T04:34:52Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/22_cec.htm 2018-02-20T04:35:20Z Bike: oh, that's pprint logical block stuff 2018-02-20T04:35:21Z Bike: mysteries 2018-02-20T04:35:27Z Bike: i just use ~t like a fool 2018-02-20T04:35:50Z drmeister: clhs ~t 2018-02-20T04:35:50Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/22_cfa.htm 2018-02-20T04:37:02Z drmeister: (sigh) 2018-02-20T04:37:03Z drmeister: https://www.irccloud.com/pastebin/fEvLW0g1/ 2018-02-20T04:37:35Z Bike: uh... i dunno. 2018-02-20T04:38:04Z drmeister: It works in sbcl 2018-02-20T04:38:59Z Kundry_Wag joined #lisp 2018-02-20T04:39:24Z vlatkoB joined #lisp 2018-02-20T04:39:30Z Kevslinger quit (Quit: Connection closed for inactivity) 2018-02-20T04:39:42Z Guest66869 quit (Read error: Connection reset by peer) 2018-02-20T04:40:30Z drmeister: I don't know what Clasp is up to with that - it's all over the place 2018-02-20T04:41:35Z wxie quit (Remote host closed the connection) 2018-02-20T04:41:59Z drmeister: https://www.irccloud.com/pastebin/XoMaNpNF/ 2018-02-20T04:42:59Z Pixel_Outlaw quit (Quit: Leaving) 2018-02-20T04:43:10Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-20T04:43:43Z trocado quit (Ping timeout: 248 seconds) 2018-02-20T04:45:47Z Kundry_Wag joined #lisp 2018-02-20T04:46:29Z shrdlu68: (upgraded-array-element-type '(simple-array uint32 (2))) => T 2018-02-20T04:47:50Z pierpa: of course 2018-02-20T04:47:51Z shrdlu68: Subsequently, setfing to the array with a '(simple-array uint32 (2)) warns me that it's not of type T. 2018-02-20T04:48:01Z Bike: everything but numbers and characters will upgrade to T on every implementation i'm aware of 2018-02-20T04:48:05Z Bike: ...not of type T? what? 2018-02-20T04:48:10Z Bike: everything is of type t 2018-02-20T04:48:20Z Bike: paste the exact code or warning? 2018-02-20T04:48:54Z shrdlu68: Oh sorry, my bad. Don't know where that came from :) 2018-02-20T04:49:57Z shrdlu68: Let me start over. 2018-02-20T04:50:27Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-20T04:53:02Z rpg joined #lisp 2018-02-20T04:59:50Z shrdlu68: I was calling #'vector-push-extend with the wrong order of arguments, hence the type mismatch warnings. 2018-02-20T05:00:24Z Bike: oh, i see 2018-02-20T05:01:30Z Patternmaster quit (Quit: leaving) 2018-02-20T05:01:42Z Patternmaster joined #lisp 2018-02-20T05:04:03Z shifty quit (Ping timeout: 256 seconds) 2018-02-20T05:04:27Z sjl quit (Ping timeout: 240 seconds) 2018-02-20T05:05:47Z Kundry_Wag joined #lisp 2018-02-20T05:05:55Z ome joined #lisp 2018-02-20T05:08:21Z borei quit (Quit: Leaving.) 2018-02-20T05:10:48Z Kundry_Wag quit (Ping timeout: 268 seconds) 2018-02-20T05:18:04Z Kevslinger joined #lisp 2018-02-20T05:21:07Z Bike quit (Quit: Lost terminal) 2018-02-20T05:27:01Z Patternmaster quit (Quit: leaving) 2018-02-20T05:27:20Z Patternmaster joined #lisp 2018-02-20T05:30:04Z nika joined #lisp 2018-02-20T05:31:56Z nika quit (Client Quit) 2018-02-20T05:32:12Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-20T05:36:23Z beach: Good morning everyone! 2018-02-20T05:37:50Z smokeink: hey 2018-02-20T05:44:17Z kotrcka quit (Remote host closed the connection) 2018-02-20T05:45:48Z daniel-s quit (Remote host closed the connection) 2018-02-20T05:50:09Z nika joined #lisp 2018-02-20T05:53:09Z Patternmaster quit (Quit: leaving) 2018-02-20T05:53:33Z Patternmaster joined #lisp 2018-02-20T05:54:20Z pierpa quit (Quit: Page closed) 2018-02-20T05:55:25Z fikka joined #lisp 2018-02-20T05:55:36Z Oladon quit (Quit: Leaving.) 2018-02-20T05:58:44Z jack_rabbit: morning! 2018-02-20T05:59:08Z beach: Hello jack_rabbit. 2018-02-20T05:59:27Z jack_rabbit: how are you, beach? 2018-02-20T05:59:43Z beach: I am fine as usual. What about yourself? 2018-02-20T05:59:47Z jack_rabbit: Very good. 2018-02-20T06:00:24Z jack_rabbit: I had fun creating a proof-of-concept gopher server yesterday, and I've been tweaking it today. 2018-02-20T06:00:41Z beach: Congratulations! 2018-02-20T06:00:51Z jack_rabbit: Thanks. :) 2018-02-20T06:01:35Z fikka quit (Ping timeout: 240 seconds) 2018-02-20T06:01:49Z damke joined #lisp 2018-02-20T06:01:53Z aindilis quit (Ping timeout: 276 seconds) 2018-02-20T06:02:10Z learning_ quit (Remote host closed the connection) 2018-02-20T06:02:30Z jack_rabbit: Right now it serves up documents from RSS feeds, converting the HTML articles into plain-text. 2018-02-20T06:02:35Z jack_rabbit left #lisp 2018-02-20T06:02:41Z jack_rabbit joined #lisp 2018-02-20T06:02:49Z jack_rabbit: https://gopher.floodgap.com/gopher/gw?a=gopher%3A%2F%2Fknusbaum.com%2F 2018-02-20T06:04:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-20T06:17:28Z z3t0 joined #lisp 2018-02-20T06:19:59Z zaquest quit (Quit: Leaving) 2018-02-20T06:25:17Z zaquest joined #lisp 2018-02-20T06:27:28Z z3t0 quit (Remote host closed the connection) 2018-02-20T06:27:49Z z3t0 joined #lisp 2018-02-20T06:30:41Z fikka joined #lisp 2018-02-20T06:31:17Z kajo quit (Quit: WeeChat 2.0.1) 2018-02-20T06:32:11Z z3t0 quit (Remote host closed the connection) 2018-02-20T06:32:58Z rpg joined #lisp 2018-02-20T06:33:18Z LocaMocha joined #lisp 2018-02-20T06:33:48Z raynold joined #lisp 2018-02-20T06:33:51Z z3t0 joined #lisp 2018-02-20T06:34:22Z kajo joined #lisp 2018-02-20T06:34:45Z saki quit (Ping timeout: 265 seconds) 2018-02-20T06:35:35Z saki joined #lisp 2018-02-20T06:37:01Z learning joined #lisp 2018-02-20T06:38:23Z fikka quit (Ping timeout: 255 seconds) 2018-02-20T06:40:43Z Karl_Dscc joined #lisp 2018-02-20T06:41:23Z learning quit (Client Quit) 2018-02-20T06:45:08Z smokeink: jack_rabbit : some characters don't display well ' https://gopher.floodgap.com/gopher/gw?gopher://knusbaum.com:70/0/Technology/12 "it’s more likely ..." 2018-02-20T06:45:56Z jack_rabbit: smokeink, Yeah. I need to figure out how to handle this. 2018-02-20T06:46:17Z jack_rabbit: smokeink, There's a mix of encodings going on, and it's not always apparent which is which. 2018-02-20T06:49:09Z slyrus quit (Ping timeout: 260 seconds) 2018-02-20T06:53:37Z fikka joined #lisp 2018-02-20T06:56:28Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-20T06:58:39Z fikka quit (Ping timeout: 248 seconds) 2018-02-20T06:59:37Z fourier joined #lisp 2018-02-20T07:01:02Z mishoo joined #lisp 2018-02-20T07:04:09Z visof joined #lisp 2018-02-20T07:04:23Z fikka joined #lisp 2018-02-20T07:05:04Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-20T07:09:21Z fourier quit (Ping timeout: 248 seconds) 2018-02-20T07:10:46Z kotrcka joined #lisp 2018-02-20T07:12:29Z pagnol joined #lisp 2018-02-20T07:13:29Z Karl_Dscc quit (Remote host closed the connection) 2018-02-20T07:14:08Z nullman quit (Ping timeout: 268 seconds) 2018-02-20T07:14:13Z Kundry_Wag joined #lisp 2018-02-20T07:14:36Z nullman joined #lisp 2018-02-20T07:19:14Z Kundry_Wag quit (Ping timeout: 276 seconds) 2018-02-20T07:20:45Z visof quit (Ping timeout: 264 seconds) 2018-02-20T07:24:06Z ome quit (Quit: Connection closed for inactivity) 2018-02-20T07:28:34Z daniel-s joined #lisp 2018-02-20T07:29:46Z EvW joined #lisp 2018-02-20T07:30:15Z smokeink quit (Ping timeout: 256 seconds) 2018-02-20T07:31:15Z flamebeard joined #lisp 2018-02-20T07:32:46Z mingus joined #lisp 2018-02-20T07:34:10Z scymtym quit (Ping timeout: 240 seconds) 2018-02-20T07:34:34Z razzy: jack_rabbit: i very much like gopher :] 2018-02-20T07:34:58Z jack_rabbit: :) me too. 2018-02-20T07:35:45Z razzy: everything is file ideology :] 2018-02-20T07:35:49Z razzy: :D 2018-02-20T07:37:00Z razzy: and forced view structure is feature, not a bug, imho :] 2018-02-20T07:43:15Z fe[nl]ix: razzy: please don't misuse the word "ideology" 2018-02-20T07:43:38Z kajo quit (Ping timeout: 255 seconds) 2018-02-20T07:46:41Z fikka quit (Ping timeout: 248 seconds) 2018-02-20T07:47:49Z stacksmith quit (Ping timeout: 256 seconds) 2018-02-20T07:49:04Z z3t0 quit (Remote host closed the connection) 2018-02-20T07:55:39Z shrdlu68 quit (Ping timeout: 260 seconds) 2018-02-20T07:57:34Z shrdlu68 joined #lisp 2018-02-20T08:02:06Z phoe: oh 2018-02-20T08:02:12Z phoe: ELS deadline extended 2018-02-20T08:02:24Z phoe: does it mean that they are still looking for more papers? 2018-02-20T08:02:38Z loke: Don't they extend every year? 2018-02-20T08:03:36Z phoe: Why, though? 2018-02-20T08:03:44Z EvW quit (Ping timeout: 255 seconds) 2018-02-20T08:04:26Z beach: It has become a tradition for all CS conferences. 2018-02-20T08:04:29Z flip214: phoe: tradition 2018-02-20T08:04:30Z beach: So people now expect it. 2018-02-20T08:04:42Z smaster quit (Ping timeout: 268 seconds) 2018-02-20T08:04:53Z flip214: beach: that alone would be a good reason _not_ to do it, at least once ;) 2018-02-20T08:05:49Z rpg joined #lisp 2018-02-20T08:05:58Z beach: It would take some courage on the part of the program chair. 2018-02-20T08:07:32Z phoe: Hah, I see. 2018-02-20T08:08:03Z flip214: well, it's easy to chicken out a few days later (if there are too few papers, or too much protest) and say "just joking, ship 'em in", too 2018-02-20T08:08:26Z Cymew joined #lisp 2018-02-20T08:09:18Z phoe: "oh we actually extended but forgot to announce it" 2018-02-20T08:09:21Z phoe: (: 2018-02-20T08:10:38Z flip214: phoe: no, not exactly. In order to get people to submit sooner there has to be some negative point before... 2018-02-20T08:11:01Z flip214: actually it's much easier to announce a date a week earlier first, and then revise. 2018-02-20T08:11:59Z Murii joined #lisp 2018-02-20T08:12:15Z fikka joined #lisp 2018-02-20T08:12:43Z phoe: flip214: I see. 2018-02-20T08:13:00Z beach: So, maybe I should submit another paper. :) 2018-02-20T08:14:07Z pfdietz_ joined #lisp 2018-02-20T08:16:02Z pfdietz quit (Ping timeout: 256 seconds) 2018-02-20T08:16:56Z fikka quit (Ping timeout: 255 seconds) 2018-02-20T08:17:33Z Tobbi joined #lisp 2018-02-20T08:18:35Z phoe: beach: go for it! 2018-02-20T08:21:01Z shifty joined #lisp 2018-02-20T08:22:49Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-20T08:23:05Z orivej joined #lisp 2018-02-20T08:28:10Z fikka joined #lisp 2018-02-20T08:33:52Z milanj joined #lisp 2018-02-20T08:34:32Z marusich quit (Quit: Leaving) 2018-02-20T08:35:14Z scymtym joined #lisp 2018-02-20T08:41:01Z Hafeez joined #lisp 2018-02-20T08:48:19Z kotrcka quit (Remote host closed the connection) 2018-02-20T08:50:36Z smokeink joined #lisp 2018-02-20T08:55:15Z kotrcka joined #lisp 2018-02-20T08:55:49Z smokeink quit (Ping timeout: 256 seconds) 2018-02-20T08:55:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-20T08:56:20Z fikka joined #lisp 2018-02-20T09:00:36Z damke_ joined #lisp 2018-02-20T09:01:21Z fikka quit (Ping timeout: 248 seconds) 2018-02-20T09:02:14Z Hafeez quit (Quit: Leaving) 2018-02-20T09:03:21Z damke quit (Ping timeout: 264 seconds) 2018-02-20T09:03:55Z fikka joined #lisp 2018-02-20T09:04:18Z m00natic joined #lisp 2018-02-20T09:07:16Z mlf quit (Read error: Connection reset by peer) 2018-02-20T09:07:34Z hhdave joined #lisp 2018-02-20T09:08:00Z rstandy joined #lisp 2018-02-20T09:09:05Z fikka quit (Ping timeout: 276 seconds) 2018-02-20T09:11:45Z krwq: does anyone by any chance have mappings from linux's open flags to CL's open arguments (direction if-exists if-does-not-exist)? (or the other way) - I'm interested in all cases not a specific configuration 2018-02-20T09:12:30Z makomo joined #lisp 2018-02-20T09:14:24Z flip214: krwq: no easy relation. :supersede may involve a temp file and a rename, for example. :rename-and-delete likewise. 2018-02-20T09:15:42Z krwq: flip214: is there at least mostly working relation? 2018-02-20T09:16:10Z krwq: flip214: or any valid relation 2018-02-20T09:16:27Z flip214: I know of no such list. Perhaps SBCL or ECL sources can help, though. 2018-02-20T09:16:38Z scymtym quit (Ping timeout: 255 seconds) 2018-02-20T09:17:10Z flip214: krwq: but perhaps I can help better if you answer the question "what are you trying to achieve?" 2018-02-20T09:18:00Z krwq: flip214: implementing file system in CL - currently playing with fuse but may port to windows one day 2018-02-20T09:18:21Z krwq: I'm starting to look at sbcl right now but don't know this code base that much. This seems promising though: https://github.com/sbcl/sbcl/blob/master/src/code/fd-stream.lisp#L2342 2018-02-20T09:18:39Z krwq: although lisghtly longer than I hoped 2018-02-20T09:18:52Z krwq: slightly* 2018-02-20T09:22:56Z fikka joined #lisp 2018-02-20T09:23:11Z krwq: The goal is that I can eventually create something like *file-system* and could change open to use i.e. virtual file system or capture all system calls but also could mount the same virtual file system to a physical one 2018-02-20T09:23:33Z rpg joined #lisp 2018-02-20T09:25:51Z ebzzry_ quit (Ping timeout: 248 seconds) 2018-02-20T09:27:44Z schweers joined #lisp 2018-02-20T09:27:54Z schweers quit (Client Quit) 2018-02-20T09:28:13Z schweers joined #lisp 2018-02-20T09:28:40Z hhdave quit (Ping timeout: 240 seconds) 2018-02-20T09:31:38Z ebzzry_ joined #lisp 2018-02-20T09:35:56Z makomo quit (Ping timeout: 256 seconds) 2018-02-20T09:45:00Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-20T09:46:50Z krwq quit (Remote host closed the connection) 2018-02-20T09:48:58Z shrdlu68: I wish to create a function with a variable foo such that foo will refer to the current lexical binding. How do I achieve this, if possible? 2018-02-20T09:49:28Z shrdlu68: Not a closure - foo is undefined at the moment of creation. 2018-02-20T09:49:56Z shrdlu68: And not a special variable - foo does not have a global binding. 2018-02-20T09:51:07Z heisig joined #lisp 2018-02-20T09:51:08Z shrdlu68: I fear I do not make much sense. 2018-02-20T09:55:25Z lieven: shrdlu68: a macro refering to foo might be the easiest way 2018-02-20T10:01:37Z scymtym joined #lisp 2018-02-20T10:01:52Z shrdlu68: lieven: I can't quite figure out what the expansion would look like. 2018-02-20T10:02:48Z makomo joined #lisp 2018-02-20T10:04:20Z shrdlu68: Hmm, perhaps &environment? 2018-02-20T10:04:33Z flip214: shrdlu68: "lexical binding" is a term used during the compilation process. during runtime you don't "see" that any more. 2018-02-20T10:04:39Z lieven: nah. that's something else. 2018-02-20T10:04:53Z flip214: (unless you compile that knowledge in, see the various macros in let-over-lambda) 2018-02-20T10:04:56Z lieven: say you we're going to call your function returning lexical foo 2018-02-20T10:05:14Z lieven: just put all the code that uses the result of that function into a macro 2018-02-20T10:05:18Z Kaisyu quit (Quit: Connection closed for inactivity) 2018-02-20T10:06:57Z beach: shrdlu68: Can you give an example of use case for what you want? 2018-02-20T10:07:34Z shrdlu68: flip214: To be clear: (defun foo (a) (+ a b)). "b" here is undefined. How do I make it refer to whatever b is lexically bound where #'foo is called? 2018-02-20T10:07:44Z rstandy` joined #lisp 2018-02-20T10:07:59Z beach: shrdlu68: You can't. 2018-02-20T10:08:09Z rstandy quit (Ping timeout: 264 seconds) 2018-02-20T10:08:27Z beach: shrdlu68: Luckily. 2018-02-20T10:08:43Z beach: shrdlu68: If you could do that, no significant compiler optimization would be possible. 2018-02-20T10:09:04Z shrdlu68: I've never seen it done, admittedly. 2018-02-20T10:10:39Z orivej quit (Ping timeout: 248 seconds) 2018-02-20T10:11:04Z beach: The immediate question that comes to mind is "why on earth would you want to do such a thing?" 2018-02-20T10:13:27Z jibanes quit (Ping timeout: 256 seconds) 2018-02-20T10:14:20Z shrdlu68: beach: Trying to use custom hash table test and hash function. SBCL requires that the test be created beforehand, and a hash function registered with sb-ext:define-hash-table-test. 2018-02-20T10:15:08Z rstandy`` joined #lisp 2018-02-20T10:15:23Z jibanes joined #lisp 2018-02-20T10:15:43Z Kundry_Wag joined #lisp 2018-02-20T10:16:46Z beach: I don't see the connection. It is not important I guess. 2018-02-20T10:16:57Z shrdlu68: In the test function, I refer to an object that is available later when the hash table is being created. I could simply declare this object special and be done with it. 2018-02-20T10:17:27Z shrdlu68: But I thought I'd try something clever. 2018-02-20T10:18:38Z rstandy` quit (Ping timeout: 276 seconds) 2018-02-20T10:19:33Z nopf quit (Ping timeout: 264 seconds) 2018-02-20T10:19:51Z beach: OK, here is an example of why this is a terrible idea: Say you call MAPCAR with some function F defined like you want, so (defun f (a) (+ a b)). You call MAPCAR from a function G that defines the lexical binding for B, so you think you will bet that value in F. Unfortunately, MAPCAR also has a lexical binding B, so you get the wrong value. 2018-02-20T10:20:27Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-20T10:20:30Z beach: Pretty much all software would break randomly if this mechanism were possible. 2018-02-20T10:21:34Z lieven: some languages have similar mechanisms 2018-02-20T10:21:49Z shrdlu68: I see. 2018-02-20T10:21:52Z beach: Well, we have special variables for that purpose. 2018-02-20T10:22:11Z hhdave joined #lisp 2018-02-20T10:22:17Z shrdlu68: Alternatively, I could create the hash test and function after the object is available, making the tests closures. 2018-02-20T10:25:48Z shrdlu68: beach: Still, isn't it possible to see b being created in mapcar and "shadow" the value of b? 2018-02-20T10:26:03Z loke: shrdlu68: Now I know what your nick is all about :-) 2018-02-20T10:26:39Z beach: shrdlu68: Yes, and so all software that calls MAPCAR would have to know how the person implementing it decided to name the lexical variables. 2018-02-20T10:27:05Z beach: shrdlu68: And that choice would be different in different implementations, making portable software impossible. 2018-02-20T10:30:02Z TMA: the really old lisps had it that way, because they did not have lexical binding at all 2018-02-20T10:30:10Z beach: Indeed. 2018-02-20T10:30:18Z shrdlu68: loke: Terry Winograd's blocks-building natural language understanding program, or a linotype that gains sentience in some SF short story. 2018-02-20T10:30:58Z beach: shrdlu68: It is just the relative frequency of letters in English ETAOINSHRDLU. 2018-02-20T10:31:42Z shrdlu68: beach: That too. 2018-02-20T10:33:09Z loke: I assumed it was the AI project 2018-02-20T10:33:13Z shrdlu68: beach: I can't help but think: this ought to work, somewhow, by the same mechanism that dynamic variable work. Anyway, I probably need to to give all this some more thought. 2018-02-20T10:33:32Z pjb joined #lisp 2018-02-20T10:33:39Z nika quit (Quit: Leaving...) 2018-02-20T10:33:40Z loke: There is some effort being done right now in resurrecting that piece of software. It's complicacated as it's using a bunch of ad-hoc hardware 2018-02-20T10:33:42Z beach: shrdlu68: It can't work. 2018-02-20T10:33:54Z loke: It was discussed last week on the ITS hackers mailinglist. 2018-02-20T10:33:56Z pjb is now known as Guest79007 2018-02-20T10:34:33Z beach: shrdlu68: When the compiler compiles a function, it turns lexical variables into registers and stack locations. The name is lost for all purposes except debugging. 2018-02-20T10:35:00Z Guest79007 quit (Remote host closed the connection) 2018-02-20T10:35:16Z pjb` joined #lisp 2018-02-20T10:35:53Z visof joined #lisp 2018-02-20T10:35:53Z visof quit (Changing host) 2018-02-20T10:35:53Z visof joined #lisp 2018-02-20T10:36:37Z visof quit (Client Quit) 2018-02-20T10:38:46Z pjb` is now known as pjb 2018-02-20T10:45:45Z rpg joined #lisp 2018-02-20T10:52:31Z scymtym quit (Remote host closed the connection) 2018-02-20T10:53:28Z scymtym joined #lisp 2018-02-20T10:55:56Z oystewh joined #lisp 2018-02-20T10:57:14Z _cosmonaut_ joined #lisp 2018-02-20T10:58:51Z Baggers joined #lisp 2018-02-20T11:01:58Z damke joined #lisp 2018-02-20T11:05:09Z damke_ quit (Ping timeout: 264 seconds) 2018-02-20T11:07:17Z rstandy`` left #lisp 2018-02-20T11:09:14Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-20T11:13:09Z d4ryus1 is now known as d4ryus 2018-02-20T11:14:50Z raynold quit (Quit: Connection closed for inactivity) 2018-02-20T11:15:45Z figurehe4d quit (Remote host closed the connection) 2018-02-20T11:24:09Z nirved joined #lisp 2018-02-20T11:24:18Z logos002 joined #lisp 2018-02-20T11:26:49Z Amplituhedron joined #lisp 2018-02-20T11:27:03Z razzy: fe[nl]ix: my use of ideology was well justified imho? 2018-02-20T11:29:02Z attila_lendvai joined #lisp 2018-02-20T11:29:02Z attila_lendvai quit (Changing host) 2018-02-20T11:29:02Z attila_lendvai joined #lisp 2018-02-20T11:31:55Z ludston_ quit (Read error: Connection reset by peer) 2018-02-20T11:32:05Z markong joined #lisp 2018-02-20T11:32:38Z ludston joined #lisp 2018-02-20T11:33:45Z Kundry_Wag joined #lisp 2018-02-20T11:34:54Z python476 joined #lisp 2018-02-20T11:38:03Z karswell quit (Remote host closed the connection) 2018-02-20T11:38:25Z karswell_ joined #lisp 2018-02-20T11:38:27Z saki quit (Ping timeout: 256 seconds) 2018-02-20T11:39:34Z saki joined #lisp 2018-02-20T11:42:20Z tfb: shrdlu68: note that you can use dynamic variables without requiring global bindings 2018-02-20T11:43:12Z tfb: (or, rather, toplevel bindings) 2018-02-20T11:46:02Z shrdlu68: tfb: Understood. 2018-02-20T11:52:15Z Chream_ quit (Ping timeout: 256 seconds) 2018-02-20T11:54:13Z milanj quit (Read error: Connection reset by peer) 2018-02-20T11:54:35Z EvW1 joined #lisp 2018-02-20T11:56:06Z EvW1 quit (Remote host closed the connection) 2018-02-20T11:58:18Z nowhereman_ joined #lisp 2018-02-20T12:01:34Z nowhere_man quit (Ping timeout: 256 seconds) 2018-02-20T12:02:05Z milanj joined #lisp 2018-02-20T12:03:24Z Kundry_Wag quit (Remote host closed the connection) 2018-02-20T12:08:04Z Kundry_Wag joined #lisp 2018-02-20T12:08:33Z malm quit (Ping timeout: 248 seconds) 2018-02-20T12:09:05Z milanj quit (Read error: Connection reset by peer) 2018-02-20T12:10:09Z rpg joined #lisp 2018-02-20T12:10:44Z malm joined #lisp 2018-02-20T12:11:33Z karswell_ quit (Remote host closed the connection) 2018-02-20T12:12:22Z Kaisyu joined #lisp 2018-02-20T12:12:45Z karswell_ joined #lisp 2018-02-20T12:14:30Z dcluna quit (Read error: Connection reset by peer) 2018-02-20T12:15:05Z malm quit (Ping timeout: 240 seconds) 2018-02-20T12:16:00Z pchrist quit (Quit: leaving) 2018-02-20T12:16:02Z malm joined #lisp 2018-02-20T12:16:43Z pchrist joined #lisp 2018-02-20T12:17:35Z jmercouris joined #lisp 2018-02-20T12:19:28Z dcluna joined #lisp 2018-02-20T12:20:14Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-20T12:21:06Z quazimodo quit (Read error: Connection reset by peer) 2018-02-20T12:22:05Z ebzzry_ quit (Ping timeout: 256 seconds) 2018-02-20T12:22:12Z logos002 quit (Remote host closed the connection) 2018-02-20T12:24:39Z Bike joined #lisp 2018-02-20T12:24:43Z quazimodo joined #lisp 2018-02-20T12:29:35Z oystewh quit (Quit: .) 2018-02-20T12:30:18Z malm quit (Ping timeout: 240 seconds) 2018-02-20T12:30:20Z surya joined #lisp 2018-02-20T12:30:49Z smokeink joined #lisp 2018-02-20T12:33:02Z cods quit (Quit: couic) 2018-02-20T12:33:48Z ebzzry_ joined #lisp 2018-02-20T12:33:59Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-20T12:35:32Z jmercouris quit (Ping timeout: 255 seconds) 2018-02-20T12:35:49Z _paul0 joined #lisp 2018-02-20T12:37:57Z paul0 quit (Ping timeout: 256 seconds) 2018-02-20T12:40:13Z milanj joined #lisp 2018-02-20T12:41:27Z _paul0 quit (Ping timeout: 240 seconds) 2018-02-20T12:41:56Z malm joined #lisp 2018-02-20T12:42:41Z paul0 joined #lisp 2018-02-20T12:43:45Z cods joined #lisp 2018-02-20T12:46:20Z _paul0 joined #lisp 2018-02-20T12:47:55Z jmercouris joined #lisp 2018-02-20T12:48:57Z paul0 quit (Ping timeout: 240 seconds) 2018-02-20T12:51:22Z paul0 joined #lisp 2018-02-20T12:53:27Z _paul0 quit (Ping timeout: 240 seconds) 2018-02-20T12:57:09Z Chream joined #lisp 2018-02-20T12:57:46Z _paul0 joined #lisp 2018-02-20T12:58:52Z paul0 quit (Ping timeout: 260 seconds) 2018-02-20T12:59:57Z rpg joined #lisp 2018-02-20T13:00:31Z Murii is now known as rope 2018-02-20T13:01:07Z rope is now known as Murii 2018-02-20T13:01:30Z __paul0 joined #lisp 2018-02-20T13:02:07Z rpg quit (Client Quit) 2018-02-20T13:04:23Z _paul0 quit (Ping timeout: 276 seconds) 2018-02-20T13:06:48Z Bike quit (Quit: Lost terminal) 2018-02-20T13:09:53Z __paul0 quit (Ping timeout: 256 seconds) 2018-02-20T13:12:20Z jtroseme joined #lisp 2018-02-20T13:12:45Z Kundry_Wag quit (Remote host closed the connection) 2018-02-20T13:14:16Z Kundry_Wag joined #lisp 2018-02-20T13:20:39Z nullman quit (Ping timeout: 256 seconds) 2018-02-20T13:21:28Z nullman joined #lisp 2018-02-20T13:24:30Z daniel-s quit (Remote host closed the connection) 2018-02-20T13:25:44Z smokitchevsky__ joined #lisp 2018-02-20T13:26:54Z smokitchevsky__ quit (Client Quit) 2018-02-20T13:32:32Z Chream_ joined #lisp 2018-02-20T13:36:43Z Trystam joined #lisp 2018-02-20T13:37:05Z dotc quit (Ping timeout: 248 seconds) 2018-02-20T13:37:08Z dieggsy joined #lisp 2018-02-20T13:38:47Z Tristam quit (Ping timeout: 256 seconds) 2018-02-20T13:39:07Z Trystam is now known as Tristam 2018-02-20T13:39:26Z dotc joined #lisp 2018-02-20T13:43:28Z saki quit (Remote host closed the connection) 2018-02-20T13:44:29Z smokeink quit (Ping timeout: 268 seconds) 2018-02-20T13:44:36Z saki joined #lisp 2018-02-20T13:46:11Z wigust joined #lisp 2018-02-20T13:53:45Z Amplituhedron quit (Quit: Konversation terminated!) 2018-02-20T13:55:43Z ludston quit (Quit: -a- Connection Timed Out) 2018-02-20T13:55:59Z ludston joined #lisp 2018-02-20T13:57:31Z Baggers left #lisp 2018-02-20T14:02:52Z rpg joined #lisp 2018-02-20T14:02:54Z Bike joined #lisp 2018-02-20T14:04:00Z pjb quit (Remote host closed the connection) 2018-02-20T14:04:47Z schweers: Does anyone know why https://cliki.net/Current%20recommended%20libraries lists chanl but not calispel? 2018-02-20T14:05:03Z schweers: i.e. is there anything wrong with calispel? 2018-02-20T14:06:21Z Bike: my first guess would just be that nobody's added it 2018-02-20T14:07:09Z schweers: That thought has crossed my mind, but I wanted to know if there is some other reason 2018-02-20T14:08:43Z Shinmera: schweers: It's a public wiki. Add it yourself. 2018-02-20T14:10:38Z LocaMocha quit (Ping timeout: 255 seconds) 2018-02-20T14:14:51Z __rumbler31 joined #lisp 2018-02-20T14:15:25Z pagnol quit (Ping timeout: 256 seconds) 2018-02-20T14:17:09Z shifty quit (Ping timeout: 264 seconds) 2018-02-20T14:17:23Z orivej joined #lisp 2018-02-20T14:22:49Z LocaMocha joined #lisp 2018-02-20T14:24:32Z jstypo quit (Read error: Connection reset by peer) 2018-02-20T14:28:45Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-20T14:31:14Z pjb joined #lisp 2018-02-20T14:36:50Z fikka quit (Ping timeout: 256 seconds) 2018-02-20T14:38:28Z fikka joined #lisp 2018-02-20T14:38:30Z Xach: schweers: I think one way to get good info is to convince sabrac to do a survey 2018-02-20T14:38:43Z Shinmera: Heh 2018-02-20T14:38:44Z schweers: who? 2018-02-20T14:39:00Z Shinmera: https://sites.google.com/site/sabraonthehill/ 2018-02-20T14:39:55Z Xach: schweers: sabra has done nice surveys of Lisp libraries where there are many choices 2018-02-20T14:40:22Z schweers: I see. While this may not exactly answer my question, it does seem interesting. Thanks! 2018-02-20T14:40:53Z DonVlad joined #lisp 2018-02-20T14:40:54Z warweasle joined #lisp 2018-02-20T14:41:23Z jstypo joined #lisp 2018-02-20T14:43:45Z ebzzry_ quit (Ping timeout: 256 seconds) 2018-02-20T14:44:20Z fikka quit (Ping timeout: 252 seconds) 2018-02-20T14:45:27Z ebzzry_ joined #lisp 2018-02-20T14:45:36Z Amplituhedron joined #lisp 2018-02-20T14:46:16Z Amplituhedron quit (Client Quit) 2018-02-20T14:48:39Z saki quit (Ping timeout: 260 seconds) 2018-02-20T14:49:48Z EvW joined #lisp 2018-02-20T14:50:29Z xuxuru joined #lisp 2018-02-20T14:51:38Z ebzzry_ quit (Ping timeout: 276 seconds) 2018-02-20T14:56:37Z fikka joined #lisp 2018-02-20T14:58:04Z ebzzry_ joined #lisp 2018-02-20T15:02:27Z ebzzry_ quit (Ping timeout: 256 seconds) 2018-02-20T15:02:27Z makomo quit (Ping timeout: 256 seconds) 2018-02-20T15:02:36Z vaporatorius quit (Quit: Leaving) 2018-02-20T15:03:01Z shrdlu68 quit (Ping timeout: 256 seconds) 2018-02-20T15:03:52Z pagnol joined #lisp 2018-02-20T15:04:57Z ebzzry_ joined #lisp 2018-02-20T15:06:37Z Kundry_Wag quit (Remote host closed the connection) 2018-02-20T15:07:33Z eschatologist quit (Ping timeout: 264 seconds) 2018-02-20T15:09:35Z rippa joined #lisp 2018-02-20T15:09:57Z eschatologist joined #lisp 2018-02-20T15:10:47Z varjag joined #lisp 2018-02-20T15:12:08Z saki joined #lisp 2018-02-20T15:12:19Z moei joined #lisp 2018-02-20T15:13:11Z Chream_ quit (Read error: Connection reset by peer) 2018-02-20T15:13:27Z Chream_ joined #lisp 2018-02-20T15:13:31Z BitPuffin joined #lisp 2018-02-20T15:14:45Z fikka quit (Ping timeout: 264 seconds) 2018-02-20T15:15:03Z mareskeg joined #lisp 2018-02-20T15:15:53Z mareskeg quit (Client Quit) 2018-02-20T15:16:37Z karswell_ quit (Ping timeout: 256 seconds) 2018-02-20T15:17:54Z fikka joined #lisp 2018-02-20T15:22:51Z fikka quit (Ping timeout: 256 seconds) 2018-02-20T15:28:25Z jmercouris quit (Remote host closed the connection) 2018-02-20T15:28:40Z jmercouris joined #lisp 2018-02-20T15:29:22Z rpg joined #lisp 2018-02-20T15:30:58Z jmercouris: Can anyone think of a good way to "symlink" a snippet of a file? 2018-02-20T15:31:21Z jmercouris: I have one file that I want the content to appear in two places 2018-02-20T15:31:28Z Shinmera: Invent a new file system? 2018-02-20T15:31:32Z jmercouris: Lol 2018-02-20T15:31:51Z jmercouris: The only thing I can think of right now is reading in the other file and evaluating it, but that feels extremely wrong 2018-02-20T15:32:01Z fikka joined #lisp 2018-02-20T15:32:14Z Bike: if you want some content to appear in two files you'll need to put a copy of the content in each file 2018-02-20T15:32:16Z Bike: that's about all there is 2018-02-20T15:32:22Z Bike: no idea about "evaluating" 2018-02-20T15:32:41Z jmercouris: One file is a lisp file that is "compiled", so I can have it spit out whatever I want 2018-02-20T15:32:45Z jdz: Sounds very much like the original idea of HyperText. 2018-02-20T15:32:47Z jmercouris: ah, I'm not explaining this well at all 2018-02-20T15:32:57Z jamessmith joined #lisp 2018-02-20T15:33:18Z jmercouris: I don't want to have to manually copy and paste, I could just make it part of my "build" process though 2018-02-20T15:33:31Z jmercouris: I think that will have to do for now 2018-02-20T15:33:40Z jmercouris: it's less fragile that way anyway 2018-02-20T15:33:45Z Shinmera: I don't know of any file system that allows displacement. 2018-02-20T15:33:53Z Shinmera: So I was serious. 2018-02-20T15:34:06Z jmercouris: I'm also not aware of any such filesystem 2018-02-20T15:34:12Z jmercouris: and I'm not ready to switch the main file system on my OS 2018-02-20T15:34:27Z jmercouris: but there are ways to kind of "ensure" that content is synchronized between two files other than file system level things 2018-02-20T15:34:27Z Shinmera: Don't need to switch the main FS. There's FUSE. 2018-02-20T15:34:31Z Bike: that would be kind of a stupid requirement for a software project 2018-02-20T15:34:34Z jmercouris: I don't mean I want an actual symlink 2018-02-20T15:34:37Z Bike: "Build: install ReiserFS" 2018-02-20T15:34:58Z jmercouris: Bike: I agree 2018-02-20T15:35:12Z jmercouris: It'd be hard to get people to set it up for sure :D 2018-02-20T15:35:25Z Kundry_Wag joined #lisp 2018-02-20T15:35:30Z hiroaki joined #lisp 2018-02-20T15:35:37Z jmercouris: well, let me describe my problem, I have a manual file, which is contained in my main repository 2018-02-20T15:35:46Z jmercouris: I woudl like to use this manual file during the construction of my static site 2018-02-20T15:36:06Z jmercouris: Unfortunately I have to do some processing to this file to prepare for consumption by the static site generator 2018-02-20T15:36:22Z jmercouris: I can either 1. modify the static site generator or 2. process the file and copy it from the main repository every time I export my site 2018-02-20T15:36:27Z jmercouris: I am leaning towards option 2 at the moment 2018-02-20T15:36:51Z jmercouris: "manual file" is an *.org file that contains a manual on how to use my software 2018-02-20T15:37:08Z mareskeg joined #lisp 2018-02-20T15:37:10Z Shinmera: If you need to change the contents anyway why would you need displacement? 2018-02-20T15:37:30Z jmercouris: I don't have to change the contents of the file, I just have to put a header onto it for the static site generator 2018-02-20T15:37:57Z jmercouris: I just have to put :post-content markup=org at the top of the file 2018-02-20T15:38:06Z jmercouris: I'm prepending, not changing 2018-02-20T15:38:37Z jmercouris: my templating system is too rigid, it should support just plain org files, maybe I should change the site generator 2018-02-20T15:39:24Z TMA: if your site generator needs a file (as opposed to a stream) you are probably out of luck 2018-02-20T15:39:29Z fikka quit (Ping timeout: 256 seconds) 2018-02-20T15:39:38Z jmercouris: it does need a file, unfortunately 2018-02-20T15:39:50Z jmercouris: it is a piece of software I forked, I have a lot of changes I would like to make to it 2018-02-20T15:40:07Z Shinmera: And it's not in Lisp, I presume 2018-02-20T15:40:11Z jmercouris: It is in lisp 2018-02-20T15:40:23Z Kundry_Wag quit (Ping timeout: 276 seconds) 2018-02-20T15:40:26Z Shinmera: Changing it to accept streams should be trivial then 2018-02-20T15:40:36Z jmercouris: maybe, I haven't looked into that 2018-02-20T15:40:39Z jmercouris: the code is a little spaghetti 2018-02-20T15:40:45Z Shinmera: :/ 2018-02-20T15:40:49Z jdz: Which code isn't? 2018-02-20T15:41:03Z Shinmera: simple code 2018-02-20T15:41:06Z TMA: jmercouris: then you'd use a concatenated-stream 2018-02-20T15:41:09Z jmercouris: https://github.com/next-browser/site-generator 2018-02-20T15:42:10Z jmercouris: I've been at the point several times where I've felt like just rewriting the software from scratch, but I think it's a good exercise to slowly refactor it instead 2018-02-20T15:42:25Z jmercouris: it more mimics what has to happen with real software in a production environment 2018-02-20T15:43:28Z jmercouris: TMA: I tried look in the CLHS for concatenated-stream and it wasn't a very helpful description :D http://www.lispworks.com/documentation/lw50/CLHS/Body/26_glo_c.htm#concatenated_stream 2018-02-20T15:43:36Z jmercouris: TMA: can you please describe it briefly? 2018-02-20T15:43:48Z makomo joined #lisp 2018-02-20T15:44:13Z Shinmera: Make a concatenated stream consisting of a string-input-stream (of your header), and the file stream. 2018-02-20T15:44:35Z jmercouris: Aha, that's why you asked about streams 2018-02-20T15:44:42Z jmercouris: That is a clever solution 2018-02-20T15:45:13Z jmercouris: Ok, let me try to figure out how much work that will be to convert this software, and then I can try to implement that 2018-02-20T15:45:55Z jmercouris: thanks for the ideas 2018-02-20T15:46:28Z Amplituhedron joined #lisp 2018-02-20T15:47:47Z mareskeg quit (Quit: mareskeg) 2018-02-20T15:48:08Z Arcaelyx joined #lisp 2018-02-20T15:49:32Z sjl joined #lisp 2018-02-20T15:50:50Z dddddd joined #lisp 2018-02-20T15:53:33Z stacksmith joined #lisp 2018-02-20T15:53:52Z attila_lendvai quit (Ping timeout: 260 seconds) 2018-02-20T15:56:41Z mareskeg joined #lisp 2018-02-20T15:56:59Z Kundry_Wag joined #lisp 2018-02-20T15:57:21Z kark quit (Ping timeout: 265 seconds) 2018-02-20T15:59:15Z jtroseme quit (Quit: Leaving) 2018-02-20T15:59:17Z _cosmonaut_ quit (Ping timeout: 265 seconds) 2018-02-20T15:59:20Z Amplituhedron quit (Ping timeout: 276 seconds) 2018-02-20T16:01:51Z surya_ joined #lisp 2018-02-20T16:02:12Z Cymew quit (Remote host closed the connection) 2018-02-20T16:03:31Z surya_ quit (Client Quit) 2018-02-20T16:06:16Z fikka joined #lisp 2018-02-20T16:06:18Z mareskeg quit (Quit: mareskeg) 2018-02-20T16:07:48Z mareskeg joined #lisp 2018-02-20T16:10:04Z orivej_ joined #lisp 2018-02-20T16:10:08Z orivej quit (Ping timeout: 248 seconds) 2018-02-20T16:11:12Z jamessmith quit (Quit: Leaving) 2018-02-20T16:12:05Z mareskeg quit (Client Quit) 2018-02-20T16:16:41Z Kundry_Wag quit (Remote host closed the connection) 2018-02-20T16:18:13Z heisig quit (Quit: Leaving) 2018-02-20T16:20:31Z surya quit (Remote host closed the connection) 2018-02-20T16:21:05Z Kundry_Wag joined #lisp 2018-02-20T16:21:06Z mareskeg joined #lisp 2018-02-20T16:22:58Z al-damiri joined #lisp 2018-02-20T16:23:05Z drewc quit (Ping timeout: 240 seconds) 2018-02-20T16:26:31Z rpg quit (Quit: Textual IRC Client: www.textualapp.com) 2018-02-20T16:26:59Z EvW quit (Ping timeout: 255 seconds) 2018-02-20T16:30:57Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-20T16:35:32Z Khisanth quit (Ping timeout: 265 seconds) 2018-02-20T16:41:35Z MetaYan quit (Ping timeout: 240 seconds) 2018-02-20T16:42:18Z wheelsucker joined #lisp 2018-02-20T16:42:36Z MetaYan joined #lisp 2018-02-20T16:44:08Z Denommus joined #lisp 2018-02-20T16:45:14Z csaurus joined #lisp 2018-02-20T16:45:16Z m00natic quit (Remote host closed the connection) 2018-02-20T16:45:38Z allm7ght joined #lisp 2018-02-20T16:46:03Z drewc joined #lisp 2018-02-20T16:48:44Z Chream_ quit (Ping timeout: 256 seconds) 2018-02-20T16:48:46Z Khisanth joined #lisp 2018-02-20T16:50:51Z mareskeg quit (Quit: mareskeg) 2018-02-20T16:51:08Z Amplituhedron joined #lisp 2018-02-20T16:53:27Z xuxuru quit (Quit: xuxuru) 2018-02-20T16:54:03Z Amplituhedron quit (Read error: Connection reset by peer) 2018-02-20T16:54:12Z Kundry_Wag quit (Remote host closed the connection) 2018-02-20T16:55:41Z Kundry_Wag joined #lisp 2018-02-20T16:56:26Z dieggsy quit (Ping timeout: 276 seconds) 2018-02-20T16:57:17Z flamebeard quit (Quit: Leaving) 2018-02-20T16:57:23Z Kundry_Wag quit (Remote host closed the connection) 2018-02-20T16:59:44Z allm7ght quit (Ping timeout: 260 seconds) 2018-02-20T17:00:16Z Kundry_Wag joined #lisp 2018-02-20T17:05:35Z fikka quit (Ping timeout: 240 seconds) 2018-02-20T17:06:03Z Karl_Dscc joined #lisp 2018-02-20T17:06:07Z jasom: minion: memo for drmeister: besides cl-yacc, by memory there is zebu, yalalr, and and buffalo; yalalr wraps a LALR parser that someone else wrote to give it a yacc-like workflow. 2018-02-20T17:06:08Z minion: Remembered. I'll tell drmeister when he/she/it next speaks. 2018-02-20T17:06:16Z saki quit (Remote host closed the connection) 2018-02-20T17:09:53Z pjb: jmercouris: have a look at com.informatimago.common-lisp.cesarum.utility:include-file 2018-02-20T17:10:57Z Kundry_Wag quit (Remote host closed the connection) 2018-02-20T17:11:36Z Kundry_Wag joined #lisp 2018-02-20T17:13:49Z ghard quit (Remote host closed the connection) 2018-02-20T17:13:54Z pjb: jmercouris: try: (documentation 'com.informatimago.common-lisp.cesarum.utility:include-file 'function) 2018-02-20T17:13:55Z sjl quit (Ping timeout: 256 seconds) 2018-02-20T17:14:49Z saki joined #lisp 2018-02-20T17:18:19Z sjl joined #lisp 2018-02-20T17:19:14Z fikka joined #lisp 2018-02-20T17:20:26Z reg2 joined #lisp 2018-02-20T17:25:42Z EvW1 joined #lisp 2018-02-20T17:27:14Z reg2 quit (Quit: Page closed) 2018-02-20T17:29:25Z schweers quit (Ping timeout: 256 seconds) 2018-02-20T17:29:47Z fikka quit (Ping timeout: 256 seconds) 2018-02-20T17:30:57Z fikka joined #lisp 2018-02-20T17:33:35Z crsc quit (Quit: leaving) 2018-02-20T17:35:18Z Kaisyu quit (Quit: Connection closed for inactivity) 2018-02-20T17:38:11Z LiamH joined #lisp 2018-02-20T17:39:55Z crsc joined #lisp 2018-02-20T17:41:00Z hhdave quit (Ping timeout: 256 seconds) 2018-02-20T17:46:46Z smurfrobot quit (Remote host closed the connection) 2018-02-20T17:48:05Z hiroaki quit (Quit: Leaving) 2018-02-20T17:51:28Z Kundry_Wag quit (Remote host closed the connection) 2018-02-20T17:55:19Z smurfrobot joined #lisp 2018-02-20T17:55:43Z orivej_ quit (Ping timeout: 248 seconds) 2018-02-20T17:59:52Z smurfrobot quit (Ping timeout: 260 seconds) 2018-02-20T18:01:31Z pagnol quit (Ping timeout: 256 seconds) 2018-02-20T18:01:39Z lnostdal quit (Remote host closed the connection) 2018-02-20T18:02:37Z Cymew joined #lisp 2018-02-20T18:02:49Z smaster joined #lisp 2018-02-20T18:02:51Z pagnol joined #lisp 2018-02-20T18:05:56Z Kundry_Wag joined #lisp 2018-02-20T18:07:11Z Cymew quit (Ping timeout: 255 seconds) 2018-02-20T18:07:16Z Kundry_Wag quit (Remote host closed the connection) 2018-02-20T18:08:19Z pagnol quit (Ping timeout: 256 seconds) 2018-02-20T18:08:48Z Cymew joined #lisp 2018-02-20T18:09:30Z jmercouris: pjb: an interesting idea, but I don't want to read sexps unfortunately, they are in org mode format, thanks for the link though 2018-02-20T18:12:42Z chiyosaki joined #lisp 2018-02-20T18:12:47Z saki quit (Ping timeout: 248 seconds) 2018-02-20T18:13:29Z Cymew quit (Ping timeout: 255 seconds) 2018-02-20T18:14:03Z pjb: jmercouris: you can always use the c pre-processor or some other pre-processor. 2018-02-20T18:14:07Z pjb: Or write one in lisp. 2018-02-20T18:14:35Z pjb: The hardest part, is in defining the asdf file type and methods to process them. 2018-02-20T18:15:31Z jmercouris: idk, that sounds a little bit too hardcore for me 2018-02-20T18:16:12Z aindilis joined #lisp 2018-02-20T18:16:18Z pjb: It's rather trivial. 2018-02-20T18:16:25Z pjb: Otherwise, just copy-and-paste. 2018-02-20T18:16:33Z EvW1 quit (Ping timeout: 265 seconds) 2018-02-20T18:16:38Z jmercouris: Things are all about context, perhaps trivial for yourself 2018-02-20T18:16:39Z pjb: Add a comment to remember to keep them in sync. 2018-02-20T18:16:54Z jmercouris: I could imagine wasting several days working on this 2018-02-20T18:17:04Z pjb: With a Makefile it's trivial. 2018-02-20T18:17:11Z jmercouris: I don't even know the makefile format 2018-02-20T18:17:16Z pjb: With asdf it's harder, because you have to read the documentation of asdf and check the examples. 2018-02-20T18:17:19Z jmercouris: though I doubt anyone really understand it and all of its options 2018-02-20T18:17:44Z jmercouris: I would find it easier with asdf, but that's just me 2018-02-20T18:17:54Z EvW joined #lisp 2018-02-20T18:17:59Z jmercouris: at least the asdf source would be a lot more comprehensible than C to me at this point 2018-02-20T18:18:29Z fikka quit (Ping timeout: 265 seconds) 2018-02-20T18:19:29Z fikka joined #lisp 2018-02-20T18:20:46Z smurfrobot joined #lisp 2018-02-20T18:23:37Z fourier joined #lisp 2018-02-20T18:24:54Z Karl_Dscc quit (Remote host closed the connection) 2018-02-20T18:24:59Z allm7ght joined #lisp 2018-02-20T18:26:10Z fikka quit (Ping timeout: 240 seconds) 2018-02-20T18:26:58Z fikka joined #lisp 2018-02-20T18:29:49Z fourier: anyone submitted 2-page demo to ELS2018? 2018-02-20T18:30:22Z Chream_ joined #lisp 2018-02-20T18:31:14Z Shinmera: Not yet, but if I decide to be crazy I might still. 2018-02-20T18:31:25Z Shinmera: I submitted a demo last year but it was more than 2 pages. 2018-02-20T18:31:47Z fourier: its like 5 days left. just want to know what kind of stuff one can submit 2018-02-20T18:32:07Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-20T18:32:08Z Shinmera: Well, it's an academic conference, so you should have at least a few citations, even if it's just a demo. 2018-02-20T18:32:27Z fourier: I see 2018-02-20T18:32:40Z fourier: I guess better just to sumbit the lightning talk then :) 2018-02-20T18:33:16Z Shinmera: my paper was scrutinised pretty hard for the low amount of references, but I got it accepted anyway. https://github.com/Shinmera/talks/blob/master/els2017-radiance/paper.pdf 2018-02-20T18:35:05Z fourier: Ah I see these not a references to academic publications, just ordinary references.. 2018-02-20T18:35:18Z Shinmera: Well ideally you'd have references to other papers 2018-02-20T18:35:25Z Shinmera: But for a demo that can be hard to come by. 2018-02-20T18:35:48Z Kundry_Wag joined #lisp 2018-02-20T18:35:58Z Shinmera: and, well, since I'm sure you have quite a few other papers to compete with, the better the references, the higher the chances of acceptance :) 2018-02-20T18:36:10Z Shinmera: among other factors of course 2018-02-20T18:36:11Z Kundry_Wag quit (Remote host closed the connection) 2018-02-20T18:36:27Z Kundry_Wag joined #lisp 2018-02-20T18:37:44Z fourier: yes I see. still it looks if one just implements a library and want to show it off, probably lightning talk is enough. I'm planning to travel as a participant but thinking about presenting maybe something so I dont just listen 2018-02-20T18:38:06Z Shinmera: Sure, a lightning talk is a great way to quickly bring something out and try presenting in front of people. 2018-02-20T18:38:11Z Shinmera: I've done one every year so far. 2018-02-20T18:38:48Z smurfrobot joined #lisp 2018-02-20T18:39:29Z python476 quit (Remote host closed the connection) 2018-02-20T18:39:58Z fourier: you are quite productive with amount of code :) 2018-02-20T18:40:28Z nullniverse joined #lisp 2018-02-20T18:40:29Z Shinmera: For some reason I have a very easy time doing everything but paying attention during a lecture. 2018-02-20T18:40:38Z Shinmera: So university has been great in that regard, heh 2018-02-20T18:41:25Z fourier: :thumbs_up: ;) 2018-02-20T18:41:37Z Kundry_Wag quit (Remote host closed the connection) 2018-02-20T18:43:27Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-20T18:43:41Z fikka quit (Ping timeout: 276 seconds) 2018-02-20T18:44:01Z jmercouris: Shinmera: it's a form of procrastination, I have the same problem 2018-02-20T18:44:17Z Kundry_Wag joined #lisp 2018-02-20T18:44:28Z python476 joined #lisp 2018-02-20T18:44:43Z smurfrobot joined #lisp 2018-02-20T18:45:26Z fourier: yep then I was a student the most brilliant ideas I had were typically the night before the exam 2018-02-20T18:45:38Z fourier: which demanded immediate implementation of course 2018-02-20T18:46:29Z jmercouris: lol, that's one of the reasons I enjoy being in school, it's a good way to focus on other things :D 2018-02-20T18:47:31Z Shinmera: jmercouris: I don't think it's procrastination. It's not that I don't want to be there or don't want to pay attention. I just get tremendously bored very quickly. Lord knows I've tried paying attention. 2018-02-20T18:48:18Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-20T18:48:46Z jmercouris: Maybe not, so far you haven't said anything that is inconsistent with how it is for me 2018-02-20T18:49:05Z aeth: Procrastination is a wonderful way to be productive, assuming that you still have time to do the procrastinated task. 2018-02-20T18:49:07Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-20T18:49:15Z jmercouris: I literally cannot pay attention during lectures, I can only read from the books, and I have motivation for everything but homework 2018-02-20T18:49:33Z aeth: for me, it depends on the subject 2018-02-20T18:49:40Z fourier: and on lecturer 2018-02-20T18:49:44Z aeth: Mathematics... is never lectured properly. 2018-02-20T18:50:03Z aeth: I don't even know why math lectures exist. Just give a big set of readings and problems. 2018-02-20T18:50:04Z jmercouris: procrastination doesn't exactly mean that you don't want to pay attention or that you aren't interested, just that you are putting it off for some reason 2018-02-20T18:50:36Z jmercouris: so I'm ql:quickload'ing :usocket 2018-02-20T18:50:37Z smurfrobot joined #lisp 2018-02-20T18:50:40Z jmercouris: but when I go to use it, I have issues 2018-02-20T18:50:45Z aeth: But, anyway, my most productive Lisp day in 2 months was because I was procrastinating something yesterday. :-) 2018-02-20T18:51:05Z jmercouris: something like (usocket:socket-server "127.0.0.1" 8080 #'default-tcp-handler) results in [Condition of type CCL::UNDEFINED-FUNCTION-CALL] 2018-02-20T18:51:07Z aeth: You can use the procrastination of a higher priority thing to be very productive in a lower priority thing, and thus still accomplish something. 2018-02-20T18:51:27Z jmercouris: aeth: that's it exactly! 2018-02-20T18:51:40Z EvW quit (Ping timeout: 240 seconds) 2018-02-20T18:51:44Z aeth: Just stay away from Reddit and Hacker News. 2018-02-20T18:51:50Z aeth: And Wikipedia and TV Tropes 2018-02-20T18:51:50Z jibanes quit (Ping timeout: 256 seconds) 2018-02-20T18:51:55Z aeth: And YouTube 2018-02-20T18:51:59Z aeth: Endless sinks of time. 2018-02-20T18:52:05Z jmercouris: not sure what's going on as usocket:socket-server is suggested by company in slime 2018-02-20T18:52:35Z jmercouris: so clearly somehow it knows about the existence, but it also doesn't show the appropriate var I'm editing in the echo area 2018-02-20T18:53:05Z phoe: jmercouris: no 2018-02-20T18:53:13Z phoe: #'usocket:socket-listen 2018-02-20T18:53:22Z phoe: the fact that it is suggested in slime does not mean it has to be a function 2018-02-20T18:53:32Z jibanes joined #lisp 2018-02-20T18:53:42Z phoe: ...wait a second, https://common-lisp.net/project/usocket/api-docs.shtml tells me that #'socket-server *is* a function 2018-02-20T18:53:49Z Shinmera: The docs are outdated 2018-02-20T18:53:55Z Shinmera: Unfortunate, but true. 2018-02-20T18:54:16Z jmercouris: are there updated docs anywhere? 2018-02-20T18:54:22Z jmercouris: or maybe you can just tell me what the new name of the function is? 2018-02-20T18:55:02Z Shinmera: Here's my set of classes for low-level connection handling in Maiden: https://github.com/Shirakumo/maiden/blob/master/modules/networking/clients.lisp#L262-L309 2018-02-20T18:55:05Z Shinmera: maybe that'll help 2018-02-20T18:55:14Z Shinmera: Highlighted is the server portion. The client portions are above. 2018-02-20T18:55:51Z Shinmera has to scurry off to stream video games 2018-02-20T18:56:10Z aeth: 2018: when everyone streams video games 2018-02-20T18:56:13Z jmercouris: ok sounds good 2018-02-20T18:56:15Z jmercouris: thanks for the link 2018-02-20T18:56:23Z jmercouris: 2018: when nobody makes money streaming video games anymore 2018-02-20T18:56:30Z aeth: jmercouris: That's what Patreon is for 2018-02-20T18:56:41Z aeth: https://www.patreon.com/explore/video 2018-02-20T18:56:41Z fikka joined #lisp 2018-02-20T18:56:45Z aeth: A Lisper could in theory make money that way 2018-02-20T18:57:07Z aeth: I wonder if there are any technical videos there, though. There are some math/science ones 2018-02-20T18:57:19Z jmercouris: I don't know, maybe like 200$ or a 1000$/month at most 2018-02-20T18:57:30Z jmercouris: if you look at the most popular elisp package developers who have way more users, they still make very little 2018-02-20T18:57:48Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-20T18:58:09Z xristos quit (Quit: ZNC - http://znc.in) 2018-02-20T18:58:37Z aeth: jmercouris: Videos and podcasts seem to be the most profitable parts of Patreon, though. 2018-02-20T18:58:49Z EvW joined #lisp 2018-02-20T18:58:55Z aeth: A Lisp video or podcast series might be more profitable than actually directly funding Lisp software 2018-02-20T18:59:41Z jmercouris: probably for most lisp software yeah 2018-02-20T18:59:41Z aeth: I think it works because of regular releases of new content, and the potential for trivial premium features (just release your content a week earlier to subscribers) 2018-02-20T18:59:54Z jmercouris: or special tutorials for them 2018-02-20T19:00:44Z pagnol joined #lisp 2018-02-20T19:01:19Z fikka quit (Ping timeout: 248 seconds) 2018-02-20T19:03:28Z kajo joined #lisp 2018-02-20T19:04:00Z smurfrobot joined #lisp 2018-02-20T19:06:23Z Kundry_Wag joined #lisp 2018-02-20T19:07:35Z pagnol quit (Ping timeout: 240 seconds) 2018-02-20T19:08:09Z Kundry_Wag quit (Remote host closed the connection) 2018-02-20T19:08:46Z Kundry_Wag joined #lisp 2018-02-20T19:08:47Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-20T19:08:53Z nullniverse quit (Read error: Connection reset by peer) 2018-02-20T19:09:01Z nalik891 joined #lisp 2018-02-20T19:09:24Z kajo quit (Quit: WeeChat 2.0.1) 2018-02-20T19:09:26Z fikka joined #lisp 2018-02-20T19:09:57Z kajo joined #lisp 2018-02-20T19:10:04Z zooey quit (Remote host closed the connection) 2018-02-20T19:10:25Z zooey joined #lisp 2018-02-20T19:10:30Z Kundry_Wag quit (Remote host closed the connection) 2018-02-20T19:12:46Z smurfrobot joined #lisp 2018-02-20T19:13:39Z Kundry_Wag joined #lisp 2018-02-20T19:16:05Z Kundry_Wag quit (Remote host closed the connection) 2018-02-20T19:16:47Z chiyosaki quit (Ping timeout: 248 seconds) 2018-02-20T19:16:48Z nowhere_man joined #lisp 2018-02-20T19:17:18Z Kundry_Wag joined #lisp 2018-02-20T19:18:08Z smurfrobot quit (Ping timeout: 276 seconds) 2018-02-20T19:19:00Z Denommus quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2018-02-20T19:19:19Z nowhereman_ quit (Ping timeout: 260 seconds) 2018-02-20T19:20:13Z smurfrobot joined #lisp 2018-02-20T19:22:20Z smaster quit (Ping timeout: 255 seconds) 2018-02-20T19:22:54Z LocaMocha quit (Remote host closed the connection) 2018-02-20T19:23:42Z BitPuffin quit (Remote host closed the connection) 2018-02-20T19:24:10Z smaster joined #lisp 2018-02-20T19:24:49Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-20T19:24:50Z Denommus joined #lisp 2018-02-20T19:24:54Z saki joined #lisp 2018-02-20T19:27:27Z fikka quit (Ping timeout: 248 seconds) 2018-02-20T19:28:32Z fikka joined #lisp 2018-02-20T19:33:28Z juan-reynoso joined #lisp 2018-02-20T19:36:40Z orivej joined #lisp 2018-02-20T19:46:28Z allm7ght: in general is there a reason to choose cffi or uffi over the other? 2018-02-20T19:47:22Z phoe: allm7ght: cffi is much more widely used. 2018-02-20T19:48:22Z wmannis joined #lisp 2018-02-20T19:48:23Z allm7ght: phoe: thanks! 2018-02-20T19:51:48Z allm7ght_ joined #lisp 2018-02-20T19:53:00Z allm7ght quit (Ping timeout: 260 seconds) 2018-02-20T19:54:09Z smaster quit (Read error: Connection reset by peer) 2018-02-20T19:54:23Z smurfrobot joined #lisp 2018-02-20T19:54:27Z smaster joined #lisp 2018-02-20T19:56:29Z allm7ght_ quit (Ping timeout: 260 seconds) 2018-02-20T19:57:14Z Xof quit (Ping timeout: 276 seconds) 2018-02-20T19:58:49Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-20T20:01:24Z damke_ joined #lisp 2018-02-20T20:01:32Z python476 quit (Ping timeout: 256 seconds) 2018-02-20T20:03:05Z Karl_Dscc joined #lisp 2018-02-20T20:04:33Z damke quit (Ping timeout: 264 seconds) 2018-02-20T20:04:49Z Kundry_Wag quit (Remote host closed the connection) 2018-02-20T20:05:24Z Denommus quit (Remote host closed the connection) 2018-02-20T20:07:04Z stacksmith: I thought uffi was obsoleted by cffi. Is it used in any modern code? 2018-02-20T20:08:07Z Sveaker joined #lisp 2018-02-20T20:09:21Z phoe: I think not. 2018-02-20T20:12:28Z smurfrobot joined #lisp 2018-02-20T20:13:40Z Denommus joined #lisp 2018-02-20T20:16:51Z jackdaniel: uffi, as a protocol, is widely used - some software has migrated to use cffi-uffi-compat and ECL's ffi implements this protocol as well 2018-02-20T20:16:57Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-20T20:17:33Z jackdaniel: but for all practical purposes you should depend on cffi (because 1) it has compat layer for uffi, 2) is a portability layer which uses ecl's uffi implementation) 2018-02-20T20:17:45Z nopolitica joined #lisp 2018-02-20T20:18:30Z shifty joined #lisp 2018-02-20T20:21:02Z smaster quit (Ping timeout: 260 seconds) 2018-02-20T20:21:24Z smurfrobot joined #lisp 2018-02-20T20:21:48Z jibanes quit (Ping timeout: 240 seconds) 2018-02-20T20:23:38Z jibanes joined #lisp 2018-02-20T20:26:23Z smurfrobot quit (Ping timeout: 276 seconds) 2018-02-20T20:26:36Z jmercouris quit (Remote host closed the connection) 2018-02-20T20:29:25Z jmercouris joined #lisp 2018-02-20T20:29:28Z Kundry_Wag joined #lisp 2018-02-20T20:30:12Z smurfrobot joined #lisp 2018-02-20T20:30:21Z Kundry_Wag quit (Read error: No route to host) 2018-02-20T20:30:38Z Kundry_Wag joined #lisp 2018-02-20T20:30:59Z fourier: it is used in ncursers wrapper which is quite mature 2018-02-20T20:31:37Z fourier: cl-ncurses 2018-02-20T20:33:01Z Kundry_Wag quit (Read error: Connection reset by peer) 2018-02-20T20:33:26Z Kundry_Wag joined #lisp 2018-02-20T20:33:33Z zooey quit (Ping timeout: 255 seconds) 2018-02-20T20:34:42Z zooey joined #lisp 2018-02-20T20:34:47Z smurfrobot quit (Ping timeout: 255 seconds) 2018-02-20T20:35:41Z fourier: not sure if cl-charms is of the same level of maturity now. 2018-02-20T20:35:52Z smaster joined #lisp 2018-02-20T20:38:04Z Kundry_Wag quit (Ping timeout: 260 seconds) 2018-02-20T20:39:28Z smurfrobot joined #lisp 2018-02-20T20:42:04Z mareskeg joined #lisp 2018-02-20T20:43:05Z jmercouris: anyone have a minimal example of how to use usocket? 2018-02-20T20:43:42Z phoe: jmercouris: client-side or server-side? 2018-02-20T20:43:53Z jmercouris: both ideally 2018-02-20T20:44:09Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-20T20:46:18Z scymtym quit (Ping timeout: 240 seconds) 2018-02-20T20:49:38Z smurfrobot joined #lisp 2018-02-20T20:50:15Z phoe: https://plaster.tymoon.eu/view/715#715 2018-02-20T20:50:17Z phoe: jmercouris: ^ 2018-02-20T20:50:22Z phoe: that is a very very simple example 2018-02-20T20:50:31Z jmercouris: phoe: thank you very much 2018-02-20T20:50:42Z jmercouris: I was trying to parse shinmera's code and I was getting confused 2018-02-20T20:50:46Z jmercouris: this is very helpful 2018-02-20T20:50:53Z phoe: remember to #'socket-close sockets afterwards 2018-02-20T20:51:00Z phoe: or just close their socket-streams. 2018-02-20T20:51:08Z jmercouris: ok, I'll keep that in mind 2018-02-20T20:51:10Z jmercouris: what if my program dies 2018-02-20T20:51:16Z jmercouris: and the socket is still open, what then? 2018-02-20T20:51:25Z jmercouris: aka kill -9 2018-02-20T20:52:05Z smaster quit (Ping timeout: 240 seconds) 2018-02-20T20:53:49Z phoe: jmercouris: your program dies, what do you mean? 2018-02-20T20:53:57Z phoe: kill -9 clears all sockets 2018-02-20T20:54:11Z phoe: when a process dies, all sockets it has created are destroyed by the OS 2018-02-20T20:54:18Z Chream_ quit (Ping timeout: 240 seconds) 2018-02-20T20:54:19Z smurfrob_ joined #lisp 2018-02-20T20:57:04Z fikka quit (Ping timeout: 256 seconds) 2018-02-20T20:58:19Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-20T20:58:27Z smurfrob_ quit (Ping timeout: 240 seconds) 2018-02-20T20:59:04Z zooey quit (Remote host closed the connection) 2018-02-20T20:59:20Z zooey joined #lisp 2018-02-20T21:02:59Z Cymew joined #lisp 2018-02-20T21:04:03Z warweasle quit (Quit: later) 2018-02-20T21:07:04Z Denommus quit (Quit: restarting emacs) 2018-02-20T21:07:10Z Cymew quit (Ping timeout: 240 seconds) 2018-02-20T21:07:25Z smurfrobot joined #lisp 2018-02-20T21:11:40Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-20T21:11:54Z fikka joined #lisp 2018-02-20T21:12:31Z jmercouris: ok, that sounds good to me then, thanks 2018-02-20T21:12:37Z lnostdal joined #lisp 2018-02-20T21:12:45Z smurfrobot joined #lisp 2018-02-20T21:14:15Z nirved quit (Quit: Leaving) 2018-02-20T21:16:07Z smaster joined #lisp 2018-02-20T21:17:01Z fikka quit (Ping timeout: 256 seconds) 2018-02-20T21:17:01Z jmercouris quit (Ping timeout: 256 seconds) 2018-02-20T21:17:10Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-20T21:17:19Z jmercouris joined #lisp 2018-02-20T21:18:21Z mishoo quit (Ping timeout: 264 seconds) 2018-02-20T21:22:07Z jmercouris quit (Ping timeout: 248 seconds) 2018-02-20T21:24:46Z nalik891 quit (Quit: Leaving) 2018-02-20T21:27:03Z Amplituhedron joined #lisp 2018-02-20T21:27:17Z karswell joined #lisp 2018-02-20T21:31:36Z smurfrobot joined #lisp 2018-02-20T21:34:06Z milanj quit (Quit: This computer has gone to sleep) 2018-02-20T21:37:37Z wigust quit (Ping timeout: 248 seconds) 2018-02-20T21:39:46Z scymtym joined #lisp 2018-02-20T21:40:26Z sigjuice: kill -9 should a last resort. It always makes me feel icky. 2018-02-20T21:40:33Z sigjuice: should be 2018-02-20T21:41:38Z Sveaker quit (Quit: Leaving) 2018-02-20T21:42:40Z TMA quit (Ping timeout: 240 seconds) 2018-02-20T21:43:01Z smurfrobot quit (Ping timeout: 268 seconds) 2018-02-20T21:46:06Z fikka joined #lisp 2018-02-20T21:48:20Z willmichael joined #lisp 2018-02-20T21:49:48Z aeth: Is it better to do (check-type x integer) (unless (evenp x) (error "Some error!")) or (check-type x (and integer (satisfies evenp))) when verifying something? 2018-02-20T21:50:27Z |3b|: all in check-type would let a caller fix it 2018-02-20T21:50:43Z DonVlad quit (Quit: WeeChat 1.4) 2018-02-20T21:50:44Z Xach: aeth: It might be better to make a named type that describes what you want, too. 2018-02-20T21:51:00Z phoe: as in deftype even-integer? hm, yep 2018-02-20T21:51:08Z aeth: |3b|: but satisfies could be considerably more complicated than this, e.g. (find foo some-list-of-keywords) 2018-02-20T21:51:09Z |3b| isn't sure how many people actually take advantage of that though, i usually just fix code/data and try whole thing again 2018-02-20T21:51:21Z Xach: I'm guessing evenp isn't the real thing, but maybe that's a bad guess 2018-02-20T21:51:26Z |3b|: aeth: so? 2018-02-20T21:51:33Z phoe: clhs evenp 2018-02-20T21:51:33Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_evenpc.htm 2018-02-20T21:51:40Z phoe: Xach: actually 2018-02-20T21:51:48Z |3b|: it presumably won't be more complicated when called from TYPEP than when called manually 2018-02-20T21:51:49Z Xach: phoe: actually what? 2018-02-20T21:51:53Z phoe: it is a real thing 2018-02-20T21:52:12Z hiroaki joined #lisp 2018-02-20T21:52:17Z Xach: phoe: But is it the real thing aeth means, or just a simplified example? 2018-02-20T21:52:20Z phoe: aeth: yes, satisfies can be much more complicated, but in this case it should do well enough with CHECK-TYPE 2018-02-20T21:52:28Z aeth: |3b|: Well, if it's (and keyword (satisfies foo)) then foo might not know that the argument to foo is a keyword, which could lead to a less efficient find 2018-02-20T21:52:28Z phoe: Xach: oh, I see. 2018-02-20T21:52:29Z pierpa joined #lisp 2018-02-20T21:52:30Z |3b|: though for that specific case, (member x (a b c)) is a valid type 2018-02-20T21:52:32Z Shinmera: aeth: Is it important that it is not a float? 2018-02-20T21:52:57Z Shinmera: Because only integers in the mathematical sense are even anyway. 2018-02-20T21:53:06Z |3b|: aeth: if that's important, and you care about callers being able to fix the problem, split it in 2 check-types? 2018-02-20T21:53:11Z phoe: Shinmera: he does a (check-type x integer) initially. 2018-02-20T21:53:16Z |3b|: (and if it actually is a problem in practice) 2018-02-20T21:53:18Z Shinmera: phoe: I can read, thanks 2018-02-20T21:53:25Z phoe: |3b|: you don't want to split it into two check-types 2018-02-20T21:53:39Z |3b|: phoe: i do if combining it is a problem 2018-02-20T21:53:43Z phoe: in the second check-type, you can supply a value that does *not* pass the first check-type 2018-02-20T21:53:54Z |3b|: true, maybe i don't :) 2018-02-20T21:53:55Z smurfrobot joined #lisp 2018-02-20T21:54:01Z mareskeg quit (Quit: mareskeg) 2018-02-20T21:54:03Z phoe: (defun foo (x) (check-type x integer) (check-type x float)) 2018-02-20T21:54:04Z aeth: Shinmera: I wanted a simple example 2018-02-20T21:54:15Z |3b|: though you could duplicate the type in the 2nd, if type inference did in fact affect performance of the 2nd test 2018-02-20T21:54:18Z phoe: you are able to restart your way out of this function and make it actually return 2018-02-20T21:54:34Z aeth: phoe: you probably want x at the end so it returns something useful(ish) 2018-02-20T21:54:52Z Shinmera: aeth: Okey. In that case I would not use check type at all, and instead have both tests in an (unless (and ..) ..) 2018-02-20T21:55:13Z phoe: aeth: yes 2018-02-20T21:55:22Z Shinmera: Mostly because I consider satisfies bad, but that's just me. 2018-02-20T21:55:52Z aeth: Shinmera: Expressing it as types could have the advantage of automatically generating the checks, though. 2018-02-20T21:55:57Z aeth: Well, in an easier way 2018-02-20T21:56:01Z Shinmera: Not if you need satisfies. 2018-02-20T21:56:15Z aeth: But that can be solved by deftype 2018-02-20T21:57:21Z |3b| probably would also not bother using check-type for something that uses satisfies, but sometimes the restart to continue with other value is useful 2018-02-20T21:58:01Z Shinmera: assert may also be appropriate depending on how you view that. 2018-02-20T21:58:13Z aeth: What I'm doing is verifying absolutely everything before I start the program so that I (ideally) do not get any runtime errors. 2018-02-20T21:58:24Z Xach: hee 2018-02-20T21:58:46Z aeth: I was tired of getting cryptic unexpected NILs in places 2018-02-20T21:58:50Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-20T21:58:56Z __rumbler31 quit (Ping timeout: 248 seconds) 2018-02-20T21:59:11Z phoe: Error: The value NIL is not a (NOT NULL) 2018-02-20T21:59:38Z phoe: Why complain about that error message? It's true, after all. Much better than a self-contradicting message. 2018-02-20T22:00:05Z Bike: check-type has that nice type string thing so it could be more comprehensible 2018-02-20T22:00:11Z ludston_ joined #lisp 2018-02-20T22:00:35Z aeth: phoe: The issue is that I didn't know where that happened. If I check my data before I use my data, I know where it happens... before my program starts doing anything. This is especially important when it's using foreign libraries in another thread than the main SLIME thread. 2018-02-20T22:00:41Z aeth: Things are a lot simpler before that point. 2018-02-20T22:01:11Z rumbler31 quit (Remote host closed the connection) 2018-02-20T22:01:17Z smurfrobot joined #lisp 2018-02-20T22:01:35Z _death: could use ASSERT and specify X in the list of places 2018-02-20T22:01:42Z aeth: My current design goals are: (1) do everything at compile time if possible (including as much verification as possible) and (2) do the rest of the verification with check-type before the program begins to actually do useful computations 2018-02-20T22:01:58Z aeth: The cost of #2, at least right now, is not noticable. Although if satisfies is really slow and I pass in a lot of data, it might be. 2018-02-20T22:02:28Z milanj joined #lisp 2018-02-20T22:02:44Z aeth: I think any big data would be in specialized arrays, though, so it probably wouldn't be much of a cost. 2018-02-20T22:03:21Z ludston quit (Ping timeout: 264 seconds) 2018-02-20T22:04:54Z aeth: This then introduces two issues I can see right away. When destructuring-bind fails while iterating, the error message really isn't helpful at all and is (afaik) non-portable. Also, it's not clear what to do when the constraints are more than just a simple type check, such as a keyword that must be in a valid list of keywords. 2018-02-20T22:05:27Z Xach: aeth: the keyword thing could be a MEMBER type, right? 2018-02-20T22:05:50Z smurfrobot quit (Ping timeout: 268 seconds) 2018-02-20T22:05:59Z aeth: Yes, although I'm not sure about the performance implications. Usually there would be a handful, but it could be dozens, like when I check to make sure that the type is a valid GLSL type. 2018-02-20T22:06:07Z papachan quit (Quit: WeeChat 2.0.1) 2018-02-20T22:06:19Z aeth: (I'd rather get the error when generating the GLSL than when compiling the GLSL.) 2018-02-20T22:06:32Z quazimodo quit (Quit: Lost terminal) 2018-02-20T22:07:13Z quazimodo joined #lisp 2018-02-20T22:07:18Z smurfrobot joined #lisp 2018-02-20T22:08:13Z pmden quit (Ping timeout: 256 seconds) 2018-02-20T22:08:59Z phoe: aeth: when do you generate and compile GLSL? 2018-02-20T22:09:30Z phoe: I mean, at what times? 2018-02-20T22:09:44Z pmden joined #lisp 2018-02-20T22:09:54Z pmden quit (Changing host) 2018-02-20T22:09:54Z pmden joined #lisp 2018-02-20T22:10:00Z aeth: phoe: At the moment I turn s-expressions into strings of GLSL source code entirely at compile time in define-shader (which are, in turn, used in the source argument to make-shader, which is just make-instance 'shader) 2018-02-20T22:10:02Z quazimod1 joined #lisp 2018-02-20T22:10:56Z aeth: I don't do many checks at that point, though. There's definitely plenty of opportunities. 2018-02-20T22:11:52Z phoe: aeth: I don't get the difference between "generation-time" and "compile-time", then. 2018-02-20T22:11:54Z aeth: I think at the moment I only check for valid GLSL types when verifying the shader metadata (which has to be at runtime because the object is created at runtime even though the source string is generated at compile time) 2018-02-20T22:12:07Z phoe: > (I'd rather get the error when generating the GLSL than when compiling the GLSL.) 2018-02-20T22:12:09Z quazimod2 joined #lisp 2018-02-20T22:12:20Z aeth: although I guess if I made shader type keywords a member type, it would be trivial to use the same check at compile time, too 2018-02-20T22:13:07Z aeth: phoe: I'd rather get error messages when generating the GLSL string (at CL compile time) than when compiling the GLSL (which happens shortly after initializing OpenGL at runtime) 2018-02-20T22:13:46Z aeth: i.e. I personally check for many things that the GLSL compiler will be checking for because I'd rather deal with things in CL where possible 2018-02-20T22:14:05Z phoe: aeth: ooh, I see. 2018-02-20T22:14:10Z aeth: It will also probably make it easier to move to SPIR-V this way. 2018-02-20T22:15:19Z quazimod1 quit (Quit: Lost terminal) 2018-02-20T22:15:41Z k-hos: gl 4.something supports spir-v I believe 2018-02-20T22:15:47Z aeth: 4.6 2018-02-20T22:15:57Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-20T22:16:04Z aeth: Ideally, some future version of define-shader (the API is nowhere near stable for the shader language atm) will be able to target both GLSL and SPIR-V. And have identical semantics. 2018-02-20T22:16:33Z k-hos: glsl already compiles to spir-v 2018-02-20T22:17:19Z aeth: Yes, but if I target them both, I can eventually deprecate the GLSL backend and introduce things that GLSL cannot do but SPIR-V can (if things in that category even exist) 2018-02-20T22:18:13Z aeth: But at the moment I only target GLSL because I am using OpenGL 3.3, not 4.6 2018-02-20T22:19:39Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2018-02-20T22:19:40Z vap1 quit (Read error: Connection reset by peer) 2018-02-20T22:19:53Z smurfrobot joined #lisp 2018-02-20T22:19:55Z vaporatorius joined #lisp 2018-02-20T22:19:55Z vap1 joined #lisp 2018-02-20T22:20:22Z fikka quit (Ping timeout: 256 seconds) 2018-02-20T22:20:34Z Achylles joined #lisp 2018-02-20T22:21:19Z Xal quit (Ping timeout: 260 seconds) 2018-02-20T22:21:41Z vaporatorius quit (Client Quit) 2018-02-20T22:23:39Z fikka joined #lisp 2018-02-20T22:23:45Z Xal joined #lisp 2018-02-20T22:25:10Z saki quit (Read error: Connection reset by peer) 2018-02-20T22:25:16Z mlf joined #lisp 2018-02-20T22:27:51Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-20T22:28:22Z antoszka quit (Ping timeout: 265 seconds) 2018-02-20T22:28:33Z mrSpec quit (Ping timeout: 264 seconds) 2018-02-20T22:28:41Z otwieracz quit (Ping timeout: 276 seconds) 2018-02-20T22:29:54Z Karl_Dscc quit (Remote host closed the connection) 2018-02-20T22:30:55Z fourier quit (Ping timeout: 248 seconds) 2018-02-20T22:31:41Z juan-reynoso quit (Quit: Leaving) 2018-02-20T22:32:57Z quazimod1 joined #lisp 2018-02-20T22:33:18Z mrSpec joined #lisp 2018-02-20T22:33:42Z mrSpec is now known as Guest61136 2018-02-20T22:33:59Z saki joined #lisp 2018-02-20T22:34:18Z smurfrobot joined #lisp 2018-02-20T22:35:11Z antoszka joined #lisp 2018-02-20T22:36:02Z otwieracz joined #lisp 2018-02-20T22:36:54Z mareskeg joined #lisp 2018-02-20T22:37:10Z wheelsucker quit (Quit: Client Quit) 2018-02-20T22:37:22Z hiroaki quit (Ping timeout: 256 seconds) 2018-02-20T22:38:10Z quazimod1 quit (Quit: leaving) 2018-02-20T22:39:04Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-20T22:39:30Z shifty quit (Ping timeout: 256 seconds) 2018-02-20T22:39:49Z Bike quit (Ping timeout: 260 seconds) 2018-02-20T22:39:53Z k-hos: spir-v can do more than glsl yes 2018-02-20T22:40:02Z k-hos: multiple entry points being one 2018-02-20T22:41:03Z aeth: ah 2018-02-20T22:41:38Z smurfrobot joined #lisp 2018-02-20T22:42:36Z quazimod1 joined #lisp 2018-02-20T22:44:31Z vlatkoB quit (Remote host closed the connection) 2018-02-20T22:45:33Z quazimod3 joined #lisp 2018-02-20T22:45:43Z quazimod1 quit (Client Quit) 2018-02-20T22:45:45Z quazimod3 quit (Client Quit) 2018-02-20T22:46:26Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-20T22:46:27Z quazimod2 quit (Remote host closed the connection) 2018-02-20T22:46:28Z quazimodo quit (Remote host closed the connection) 2018-02-20T22:47:41Z Amplituhedron quit (Ping timeout: 256 seconds) 2018-02-20T22:48:04Z quazimodo joined #lisp 2018-02-20T22:48:10Z quazimod1 joined #lisp 2018-02-20T22:48:12Z quazimodo quit (Client Quit) 2018-02-20T22:48:15Z quazimod1 quit (Client Quit) 2018-02-20T22:49:08Z smurfrobot joined #lisp 2018-02-20T22:52:28Z quazimodo joined #lisp 2018-02-20T22:55:24Z stacksmith: aeth: what kind of project are you working on? 2018-02-20T22:56:10Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-20T22:56:32Z sjl quit (Ping timeout: 276 seconds) 2018-02-20T22:57:19Z csaurus quit (Ping timeout: 256 seconds) 2018-02-20T22:57:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-20T22:58:04Z Patternmaster quit (Ping timeout: 260 seconds) 2018-02-20T22:58:10Z aeth: stacksmith: A game engine. 2018-02-20T22:58:35Z stacksmith: Great. 2018-02-20T23:01:41Z rumbler31 joined #lisp 2018-02-20T23:05:40Z z3t0 joined #lisp 2018-02-20T23:06:27Z jmercouris joined #lisp 2018-02-20T23:06:40Z rumbler31 quit (Ping timeout: 252 seconds) 2018-02-20T23:08:20Z fikka joined #lisp 2018-02-20T23:12:22Z TMA joined #lisp 2018-02-20T23:14:58Z moei quit (Quit: Leaving...) 2018-02-20T23:15:08Z rumbler31 joined #lisp 2018-02-20T23:18:37Z rumbler31 quit (Remote host closed the connection) 2018-02-20T23:19:40Z rumbler31 joined #lisp 2018-02-20T23:19:57Z smurfrobot joined #lisp 2018-02-20T23:20:18Z sjl joined #lisp 2018-02-20T23:20:28Z Bike joined #lisp 2018-02-20T23:22:15Z TMA quit (Ping timeout: 256 seconds) 2018-02-20T23:24:24Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-20T23:25:05Z jmercouris quit (Ping timeout: 256 seconds) 2018-02-20T23:26:06Z mareskeg quit (Ping timeout: 256 seconds) 2018-02-20T23:26:36Z TMA joined #lisp 2018-02-20T23:26:58Z tankrim joined #lisp 2018-02-20T23:27:22Z smurfrobot joined #lisp 2018-02-20T23:27:43Z tankrim left #lisp 2018-02-20T23:28:46Z tankrim joined #lisp 2018-02-20T23:29:27Z smurfrobot quit (Remote host closed the connection) 2018-02-20T23:30:38Z saki quit (Ping timeout: 256 seconds) 2018-02-20T23:31:57Z saki joined #lisp 2018-02-20T23:33:24Z quazimodo quit (Ping timeout: 268 seconds) 2018-02-20T23:36:38Z python476 joined #lisp 2018-02-20T23:37:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-20T23:43:53Z fikka joined #lisp 2018-02-20T23:47:22Z nowhere_man quit (Remote host closed the connection) 2018-02-20T23:47:49Z nowhere_man joined #lisp 2018-02-20T23:55:57Z quazimodo joined #lisp 2018-02-20T23:58:17Z LiamH quit (Quit: Leaving.) 2018-02-21T00:02:17Z jstypo quit (Remote host closed the connection) 2018-02-21T00:03:51Z pagnol joined #lisp 2018-02-21T00:04:19Z Patternmaster joined #lisp 2018-02-21T00:04:31Z nickyname joined #lisp 2018-02-21T00:05:42Z Kundry_Wag joined #lisp 2018-02-21T00:05:53Z markong quit (Ping timeout: 256 seconds) 2018-02-21T00:06:53Z EvW quit (Ping timeout: 255 seconds) 2018-02-21T00:09:18Z aeth quit (Ping timeout: 240 seconds) 2018-02-21T00:10:24Z Kundry_Wag quit (Ping timeout: 268 seconds) 2018-02-21T00:11:22Z aeth joined #lisp 2018-02-21T00:11:42Z attila_lendvai joined #lisp 2018-02-21T00:11:42Z attila_lendvai quit (Changing host) 2018-02-21T00:11:42Z attila_lendvai joined #lisp 2018-02-21T00:11:48Z z3t0 quit (Remote host closed the connection) 2018-02-21T00:12:28Z z3t0 joined #lisp 2018-02-21T00:16:10Z Achylles quit (Ping timeout: 240 seconds) 2018-02-21T00:16:57Z z3t0 quit (Ping timeout: 240 seconds) 2018-02-21T00:22:26Z smurfrobot joined #lisp 2018-02-21T00:26:12Z warweasle joined #lisp 2018-02-21T00:26:17Z kark joined #lisp 2018-02-21T00:27:33Z mareskeg joined #lisp 2018-02-21T00:28:30Z mareskeg quit (Client Quit) 2018-02-21T00:28:47Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-21T00:29:44Z mareskeg joined #lisp 2018-02-21T00:30:09Z FreeBirdLjj joined #lisp 2018-02-21T00:30:30Z slyrus joined #lisp 2018-02-21T00:31:46Z al-damiri quit (Quit: Connection closed for inactivity) 2018-02-21T00:34:41Z FreeBirdLjj quit (Ping timeout: 276 seconds) 2018-02-21T00:38:11Z mareskeg quit (Quit: mareskeg) 2018-02-21T00:41:45Z pagnol quit (Ping timeout: 264 seconds) 2018-02-21T00:42:02Z willmichael quit (Ping timeout: 256 seconds) 2018-02-21T00:42:15Z fikka quit (Ping timeout: 265 seconds) 2018-02-21T00:42:21Z pierpa quit (Quit: Page closed) 2018-02-21T00:44:25Z fikka joined #lisp 2018-02-21T00:45:57Z arescorpio joined #lisp 2018-02-21T00:46:57Z JenElizabeth joined #lisp 2018-02-21T00:47:54Z JenElizabeth quit (Remote host closed the connection) 2018-02-21T00:48:12Z JenElizabeth joined #lisp 2018-02-21T00:48:31Z smaster quit (Ping timeout: 248 seconds) 2018-02-21T00:48:50Z fikka quit (Ping timeout: 256 seconds) 2018-02-21T00:52:10Z willmichael joined #lisp 2018-02-21T00:58:18Z smaster joined #lisp 2018-02-21T01:00:54Z JenElizabeth quit (Remote host closed the connection) 2018-02-21T01:00:55Z Tobbi quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-21T01:02:27Z smaster quit (Ping timeout: 240 seconds) 2018-02-21T01:03:26Z Cymew joined #lisp 2018-02-21T01:04:04Z Chream_ joined #lisp 2018-02-21T01:04:18Z pagnol joined #lisp 2018-02-21T01:05:21Z Amplituhedron joined #lisp 2018-02-21T01:05:42Z Kundry_Wag joined #lisp 2018-02-21T01:07:57Z Cymew quit (Ping timeout: 240 seconds) 2018-02-21T01:10:10Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-21T01:13:17Z nowhereman_ joined #lisp 2018-02-21T01:13:24Z mlf|2 joined #lisp 2018-02-21T01:13:40Z nowhere_man quit (Ping timeout: 265 seconds) 2018-02-21T01:15:40Z mlf quit (Ping timeout: 240 seconds) 2018-02-21T01:15:41Z lnostdal quit (Ping timeout: 255 seconds) 2018-02-21T01:15:54Z dieggsy joined #lisp 2018-02-21T01:17:10Z willmichael quit (Ping timeout: 256 seconds) 2018-02-21T01:17:49Z smaster joined #lisp 2018-02-21T01:19:03Z JenElizabeth joined #lisp 2018-02-21T01:21:06Z willmichael joined #lisp 2018-02-21T01:21:44Z sjl quit (Quit: WeeChat 1.9.1) 2018-02-21T01:22:26Z SuperJen joined #lisp 2018-02-21T01:26:05Z JenElizabeth quit (Ping timeout: 240 seconds) 2018-02-21T01:28:42Z lnostdal joined #lisp 2018-02-21T01:33:58Z Arcaelyx joined #lisp 2018-02-21T01:35:14Z Mr_Tea joined #lisp 2018-02-21T01:36:22Z Mr_Tea: hello how do I paste code snippets, do I use something like pastebin or just put it here? 2018-02-21T01:36:39Z Xach: Mr_Tea: something like pastebin. i use gists on github myself. 2018-02-21T01:39:04Z Arcaelyx quit (Ping timeout: 260 seconds) 2018-02-21T01:39:43Z orivej quit (Ping timeout: 248 seconds) 2018-02-21T01:40:24Z TMA quit (Ping timeout: 256 seconds) 2018-02-21T01:42:35Z slyrus quit (Ping timeout: 240 seconds) 2018-02-21T01:49:05Z Mr_Tea: I was working through the lisp koans and I feel like my imperative is showing for the greed scoring function https://gist.github.com/anonymous/f062020faa8c01a4cd31d910c7f46e37/ is there a more lispy way of doing this? 2018-02-21T01:50:01Z Xach: Mr_Tea: it would help if you described what the function is supposed to do 2018-02-21T01:51:35Z Xach: Mr_Tea: but, a couple things. You don't need the SCORE variable at all - the final form can be (+ ) 2018-02-21T01:52:38Z Xach: Mr_Tea: also, (truncate (/ x y)) can often be replaced by (truncate x y), and you can do that in your function. 2018-02-21T01:52:51Z Xach: and with multiple values you can get the truncation and the remainder in one operation, too... 2018-02-21T01:53:08Z Xach: I don't know the spec of what it's supposed to accomplish, though. 2018-02-21T01:53:43Z Mr_Tea: sorry try https://gist.github.com/anonymous/8bb69443310145f0da82273a9f1a397b 2018-02-21T01:56:24Z python476 quit (Read error: Connection reset by peer) 2018-02-21T01:59:07Z Mr_Tea: can loop count multiples? 2018-02-21T01:59:27Z Amplituhedron quit (Ping timeout: 240 seconds) 2018-02-21T01:59:50Z vtomole joined #lisp 2018-02-21T02:00:43Z stacksmith: http://www.gigamonkeys.com/book/loop-for-black-belts.html 2018-02-21T02:01:06Z stacksmith: http://cl-cookbook.sourceforge.net/loop.html 2018-02-21T02:03:06Z attila_lendvai quit (Quit: Leaving.) 2018-02-21T02:03:53Z Mr_Tea: thanks 2018-02-21T02:03:57Z Chream quit (Ping timeout: 264 seconds) 2018-02-21T02:05:05Z Mr_Tea: loop is so weird its like a programming language just for looping 2018-02-21T02:05:55Z wmannis: There is also a count function (though I don’t know if you’ve been instructed not to use that). 2018-02-21T02:05:56Z Kundry_Wag joined #lisp 2018-02-21T02:07:03Z Mr_Tea: that makes it so much easier 2018-02-21T02:07:08Z Mr_Tea: whoa 2018-02-21T02:07:42Z wmannis: This is worth a read, too: http://www.gigamonkeys.com/book/collections.html 2018-02-21T02:08:21Z stacksmith: all of gigamonkeys is worth a read, really. 2018-02-21T02:09:09Z Mr_Tea: sweet 2018-02-21T02:10:21Z stacksmith: Common Lisp Recipes is a really good reference as well, with lots of examples of how to do things. 2018-02-21T02:10:33Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-21T02:11:45Z stacksmith: Mr_Tea: btw, loop is not 'like a programming language for looping', but literally that, aka DSL (domain specific language). 2018-02-21T02:13:11Z Arcaelyx joined #lisp 2018-02-21T02:17:54Z Mr_Tea: I gotta go thanks for the help 2018-02-21T02:18:16Z Mr_Tea quit (Remote host closed the connection) 2018-02-21T02:20:44Z manwhowouldbekin joined #lisp 2018-02-21T02:20:57Z igemnace joined #lisp 2018-02-21T02:23:00Z aeth: Is loop (without any embeded Lisp forms) Turing complete? 2018-02-21T02:25:12Z smaster quit (Ping timeout: 265 seconds) 2018-02-21T02:27:03Z d4ryus1 joined #lisp 2018-02-21T02:30:10Z d4ryus quit (Ping timeout: 240 seconds) 2018-02-21T02:39:19Z warweasle quit (Quit: Leaving) 2018-02-21T02:40:46Z lnostdal_ joined #lisp 2018-02-21T02:40:49Z shifty joined #lisp 2018-02-21T02:41:36Z impulse quit (Ping timeout: 256 seconds) 2018-02-21T02:44:20Z lnostdal quit (Ping timeout: 255 seconds) 2018-02-21T02:49:22Z Oladon joined #lisp 2018-02-21T02:50:51Z wmannis quit (Quit: wmannis) 2018-02-21T02:54:31Z smaster joined #lisp 2018-02-21T02:59:11Z lnostdal_ quit (Ping timeout: 255 seconds) 2018-02-21T02:59:17Z smaster quit (Ping timeout: 256 seconds) 2018-02-21T03:00:53Z krwq joined #lisp 2018-02-21T03:06:27Z pagnol quit (Ping timeout: 240 seconds) 2018-02-21T03:10:24Z stylewarning: Does anybody have thoughts about printing some noise at compile time? 2018-02-21T03:10:41Z stylewarning: I have something that will take long to compile and I'd like to let the user know. 2018-02-21T03:11:51Z Bike: like in a macro or something? you could print a dot or something every so often, if *compile-print* is t 2018-02-21T03:13:25Z lnostdal_ joined #lisp 2018-02-21T03:14:37Z stylewarning: Bike: Totally forgot about *COMPILE-PRINT*. Thanks! 2018-02-21T03:15:03Z nowhere_man joined #lisp 2018-02-21T03:15:35Z Kundry_Wag joined #lisp 2018-02-21T03:16:15Z stylewarning: Maybe even *COMPILE-VERBOSE* 2018-02-21T03:18:36Z k-hos: I do all that work to compile llvm 2018-02-21T03:18:49Z k-hos: and then the first fucking file of cereal errors out 2018-02-21T03:19:07Z nowhereman_ quit (Ping timeout: 256 seconds) 2018-02-21T03:19:14Z k-hos: ... wrong chat 2018-02-21T03:20:08Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-21T03:23:05Z nickyname quit (Ping timeout: 256 seconds) 2018-02-21T03:26:21Z rumbler31 quit (Remote host closed the connection) 2018-02-21T03:31:11Z Chream_ quit (Ping timeout: 248 seconds) 2018-02-21T03:35:44Z Kundry_Wag joined #lisp 2018-02-21T03:38:00Z milanj quit (Quit: This computer has gone to sleep) 2018-02-21T03:38:06Z smaster joined #lisp 2018-02-21T03:40:24Z Kundry_Wag quit (Ping timeout: 260 seconds) 2018-02-21T03:45:01Z willmichael quit (Read error: Connection reset by peer) 2018-02-21T03:45:17Z willmichael joined #lisp 2018-02-21T03:46:10Z sabrac quit (Remote host closed the connection) 2018-02-21T03:46:15Z wxie joined #lisp 2018-02-21T03:52:03Z Kaisyu joined #lisp 2018-02-21T03:53:36Z raynold joined #lisp 2018-02-21T03:54:24Z wxie quit (Quit: Bye.) 2018-02-21T03:56:43Z marusich joined #lisp 2018-02-21T03:56:45Z tankrim quit (Remote host closed the connection) 2018-02-21T03:57:07Z tankrim joined #lisp 2018-02-21T03:58:23Z willmichael quit (Ping timeout: 248 seconds) 2018-02-21T04:00:11Z beach: Good morning everyone! 2018-02-21T04:01:04Z Chream_ joined #lisp 2018-02-21T04:01:33Z jack_rabbit: o/ 2018-02-21T04:02:00Z voidlily joined #lisp 2018-02-21T04:08:57Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-02-21T04:11:21Z sabrac joined #lisp 2018-02-21T04:11:29Z willmichael joined #lisp 2018-02-21T04:20:26Z voidlily_ joined #lisp 2018-02-21T04:21:19Z whoman quit (Ping timeout: 248 seconds) 2018-02-21T04:21:21Z schoppenhauer quit (Ping timeout: 248 seconds) 2018-02-21T04:21:27Z terpri quit (Ping timeout: 240 seconds) 2018-02-21T04:23:35Z schoppenhauer joined #lisp 2018-02-21T04:23:43Z voidlily quit (Ping timeout: 256 seconds) 2018-02-21T04:23:52Z Oladon quit (Quit: Leaving.) 2018-02-21T04:28:02Z willmichael quit (Read error: Connection reset by peer) 2018-02-21T04:28:33Z willmichael joined #lisp 2018-02-21T04:30:22Z dddddd quit (Remote host closed the connection) 2018-02-21T04:32:05Z igemnace quit (Quit: WeeChat 2.0.1) 2018-02-21T04:33:14Z willmichael quit (Ping timeout: 256 seconds) 2018-02-21T04:35:28Z igemnace joined #lisp 2018-02-21T04:36:57Z nopolitica quit (Ping timeout: 264 seconds) 2018-02-21T04:37:52Z Bike quit (Quit: Lost terminal) 2018-02-21T04:38:40Z mlf|2 quit (Ping timeout: 240 seconds) 2018-02-21T04:41:41Z manwhowouldbekin quit (Ping timeout: 276 seconds) 2018-02-21T04:42:28Z willmichael joined #lisp 2018-02-21T04:48:55Z saki quit (Quit: saki) 2018-02-21T04:49:20Z saki joined #lisp 2018-02-21T04:49:39Z arescorpio quit (Excess Flood) 2018-02-21T04:50:55Z ThUnD3R256 joined #lisp 2018-02-21T04:57:27Z vtomole quit (Quit: Page closed) 2018-02-21T04:57:36Z aeth: hmm... apparently check-type works on accessors 2018-02-21T04:58:09Z aeth: I guess that makes sense. It probably just setfs it 2018-02-21T05:00:16Z aeth: Should I do all of my verification for a class in initialize-instance because :type is implementation-specific (and in some implementations debug-level-specific)? I can just call a check-foo helper function, and check-type will allow correct values to be set. 2018-02-21T05:01:53Z aeth: (Also, some things are more complicated than just types.) 2018-02-21T05:02:25Z loke: aeth: CHECK-TYPE works on any PLACCE 2018-02-21T05:02:41Z loke: (check-type string (car foo)) 2018-02-21T05:03:08Z willmichael quit (Ping timeout: 276 seconds) 2018-02-21T05:03:42Z milanj joined #lisp 2018-02-21T05:05:18Z willmichael joined #lisp 2018-02-21T05:06:21Z vtomole joined #lisp 2018-02-21T05:06:57Z vtomole: What resources do you recommend for learning how to write a static type checker? 2018-02-21T05:07:33Z beach: For Common Lisp? 2018-02-21T05:08:54Z vtomole: Well, I want to implement one in Common lisp. But for a toy language. 2018-02-21T05:09:16Z beach: Well, then it depends a lot on the type system for that language. 2018-02-21T05:10:22Z beach: Some languages have manifest typing, so those are easy to check, because every variable and expression has a declared type. 2018-02-21T05:11:26Z vtomole: Just something very simple. Beginner stuff like "int x = 2; 2 + 3.0;" throws an error because 3.0 is not an int. I'm guessing that is the manifest typing you are talking about. 2018-02-21T05:11:27Z beach: Other languages, like Caml, use type inference and they reject badly typed programs, so they can use something like Hindley-Milner techniques. 2018-02-21T05:11:27Z smaster quit (Ping timeout: 248 seconds) 2018-02-21T05:12:08Z beach: Yes, it is. 2018-02-21T05:12:46Z beach: You just tag every expression with a type. Either a declared type in the case of a variable, or inferred type if it is a constant. 2018-02-21T05:13:47Z Mr_Tea joined #lisp 2018-02-21T05:13:56Z beach: Then you check the sub-expression of operators, such as +, to see whether they conform to the rules you have decided for your language, and you label the expression of that operator with its type, based on the arguments. 2018-02-21T05:15:06Z Zhivago: vtomole: One way to start thinking about it is -- what would it look like if for every function I had a version for every possible combination of parameter and output type? 2018-02-21T05:15:26Z Kundry_Wag joined #lisp 2018-02-21T05:15:49Z Zhivago: vtomole: (e.g., reducing it to a manifest type system) 2018-02-21T05:16:18Z vtomole: Ah. Sure. Thanks. 2018-02-21T05:17:01Z Zhivago: Then you can think about how you might compress that down to something reasonable by generalizing types where it has no semantic impact. 2018-02-21T05:17:12Z Zhivago: And having done that, start again from the beginning. :) 2018-02-21T05:20:02Z Kundry_Wag quit (Ping timeout: 260 seconds) 2018-02-21T05:20:35Z Mr_Tea: is there any offline terminal based CL documentation? 2018-02-21T05:24:11Z aeth: oooh, I just figured out a flaw with my check-type scheme 2018-02-21T05:24:41Z aeth: it works for with-accessors (obviously) but it also obviously doesn't work with local non-accessor bindings of things, like let or destructuring-bind 2018-02-21T05:25:57Z aeth: Since if you do a check-type on a destructuring-bind it will gladly update the local value... in a lexical scope that will soon be discarded. And not in the list itself. So, dangerously, you might think you corrected something that was not corrected. 2018-02-21T05:26:01Z aeth: e.g. (let ((foo (list 1 2 3))) (destructuring-bind (a b c) foo (declare (ignore b c)) (check-type a string) a (values a foo))) 2018-02-21T05:26:53Z rumbler31 joined #lisp 2018-02-21T05:26:55Z willmichael quit (Ping timeout: 248 seconds) 2018-02-21T05:27:45Z Mr_Tea quit (Ping timeout: 256 seconds) 2018-02-21T05:28:09Z vtomole quit (Ping timeout: 260 seconds) 2018-02-21T05:29:01Z tankrim quit (Remote host closed the connection) 2018-02-21T05:29:06Z sjl joined #lisp 2018-02-21T05:29:29Z tankrim joined #lisp 2018-02-21T05:30:50Z emaczen quit (Read error: Connection reset by peer) 2018-02-21T05:31:44Z rumbler31 quit (Ping timeout: 276 seconds) 2018-02-21T05:33:51Z sjl quit (Ping timeout: 248 seconds) 2018-02-21T05:34:33Z saki quit (Ping timeout: 256 seconds) 2018-02-21T05:34:38Z simplegauss joined #lisp 2018-02-21T05:35:35Z Mr_Tea joined #lisp 2018-02-21T05:42:55Z willmichael joined #lisp 2018-02-21T05:45:17Z fikka joined #lisp 2018-02-21T05:45:25Z stylewarning: Can this be valid & used by the compiler if these are in the same compilation unit: (defstruct A (x nil :type B)) (defstruct B (x nil :type A)) 2018-02-21T05:45:41Z stylewarning: Or is that outside the spec and the :type's need to be known at definition time? 2018-02-21T05:47:26Z smurfrobot joined #lisp 2018-02-21T05:52:39Z smurfrobot quit (Ping timeout: 268 seconds) 2018-02-21T05:55:24Z marusich quit (Ping timeout: 256 seconds) 2018-02-21T05:55:50Z marusich joined #lisp 2018-02-21T05:56:30Z smurfrobot joined #lisp 2018-02-21T05:58:02Z smaster joined #lisp 2018-02-21T05:59:48Z beach: stylewarning: For one thing, NIL would not be of the right type, unless I misunderstand your example. 2018-02-21T06:00:06Z stylewarning: NIL isn't correct, but the spec says that doesn't need to be evaluated 2018-02-21T06:00:49Z beach: Otherwise I think it works. 2018-02-21T06:00:57Z stylewarning: in fact, I suppose it's perfectly valid to have (defstruct whoa (x (make-obj-of-type-nil)) :) 2018-02-21T06:01:00Z smurfrobot quit (Ping timeout: 252 seconds) 2018-02-21T06:01:17Z stylewarning: for some value of "valid" (which is also maybe of type nil :D) 2018-02-21T06:01:29Z beach: "If a defstruct form appears as a top level form, the compiler must make the structure type name recognized as a valid type name in subsequent declarations..." 2018-02-21T06:01:30Z damke joined #lisp 2018-02-21T06:02:10Z smaster quit (Ping timeout: 240 seconds) 2018-02-21T06:02:14Z beach: Oh, but you have a forward type. 2018-02-21T06:02:18Z stylewarning: Right 2018-02-21T06:02:44Z aeth: stylewarning: I often use (or null foo) as a type 2018-02-21T06:02:48Z beach: That might be more problematic. I don't think structures have anything comparable to FORWARD-REFERENCED-CLASS. 2018-02-21T06:03:03Z stylewarning: aeth: me too 2018-02-21T06:03:54Z stylewarning: beach: it seems like a reasonably harmless extension to CL to support such a thing in some way 2018-02-21T06:03:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-21T06:03:58Z willmichael quit (Read error: Connection reset by peer) 2018-02-21T06:04:06Z BitPuffin joined #lisp 2018-02-21T06:04:11Z beach: stylewarning: Sure, and maybe some implementations do. 2018-02-21T06:06:41Z willmichael joined #lisp 2018-02-21T06:07:25Z marusich quit (Ping timeout: 256 seconds) 2018-02-21T06:07:49Z beach: stylewarning: Did you submit your papers to ELS yet? 2018-02-21T06:08:18Z stylewarning: beach: Not yet; I'm definitely taking advantage of the extension. 2018-02-21T06:08:46Z marusich joined #lisp 2018-02-21T06:08:50Z beach: OK. Because I don't recall having seen any. But you do intend to submit, right? 2018-02-21T06:09:14Z stylewarning: Yes, hopefully 3 co-authored papers 2018-02-21T06:09:28Z beach: Excellent! 2018-02-21T06:10:09Z beach: You know my rule, right? When the paper is ACCEPT-able, you submit. I.e. when you think that further work will not influence the decision by the program committee, you can submit. 2018-02-21T06:10:38Z stylewarning: Yep, that's the guideline I'm following. No point in trying to perfect a paper before acceptance. 2018-02-21T06:10:58Z beach: Exactly. If it is rejected, it would be wasted effort. 2018-02-21T06:13:02Z stylewarning: beach: I do fear that some of these are maybe pushing the scope of the conference tho 2018-02-21T06:13:10Z willmichael quit (Ping timeout: 240 seconds) 2018-02-21T06:13:17Z beach: I see. 2018-02-21T06:13:49Z beach: My favorite coauthor has had papers like that accepted in the past. But there were fewer submissions at the time. 2018-02-21T06:14:26Z Mr_Tea: I would love some pointers on how to improve this https://gist.github.com/c853470979a3705ec2e668b08f1f7d13 it was a lot of fun to write :) 2018-02-21T06:16:16Z beach: Mr_Tea: The code has several problems. 2018-02-21T06:16:44Z beach: Your naming is not great: calc, kv, di, re, hash. 2018-02-21T06:17:01Z beach: Comments at the top level should start with three semicolons. 2018-02-21T06:17:12Z Kundry_Wag joined #lisp 2018-02-21T06:17:42Z beach: You have a useless newline after COND. Wasting vertical space is impolite to the person maintaining your code. 2018-02-21T06:18:02Z terpri joined #lisp 2018-02-21T06:18:06Z beach: Since you are comparing to constant numbers in COND, you are better off using CASE. 2018-02-21T06:18:22Z beach: That's a very general rule in programming: Use the most specific construct that will do that job. 2018-02-21T06:18:57Z beach: The DOLIST can be replaced by LOOP. 2018-02-21T06:19:20Z fourier joined #lisp 2018-02-21T06:19:30Z beach: (loop for kv in hash sum (calc kv)) 2018-02-21T06:19:40Z beach: Then you don't need the lexical variable sum. 2018-02-21T06:20:10Z beach: You have a useless newline after the HASH lexical variable. 2018-02-21T06:20:45Z beach: You could probably avoid creating the list in HASH by doing that calculation in the loop. 2018-02-21T06:21:19Z marusich quit (Ping timeout: 248 seconds) 2018-02-21T06:21:20Z Chream_ quit (Read error: Connection reset by peer) 2018-02-21T06:21:27Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-21T06:21:50Z beach: (loop for i from 1 to 6 sum (calc (cons i (count i dice)))) something like that. 2018-02-21T06:22:38Z beach: Replacing COND by CASE also avoids evaluating (CAR KV) multiple times. 2018-02-21T06:23:25Z marusich joined #lisp 2018-02-21T06:23:51Z mathrick quit (Ping timeout: 256 seconds) 2018-02-21T06:24:09Z beach: I think that will suffice for now. 2018-02-21T06:24:22Z Chream_ joined #lisp 2018-02-21T06:24:25Z fourier quit (Ping timeout: 256 seconds) 2018-02-21T06:25:26Z Mr_Tea: wow that was awesome thanks beach just what I was looking for 2018-02-21T06:25:40Z Karl_Dscc joined #lisp 2018-02-21T06:25:52Z beach: Oh, and you don't write (setf sum (+ sum ...)). You write (incf sum ...) 2018-02-21T06:25:59Z beach: Though here you don't need it of course. 2018-02-21T06:26:21Z beach: Again, it's the rule of using the most specific construct. 2018-02-21T06:26:59Z beach: Mr_Tea: Sure, good luck. 2018-02-21T06:28:09Z Mr_Tea: in the cond I have to check if the first value is 1 or 5, or if the count of any other value is equal to 3 and I'm having trouble fitting that into case 2018-02-21T06:29:31Z marusich quit (Ping timeout: 256 seconds) 2018-02-21T06:30:55Z marusich joined #lisp 2018-02-21T06:34:37Z simplegauss quit (Ping timeout: 256 seconds) 2018-02-21T06:35:40Z burton` joined #lisp 2018-02-21T06:40:23Z flamebeard joined #lisp 2018-02-21T06:41:03Z ThUnD3R256 quit (Quit: Leaving) 2018-02-21T06:44:26Z oleo: http://clhs.lisp.se/Body/m_case_.htm 2018-02-21T06:45:10Z mathrick joined #lisp 2018-02-21T06:49:00Z ome joined #lisp 2018-02-21T06:50:00Z fikka quit (Ping timeout: 268 seconds) 2018-02-21T06:51:11Z krwq: is there a way to get unique object id (or something like pointer) without using hash-table? 2018-02-21T06:51:32Z mfiano: What is a unique object id? 2018-02-21T06:51:37Z Zhivago: Counting is popular. 2018-02-21T06:52:03Z LocaMocha joined #lisp 2018-02-21T06:52:30Z mfiano: oleo: btw, there is a quite large error in that hyperspec page 2018-02-21T06:53:07Z krwq: mfiano: some unique number per object, Zhivago: but that requires hash-table 2018-02-21T06:53:26Z beach: Mr_Tea: (case (car kv) (1 ...) (5 ...) (3 ...) (t 0)) 2018-02-21T06:53:28Z krwq: i'd like to avoid any locking 2018-02-21T06:53:28Z Zhivago: No, it merely requires a counter. 2018-02-21T06:53:40Z krwq: Zhivago: how would you do that? 2018-02-21T06:53:44Z mfiano: beach: He needs to check the cdr for 3 2018-02-21T06:53:53Z beach: Oh, sorry. 2018-02-21T06:53:58Z Zhivago: (setf (unique-id x) (incf *last-id*)) ; approximately. 2018-02-21T06:54:01Z beach: I missed the cdr. 2018-02-21T06:54:09Z aeth: Zhivago: not thread safe, though 2018-02-21T06:54:32Z Zhivago: Easy enough to do lock-free if that's an issue. 2018-02-21T06:54:41Z krwq: Zhivago: I mean unique per object not unique number 2018-02-21T06:54:48Z mfiano: Do you absolutely need a nintegral value? 2018-02-21T06:54:52Z Zhivago: That is unique per object. 2018-02-21T06:54:54Z mfiano: an integral? 2018-02-21T06:54:55Z beach: Mr_Tea: OK, so maybe CASE won't do here. However, you can make CALC have two parameters. Then you can avoid the CONS, the CAR and the CDR. 2018-02-21T06:56:15Z d4ryus1 is now known as d4ryus 2018-02-21T06:56:17Z mfiano: krwq: What is the use case and why the restriction on a number? 2018-02-21T06:56:49Z fikka joined #lisp 2018-02-21T06:56:52Z krwq: mfiano: I need to pass number to C and will get the same number back in a callback 2018-02-21T06:57:12Z krwq: mfiano: not necessarily a number though - anything 64bit 2018-02-21T06:57:34Z quazimodo quit (Ping timeout: 260 seconds) 2018-02-21T06:57:35Z krwq: Zhivago: I'm not sure how to use that - what is unique-id? 2018-02-21T06:57:51Z Zhivago: Just a special variable that is incrementable. 2018-02-21T06:58:08Z Zhivago: e.g., (defvar *unique-id* 0) 2018-02-21T06:58:17Z aeth: unique-id is an accessor, *last-id* is a global special variable 2018-02-21T06:58:28Z Zhivago: Oh, yes :) 2018-02-21T06:59:32Z aeth: an accessor is basically anything with a defined setf (writer) and (and/or?) reader 2018-02-21T06:59:59Z ludston_ quit (Quit: -a- Connection Timed Out) 2018-02-21T07:00:12Z krwq: Zhivago: but I can't modify object definition 2018-02-21T07:00:13Z ludston joined #lisp 2018-02-21T07:00:31Z krwq: i mean can't modify class 2018-02-21T07:00:41Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-21T07:00:44Z krwq: this needs to work with builtin classes as well 2018-02-21T07:01:05Z Zhivago: That's an issue you can resolve in the implementation of unique-id. 2018-02-21T07:01:06Z mishoo joined #lisp 2018-02-21T07:01:29Z krwq: how would I do that for string? 2018-02-21T07:02:16Z krwq: so let's say i do (defgeneric unique-id (obj)) and then (defmethod unique-id ((obj string)) (??? obj)) 2018-02-21T07:02:22Z aeth: accessors don't have to really do anything except have the syntax (foo x) and (setf (foo x) y), and even that is only necessary if you want to use with-accessors afaik and not a strict requirement 2018-02-21T07:02:31Z aeth: They can be methods, functions, whatever. 2018-02-21T07:02:56Z aeth: You could store everything in a global hash table, maybe? Very hacky. 2018-02-21T07:03:09Z aeth: Weak hash tables exist, in some implementations 2018-02-21T07:03:13Z mfiano: aeth: accessors as far as the standard is concerned can read OR write (or both). accessors in terms of defclass do both 2018-02-21T07:03:25Z krwq: my original question asked about no hash-tables since I want to make it thread safe this will be a bottleneck 2018-02-21T07:04:09Z aeth: ah, right 2018-02-21T07:04:12Z mfiano: aeth: the standard, iirc, defines an accessor as something that accesses a place, and access refers to a read or write. 2018-02-21T07:04:22Z aeth: thread safe is an issue 2018-02-21T07:04:51Z vlatkoB joined #lisp 2018-02-21T07:05:02Z aeth: I wouldn't personally use globals in a multithreaded application at all. 2018-02-21T07:05:07Z krwq: how does eq compare? can I get reference it uses to compare? 2018-02-21T07:05:42Z Zhivago: You might also be interested in SXHASH. 2018-02-21T07:05:49Z Zhivago: EQ compares using magic. 2018-02-21T07:05:52Z krwq: aeth: ok then how do you provide unique id without global? 2018-02-21T07:06:58Z mikecheck joined #lisp 2018-02-21T07:07:42Z krwq: Zhivago: but sxhash would mostly work.. until first collision isn't it? 2018-02-21T07:08:16Z aeth: krwq: You're probably not going to like my solution for avoiding globals. I basically take what would be a global and pass it as a parameter, so I lose general purposeness. (defun foo () ...) becomes (defun foo (would-have-been-a-global) ...) 2018-02-21T07:08:30Z aeth: The accessor will also have an extra parameter, probably. 2018-02-21T07:08:55Z krwq: aeth: the problem is that I need to give the object to C and get it back later 2018-02-21T07:08:57Z smaster joined #lisp 2018-02-21T07:09:05Z Zhivago: krwq: Pretty much, but it may make the problem smaller. 2018-02-21T07:09:30Z Zhivago: That doesn't require a globally unique identifier. 2018-02-21T07:09:41Z Zhivago: It just requires a temporarily unique return address on the envelope. 2018-02-21T07:10:33Z Zhivago: And since the return address will be determined on the C side, just have C tell you what it is when you post it to C. 2018-02-21T07:11:05Z Zhivago: Then you can just convert the C pointer to an integer or something and compare that with what comes back. 2018-02-21T07:11:58Z Zhivago: (Or if you're passing a pointer to C, just remember the pointer, and use that) 2018-02-21T07:12:43Z Karl_Dscc quit (Remote host closed the connection) 2018-02-21T07:13:01Z krwq: Zhivago: not sure how would that work. I got lisp-func which is called from C with int64 arg and other lisp2-func which gives it a number. at one point lisp-func is being called with an int64 arg and I need to figure out which object it is talking about 2018-02-21T07:13:36Z Zhivago: See the 'gives it a number'? 2018-02-21T07:13:36Z smaster quit (Ping timeout: 252 seconds) 2018-02-21T07:14:15Z Zhivago: Have whatever produces the number to give for an object remember the number it gave (ideally by recomputation, otherwise by retention). 2018-02-21T07:14:28Z Kundry_Wag joined #lisp 2018-02-21T07:14:40Z Zhivago: Then ask it what the corresponding object is when you get the number back. 2018-02-21T07:14:56Z krwq: Zhivago: I do that with hash-table right now and a lock 2018-02-21T07:15:00Z aeth: Unless you're doing things simultaneously or saving things across CL sessions, you could use an internal timestamp like (get-internal-real-time) or (get-internal-run-time) but that wouldn't be sufficient in some cases because you probably move faster than internal-time-units-per-second. Possibly useful if combined with another method. And probably not as good as Zhivago's idea. 2018-02-21T07:15:49Z mlf joined #lisp 2018-02-21T07:15:51Z krwq: when I write code in C directly I can pass a pointer to a struct and then my callback knows which object it is without any lookup 2018-02-21T07:16:14Z krwq: but in lisp I don't have a notion of pointer to lisp objects 2018-02-21T07:16:49Z Zhivago: Aren't you generating pointers for lisp objects to pass to C? 2018-02-21T07:17:08Z aeth: Garbage collection. The object could move in memory if it's compacting, can't it? 2018-02-21T07:17:13Z krwq: Zhivago: I do create unique ids with consecutive numbers 2018-02-21T07:17:30Z Zhivago: If you can create pointers to lisp objects it needs to support pinning. 2018-02-21T07:17:48Z Tobbi joined #lisp 2018-02-21T07:18:14Z Zhivago: The question I would ask first is -- is there a reason that the sender and receiver can't always be on the same thread? 2018-02-21T07:19:01Z Zhivago: If they can, then you can just have one sender/receiver per thread without contention. 2018-02-21T07:19:25Z krwq: Zhivago: the problem is that C is controlling the loop which calls back 2018-02-21T07:19:36Z Kundry_Wag quit (Ping timeout: 268 seconds) 2018-02-21T07:20:09Z Zhivago: What you could do is to break up the problem into a post-office / item code. 2018-02-21T07:20:44Z aeth: Zhivago: could there still be an issue if it ceases to be a pointer and becomes an integer derived from the pointer, though? 2018-02-21T07:21:19Z krwq: Zhivago: not sure what does that mean 2018-02-21T07:21:57Z Zhivago: How many threads is the C code running? 2018-02-21T07:23:15Z krwq: Zhivago: not sure - not well documented - likely whatever number of processors I have - I have a way to force single thread which I currently do but I'd like to eventually switch to multithreaded 2018-02-21T07:23:29Z krwq: Zhivago: it won't be feasible without it 2018-02-21T07:23:45Z Zhivago: Fair enough -- might as well lock then -- so what's the problem with your current solution? 2018-02-21T07:24:41Z krwq: Zhivago: the lock will likely be called a lot of times so expecting some overhead there but might be prematurely optimizing here - I was wondering if CL might have something like UNIQUE-ID or somethng along these lines 2018-02-21T07:25:37Z krwq: I'll ignore the subject for now until it hits me then :) 2018-02-21T07:25:37Z Zhivago: Simple answer is -- not portably. 2018-02-21T07:25:40Z willmichael joined #lisp 2018-02-21T07:25:43Z phoe: https://github.com/death/monotonic-clock 2018-02-21T07:26:10Z krwq: thanks Zhivago and aeth at least good to know I'm not missing anything obvious 2018-02-21T07:26:41Z phoe: or, depending on how unique your unique-id needs to be 2018-02-21T07:27:00Z phoe: you can just symbol-name of gensym 2018-02-21T07:27:09Z krwq: phoe: I think it will take a while until I overflow 64bit number 2018-02-21T07:27:17Z phoe: or (defun uid () (gensym) *gensym-counter*) for an ugly hack 2018-02-21T07:27:22Z phoe: krwq: yep, it'll be a long while 2018-02-21T07:29:19Z krwq: phoe: I'll wait with solution until then :) not sure if it's a good idea to have easily predictable ids in potentially insecure environment as well but will ignore that as well for now until it becomes a problem 2018-02-21T07:32:05Z orivej joined #lisp 2018-02-21T07:32:23Z simplegauss joined #lisp 2018-02-21T07:34:54Z aeth: phoe: nice solution 2018-02-21T07:35:14Z mishoo quit (Ping timeout: 252 seconds) 2018-02-21T07:35:18Z aeth: phoe: I'm guessing *gensym-counter* has to be thread safe? 2018-02-21T07:35:18Z phoe: aeth: it's a hack. 2018-02-21T07:35:30Z aeth: phoe: it's not a hack, it's repurposing someone else's hard work 2018-02-21T07:35:33Z phoe: aeth: I have actually no idea if (gensym) is thread safe. 2018-02-21T07:35:45Z aeth: if gensym's number has to be unique, then you now have a unique number 2018-02-21T07:36:11Z phoe: I can imagine this not being thread safe. 2018-02-21T07:36:15Z scymtym quit (Ping timeout: 268 seconds) 2018-02-21T07:36:29Z aeth: *gensym-counter* might not sync properly until (gensym) is called or something, though 2018-02-21T07:36:39Z phoe: yep. 2018-02-21T07:36:40Z aeth: So you might have to use the symbol-name 2018-02-21T07:36:45Z beach strongly recommends that people program in Common Lisp instead of C. 2018-02-21T07:37:28Z phoe: beach: I'm not touching C. I'm brainstorming a little bit for the guys who do though. 2018-02-21T07:37:41Z beach: I wasn't referring to you. 2018-02-21T07:38:50Z beach: I wonder what fraction of the utterances in #lisp have to do with trying to use something other than Common Lisp. 2018-02-21T07:39:20Z stacksmith quit (Ping timeout: 268 seconds) 2018-02-21T07:40:35Z thallia quit (Ping timeout: 240 seconds) 2018-02-21T07:41:11Z phoe: beach: I don't think it's different compared to other languages. I can imagine a large part of a programming language's IRC traffic being devoted to interfacing between that language and something else that's written in a different language. 2018-02-21T07:41:29Z fikka quit (Ping timeout: 256 seconds) 2018-02-21T07:41:59Z aeth: phoe: And that's probably because it's hard and sometimes has to violate language idioms 2018-02-21T07:42:09Z beach: phoe: Somehow that doesn't make me feel reassured. 2018-02-21T07:42:36Z phoe: beach: it's not meant to make anyone feel reassured. 2018-02-21T07:42:45Z beach: Just saying. 2018-02-21T07:43:03Z phoe: It's usually mentioned because someone is trying to bridge two different things together for some reason. 2018-02-21T07:43:30Z thallia joined #lisp 2018-02-21T07:43:41Z phoe: aeth: I can imagine, someone trying to bridge something in C that can fire unicorns into space as side effects to an application written in Haskell for example that contains side effects to the minimum. 2018-02-21T07:44:11Z phoe: That's the cost of having a real, real lot of programming languages used. 2018-02-21T07:45:16Z beach: phoe: I mostly don't care how people spend their time. But I care about what is discussed in an IRC channel dedicated to Common Lisp. 2018-02-21T07:45:59Z phoe: beach: as much as I agree, "interfacing CL with X" is a topic concerning CL. 2018-02-21T07:46:15Z beach: Maybe I should go somewhere else then. 2018-02-21T07:46:24Z krwq: #pure-lisp 2018-02-21T07:46:46Z phoe: I don't think so. So far #lisp has been spacious enough, in my opinion. 2018-02-21T07:46:58Z manualcrank quit (Quit: WeeChat 2.0.1) 2018-02-21T07:47:59Z phoe: But then again, dunno, #lispffi could perhaps become a thing if enough people decide that it should. 2018-02-21T07:48:15Z phoe: I can't say for myself here, I'm a way too small part of the Lisp community. 2018-02-21T07:48:34Z jackdaniel: fwiw I don't see a problem with discussing other languages if the discussion is related to CL one way or another 2018-02-21T07:50:41Z beach: phoe: I seem to be the outlier here, at least if my impression about the fractions of utterances is correct, so the #pure-lisp idea seems closer to a solution to my problem. 2018-02-21T07:50:58Z beach: ... and jackdaniel just provided another data point supporting that idea. 2018-02-21T07:52:08Z mfiano: I am neutral, though I do share beach's concern with regard to the increasing bridging of C code when often times it'd be easier to write in portable CL, and easier to maintain 2018-02-21T07:52:09Z ebrasca quit (Remote host closed the connection) 2018-02-21T07:52:17Z aeth: Any graphical application is going to have to FFI at some point unless CL builds in graphics/GUI/sound/input/etc. (moving the burden to implementors) or it's a soundless CLX application or it's for Mezzano. It would be nice to contain it to as few libraries as possible, though. 2018-02-21T07:52:42Z fikka joined #lisp 2018-02-21T07:52:49Z Jen joined #lisp 2018-02-21T07:53:02Z beach: mfiano: Plus, if more people did that, there would be more shared code available, as opposed to now, where every person basically has the same problems over and over again. 2018-02-21T07:53:08Z jackdaniel: mfiano: right, I agree with the sentiment, but if we refuse to talk about ffi, then there is no space to convince people. not speaking about bad practices doesn't make them disappear (sometimes even contrary, they are more frequent) 2018-02-21T07:53:50Z mfiano: I understand completely. I just feel FFI is abused often 2018-02-21T07:54:28Z mishoo joined #lisp 2018-02-21T07:56:06Z SuperJen quit (Ping timeout: 256 seconds) 2018-02-21T07:56:14Z jackdaniel: also there is this other side of the coin - we could put many non-CL libraries to good use given careful glueing and good interface on top of it (instead of reinvening the wheel due to NIH syndrome). I believe that each case needs a good call what is better or what has higher chance of success 2018-02-21T07:56:31Z beach: jackdaniel: There is a big difference between "a large fraction of the utterances" and "refusing all such utterances". All I am trying to do here is to encourage people to adopt the spirit of Freenode and of #lisp, i.e. rather than everyone struggling with his or her individual FFI application, occasionally taking a break, and write a Common Lisp library that can be shared with others. 2018-02-21T07:56:31Z varjag joined #lisp 2018-02-21T07:56:47Z ludston quit (Ping timeout: 256 seconds) 2018-02-21T07:57:17Z beach: jackdaniel: That is a very good idea. 2018-02-21T07:57:18Z smurfrobot joined #lisp 2018-02-21T07:57:40Z vutral quit (Ping timeout: 374 seconds) 2018-02-21T07:57:44Z fikka quit (Ping timeout: 265 seconds) 2018-02-21T07:58:22Z Xof joined #lisp 2018-02-21T07:58:28Z vutral joined #lisp 2018-02-21T07:59:03Z Cymew joined #lisp 2018-02-21T07:59:57Z willmichael quit (Ping timeout: 240 seconds) 2018-02-21T07:59:57Z sbryant quit (Ping timeout: 240 seconds) 2018-02-21T08:00:18Z beach: jackdaniel: And notice how your excellent idea was met with... silence. 2018-02-21T08:00:23Z ludston joined #lisp 2018-02-21T08:00:28Z sbryant joined #lisp 2018-02-21T08:01:17Z loke is reading the scrollback, looking for JD's excellent idea. 2018-02-21T08:01:20Z jackdaniel: beach: I'm not the one who makes the call what is more probably to succeed - it's the developer who puts his effort to grow the ecosystem (and he may be wrong - that's how you hone your good call) 2018-02-21T08:01:26Z loke: beach: What are you referring to precisely? 2018-02-21T08:01:35Z dmiles quit (Ping timeout: 248 seconds) 2018-02-21T08:02:27Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-21T08:03:20Z beach: loke: I am discouraged because so many discussions are about FFI rather than about Common Lisp. So jackdaniel suggested that, rather than each person having FFI problems, or each person having to rewrite everything in Common Lisp, an intermediate solution would be for people to write high-quality Common Lisp wrappers for common foreign code. 2018-02-21T08:03:24Z jackdaniel: I'm not a proponent of grand designs implemented by minions, but I do acknowledge that they have strong points over chaotic decentralized effort 2018-02-21T08:04:11Z loke: beach: I see your point. 2018-02-21T08:04:20Z aeth: jackdaniel: I'm a proponent of grand designs. The concepts tend to be good. It's the execution that's often lacking, perhaps because they are usually implemented by minions, as you said. 2018-02-21T08:04:22Z loke: Personally, I'm not sure I agree completely with either of you :-) 2018-02-21T08:04:54Z jackdaniel: right, I don't have strong opinion either. hopefully I'm doing my fair share to make things better :) that said, I need to go, later \o 2018-02-21T08:05:08Z beach: See you jackdaniel. 2018-02-21T08:05:09Z mfiano: beach: What is more disappointing to me is the fraction of libraries that are no longer maintained. Countless CL projects just seem to either go unmaintained, or were only created to just be pushed to GitHub and instantly abandoned. 2018-02-21T08:05:23Z smurfrobot joined #lisp 2018-02-21T08:05:23Z tankrim quit (Remote host closed the connection) 2018-02-21T08:05:47Z tankrim joined #lisp 2018-02-21T08:05:48Z fikka joined #lisp 2018-02-21T08:05:49Z Kundry_Wag joined #lisp 2018-02-21T08:06:06Z beach: mfiano: I see what you mean. Though I use GitHub as my backup. Not everything I put there is meant to be a self-contained project. 2018-02-21T08:06:27Z beach: mfiano: Though perhaps I should state that fact in the README in order to avoid confusion. 2018-02-21T08:07:29Z beach: Perhaps that is not how GitHub is supposed to be used. 2018-02-21T08:07:54Z Kevslinger quit (Quit: Connection closed for inactivity) 2018-02-21T08:08:03Z dmiles joined #lisp 2018-02-21T08:08:18Z mfiano: I wasn't referring to yours. I just feel CL libraries in general are like that. It doesn't help they often have a low bus factor either. 2018-02-21T08:09:11Z figurehe4d joined #lisp 2018-02-21T08:10:01Z beach: Oh, but I have some of the kind you are referring to, so I suspect that others do too. I think that might be inevitable. But yeah, we need a way to distinguish such projects from the ones that are meant to be used. 2018-02-21T08:10:02Z smurfrobot quit (Ping timeout: 255 seconds) 2018-02-21T08:10:29Z Kundry_Wag quit (Ping timeout: 255 seconds) 2018-02-21T08:10:40Z krwq: what about some meta project to make it easier to discover other lisp projects 2018-02-21T08:11:08Z krwq: we could use tags or some other idea to tag project with what it does and how pure it is 2018-02-21T08:12:07Z aeth: There could be collections, frameworks, etc. 2018-02-21T08:12:07Z krwq: so i.e. you could eventually do something like (ql-search:find-by-tags :jpg) and it would point you to couple of project you could quickload 2018-02-21T08:12:16Z easye: An active curation of CL https://github.com/CodyReichert/awesome-cl 2018-02-21T08:12:20Z schweers joined #lisp 2018-02-21T08:12:30Z krwq: we could make clim UI 2018-02-21T08:12:32Z aeth: easye: Not very active! 2018-02-21T08:12:45Z aeth: easye: It lists far too many things! 2018-02-21T08:12:50Z aeth: e.g. it lists GCL as an implementation! 2018-02-21T08:12:54Z easye: aeth: I am sure the developer accepts pull requests. 2018-02-21T08:13:06Z aeth: Part of curation is saying no. 2018-02-21T08:13:16Z easye: Agreed on the no part of editing. 2018-02-21T08:13:50Z easye: But being a good editor usually proves to be very tough. 2018-02-21T08:14:00Z krwq: I'd go with voting and reputation system for libraries that would trigger some competiveness for quality 2018-02-21T08:14:15Z aeth: easye: Imo, that Github project is too ambitious. It lists too many domains and the author can't know what's junk and not in all of those domains. 2018-02-21T08:14:29Z aeth: Curation is probably better in smaller areas. 2018-02-21T08:14:36Z aeth: e.g. just web or just graphics 2018-02-21T08:15:04Z krwq: the other idea we might add some statistics to QL and auto-generate what's the most popular 2018-02-21T08:15:49Z beach: mfiano: I added a README for Claire: https://github.com/robert-strandh/Claire :) 2018-02-21T08:15:55Z aeth: krwq: http://blog.quicklisp.org/2018/02/download-stats-for-january-2018.html 2018-02-21T08:16:01Z aeth: http://blog.quicklisp.org/2018/02/quicklisp-implementation-stats-for-2017.html 2018-02-21T08:16:02Z mfiano: Nice 2018-02-21T08:16:25Z krwq: that should be our curated list 2018-02-21T08:16:36Z aeth: CLISP is higher than I thought and ECL is lower than I thought 2018-02-21T08:16:48Z aeth: "Scieneer: 0" ouch 2018-02-21T08:16:54Z dmiles: xfi http://blog.quicklisp.org/2018/02/quicklisp-implementation-stats-for-2017.html 2018-02-21T08:16:58Z dmiles: oops 2018-02-21T08:17:09Z mfiano: beach: To be honest I had you in mind for the opposite. I mean SICL devotion 2018-02-21T08:17:27Z mfiano: and secondclimacs last i checked, etc 2018-02-21T08:17:44Z beach: mfiano: I see. Yes, those are definitely not abandoned. 2018-02-21T08:17:46Z easye waves to dmiles. 2018-02-21T08:18:21Z beach: I agree that there needs to be some list of Common Lisp projects together with some indication of quality. Many newbies get it wrong and try to use suboptimal libraries. The only existing solution is to come here and ask for advice. 2018-02-21T08:18:37Z dmiles waves back 2018-02-21T08:19:20Z beach: But I think, in practice, such a list would be hard to compile and to get consensus about. 2018-02-21T08:20:21Z dmiles: what languagees have a good library reputation already? 2018-02-21T08:20:28Z krwq: beach: that's why I'm saying voting and reputation 2018-02-21T08:20:39Z mfiano: beach: That would be nice. I think the same list should note their shortcomings as well to clearly see improvements that can be submitted by the community 2018-02-21T08:20:40Z ludston quit (Read error: Connection reset by peer) 2018-02-21T08:20:42Z aeth: dmiles: languages with a good reputation for libraries? 2018-02-21T08:20:42Z krwq: if we add UI and make people vote and document in there 2018-02-21T08:20:53Z dmiles: hehe i meant library repulatation system* 2018-02-21T08:20:59Z beach: Several good ideas here. 2018-02-21T08:21:09Z aeth: dmiles: well Python and Perl tend to be the standard examples for libraries 2018-02-21T08:21:15Z aeth: Or at least they used to be, I'm not sure how things are these days 2018-02-21T08:21:16Z krwq: that would be also a good proof of concept for clim project 2018-02-21T08:21:22Z aeth: I stopped caring about other languages when I found CL 2018-02-21T08:21:32Z krwq: same 2018-02-21T08:21:38Z ludston joined #lisp 2018-02-21T08:21:40Z aeth: s/for libraries/for how to handle libraries/ 2018-02-21T08:21:51Z krwq: but got rid off quite some experience in other language 2018-02-21T08:22:00Z krwq: so a little backward step for a while 2018-02-21T08:22:59Z mfiano: Another problem with such a list is everyone would vote for their own NIH library 2018-02-21T08:23:08Z krwq: either way I think it would be beneficial for everyone to create a project for making it easier to reuse other peoples' effor 2018-02-21T08:23:19Z dmiles: ussually such a repuation system would have to come from a package manager like quicklisp 2018-02-21T08:23:45Z krwq: mfiano: that's not bad - if someone is considered a good contributor he's likely to recommend something good 2018-02-21T08:23:50Z aeth: Here's an attempt at package curation in Perl that I think might bundle/install all of those libraries: https://metacpan.org/pod/Task::Kensho 2018-02-21T08:23:52Z krwq: so reputation should work fine 2018-02-21T08:23:59Z mfiano: Lisp and NIH. I'm going to be quiet now. I am sounding like one with extreme dislike for CL and that is far from the case 2018-02-21T08:24:11Z aeth: I guess CPAN supports meta-packages or something? Maybe Quicklisp could have that concept? 2018-02-21T08:25:00Z easye: The current abstraction for Quicklisp metapackage might be the bundle. 2018-02-21T08:25:06Z krwq: wouldn't that be just creating an empty system with dependencies? 2018-02-21T08:25:40Z easye: The libraries one may obtain from Quicklisp itself is a "bundle" or a "dist". One can have more than one dist. 2018-02-21T08:26:00Z easye: err "libraries one has available to obtain" 2018-02-21T08:26:31Z easye: err "One can have more than one dist available in a given Quicklisp installation" 2018-02-21T08:26:38Z easye goes to drink more coffee. 2018-02-21T08:28:39Z krwq: what's the dist definition? source for the package? (i.e. fork?) 2018-02-21T08:29:29Z easye: a dist is a set of ASDF definitions, and the recipe to get the source artifacts downloaded and available for CL:LOAD 2018-02-21T08:30:00Z krwq: in my case I usually fork libraries I plan to extensively use in case someone makes a breaking change/removes repo or I need to make a quick fix without sending a patch 2018-02-21T08:30:19Z easye: There is a primary dist, called "Quicklisp" which references all the possible symbols that QL:QUICKLOAD knows how to retrieve. 2018-02-21T08:30:56Z easye: But one may add new systems/symbols by adding another dist. 2018-02-21T08:31:50Z krwq: easye: so how would I share some systems with quicklisp I have forked and patched without creating a conflict? 2018-02-21T08:32:44Z easye: You host the metadata for a new dist, as well as the source artifacts that they refer to. 2018-02-21T08:33:35Z krwq: can you inherit other dist and patch only selected libraries? 2018-02-21T08:33:41Z heisig joined #lisp 2018-02-21T08:33:59Z easye: (For ELS 2016, I think I installed a dist created by Shimera(?) that collected a bunch of libraries that weren't in Quicklisp, but it doesn't seem to be on the computer I am on, so I can't find a URI for an example) 2018-02-21T08:34:41Z Mr_Tea quit (Remote host closed the connection) 2018-02-21T08:34:47Z krwq: btw is ELS also on-line? I'm not going to be able to attend it 2018-02-21T08:34:59Z krwq: i mean physically 2018-02-21T08:35:03Z beach: Now here is a project that would be almost universally useful, and it is somewhat in the spirit of what jackdaniel suggested: http://metamodular.com/POSIX-API/ 2018-02-21T08:35:32Z beach: It is also great because it consists of 100 or so independent pieces, so that collaboration is very easy. 2018-02-21T08:35:52Z easye: krwq: I have long wanted to do that for ABCL. The Quicklisp "dist" mechanism is still "under development", but adding such an ordering and patching over dependencies in Quicklisp systems with special needs (like running in the JVM) would be of interest to me. 2018-02-21T08:36:50Z krwq: beach: I assume this will also cover windows? Im not using at home but will definitely need it for any user app 2018-02-21T08:37:01Z jackdaniel: beach: this description looks very much like an abstract of osicat library (https://github.com/osicat/osicat) - and it covers windows to some extent 2018-02-21T08:37:02Z phoe: beach: s/Ossicat/osicat/ 2018-02-21T08:37:11Z beach: phoe: Thanks. 2018-02-21T08:37:23Z phoe: beach: you may also hyperlink the github link that jackdaniel just posted 2018-02-21T08:37:24Z krwq: phoe: osicat is problematic 2018-02-21T08:37:27Z beach: krwq: Again, I am sticking to the spirit of Freenode, so no commercial OSes are mentioned. 2018-02-21T08:37:52Z phoe: krwq: c'mon, I'm just correcting typos right now ;) 2018-02-21T08:38:30Z beach: jackdaniel: I misspelled it, but I explicitly mention Osicat. 2018-02-21T08:38:37Z krwq: phoe: I mean that there are a lot of gaps and there is no abstraction for i.e. swapping underlying file system 2018-02-21T08:38:44Z fe[nl]ix: beach: keep in mind that that actual POSIX is minimal and far from sufficient 2018-02-21T08:38:44Z phoe: krwq: yes. 2018-02-21T08:38:46Z dmiles: re POSIX-API .. <- surprised this is FFI and not "trival" 2018-02-21T08:39:13Z beach: fe[nl]ix: Yes, I was thinking of all of Linux. 2018-02-21T08:39:25Z jackdaniel: yes you did 2018-02-21T08:39:29Z krwq: beach: like redhat? 2018-02-21T08:39:38Z dmiles just brings that up since each impl impls at least 89% of that POSIX-API already ;\ 2018-02-21T08:39:44Z beach: krwq: Not sure I understand your question. 2018-02-21T08:39:55Z jackdaniel: krwq: more like interface provided by, say, glibc 2018-02-21T08:39:56Z krwq: beach: redhat is commercial 2018-02-21T08:40:04Z phoe: krwq: but based on free software 2018-02-21T08:40:09Z jackdaniel: redhat is linux distribution which "just" bundles some specific software versions 2018-02-21T08:40:17Z fe[nl]ix: beach: I started IOlib with the same intentions then realised that many useful syscalls are outside POSIX, and even struct fields are OS-specific 2018-02-21T08:40:36Z phoe: krwq: they essentially are a support company who accidentally supports only the linux distro that they ship. 2018-02-21T08:41:02Z Chream_2 joined #lisp 2018-02-21T08:41:04Z beach: fe[nl]ix: Yes, that would have to be taken into account. 2018-02-21T08:41:17Z krwq: phoe: jackdaniel: beach: but the point is that for any syscall library to be useful it needs to support as many popular oses as possible and that includes windows and OSX 2018-02-21T08:41:34Z saki joined #lisp 2018-02-21T08:41:42Z dmiles entire police record consits of installing redhat cd-rom at bookstore in 1996 2018-02-21T08:42:03Z pjb: :-) 2018-02-21T08:42:05Z jackdaniel: krwq: as mentioned, osicat supports windows (to some degree limited by what windows as os allows) and osx is a posix system 2018-02-21T08:42:23Z scymtym joined #lisp 2018-02-21T08:42:46Z beach: krwq: I write free software. Therefore, people can take it and add support for whatever OS they like. That doesn't mean I myself am going to add such support. I use as little commercial software as I can. 2018-02-21T08:42:54Z krwq: jackdaniel: last time I checked osicat couldn't handle symlinks correctly and didn't support shell execute with arguments as a list 2018-02-21T08:42:55Z jackdaniel: krwq: check out in your favourite search engine what POSIX is 2018-02-21T08:43:18Z Chream_ quit (Read error: Connection reset by peer) 2018-02-21T08:43:41Z simplegauss quit (Read error: Connection reset by peer) 2018-02-21T08:43:43Z Chream_2 quit (Read error: Connection reset by peer) 2018-02-21T08:43:49Z Chream_ joined #lisp 2018-02-21T08:43:55Z simplegauss joined #lisp 2018-02-21T08:45:32Z krwq: jackdaniel: do you expect me to read the whole spec or what? I'm a fan of usefulness over ideology 2018-02-21T08:45:55Z beach: krwq: And I deeply resent statements such as "for ... to be useful it needs to support [commercial software]". First, I discourage the use of commercial software. Second, I think it is factually wrong. There are many people (though perhaps not you) that use free software almost exclusively. 2018-02-21T08:46:09Z Chream_2 joined #lisp 2018-02-21T08:46:20Z krwq: beach: try to explain to my mum that she needs linux to use the app I wrote for her 2018-02-21T08:46:36Z beach: krwq: I do not expect your mother to use the POSIX library. 2018-02-21T08:46:44Z easye: Talking to *your* mum is not @beach's job. 2018-02-21T08:47:13Z smurfrobot joined #lisp 2018-02-21T08:47:14Z krwq: beach: I expect her to use the library and if I can't write an app for a family member then it's not by my definition anything useful 2018-02-21T08:47:15Z beach: krwq: I am allowed to target whatever user group I like. It is just to bad if your mother is not part of it. Not my problem though. 2018-02-21T08:47:23Z jackdaniel: krwq: honestly I didn't expect you to do nothing, yet I've *hoped* you could provide something more useful remarks than: "it didn't work for me, so it is problematic, hence not worth using" 2018-02-21T08:48:04Z jackdaniel: you are free to improve osicat wrt Windows support (if you know how of course) and to add missing syscals like execve, execvp etc 2018-02-21T08:48:05Z beach: krwq: And, for the record, I don't share your definition of "useful". 2018-02-21T08:48:06Z Chream_ quit (Ping timeout: 256 seconds) 2018-02-21T08:48:30Z easye: Utility is as usefullness does ... 2018-02-21T08:48:30Z jackdaniel: moreover you are free to provide a compfy abstraction over it very much like run-program in many implementations 2018-02-21T08:48:41Z krwq: jackdaniel: I gave you two examples: symlinks and calling a command with arguments as a list 2018-02-21T08:49:46Z jackdaniel: symlinks where - on Linux or on Windows? (hint: Windows doesn't have symlinks) 2018-02-21T08:49:46Z ome quit (Quit: Connection closed for inactivity) 2018-02-21T08:50:05Z krwq: jackdaniel: windows does have symlinks 2018-02-21T08:50:13Z easye: What's the current hotness for slicin' and dicin' bash one liners into UIOP:RUN-PROGRAM? I've got a bunch of stuff I keep repeating, like 2018-02-21T08:50:15Z jackdaniel: and as of execve - it is not part of the library, but *it could be* (given you have incentive to implement run-program) 2018-02-21T08:50:15Z easye: (uiop:run-program "mkdir -p ~/.config/common-lisp/source-registry.conf.d/ && cp ~/work/emotiq/etc/emotiq.conf ~/.config/common-lisp/source-registry.conf.d/") 2018-02-21T08:50:25Z easye: That I would like to share an abstraction with. 2018-02-21T08:50:25Z pjb: krwq: MS-Windows doesn't have symlinks. 2018-02-21T08:50:40Z pjb: krwq: MS-Windows has something that ressemble macOS aliases, but worse. 2018-02-21T08:50:52Z dmiles: Widnows only has Hardlinks 2018-02-21T08:51:05Z pjb: (and knowing that macOS aliases combine the defects of both hard links and sym links…) 2018-02-21T08:51:10Z easye: For symbolic link abstractions, I just shell out to Windows for ABCL. 2018-02-21T08:51:13Z dmiles: (hardlinks for dirrectories that is) 2018-02-21T08:51:30Z pjb: again, the worst of the worse… 2018-02-21T08:51:54Z smurfrobot quit (Ping timeout: 260 seconds) 2018-02-21T08:51:59Z krwq: pjb: https://blogs.windows.com/buildingapps/2016/12/02/symlinks-windows-10/ 2018-02-21T08:52:13Z krwq: basic scenarios are fine 2018-02-21T08:53:15Z pjb: If I do ls from cygwin and see files named .lnk I don't call that symlinks! 2018-02-21T08:53:46Z krwq: i never used them from cygwin or have any clue what it does 2018-02-21T08:53:53Z easye: pjb: agreed that it ain't a symlink, but it shares some properties i.e. it needs resolution with symlinks. 2018-02-21T08:53:53Z dmiles: and before vista windows had NTFS junction points 2018-02-21T08:53:55Z pjb: But then, I remained with MS-Windows 7, so perhaps they added something. 2018-02-21T08:53:57Z jackdaniel: krwq: OK, you do it: osicat-src/windows/windows.lisp, exported abstractions are in osicat-src/src/osicat.lisp. Since you clearly know what you need it's just a matter of adding support 2018-02-21T08:54:57Z krwq: jackdaniel: i don't use windows at home and the only time I needed it - it didn't work for me - will consider porting next time I need it 2018-02-21T08:55:10Z easye: So, there for a link, it should always be the case that CL:TRUENAME and CL:PROBE-FILE can be used to distinquish. 2018-02-21T08:55:17Z krwq: but btw links to directiories don't work on linux as well 2018-02-21T08:55:36Z easye: krwq: depends on your implementation. 2018-02-21T08:55:50Z krwq: easye: of osicat? 2018-02-21T08:56:01Z easye: No, what osicat is running on. 2018-02-21T08:56:09Z krwq: ubuntu 2018-02-21T08:56:19Z easye: no, sbcl, ccl, acl, etc. 2018-02-21T08:56:21Z phoe: Lisp implementation. 2018-02-21T08:56:24Z krwq: sbcl 2018-02-21T08:56:30Z jackdaniel: easye: osicat doesn't map to running implementation (it uses ffi to perform syscalls) 2018-02-21T08:56:37Z jackdaniel: so it behaves consistently across implementations 2018-02-21T08:56:47Z jdz: I thought everything is a file in Unix, including directories. 2018-02-21T08:57:18Z krwq: jdz: yes but path is not a file 2018-02-21T08:57:18Z easye: I thought that Stellian tried to architecture it that way, but eventually had to implement some conditionals? 2018-02-21T08:57:28Z jdz: (Sorry, not adding any value to the discussion; but a link is a kind-of a file, or directory, depending on what one wants to do with it). 2018-02-21T08:57:29Z easye goes to check osicat source again. 2018-02-21T08:57:38Z smurfrobot joined #lisp 2018-02-21T08:57:50Z jackdaniel: check out file posix/unix.lisp for defsyscall's 2018-02-21T08:58:46Z jdz: On the other hand, from the Common Lisp point of view, one can (should be able to) also operate on a link as a file or a directory. 2018-02-21T08:59:08Z jdz: By having the last component in the file or directory. 2018-02-21T08:59:11Z krwq: jackdaniel: I think it might be a matter of adding or removing slashes in the end but the point of abstraction is that I don't have to think if I did it correctly 2018-02-21T08:59:50Z jdz: krwq: I think it is important to remember that CL's pathname operations don't need to touch the filesystem at all. 2018-02-21T08:59:52Z milanj quit (Quit: This computer has gone to sleep) 2018-02-21T09:00:12Z jackdaniel: and if you did it incorrectly (i.e you didn't add or remove some slashes n the end) then you have to think about it ;] 2018-02-21T09:00:34Z damke_ joined #lisp 2018-02-21T09:00:35Z krwq: jdz: they are also one of the biggest pains i've seen across all of the languages I've ever used 2018-02-21T09:00:36Z willmichael joined #lisp 2018-02-21T09:00:54Z jackdaniel: we yet have to develop the software capable of scrapping brain waves to understand the intention 2018-02-21T09:01:26Z krwq: jackdaniel: nope you create directory-link and file-link functions which do the right thing always 2018-02-21T09:01:34Z jdz: krwq: because no other language has ever attempted to abstract filesystem operations? 2018-02-21T09:01:36Z krwq: or show error 2018-02-21T09:01:38Z jackdaniel: (defsystem foo :depends-on (#:brain-scrapper)) 2018-02-21T09:02:16Z krwq: jdz: i get the idea that it was invented before filesystem was speced out properly 2018-02-21T09:02:28Z krwq: but I think the notion of directory and file object is much easier 2018-02-21T09:02:29Z jackdaniel: when I find some abstraction inconvenient I usually try to make a PR (and sometimes it just happens I'm simply ignorant - sadly) 2018-02-21T09:02:34Z jdz: I thought just doing (declaim (optimize dwim)) would be sufficient. 2018-02-21T09:02:45Z damke quit (Ping timeout: 264 seconds) 2018-02-21T09:03:29Z krwq: i.e. see .NET FileInfo and DirectoryInfo - I'd say that's a pretty good and easy solution 2018-02-21T09:03:38Z figurehe4d quit (Ping timeout: 276 seconds) 2018-02-21T09:03:56Z krwq: not a fun of other abstractions there but files have decent abstraction 2018-02-21T09:04:01Z jdz: krwq: Does it support file versions? 2018-02-21T09:04:19Z krwq: jdz: which filesystem exactly supports file versions? 2018-02-21T09:04:26Z jdz: Or symbolic links, for that matter. 2018-02-21T09:04:33Z milanj joined #lisp 2018-02-21T09:04:40Z jdz: krwq: ZFS AFAIK. 2018-02-21T09:04:48Z willmichael quit (Ping timeout: 240 seconds) 2018-02-21T09:04:49Z jackdaniel: for instance I could mix two different concepts: filesystem access and pathname support 2018-02-21T09:04:55Z beach: VMS has file versions as I recall. Not sure VMS is still used, though. 2018-02-21T09:04:57Z jackdaniel: which are two different things 2018-02-21T09:05:17Z jackdaniel: (speaking of potential of being ignorant with my propositions) 2018-02-21T09:05:18Z sjl joined #lisp 2018-02-21T09:05:34Z jdz: jackdaniel: I agree. Have been very frustrated with languages where pathnames have to be handled using string concatenation. 2018-02-21T09:05:39Z shrdlu68 joined #lisp 2018-02-21T09:05:43Z krwq: jdz: symbolic links are a pain in .net but searching and enumerating files is always dwim 2018-02-21T09:06:30Z karswell quit (Remote host closed the connection) 2018-02-21T09:06:39Z jdz: krwq: Also, let's not conflate languages and libraries. 2018-02-21T09:06:49Z krwq: I'm currently trying to abstract file system so might be able to combine git with any file system to create versioned file ssytem 2018-02-21T09:07:04Z karswell joined #lisp 2018-02-21T09:07:28Z krwq: lisp doesn't have virtual file systems which is a pain 2018-02-21T09:07:46Z krwq: at least for me 2018-02-21T09:07:51Z jdz: krwq: which _language_ does? 2018-02-21T09:08:13Z tankrim quit (Remote host closed the connection) 2018-02-21T09:08:37Z krwq: jdz: I think ruby and I've seen IsolatedFileStorage in .net but never tried so not sure if it works as i'd expect 2018-02-21T09:08:38Z tankrim joined #lisp 2018-02-21T09:08:57Z jdz: It's not the language, it's a library. 2018-02-21T09:09:21Z Jen quit (Remote host closed the connection) 2018-02-21T09:09:26Z jdz: Standard library sits somewhere in between. 2018-02-21T09:09:37Z krwq: libraries make the language great - language by itself will always be just a language 2018-02-21T09:09:40Z sjl quit (Ping timeout: 240 seconds) 2018-02-21T09:10:01Z krwq: lisp does have the advantage of making it easier to write abstraction though 2018-02-21T09:10:06Z krwq: but lacks libraries 2018-02-21T09:10:39Z jdz: krwq: I have an issue with you saying "lisp doesn't have virtual file systems" instead of saying "there is no Common Lisp library for virtual file systems". 2018-02-21T09:10:46Z phoe: ^ 2018-02-21T09:10:54Z jackdaniel: especially that there is ;-) 2018-02-21T09:10:56Z mfiano: I think your time would be better spent looking around than spreading misinformation 2018-02-21T09:10:59Z jackdaniel: it is called cl-fuse afair 2018-02-21T09:11:11Z krwq: jackdaniel: have you tried it? 2018-02-21T09:11:13Z phoe: C doesn't have virtual file systems either, neither does Python, Java, Haskell, Ruby, MATLAB or assembly 2018-02-21T09:11:36Z jackdaniel: I totally agree with mfiano, I don't have *more* time to clear your misconceptions 2018-02-21T09:12:14Z shrdlu68: krwq: Are you currently implementing a virtual filesystem in CL? 2018-02-21T09:12:21Z krwq: shrdlu68: yes 2018-02-21T09:12:29Z ome joined #lisp 2018-02-21T09:12:29Z shrdlu68: krwq: Cool. 2018-02-21T09:13:15Z krwq: it's not cool, i just wanted to implement something using it but ended up with implementing it 2018-02-21T09:13:35Z jdz: krwq: also, NTFS most definitely has file versions. 2018-02-21T09:13:47Z phoe: krwq: it's called yak shaving, and it's pretty common to do it while programming. 2018-02-21T09:14:51Z shrdlu68: krwq: I meant that it's cool that you're implementing one, not the fact that you've had to implement one. 2018-02-21T09:15:25Z jdz: I'm not even sure what it means to "implement a virtual file system". 2018-02-21T09:16:09Z krwq: jdz: the point is so that I can use all operations I can do in CL but without having to physically use hard drive and being able to mount it physically as well 2018-02-21T09:16:10Z shrdlu68: jdz: To write a library that facilitates the creation and access of virtual filesystems? 2018-02-21T09:16:37Z jdz: 2 interpretations, and counting. 2018-02-21T09:16:37Z Kundry_Wag joined #lisp 2018-02-21T09:16:55Z krwq: jdz: he said the same as I did in different words 2018-02-21T09:17:13Z nika_ joined #lisp 2018-02-21T09:17:23Z fikka quit (Ping timeout: 268 seconds) 2018-02-21T09:17:24Z jdz: In my understanding, physical and virtual are the counterparts. 2018-02-21T09:17:43Z willmichael joined #lisp 2018-02-21T09:17:59Z krwq: nope, you define abstraction for file system something which can be *easily* and quickly implemented 2018-02-21T09:18:11Z krwq: and you provide a set of functions to mount and unmount it 2018-02-21T09:18:24Z krwq: the other part is integrating that with CL 2018-02-21T09:18:43Z krwq: which is more work as it will require hacking all implementations 2018-02-21T09:18:55Z jdz: Why? 2018-02-21T09:19:27Z krwq: jdz: i.e. sbcl is doing syscalls directly in its 200+ lines long open implementation 2018-02-21T09:19:37Z krwq: there is no abstraction which I could plug into 2018-02-21T09:20:11Z shrdlu68: krwq: You could use a CFFI layer. 2018-02-21T09:20:12Z jdz: Well, you'll have to do your own 200+ syscalls in your own functions, right? 2018-02-21T09:21:03Z krwq: shrdlu68: what do you mean? for fuse or do you mean something else 2018-02-21T09:21:14Z jdz: krwq: you don't mean to replace implementation's file access code, do you? 2018-02-21T09:21:32Z Kundry_Wag quit (Ping timeout: 260 seconds) 2018-02-21T09:21:52Z jdz: At least as an initial goal. 2018-02-21T09:22:09Z krwq: jdz: I meant to provide something like *file-system* dynamic var which if bound to something else than default value it will start using virtual file system instead of the physical one 2018-02-21T09:22:30Z krwq: i mean everything in CL would 2018-02-21T09:22:47Z phoe: you need to rewrite a huge chunk of CL for this. 2018-02-21T09:23:09Z krwq: phoe: why not just open and couple of other things? 2018-02-21T09:23:20Z phoe: hm, in fact yes 2018-02-21T09:23:34Z krwq: I could reuse all of the streams they have and stuff for my default implementation 2018-02-21T09:23:41Z phoe: yes, the stream layer can be reused. 2018-02-21T09:23:45Z jdz: krwq: Oh, I'm starting to see what you're after. Good luck with ensuring CL's pathnames work on your VFS. 2018-02-21T09:23:46Z phoe: you just need to rewrite what is beneath it. 2018-02-21T09:24:05Z krwq: but each implementation does it differently so this will likely be painful 2018-02-21T09:24:10Z phoe: yep. 2018-02-21T09:24:17Z phoe: you go into the implementation-defined zone. 2018-02-21T09:24:27Z terpri quit (Ping timeout: 240 seconds) 2018-02-21T09:24:37Z krwq: my first version will likely just provide a set of similar APIs which you can alternatively use 2018-02-21T09:24:48Z krwq: and not sure if will ever do that pluggin in part 2018-02-21T09:25:09Z krwq: I will see how it goes 2018-02-21T09:25:52Z figurehe4d joined #lisp 2018-02-21T09:26:10Z mlf quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-21T09:26:21Z fikka joined #lisp 2018-02-21T09:27:00Z jdz: krwq: Have you considered using logical hosts instead of a magic special variable for this? 2018-02-21T09:27:26Z krwq: I have never used CL's path abstraction for other thing that to write my simpler string based path abstraction :P (might have been bad decision when I started) 2018-02-21T09:27:45Z krwq: jdz: what do you mean 2018-02-21T09:27:58Z jdz: I meant logical pathnames, not logical hosts. 2018-02-21T09:27:58Z phoe: someone said a thing up there about paths as concatenated strings 2018-02-21T09:28:48Z jdz: krwq: You'd have an additional logical host VFS or something, similar to SYS, the semantics of which is implementation defined. 2018-02-21T09:29:12Z jdz: clhs 19.3.1.1.1 2018-02-21T09:29:12Z specbot: The Host part of a Logical Pathname Namestring: http://www.lispworks.com/reference/HyperSpec/Body/19_caaa.htm 2018-02-21T09:29:20Z krwq: jdz: for filesystem implementation - yes will consider it - but I was talking about my own abstraction layer I spent a little time writing when learning CL 2018-02-21T09:29:49Z krwq: jdz: will read about it - might simplify stuff 2018-02-21T09:30:20Z milanj quit (Quit: This computer has gone to sleep) 2018-02-21T09:30:42Z krwq: I'm not a fan of how CL named path related functions - I can't ever remember them 2018-02-21T09:31:16Z krwq: in my abstraction I've prefixed every path related function with path- 2018-02-21T09:31:18Z willmichael quit (Ping timeout: 256 seconds) 2018-02-21T09:31:33Z Xal quit (Ping timeout: 264 seconds) 2018-02-21T09:31:34Z krwq: with path+ for concatenation being exception 2018-02-21T09:31:55Z jdz: "Concatenaton"? And not merging? 2018-02-21T09:32:12Z phoe: krwq: Lisp pathnames are one of the most alien things of all of CL 2018-02-21T09:32:20Z krwq: jdz whatever you call it 2018-02-21T09:32:24Z phoe: it takes some time to get them, but they're pretty decent afterwards. 2018-02-21T09:33:29Z krwq: I ended up using strings everywhere and if it ends with / it is a directory and if not it is a path to a file 2018-02-21T09:33:40Z phoe: which might fail you 2018-02-21T09:33:47Z phoe: "/usr" is definitely a directory 2018-02-21T09:33:48Z jdz: Sometimes reimplementing something is the best way to understand that thing. 2018-02-21T09:33:56Z Xal joined #lisp 2018-02-21T09:34:02Z krwq: i have set of functions prefixed with file- and directory- so that i can never misuse 2018-02-21T09:34:13Z krwq: and for directories it will automatically add slash 2018-02-21T09:34:13Z wxie joined #lisp 2018-02-21T09:34:40Z krwq: so i.e. my version of file-exists will return false for /usr 2018-02-21T09:34:50Z krwq: because it is a directory 2018-02-21T09:35:14Z krwq: probe-file will return t regardless if it is a file or dir 2018-02-21T09:35:19Z jdz: But what if it is a symbolic link? 2018-02-21T09:35:32Z krwq: jdz: I do not care about that for directories 2018-02-21T09:35:37Z jdz: Really? 2018-02-21T09:35:41Z krwq: as long as I can write files there 2018-02-21T09:35:52Z jdz: No, what if you want to move it? 2018-02-21T09:36:01Z jdz: Well, bad example. 2018-02-21T09:36:09Z krwq: I haven't done that but I'd likely error then 2018-02-21T09:36:25Z jdz: Make a copy is a better example. 2018-02-21T09:36:47Z jdz: One might want to copy a link, or the contents of the directory. Both are valid operations. 2018-02-21T09:36:51Z krwq: jdz: directory-copy technically should fail but I have never failed 2018-02-21T09:36:56Z krwq: s/failed/tried 2018-02-21T09:36:57Z krwq: wtf 2018-02-21T09:37:34Z krwq: I do not have abstraction for directory-copy though 2018-02-21T09:37:40Z krwq: i never had to use it 2018-02-21T09:37:45Z jdz: And then there's the case of target location being on a different filesystem (different mount point). 2018-02-21T09:38:05Z krwq: jdz: why is that a problem 2018-02-21T09:38:25Z mikecheck left #lisp 2018-02-21T09:38:35Z terpri joined #lisp 2018-02-21T09:38:35Z jdz: Might not be a problem in this case, but it is a problem with hard links. 2018-02-21T09:38:41Z krwq: are we talking about my vfs or my libraries right now 2018-02-21T09:38:47Z smurfrobot quit (Remote host closed the connection) 2018-02-21T09:38:54Z krwq: for my file system I'll strive to do it correctly 2018-02-21T09:39:03Z jackdaniel: so it is yet another scratch-my-itch effort? because you know - someone will come and claim, that your abstraction is not sufficient for him, and will create a very similar project (instead of contributing to yours) 2018-02-21T09:39:12Z krwq: my current libraries were just hacked together because i needed them atm 2018-02-21T09:39:20Z willmichael joined #lisp 2018-02-21T09:40:24Z krwq: jackdaniel: the probem with changing existing libraries is back compat 2018-02-21T09:40:33Z orivej quit (Ping timeout: 264 seconds) 2018-02-21T09:40:35Z figurehe4d quit (Remote host closed the connection) 2018-02-21T09:40:54Z jdz: jackdaniel: That's approximately what I'm trying to arrive at: no matter what subset of file system semantics one chooses, the abstraction will fail soon enough. Case in point: CL's pathnames. 2018-02-21T09:41:01Z igemnace quit (Read error: Connection reset by peer) 2018-02-21T09:41:24Z figurehe4d joined #lisp 2018-02-21T09:41:52Z simplegauss quit (Ping timeout: 248 seconds) 2018-02-21T09:41:56Z krwq: jdz: I'll consider CL pathnames and have not rejected them but for current testing will use strings and then will see if it makes sense to convert 2018-02-21T09:42:13Z krwq: current implementation doesn't have any paths except for internal use 2018-02-21T09:42:20Z jdz: I find CL's pathnames very nice and convenient for pathname operations, not file system access per se. 2018-02-21T09:42:28Z krwq: it only has resolving child name 2018-02-21T09:43:06Z krwq: i bet CL already has that 2018-02-21T09:43:31Z willmichael quit (Ping timeout: 256 seconds) 2018-02-21T09:45:41Z krwq: jackdaniel: i have considered cl-fuse btw. the reason I have rejected it was: no clear place to contribute, no documentation, linux specific, not found any clear abstraction over fs - with the first reason being main 2018-02-21T09:46:05Z krwq: even the link in here doesn't work: https://www.cliki.net/cl-fuse 2018-02-21T09:47:50Z tokik quit (Ping timeout: 276 seconds) 2018-02-21T09:47:58Z jackdaniel: 30s of looking yields: https://common-lisp.net/project/cl-fuse/ 2018-02-21T09:48:04Z jdz: FUSE is by definition Linux-specific, no? 2018-02-21T09:48:16Z jackdaniel: so you could: update cliki page and write to Michael 2018-02-21T09:48:17Z Shinmera: Good luck writing device drivers on Windows 2018-02-21T09:48:21Z vhost- quit (Ping timeout: 264 seconds) 2018-02-21T09:48:23Z tokik joined #lisp 2018-02-21T09:48:26Z krwq: jdz: yes but file system isn't 2018-02-21T09:48:40Z Shinmera: especially with lisp 2018-02-21T09:48:52Z willmichael joined #lisp 2018-02-21T09:48:57Z krwq: Shinmera: i can ask guys at work, don't think that will be an issue - rather a slight PITA 2018-02-21T09:49:05Z shka joined #lisp 2018-02-21T09:49:10Z shka: yo 2018-02-21T09:49:23Z vhost- joined #lisp 2018-02-21T09:50:42Z shka: there was some kind of lisp system to make flamegraphs from sbcl statistical profiler output but i can't seem to find it now 2018-02-21T09:50:50Z shka: can anybody help me, please? 2018-02-21T09:52:37Z krwq: jackdaniel: will consider again 2018-02-21T09:54:04Z ThUnD3R256 joined #lisp 2018-02-21T09:54:17Z scymtym: shka: i made a prototype for clim but it depends on changes to sbcl i didn't manage to integrate yet: https://techfak.de/~jmoringe/clamegraph3.png . i also hacked https://techfak.de/~jmoringe/simple-flame-graph.lisp for use with the flamegraph.pl script at one point, but i don't know whether it still works 2018-02-21T09:55:19Z scymtym: this is probably a better screenshot: https://techfak.de/~jmoringe/clamegraph2.png 2018-02-21T09:55:39Z TMA joined #lisp 2018-02-21T09:56:53Z wxie: krwq: To test whether a file exists in the file system corresponding to a pathname designator--a pathname, namestring, or file stream--you can use the function PROBE-FILE. 2018-02-21T09:57:27Z phoe: wxie: he knows about it 2018-02-21T09:57:41Z wxie: ok 2018-02-21T09:58:36Z krwq: wxie: the problem with that is (probe-file #p"/usr") is non-nil 2018-02-21T09:58:54Z krwq: wxie: and technically directory is not a file 2018-02-21T09:58:57Z krwq: or is it 2018-02-21T09:59:12Z krwq: depends who defines what file is 2018-02-21T09:59:40Z krwq: in my eyes it is not or only as an implementation detail 2018-02-21T09:59:55Z wxie: krwq: so you want to check if a #P is empty? 2018-02-21T10:00:42Z krwq: wxie: i got this solved already but was just pointing out that probe-file does not check if file-exists correctly because it it non-nil when you pass directory 2018-02-21T10:00:57Z krwq: it returns* 2018-02-21T10:01:25Z wxie: ok 2018-02-21T10:02:11Z krwq: wxie: in my eyes this information is compeltely useless unless it tells me which one it is 2018-02-21T10:03:19Z jdz: (directory-pathname-p (probe-file #p"/usr")) 2018-02-21T10:03:31Z krwq: or meybe it even does but those names in CL are hard to remember 2018-02-21T10:05:25Z krwq: jdz: it's in cl-fad though - I need to relearn paths in lisp and see if it will make sense to convert my code to them or if there are still things I don't like 2018-02-21T10:05:27Z oleo: in linux everything is a file..... 2018-02-21T10:05:46Z jdz: oleo: Isn't that Plan9? 2018-02-21T10:06:09Z beach: oleo: No it isn't. Statements like that are usually meaningless. 2018-02-21T10:06:15Z krwq: oleo: everything is data 2018-02-21T10:07:33Z krwq: oleo: not trying to say anything but just making a point 2018-02-21T10:09:15Z krwq: the thing is that when I started with CL there were too many new concepts too learn at the same time to even try to embrace pathnames in lisp - it was too much and pathname as string is easier to use when you start 2018-02-21T10:09:15Z pjb: oleo: in unix. But actually, no. Not since open read and write don't work on directory entries anymore. You have to use opendir and readdir, and writedir doesn't exist. (use normal creat, link, unlink). 2018-02-21T10:09:49Z beach: pjb: It is even easier to refute than that. The error code returned by system calls is not a file either. 2018-02-21T10:09:53Z pjb: So while directories were dangerously files in early unix, they're not anymore and have not been for a long time. I wonder, if they still were when CL was standardized! 2018-02-21T10:10:00Z beach: Probably the same in plan 9 by the way. 2018-02-21T10:10:56Z beach: Statements like that, when scrutinized and corrected, usually deteriorate into "everything that is a file is a file" 2018-02-21T10:11:17Z krwq: I'll be going and will give you some rest of these conversations :) 2018-02-21T10:11:23Z krwq: see you! 2018-02-21T10:11:49Z oleo: hmmm ok 2018-02-21T10:12:13Z beach: ... just like "everything is an object", by the way. 2018-02-21T10:12:16Z krwq quit (Remote host closed the connection) 2018-02-21T10:20:23Z Shinmera: beach: Everything that is true is true after all 2018-02-21T10:20:35Z beach: Yeah, and what will be will be. 2018-02-21T10:20:56Z beach: Business is business too. 2018-02-21T10:21:14Z dim: pet peeve of mine: on unix a filename isn't a string, it's a byte array terminated with a NUL character; it means there's no way to apply any encoding notion to a filename even on current modern linux file systems 2018-02-21T10:22:08Z schweers: dim: is this different on other OSes? 2018-02-21T10:22:11Z jackdaniel: beach: I think that statements are meaningful (though may be slightly incorrect at times) - it is a mental shortcut for saying: almost anything in the adheres to the in contrary to other 2018-02-21T10:22:22Z jackdaniel: s/statements/such statements/ 2018-02-21T10:23:07Z wxie quit (Remote host closed the connection) 2018-02-21T10:23:34Z jackdaniel: s/anything/everything/ 2018-02-21T10:23:46Z dim: schweers: windows NTFS has UFT-16 file names 2018-02-21T10:24:04Z jackdaniel: but I think we had this discussion in the past :-) 2018-02-21T10:24:43Z dim: jackdaniel: but then again you fall into the classics of how the brain actually works, that I don't know the name of the phenomenon, so I will provide with a meaningless example 2018-02-21T10:24:48Z simplegauss joined #lisp 2018-02-21T10:25:19Z beach: jackdaniel: We have, yes. Perhaps "this system is very orthogonal" would be better. 2018-02-21T10:25:34Z dim: if I tell you every red car owner drives irresponsibly and you'd believe me, then everytime a red car is doing something wrong that will reinforce the notion, and everytime a red car is driven responsibly you will be like “well doesn't really count does it?” 2018-02-21T10:25:36Z quazimodo joined #lisp 2018-02-21T10:25:58Z schweers: dim: confirmation bias? 2018-02-21T10:25:59Z schweers: 2018-02-21T10:26:06Z hhdave joined #lisp 2018-02-21T10:26:07Z dim: so “everything is a file” and then any example of “not this thing” will be like “yeah well, doesn't really count” or “this can't be a file anyway” 2018-02-21T10:26:10Z smurfrobot joined #lisp 2018-02-21T10:26:14Z dim: schweers: might be the right term, thanks! 2018-02-21T10:26:22Z jdz: dim: cognitive dissonance? 2018-02-21T10:26:38Z beach: dim: So, it boils down to what I said "every file is a file". 2018-02-21T10:26:41Z schweers: I think cognitive dissonance fits better in this context 2018-02-21T10:27:09Z Shinmera: beach: Side note, I'm writing a paper for ELS after all. Would you still have time to read through it before the deadline? I plan on it being no more than two pages, hopefully. 2018-02-21T10:27:51Z beach: Shinmera: I think that's doable. I will have house guests from tomorrow on beyond the deadline, but I typically work when everyone is asleep, so go ahead. 2018-02-21T10:27:52Z jackdaniel: dim: yes, I'm just saying that such statement like "everything is a file", while is slitghtly incorrect gives a good mental picture of the general philosophy surrounding the system and is well understood even by people who had very little experience with (say) UNIX, because they are, say, Windows users 2018-02-21T10:28:03Z Shinmera: beach: Alright, thank you very much in advnce 2018-02-21T10:28:05Z Shinmera: *advance 2018-02-21T10:28:11Z Shinmera: If everything goes well I'll be done today. 2018-02-21T10:28:12Z dim: beach: exactly 2018-02-21T10:28:16Z beach: Shinmera: Anytime. 2018-02-21T10:29:09Z dim: jackdaniel: make sense too, sure, I like the quote that “every model is wrong, some of them are still useful” 2018-02-21T10:29:11Z beach: dim: I am glad I am not alone in trying to be precise in this matter. 2018-02-21T10:30:01Z jackdaniel: because it is easier to say: every expression returns a value in lisp, so you can say (let ((a (if bam 1 2))) …) than explaining: most expressions return value in lisp, and those which doesn't does not, because it is a matter of syntax (i.e you can't assing block because it is always atom inside tagbody (tagbody is a construct (and it must be that way because))))))))) ;-) 2018-02-21T10:30:21Z jackdaniel: s/assing block/assign tag/ 2018-02-21T10:30:49Z jackdaniel: nice quote btw 2018-02-21T10:32:57Z jackdaniel: my point in general is that incorrect statements like "everything is a file" have more meaning than "every file is a file" because they have (contextual) information, that "almost every object is a file" in contrary to "objects are either files or something else" 2018-02-21T10:35:49Z _death: Metaphors We Live By 2018-02-21T10:37:09Z saki quit (Ping timeout: 256 seconds) 2018-02-21T10:37:55Z haruka joined #lisp 2018-02-21T10:41:35Z orivej joined #lisp 2018-02-21T10:42:22Z jdz: dim, schweers: Looking it up it seems "cognitive bias" and "rationalization" are even more closer [than cognitive dissonance]. 2018-02-21T10:56:18Z orivej quit (Ping timeout: 256 seconds) 2018-02-21T11:02:14Z Achylles joined #lisp 2018-02-21T11:03:00Z damke joined #lisp 2018-02-21T11:05:09Z damke_ quit (Ping timeout: 264 seconds) 2018-02-21T11:07:52Z shka: scymtym: well, i can't wait to use it! 2018-02-21T11:08:15Z shka: it looks pretty good 2018-02-21T11:08:45Z shka: i seriously should write a CLIM program myself.. 2018-02-21T11:12:00Z shka: scymtym: can you provide any hint on when SBCL will accept your changes, please? 2018-02-21T11:14:14Z nullman quit (Ping timeout: 255 seconds) 2018-02-21T11:16:05Z nullman joined #lisp 2018-02-21T11:16:46Z Kundry_Wag joined #lisp 2018-02-21T11:17:40Z pjb quit (Ping timeout: 240 seconds) 2018-02-21T11:20:57Z scymtym: shka: i can perform the changes myself. the problem is finding the time to do it 2018-02-21T11:21:36Z Kundry_Wag quit (Ping timeout: 248 seconds) 2018-02-21T11:27:12Z vtomole joined #lisp 2018-02-21T11:27:43Z milanj joined #lisp 2018-02-21T11:28:03Z Amplituhedron joined #lisp 2018-02-21T11:33:00Z shrdlu68 quit (Ping timeout: 256 seconds) 2018-02-21T11:34:23Z shrdlu68 joined #lisp 2018-02-21T11:38:33Z tankrim quit (Remote host closed the connection) 2018-02-21T11:38:57Z tankrim joined #lisp 2018-02-21T11:40:00Z markong joined #lisp 2018-02-21T11:40:49Z nirved joined #lisp 2018-02-21T11:42:14Z shrdlu68 quit (Ping timeout: 260 seconds) 2018-02-21T11:42:33Z _cosmonaut_ joined #lisp 2018-02-21T11:44:08Z shka: scymtym: i understand, well, I just want to say that this looks truely awesome and I would love to use it! 2018-02-21T11:44:15Z pjb joined #lisp 2018-02-21T11:49:07Z shrdlu68 joined #lisp 2018-02-21T11:49:46Z ome quit (Quit: Connection closed for inactivity) 2018-02-21T11:51:34Z raynold quit (Quit: Connection closed for inactivity) 2018-02-21T11:53:36Z jmercouris joined #lisp 2018-02-21T11:55:00Z attila_lendvai joined #lisp 2018-02-21T11:55:48Z shrdlu68 quit (Ping timeout: 256 seconds) 2018-02-21T11:57:53Z simplegauss quit (Ping timeout: 248 seconds) 2018-02-21T11:58:35Z nowhereman_ joined #lisp 2018-02-21T11:59:47Z papachan joined #lisp 2018-02-21T12:01:57Z nowhere_man quit (Ping timeout: 240 seconds) 2018-02-21T12:02:46Z shrdlu68 joined #lisp 2018-02-21T12:02:50Z shrdlu68 quit (Client Quit) 2018-02-21T12:05:17Z jmercouris: Shinmera: you said that connections are two way, but can a server send a message to a client without a client first requesting it? 2018-02-21T12:05:43Z jmercouris: e.g. isn't it necesitated for two-way communication that both programs act as both client and server? 2018-02-21T12:06:27Z Shinmera: Yes 2018-02-21T12:06:34Z Shinmera: No 2018-02-21T12:06:59Z Shinmera: A "server" is something that listens for connections. A "client" is something that initiates a connection. 2018-02-21T12:07:17Z Shinmera: It has nothing to do with the direction of information, only with the direction of connection establishment. 2018-02-21T12:07:24Z jmercouris: Ah okay 2018-02-21T12:07:26Z jmercouris: that was really tripping me up 2018-02-21T12:07:49Z jmercouris: thanks 2018-02-21T12:08:00Z Shinmera: I have yet to see a protocol that does not involve both parties sending at least some data. 2018-02-21T12:08:16Z jmercouris: All handshakes require some confirmation 2018-02-21T12:08:26Z jmercouris: otherwise they wouldn't be handshakes right? 2018-02-21T12:08:39Z Shinmera: Sure, but I meant even on a higher level than just the connection. 2018-02-21T12:09:08Z Shinmera: HTTP for instance is not persistent, but the client still sends request data to the server. 2018-02-21T12:09:24Z jmercouris: I have no idea, this domain is very vague and fuzzy for me 2018-02-21T12:09:48Z jmercouris: since you've implemented a web application framework though, I'll take your word for it :D 2018-02-21T12:09:51Z Shinmera: I feel like you're making things much more complicated than they are. 2018-02-21T12:09:55Z jmercouris: Probably I am 2018-02-21T12:10:23Z jmercouris: as far as I understand it I need to do usocket:socket-listen to basically reserve a port 2018-02-21T12:11:06Z jmercouris: then I need to do usocket:socket-connect to get a usocket:stream-usocket 2018-02-21T12:11:16Z jmercouris: then I can get a stream from that object with usocket:socket-stream 2018-02-21T12:11:25Z jmercouris: I can write to that stream 2018-02-21T12:11:59Z jmercouris: and then I can read from that stream if I do a usocket:socket-accept 2018-02-21T12:12:22Z Shinmera: Uh 2018-02-21T12:13:10Z Shinmera: Okey, so, you have two parties. One is the server, which does socket-listen, followed by a loop of socket-accept. 2018-02-21T12:13:10Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T12:13:25Z angavrilov joined #lisp 2018-02-21T12:13:34Z vtomole quit (Ping timeout: 260 seconds) 2018-02-21T12:13:40Z Shinmera: Whenever socket-accept returns, it returns a socket with a stream that you can use to exchange data with the client. 2018-02-21T12:13:46Z jmercouris: Yeah, I'll have to do socket-accept on a bt thread right? beacuse it is blocking? 2018-02-21T12:14:18Z Shinmera: Not necessarily. If all your application does is be a server, then the main listening can happen on thread 0. 2018-02-21T12:14:38Z Shinmera: You'll usually want to spawn a thread for each client though, so for each socket returned by socket-accept. 2018-02-21T12:15:04Z attila_lendvai joined #lisp 2018-02-21T12:15:04Z attila_lendvai quit (Changing host) 2018-02-21T12:15:04Z attila_lendvai joined #lisp 2018-02-21T12:15:16Z Shinmera: Anyway, the client side does socket-connect and receives a socket with a stream to exchange data with the server. 2018-02-21T12:15:32Z phoe: Either a thread for each client, or a set of workers that wake up whenever there is any activity on any socket. 2018-02-21T12:15:45Z Shinmera: Typically you'll use the sockets you get on either side to enter a read loop that receives data and reacts to it. 2018-02-21T12:15:46Z jmercouris: so the server, cannot write, except for when clients connect to it? 2018-02-21T12:15:52Z phoe: jmercouris: correct 2018-02-21T12:15:59Z Shinmera: Well where would it write to? 2018-02-21T12:15:59Z phoe: what would it write to if there are no clients? 2018-02-21T12:16:14Z phoe: the server socket is there just for accepting connections, it does not have an associated stream. 2018-02-21T12:16:25Z phoe: since there is nowhere to write to. 2018-02-21T12:16:25Z jmercouris: Yeah, that's what I was thinking 2018-02-21T12:16:31Z Shinmera: If you use UDP you can do broadcasts but that's a whole other story so don't worry about it. 2018-02-21T12:16:41Z jmercouris: So when a client connects and sends some data, how can the server react? 2018-02-21T12:16:48Z phoe: by reading it 2018-02-21T12:16:57Z phoe: it first can notice that a socket is active 2018-02-21T12:17:03Z phoe: and then read from that socket 2018-02-21T12:17:35Z phoe: so first #'usocket:wait-for-input and then read bytes from #'usocket:socket-stream 2018-02-21T12:17:38Z jmercouris: so the server can also run usocket:socket-accept? 2018-02-21T12:17:51Z jmercouris: ok 2018-02-21T12:17:52Z phoe: the server *has* to run socket-accept 2018-02-21T12:18:01Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T12:18:09Z phoe: 1) server spawns a listening socket via socket-listen 2018-02-21T12:18:17Z phoe: 2) client connects to the listening socket via socket-connect 2018-02-21T12:18:27Z phoe: 3) server accepts the connection via socket-accept 2018-02-21T12:18:33Z jmercouris: so something like (usocket:wait-for-input (usocket:socket-listen "127.0.0.1" 8080)) 2018-02-21T12:18:39Z phoe: 4) communication happens between the sockets returned from 2) and 3) 2018-02-21T12:18:43Z phoe: jmercouris: nope 2018-02-21T12:18:50Z willmichael quit (Read error: Connection reset by peer) 2018-02-21T12:18:51Z phoe: wait-for-input socket-accept 2018-02-21T12:19:02Z willmichael joined #lisp 2018-02-21T12:19:24Z attila_lendvai joined #lisp 2018-02-21T12:19:24Z attila_lendvai quit (Changing host) 2018-02-21T12:19:24Z attila_lendvai joined #lisp 2018-02-21T12:19:26Z jmercouris: phoe: I'm just wondering why in your example you have (defvar *client-2* (socket-accept (wait-for-input *server*))) 2018-02-21T12:19:36Z phoe: wait, do I? 2018-02-21T12:19:43Z phoe: then I probably screwed up, one sec 2018-02-21T12:19:43Z jmercouris: so is *client-2* erroneously named? 2018-02-21T12:19:45Z scymtym: jmercouris: socket-accept is like a factory (if that terminology helps) for sockets - each returned socket is connected to a specific client 2018-02-21T12:20:18Z drdo quit (Ping timeout: 240 seconds) 2018-02-21T12:20:22Z phoe: jmercouris: I screwed up, should be (socket-accept *server*) 2018-02-21T12:20:31Z jmercouris: scymtym: that does help yes 2018-02-21T12:20:40Z dieggsy` joined #lisp 2018-02-21T12:20:54Z jmercouris: phoe: I've been reading this example for hours :D 2018-02-21T12:21:06Z phoe: sorry :( I was stupid. 2018-02-21T12:21:08Z jmercouris: something so trivial not clicking in my head lol 2018-02-21T12:21:12Z jmercouris: nah, it's okay 2018-02-21T12:21:48Z Lord_of_Life quit (Ping timeout: 240 seconds) 2018-02-21T12:21:48Z oldtopman quit (Ping timeout: 240 seconds) 2018-02-21T12:22:11Z bigfondue quit (Ping timeout: 255 seconds) 2018-02-21T12:22:22Z jmercouris: is one steram only good for one message? 2018-02-21T12:22:29Z jmercouris: must I keep making streams to accept new information? 2018-02-21T12:22:41Z jmercouris: s/steram/stream 2018-02-21T12:24:18Z dieggsy quit (Ping timeout: 240 seconds) 2018-02-21T12:25:40Z thinkpad quit (Quit: lawl) 2018-02-21T12:26:16Z drdo joined #lisp 2018-02-21T12:27:47Z rumbler31 joined #lisp 2018-02-21T12:29:53Z nullman quit (Ping timeout: 248 seconds) 2018-02-21T12:32:04Z nullman joined #lisp 2018-02-21T12:32:23Z rumbler31 quit (Ping timeout: 255 seconds) 2018-02-21T12:32:53Z Lord_of_Life joined #lisp 2018-02-21T12:33:19Z oldtopman joined #lisp 2018-02-21T12:35:22Z EvW joined #lisp 2018-02-21T12:35:26Z bigfondue joined #lisp 2018-02-21T12:36:34Z milanj quit (Quit: This computer has gone to sleep) 2018-02-21T12:36:47Z thinkpad joined #lisp 2018-02-21T12:37:26Z dieggsy` quit (Remote host closed the connection) 2018-02-21T12:42:39Z haruka quit (Read error: Connection reset by peer) 2018-02-21T12:43:55Z haruka joined #lisp 2018-02-21T12:44:05Z nowolfer quit (Ping timeout: 255 seconds) 2018-02-21T12:44:38Z fikka quit (Ping timeout: 276 seconds) 2018-02-21T12:48:49Z Kundry_Wag joined #lisp 2018-02-21T12:53:36Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-21T12:54:58Z manwhowouldbekin joined #lisp 2018-02-21T12:55:44Z rk[ghost] quit (Ping timeout: 256 seconds) 2018-02-21T12:57:34Z rk[ghost] joined #lisp 2018-02-21T13:00:00Z python476 joined #lisp 2018-02-21T13:00:06Z rumbler31 joined #lisp 2018-02-21T13:02:26Z comborico1611 joined #lisp 2018-02-21T13:03:17Z nowhere_man joined #lisp 2018-02-21T13:04:14Z nowolfer joined #lisp 2018-02-21T13:06:38Z nowhereman_ quit (Ping timeout: 256 seconds) 2018-02-21T13:07:01Z fikka joined #lisp 2018-02-21T13:07:01Z Kevslinger joined #lisp 2018-02-21T13:10:10Z jmercouris quit (Ping timeout: 240 seconds) 2018-02-21T13:10:25Z jmercouris joined #lisp 2018-02-21T13:10:52Z tankrim quit (Remote host closed the connection) 2018-02-21T13:11:17Z tankrim joined #lisp 2018-02-21T13:16:09Z dddddd joined #lisp 2018-02-21T13:17:22Z milanj joined #lisp 2018-02-21T13:25:12Z Colleen quit (Remote host closed the connection) 2018-02-21T13:25:27Z quazimodo quit (Ping timeout: 256 seconds) 2018-02-21T13:26:20Z Colleen joined #lisp 2018-02-21T13:28:02Z willmichael quit (Ping timeout: 256 seconds) 2018-02-21T13:28:42Z willmichael joined #lisp 2018-02-21T13:30:00Z willmichael quit (Read error: Connection reset by peer) 2018-02-21T13:30:17Z willmichael joined #lisp 2018-02-21T13:35:07Z jmercouris: Shinmera: whenever socket-accept returns, it returns a socket? I assume that is an internal term used by usocket, and not a new binding to an address/port yes? 2018-02-21T13:35:22Z rumbler31 quit (Remote host closed the connection) 2018-02-21T13:35:22Z jmercouris: aka a "usocket" object which has an associated stream 2018-02-21T13:36:04Z jmercouris: actually nvm scratch that question 2018-02-21T13:38:27Z Kundry_Wag joined #lisp 2018-02-21T13:43:23Z Bike joined #lisp 2018-02-21T13:46:59Z haruka quit (Ping timeout: 256 seconds) 2018-02-21T13:47:09Z Denommus joined #lisp 2018-02-21T13:47:39Z warweasle joined #lisp 2018-02-21T13:49:29Z manwhowouldbekin quit (Quit: Leaving) 2018-02-21T13:49:39Z haruka joined #lisp 2018-02-21T13:49:53Z Shinmera: Yes, No. 2018-02-21T13:51:35Z Shinmera: The socket you get on the server side is connected to the client over a port chosen by the TCP implementation. 2018-02-21T13:52:16Z Shinmera: Either way, this is just detail stuff. Why do you need to know this? 2018-02-21T13:52:48Z jmercouris: because the code still doesn't make sense to me 2018-02-21T13:53:31Z jmercouris: let me play around with it a bit more and I'll post my code 2018-02-21T13:57:11Z nowhereman_ joined #lisp 2018-02-21T13:59:41Z nowhere_man quit (Ping timeout: 255 seconds) 2018-02-21T14:03:25Z mishoo quit (Ping timeout: 256 seconds) 2018-02-21T14:04:47Z safe joined #lisp 2018-02-21T14:13:37Z shifty quit (Ping timeout: 256 seconds) 2018-02-21T14:15:25Z jmercouris: alright 2018-02-21T14:15:34Z jmercouris: so it turned out to work I think 2018-02-21T14:15:39Z jmercouris: tell me if my variable names make sense 2018-02-21T14:15:43Z jmercouris: if they do, then I understnd 2018-02-21T14:15:44Z jmercouris: https://gist.github.com/d2bfc9e7e9ddc10a396537045c8eacd3 2018-02-21T14:16:46Z aindilis quit (Ping timeout: 256 seconds) 2018-02-21T14:17:23Z jmercouris: interesting 2018-02-21T14:17:23Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T14:17:28Z xorox90 joined #lisp 2018-02-21T14:17:47Z jmercouris: it seems I have to already do (read-line (usocket:socket-stream socket) before I can recieve any input 2018-02-21T14:17:48Z ThUnD3R256 quit (Quit: Leaving) 2018-02-21T14:18:07Z jmercouris: Or maybe that is just the first "read-line" which sends nil? 2018-02-21T14:18:33Z attila_lendvai joined #lisp 2018-02-21T14:18:33Z attila_lendvai quit (Changing host) 2018-02-21T14:18:33Z attila_lendvai joined #lisp 2018-02-21T14:20:03Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T14:21:39Z attila_lendvai joined #lisp 2018-02-21T14:22:09Z Kundry_W_ joined #lisp 2018-02-21T14:22:20Z Kundry_Wag quit (Read error: No route to host) 2018-02-21T14:22:26Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T14:22:53Z Kundry_Wag joined #lisp 2018-02-21T14:24:22Z attila_lendvai joined #lisp 2018-02-21T14:25:12Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T14:26:39Z Kundry_W_ quit (Ping timeout: 256 seconds) 2018-02-21T14:27:50Z attila_lendvai joined #lisp 2018-02-21T14:27:50Z attila_lendvai quit (Changing host) 2018-02-21T14:27:50Z attila_lendvai joined #lisp 2018-02-21T14:28:43Z Shinmera: jmercouris: I'm busy with my paper right now but I can write you a simple, clear example later 2018-02-21T14:30:42Z schweers: seems like usocket covers lots of the steps one has to do in C. Like create a socket in the first place, or bind it. 2018-02-21T14:32:40Z jmercouris: Shinmera: np, good luck with your paper 2018-02-21T14:33:01Z Kundry_Wag quit (Remote host closed the connection) 2018-02-21T14:34:14Z schweers: jmercouris: I’ve never worked with usocket, but according to the documentation, WAIT-FOR-INPUT returns a list of sockets as its primary value, while SOCKET-ACCEPT wants a socket (not a list). 2018-02-21T14:36:15Z lnostdal_ quit (Remote host closed the connection) 2018-02-21T14:36:46Z lnostdal_ joined #lisp 2018-02-21T14:37:23Z dilated_dinosaur quit (Remote host closed the connection) 2018-02-21T14:37:32Z rumbler31 joined #lisp 2018-02-21T14:38:30Z DemolitionMan joined #lisp 2018-02-21T14:38:31Z DemolitionMan: hi 2018-02-21T14:38:37Z DemolitionMan: please help 2018-02-21T14:38:45Z beach: Hello DemolitionMan. 2018-02-21T14:39:44Z DemolitionMan: I need help to plot a single point with cl-plot, from documentation I used plpoin, but it needs a code for the symbol to print at the coordinates... But I need a single point to be drawed 2018-02-21T14:42:45Z DemolitionMan: :( 2018-02-21T14:43:23Z beach: What happens instead? 2018-02-21T14:43:47Z DemolitionMan: I have the symbol placed at the coordinates, which is correct 2018-02-21T14:44:01Z DemolitionMan: but I need something that actually plots the point and stop! 2018-02-21T14:44:35Z beach: The documentation is pretty skimpy. 2018-02-21T14:44:50Z Kundry_Wag joined #lisp 2018-02-21T14:45:05Z DemolitionMan: for example 2018-02-21T14:45:24Z DemolitionMan: if I use (cl-plplot-system:plpoin x y 0) 2018-02-21T14:45:24Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T14:45:35Z DemolitionMan: I have nothing plotted 2018-02-21T14:45:38Z willmichael quit (Ping timeout: 276 seconds) 2018-02-21T14:46:23Z beach: Did you do SHOW or SAVE as the README suggests? 2018-02-21T14:46:44Z Kundry_Wag quit (Remote host closed the connection) 2018-02-21T14:47:26Z attila_lendvai joined #lisp 2018-02-21T14:49:19Z Kundry_Wag joined #lisp 2018-02-21T14:50:49Z DemolitionMan: beach: which README? 2018-02-21T14:51:11Z beach: https://github.com/martinkersner/cl-plot#documentation 2018-02-21T14:51:11Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T14:51:49Z rumbler31: or try vgplot 2018-02-21T14:52:18Z beach: Or the CLIM listener. 2018-02-21T14:52:27Z DemolitionMan: beach: no, the diagram is showed in a window, but no points in it! (using plpoin x y 0) 2018-02-21T14:52:54Z smaster joined #lisp 2018-02-21T14:53:12Z attila_lendvai joined #lisp 2018-02-21T14:53:12Z attila_lendvai quit (Changing host) 2018-02-21T14:53:12Z attila_lendvai joined #lisp 2018-02-21T14:53:49Z beach: DemolitionMan: Maybe I am misunderstanding the README, but it says to do SHOW or SAVE to actually see the result. 2018-02-21T14:54:59Z makomo quit (Ping timeout: 256 seconds) 2018-02-21T14:55:17Z beach: Do you have to use cl-plot? 2018-02-21T14:55:37Z beach: If not, I recommend the CLIM listener: http://metamodular.com/clim-listener.png 2018-02-21T14:55:46Z beach: It drew the point right away. 2018-02-21T14:55:48Z fikka quit (Ping timeout: 240 seconds) 2018-02-21T14:56:27Z Arcaelyx joined #lisp 2018-02-21T14:56:27Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T14:58:00Z Shinmera: Alright, paper draft is done. If anyone would like to offer their time to read through it and provide feedback, I'd be most thankful. https://github.com/Shinmera/talks/blob/master/els2018-glsl-oop/paper.pdf 2018-02-21T14:58:09Z sabrac quit (Ping timeout: 248 seconds) 2018-02-21T14:58:28Z flip214: Shinmera: I'm on it. 2018-02-21T14:58:39Z Shinmera: Thank you! 2018-02-21T14:58:46Z flip214: feedback via mail. 2018-02-21T14:58:55Z Shinmera: Sure. 2018-02-21T14:59:28Z aindilis joined #lisp 2018-02-21T15:00:10Z sabrac joined #lisp 2018-02-21T15:00:39Z mishoo joined #lisp 2018-02-21T15:02:48Z attila_lendvai joined #lisp 2018-02-21T15:02:48Z attila_lendvai quit (Changing host) 2018-02-21T15:02:48Z attila_lendvai joined #lisp 2018-02-21T15:03:45Z fikka joined #lisp 2018-02-21T15:05:20Z jmercouris: schweers: so you are saying it should just be (usocket:socket-accept *server*)? 2018-02-21T15:05:25Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T15:06:22Z schweers: depends on what you want to do. In this specific example, you should be able to get away with this. You don’t have to wait for the server socket to become readable in order to accept it, as accept() will block anyway. 2018-02-21T15:06:45Z attila_lendvai joined #lisp 2018-02-21T15:06:45Z attila_lendvai quit (Changing host) 2018-02-21T15:06:45Z attila_lendvai joined #lisp 2018-02-21T15:06:49Z schweers: Unless you want to use non-blocking I/O, but I don’t know how well usocket and friends cope with that. 2018-02-21T15:06:51Z DonVlad joined #lisp 2018-02-21T15:09:23Z schweers: but take anything I tell you about usocket with a grain of salt: I didn’t use usocket much myself 2018-02-21T15:09:50Z schweers: how familiar are you with how sockets work on unix? 2018-02-21T15:09:59Z jmercouris: I'm much more familiar with unix domain sockets 2018-02-21T15:10:07Z jmercouris: I don't know anything about these style of sockets until about 4 days ago 2018-02-21T15:10:11Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T15:10:30Z schweers: Don’t you have to call bind and listen on unix sockets too? 2018-02-21T15:10:32Z jmercouris: I had extremely vague cursory knowledge from working on web apps, but nothing like what I've learned about 2018-02-21T15:10:46Z jmercouris: schweers: I'm not sure, I always used some lib 2018-02-21T15:10:52Z jmercouris: implementation details were pretty well hid from me 2018-02-21T15:11:25Z schweers: how familiar are you with C? 2018-02-21T15:11:28Z jmercouris: so yeah, I'm still learning a lot about this stuff 2018-02-21T15:11:38Z schweers: If you are, man 7 socket might be a good resource 2018-02-21T15:11:41Z jmercouris: C, I am only mildly familiar, like very beginner level 2018-02-21T15:11:44Z attila_lendvai joined #lisp 2018-02-21T15:11:44Z attila_lendvai quit (Changing host) 2018-02-21T15:11:44Z attila_lendvai joined #lisp 2018-02-21T15:11:51Z jmercouris: I worked with it a lot in the past, but I've forgotten everything 2018-02-21T15:11:54Z comborico1611 left #lisp 2018-02-21T15:11:59Z fikka quit (Ping timeout: 248 seconds) 2018-02-21T15:12:04Z schweers: should be enough 2018-02-21T15:12:12Z rumbler31: you don't need to be that familiar with the c socket api to understand how to use usocket 2018-02-21T15:12:22Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T15:13:10Z schweers: Don’t know. I am more familiar with the C way of working with sockets, than from any other language, so I kind of take that knowledge for granted. 2018-02-21T15:13:36Z schweers: Don’t mistake me for an expert in this, though 2018-02-21T15:13:56Z rumbler31: the salient points are that a socket is uniquely identified by an ip and port, you need two to communicate 2018-02-21T15:14:09Z jmercouris: that much I know :D 2018-02-21T15:14:17Z attila_lendvai joined #lisp 2018-02-21T15:14:17Z attila_lendvai quit (Changing host) 2018-02-21T15:14:17Z attila_lendvai joined #lisp 2018-02-21T15:14:25Z rumbler31: a tcp port is usually exposed to users as a stream object, udp sockets usually expose buffers 2018-02-21T15:14:44Z schweers: And you also know that accept on the server together with connect in the client create a new socket in the server process? 2018-02-21T15:14:52Z schweers: which is tied to one client 2018-02-21T15:15:03Z schweers: i.e. a server socket creates new sockets as clients connect 2018-02-21T15:15:12Z jmercouris: this I also know yes 2018-02-21T15:15:22Z rumbler31: from that new socket on the server, you can discover the incoming client's own port 2018-02-21T15:15:23Z jmercouris: it was said above by Phoe or Shinmera, I can't remember which 2018-02-21T15:16:16Z rumbler31: after that, normal stream operations on the socket's stream behave like other streams, although you'll probably want to handle socket conditions, I suppose just like you would file error conditions 2018-02-21T15:16:16Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T15:16:36Z sjl joined #lisp 2018-02-21T15:17:06Z flamebeard quit (Quit: Leaving) 2018-02-21T15:17:14Z flip214: Shinmera: mail should've arrived. 2018-02-21T15:17:17Z rumbler31: one point that I didn't realize until recently is that udp datagrams are often larger than a single packet, the low level stack will stitch the packets together, and only if it knows it has a complete datagram will it deliver it up the stack, so you get the whole datagram or nothing 2018-02-21T15:17:44Z Shinmera: flip214: Got it, thanks 2018-02-21T15:17:53Z jmercouris: I finally understand how to use usocket 2018-02-21T15:17:56Z schweers: Which is something I’d rather avoid. Beats the whole idea behind UDP if you ask me. 2018-02-21T15:18:12Z jmercouris: maybe I should write a tutorial 2018-02-21T15:18:18Z jmercouris: it'll probably be full of mistakes though 2018-02-21T15:18:25Z jmercouris: perhaps I'd better not :D 2018-02-21T15:18:31Z Shinmera: jmercouris: writing you an example now 2018-02-21T15:18:35Z attila_lendvai joined #lisp 2018-02-21T15:18:35Z attila_lendvai quit (Changing host) 2018-02-21T15:18:35Z attila_lendvai joined #lisp 2018-02-21T15:18:41Z jmercouris: Shinmera: ok, thank you 2018-02-21T15:21:39Z csaurus joined #lisp 2018-02-21T15:26:43Z Amplituhedron quit (Ping timeout: 256 seconds) 2018-02-21T15:27:08Z nika_ quit (Ping timeout: 276 seconds) 2018-02-21T15:27:32Z flip214: Shinmera: you're welcome! 2018-02-21T15:28:41Z rumbler31: schweers: what? 2018-02-21T15:28:51Z schweers: can anyone else here load optima into ecl? 2018-02-21T15:29:12Z schweers: rumbler31: packet fragmentation in UDP kind of defeats the purpose of having control over the packets. 2018-02-21T15:29:35Z rumbler31: what do you mean "having control of the packets" 2018-02-21T15:30:07Z schweers: knowing what exactly is in a packet, how many are sent, etc. 2018-02-21T15:30:07Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T15:30:30Z rumbler31: so packet != datagram 2018-02-21T15:30:30Z flip214: minion: memo for Fare: If you're interested in QUUX-HT becoming unresponsive, here's a reproducer: https://pastebin.com/rHreii1z 2018-02-21T15:30:31Z minion: Remembered. I'll tell Fare when he/she/it next speaks. 2018-02-21T15:30:58Z rumbler31: so you never have control of the packets, only the datagrams (a distinction I only recently realized I needed to make) 2018-02-21T15:31:26Z flip214: yeah, setting the "don't fragment" bit helps here a bit. Though you'll need to know (or find out) the PMTU by yourself... 2018-02-21T15:31:43Z Cymew quit (Remote host closed the connection) 2018-02-21T15:31:45Z schweers: I may be wrong, but I believe one has control over packet, at least when one ensures they are not too large. 2018-02-21T15:31:51Z rumbler31: its not possible to... specify that a datagram shouldn't be fragmented 2018-02-21T15:32:25Z rumbler31: yea but thats the whole point, you only need to ensure that they "aren't too large" if you're discovering that your network is introducing frame errors 2018-02-21T15:32:29Z Shinmera: Ughhh 2018-02-21T15:32:29Z rumbler31: which is usually unlikely 2018-02-21T15:32:35Z Shinmera: why did plaster have to break now 2018-02-21T15:32:54Z attila_lendvai joined #lisp 2018-02-21T15:32:54Z attila_lendvai quit (Changing host) 2018-02-21T15:32:54Z attila_lendvai joined #lisp 2018-02-21T15:32:55Z rumbler31: Shinmera: because its the last thing you need right now? ;-) 2018-02-21T15:32:59Z safe quit (Read error: Connection reset by peer) 2018-02-21T15:32:59Z Shinmera: yes 2018-02-21T15:33:01Z schweers: rumbler31: I think you’re right, it seems I was misremembering something 2018-02-21T15:33:33Z rumbler31: so yes, your choice of datagram size is affected by the quality of your network 2018-02-21T15:33:44Z scymtym quit (Ping timeout: 255 seconds) 2018-02-21T15:34:25Z rumbler31: but thats "technically true" whereas in reality this doesn't usually cause problems 2018-02-21T15:34:46Z rumbler31: or rather I should say "is a condition that is rarely encountered" 2018-02-21T15:35:55Z rumbler3_ joined #lisp 2018-02-21T15:36:44Z fikka joined #lisp 2018-02-21T15:37:03Z schweers: Anyway, I’m having trouble loading optima into ecl, is this a known issue? a quick google search didn’t give me much to work on. 2018-02-21T15:37:14Z Xach: schweers: what happens when you try? 2018-02-21T15:37:36Z schweers: Debugger received error of type: SIMPLE-ERROR 2018-02-21T15:37:36Z schweers: Object (EQL CONS) is not a valid specializer 2018-02-21T15:37:53Z heisig quit (Quit: Leaving) 2018-02-21T15:38:52Z schweers: disclaimer: I normally don’t use ecl, I wanted to try if my code works there, in order to be less dependant on one or two implementations 2018-02-21T15:38:52Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T15:39:54Z nika joined #lisp 2018-02-21T15:40:11Z rumbler3_ quit (Ping timeout: 255 seconds) 2018-02-21T15:40:18Z phoe: schweers: wtf is (eql cons) 2018-02-21T15:40:30Z phoe: what are you specializing on? 2018-02-21T15:40:38Z schweers: I didn’t write optima, I’m just trying to use it. 2018-02-21T15:40:57Z schweers: well, I do use it, but until now only on sbcl and ccl 2018-02-21T15:41:04Z orivej joined #lisp 2018-02-21T15:41:20Z phoe: schweers: are you able to post a backtrace? 2018-02-21T15:41:25Z attila_lendvai joined #lisp 2018-02-21T15:41:30Z phoe: or, if you use optima, are you able to macroexpand the match call and post it? 2018-02-21T15:41:31Z schweers: working on it 2018-02-21T15:43:13Z dieggsy joined #lisp 2018-02-21T15:43:13Z schweers: https://pastebin.com/CwnaM3jU 2018-02-21T15:44:06Z schweers: I tried to use the current git version of optima, with the same problem 2018-02-21T15:44:09Z phoe: uh 2018-02-21T15:44:13Z phoe: I want a backtrace 2018-02-21T15:44:20Z phoe: there is no backtrace there. 2018-02-21T15:44:39Z schweers: uh, damn, you’re right 2018-02-21T15:44:43Z phoe: are you able to load it in slime? 2018-02-21T15:44:52Z schweers: I’ll try 2018-02-21T15:45:03Z phoe: it should signal an error when compiling and land you in the debugger.. 2018-02-21T15:45:07Z phoe: and the debugger will have a backtrace. 2018-02-21T15:45:33Z schweers: you do mean typing (asdf:load-system "optima") into a slime repl, right? 2018-02-21T15:45:53Z fikka quit (Ping timeout: 255 seconds) 2018-02-21T15:46:45Z schweers: huh. I’m not sure this will help, but I’ll create another pase 2018-02-21T15:46:53Z phoe: schweers: yep 2018-02-21T15:47:16Z rippa joined #lisp 2018-02-21T15:47:35Z Kundry_Wag quit (Remote host closed the connection) 2018-02-21T15:47:39Z schweers: https://pastebin.com/221TxFjp 2018-02-21T15:47:44Z schweers: full of gensyms :/ 2018-02-21T15:48:05Z Chream_2 quit (Read error: Connection reset by peer) 2018-02-21T15:48:12Z dilated_dinosaur joined #lisp 2018-02-21T15:48:16Z Chream_ joined #lisp 2018-02-21T15:48:54Z phoe: ...so basically, optima does not compile on ECL. 2018-02-21T15:49:28Z phoe: https://github.com/m2ym/optima/blob/373b245b928c1a5cce91a6cb5bfe5dd77eb36195/src/pattern.lisp#L450 2018-02-21T15:49:29Z schweers: looks like it 2018-02-21T15:49:31Z phoe: this looks like that 2018-02-21T15:49:37Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T15:49:39Z phoe: but (eql cons) is not (eql 'cons) 2018-02-21T15:49:55Z schweers: aye 2018-02-21T15:50:08Z phoe: can you post the /src/pattern.lisp of your optima somewhere? 2018-02-21T15:50:35Z schweers: should be okay to put it on pastebin, right? 2018-02-21T15:50:39Z phoe: schweers: yep 2018-02-21T15:50:45Z smaster quit (Ping timeout: 264 seconds) 2018-02-21T15:51:00Z schweers: https://pastebin.com/bd94n0Zw 2018-02-21T15:51:12Z Shinmera: jmercouris: https://plaster.tymoon.eu/view/716 2018-02-21T15:51:34Z Shinmera: doesn't do cleanup and stuff when clients disconnect 2018-02-21T15:51:57Z phoe: schweers: 450 looks the same, it has a (eql 'cons) and not (eql cons) 2018-02-21T15:52:02Z phoe: schweers: I think you should ask on #ecl 2018-02-21T15:52:19Z phoe: because this smells like a weird issue in a place where ecl and optima meet 2018-02-21T15:52:27Z attila_lendvai joined #lisp 2018-02-21T15:52:27Z attila_lendvai quit (Changing host) 2018-02-21T15:52:27Z attila_lendvai joined #lisp 2018-02-21T15:52:59Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-21T15:54:02Z jmercouris: Shinmera: very nice, thank you! 2018-02-21T15:54:15Z beach: Shinmera: flip214 is a good proofreader. 2018-02-21T15:54:25Z beach: I am reading the article now. 2018-02-21T15:54:25Z nopf joined #lisp 2018-02-21T15:54:50Z Bike: does anyone know about building ecl? i have a weird failure, and if i'm reading the manual correctly there should be no problem... 2018-02-21T15:54:52Z Shinmera: jmercouris: I can add proper client cleanup and stuff at the cost of introducing locks. If you can't figure it out on your own let me know and I'll revise it. 2018-02-21T15:55:05Z Shinmera: beach: Good to hear :) 2018-02-21T15:55:13Z Amplituhedron joined #lisp 2018-02-21T15:55:21Z jmercouris: Shinmera: I think from here I should be pretty good, there's a lot to do on the objective-c side first, I just want them to say "hello world" to each other 2018-02-21T15:55:36Z beach: Shinmera: The passive form is often tough, especially if the agent is left out. 2018-02-21T15:55:43Z jmercouris: Bike: if you are building on OSX, it doesn't build latest version 2018-02-21T15:56:00Z jmercouris: Bike: at least it didn't build on my machine, I had to download from server to compile 2018-02-21T15:56:05Z jmercouris: not from the repository 2018-02-21T15:56:09Z Bike: Oh... well, I got the same error a few months ago, but hm 2018-02-21T15:56:41Z beach: Shinmera: "Shader code is attached to classes.." could either continue "which is good because then we don't have to do it", or "by us", and reader has no way of knowing. 2018-02-21T15:57:04Z beach: Shinmera: So avoid the passive form unless there is good reasons to use it. 2018-02-21T15:57:36Z Arcaelyx joined #lisp 2018-02-21T15:58:09Z Shinmera: beach: Got it. 2018-02-21T15:58:41Z beach: "until finally an image is produced" is fine, though. 2018-02-21T15:58:54Z schweers: phoe: thanks, I’ve asked there. Now I just have to wait ;) 2018-02-21T15:59:39Z beach: Shinmera: My (admittedly small) family says to avoid using "This" without some following reference, like "This limitation presents an issue..." 2018-02-21T16:00:02Z Shinmera: beach: Gah! I must have missed one, and I even payed attention to that when I read through it again 2018-02-21T16:00:20Z Shinmera: I missed multiple ones actually 2018-02-21T16:00:22Z Shinmera is ashamed 2018-02-21T16:00:25Z fikka joined #lisp 2018-02-21T16:00:29Z beach: It is easy to miss. But that's why you have proofreaders. :) 2018-02-21T16:01:26Z beach: "This differs ..." -> "Their approach differs..." 2018-02-21T16:01:36Z beach: "from ours" 2018-02-21T16:03:04Z beach: Very readable. Even though it is not my domain. The RELATED WORK section give a good impression. 2018-02-21T16:03:20Z Shinmera: Great! 2018-02-21T16:03:28Z beach: I would put "ifdef" in typewriter font. 2018-02-21T16:04:15Z beach: "This means that.." -> "This use of preprocessor requests..." 2018-02-21T16:04:49Z fikka quit (Ping timeout: 248 seconds) 2018-02-21T16:04:54Z beach: "include" in typewriter font? 2018-02-21T16:07:18Z beach: Another passive "a full parser for the GLSL language was implemented". Again, we do not know who the agent is. You? By the people who defined GLSL? 2018-02-21T16:07:52Z Shinmera: Hah, I wish the latter was the case 2018-02-21T16:08:27Z beach: Dangling participle: "Using the analysis...., matching variable declarations..." 2018-02-21T16:09:39Z beach: "Using this, a wide variety..." -> "Using this technique, a wide variety..." 2018-02-21T16:09:39Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T16:10:42Z attila_lendvai joined #lisp 2018-02-21T16:10:42Z attila_lendvai quit (Changing host) 2018-02-21T16:10:42Z attila_lendvai joined #lisp 2018-02-21T16:10:45Z beach: "A new metaclass is implemented..." passive voice without an agent. 2018-02-21T16:11:21Z juan-reynoso joined #lisp 2018-02-21T16:11:44Z beach: "Accompanied by this is" "this class"? 2018-02-21T16:11:50Z Shinmera: Yes 2018-02-21T16:12:24Z beach: Dangling participle: "Using the standard method combination, the behaviour..." 2018-02-21T16:12:49Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T16:12:54Z beach: If you are going to use "behaviour", I recommend you also write "colour". 2018-02-21T16:13:18Z Shinmera: I do typically, except in code. 2018-02-21T16:13:27Z Shinmera: I missed "coloring" though. 2018-02-21T16:13:34Z beach: Yes. 2018-02-21T16:14:08Z attila_lendvai joined #lisp 2018-02-21T16:14:08Z attila_lendvai quit (Changing host) 2018-02-21T16:14:08Z attila_lendvai joined #lisp 2018-02-21T16:15:08Z beach: I don't understand the grammar of "The shader effects must be adapted to be modifying in order..." 2018-02-21T16:15:19Z beach: maybe clarify a bit. 2018-02-21T16:15:27Z aindilis quit (Ping timeout: 256 seconds) 2018-02-21T16:15:42Z karswell quit (Remote host closed the connection) 2018-02-21T16:15:57Z Amplituhedron quit (Ping timeout: 264 seconds) 2018-02-21T16:16:15Z beach: "To facilitate this, ..." 2018-02-21T16:16:56Z beach: Otherwise, I say "ship it". 2018-02-21T16:16:57Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-21T16:17:22Z beach: Shinmera: Any questions about my remarks? 2018-02-21T16:17:33Z Shinmera: No, all clear and good remarks. Working on the revision. 2018-02-21T16:17:39Z Shinmera: Thank you very much once again 2018-02-21T16:18:26Z DemolitionMan: beach: done, I plotted a line over the same point 2018-02-21T16:18:26Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T16:19:54Z attila_lendvai joined #lisp 2018-02-21T16:19:54Z attila_lendvai quit (Changing host) 2018-02-21T16:19:54Z attila_lendvai joined #lisp 2018-02-21T16:20:18Z beach: DemolitionMan: How did you solve it? 2018-02-21T16:20:35Z beach: Shinmera: Pleasure. You can always buy me a beer at ELS. 2018-02-21T16:20:46Z stacksmith joined #lisp 2018-02-21T16:20:48Z DemolitionMan: beach: I plotted a zero length line 2018-02-21T16:20:51Z Shinmera: beach: I thought you were more for wine? :) 2018-02-21T16:21:01Z beach: DemolitionMan: Oh, I see. 2018-02-21T16:21:08Z DemolitionMan: beach: from point (x y) to point (x y) 2018-02-21T16:21:11Z beach: Shinmera: Sure, if you don't mind. 2018-02-21T16:21:19Z beach: DemolitionMan: How strange. 2018-02-21T16:22:21Z DemolitionMan: not at all 2018-02-21T16:23:02Z beach: DemolitionMan: I am still tempting you with the CLIM listener: http://metamodular.com/clim-listener.png 2018-02-21T16:23:05Z Shinmera: beach: flip214: Would you like to be mentioned in the acknowledgements? 2018-02-21T16:23:22Z beach: Shinmera: Yes, he does. :) 2018-02-21T16:23:46Z DemolitionMan: beach: lol 2018-02-21T16:24:33Z beach: DemolitionMan: The CLIM listener is very useful for those small interactive test functions. 2018-02-21T16:25:21Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-21T16:25:21Z Chream_ quit (Ping timeout: 268 seconds) 2018-02-21T16:25:22Z DemolitionMan: ... 2018-02-21T16:25:52Z Kundry_Wag joined #lisp 2018-02-21T16:28:08Z mercourisj joined #lisp 2018-02-21T16:28:38Z DemolitionMan: beach: ok 2018-02-21T16:29:03Z fikka joined #lisp 2018-02-21T16:29:26Z smaster joined #lisp 2018-02-21T16:29:41Z jmercouris quit (Ping timeout: 255 seconds) 2018-02-21T16:44:59Z rumbler31: also vgplot 2018-02-21T16:45:13Z rumbler31: if gnuplot is available on the system 2018-02-21T16:47:27Z orivej quit (Ping timeout: 248 seconds) 2018-02-21T16:47:44Z Kundry_Wag quit (Remote host closed the connection) 2018-02-21T16:48:14Z DemolitionMan quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-21T16:50:45Z emacsoma` joined #lisp 2018-02-21T16:54:14Z drewc quit (Ping timeout: 265 seconds) 2018-02-21T16:57:59Z warweasle quit (Quit: Need to leave for a while.) 2018-02-21T17:00:44Z Kundry_Wag joined #lisp 2018-02-21T17:03:09Z raynold joined #lisp 2018-02-21T17:03:15Z Achylles quit (Ping timeout: 256 seconds) 2018-02-21T17:05:59Z xorox90 quit (Quit: Connection closed for inactivity) 2018-02-21T17:09:17Z EvW quit (Ping timeout: 255 seconds) 2018-02-21T17:14:54Z makomo joined #lisp 2018-02-21T17:16:30Z Karl_Dscc joined #lisp 2018-02-21T17:28:23Z Achylles joined #lisp 2018-02-21T17:30:09Z nika quit (Quit: Leaving...) 2018-02-21T17:30:09Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T17:32:09Z Cymew joined #lisp 2018-02-21T17:32:11Z wigust joined #lisp 2018-02-21T17:32:25Z attila_lendvai joined #lisp 2018-02-21T17:32:25Z attila_lendvai quit (Changing host) 2018-02-21T17:32:25Z attila_lendvai joined #lisp 2018-02-21T17:32:27Z varjag joined #lisp 2018-02-21T17:32:57Z vibs29 quit (Ping timeout: 240 seconds) 2018-02-21T17:33:45Z vibs29 joined #lisp 2018-02-21T17:34:10Z scymtym joined #lisp 2018-02-21T17:34:19Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T17:34:25Z mercourisj quit (Ping timeout: 248 seconds) 2018-02-21T17:36:28Z attila_lendvai joined #lisp 2018-02-21T17:36:28Z attila_lendvai quit (Changing host) 2018-02-21T17:36:28Z attila_lendvai joined #lisp 2018-02-21T17:36:36Z mareskeg joined #lisp 2018-02-21T17:36:54Z Cymew quit (Ping timeout: 260 seconds) 2018-02-21T17:37:14Z smaster quit (Ping timeout: 276 seconds) 2018-02-21T17:40:49Z hhdave quit (Ping timeout: 248 seconds) 2018-02-21T17:41:30Z smaster joined #lisp 2018-02-21T17:42:23Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T17:44:46Z attila_lendvai joined #lisp 2018-02-21T17:44:46Z attila_lendvai quit (Changing host) 2018-02-21T17:44:46Z attila_lendvai joined #lisp 2018-02-21T17:47:59Z LiamH joined #lisp 2018-02-21T17:47:59Z LiamH left #lisp 2018-02-21T17:48:17Z buyfn joined #lisp 2018-02-21T17:48:25Z LiamH joined #lisp 2018-02-21T17:49:16Z buyfn quit (Remote host closed the connection) 2018-02-21T17:50:18Z epony joined #lisp 2018-02-21T17:50:23Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T17:50:47Z mareskeg quit (Quit: mareskeg) 2018-02-21T17:54:07Z haruka quit (Ping timeout: 248 seconds) 2018-02-21T17:56:16Z _cosmonaut_ quit (Ping timeout: 248 seconds) 2018-02-21T17:56:45Z eschatologist quit (Ping timeout: 264 seconds) 2018-02-21T17:57:50Z aindilis joined #lisp 2018-02-21T17:59:09Z fikka quit (Ping timeout: 256 seconds) 2018-02-21T18:01:04Z haruka joined #lisp 2018-02-21T18:01:11Z smaster quit (Ping timeout: 276 seconds) 2018-02-21T18:01:32Z smaster joined #lisp 2018-02-21T18:01:33Z eschatologist joined #lisp 2018-02-21T18:02:32Z Cymew joined #lisp 2018-02-21T18:04:39Z mareskeg joined #lisp 2018-02-21T18:06:26Z Cymew_ joined #lisp 2018-02-21T18:07:13Z Cymew quit (Ping timeout: 265 seconds) 2018-02-21T18:07:29Z mareskeg quit (Client Quit) 2018-02-21T18:08:37Z attila_lendvai joined #lisp 2018-02-21T18:08:37Z attila_lendvai quit (Changing host) 2018-02-21T18:08:37Z attila_lendvai joined #lisp 2018-02-21T18:10:41Z Cymew_ quit (Ping timeout: 248 seconds) 2018-02-21T18:11:01Z jmercouris joined #lisp 2018-02-21T18:11:18Z fikka joined #lisp 2018-02-21T18:11:22Z drewc joined #lisp 2018-02-21T18:12:14Z shka quit (Ping timeout: 276 seconds) 2018-02-21T18:12:43Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T18:15:05Z vtomole joined #lisp 2018-02-21T18:15:11Z attila_lendvai joined #lisp 2018-02-21T18:15:17Z Kundry_Wag quit (Remote host closed the connection) 2018-02-21T18:15:46Z willmichael joined #lisp 2018-02-21T18:16:49Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T18:16:53Z fikka quit (Ping timeout: 265 seconds) 2018-02-21T18:17:38Z lnostdal_ quit (Ping timeout: 255 seconds) 2018-02-21T18:19:22Z attila_lendvai joined #lisp 2018-02-21T18:20:04Z aeth: I think I finally have a decent shader class (the rest of the file is still a mess, though): https://gitlab.com/zombie-raptor/zombie-raptor/blob/302de75034dfd3a3350de8fe2a31cd631cfa72d3/data/shader.lisp#L57-142 2018-02-21T18:20:06Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T18:20:12Z razzy quit (Ping timeout: 252 seconds) 2018-02-21T18:21:32Z moei joined #lisp 2018-02-21T18:22:01Z attila_lendvai joined #lisp 2018-02-21T18:22:01Z attila_lendvai quit (Changing host) 2018-02-21T18:22:01Z attila_lendvai joined #lisp 2018-02-21T18:22:54Z aeth: I've noticed several things: (1) I could check everything I check in check-shader at compile time in the shader creation macro (afaik) instead of or in addition to during shader creation and (2) check-type on a destructuring-bind (or any local bind) is dangerous because it makes you think that you can correct it, but you're just correcting a temporary, soon-to-be-discarded lexical scope variable 2018-02-21T18:23:18Z phoe: aeth: (assert (typep ...)) 2018-02-21T18:23:19Z dieggsy quit (Remote host closed the connection) 2018-02-21T18:23:24Z phoe: that's for (2) 2018-02-21T18:23:46Z phoe: this one does not provide a USE-VALUE restart for you. 2018-02-21T18:24:01Z jmercouris quit (Ping timeout: 248 seconds) 2018-02-21T18:24:49Z aeth: I could also check for equality and if the variables aren't equal at the end update them. The problem with that is that destructuring-bind can get really complicated. 2018-02-21T18:25:14Z razzy joined #lisp 2018-02-21T18:27:29Z fikka joined #lisp 2018-02-21T18:30:06Z Kaisyu quit (Quit: Connection closed for inactivity) 2018-02-21T18:30:39Z Karl_Dscc quit (Remote host closed the connection) 2018-02-21T18:30:40Z lnostdal_ joined #lisp 2018-02-21T18:35:33Z safe joined #lisp 2018-02-21T18:35:47Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T18:36:10Z rumbler3_ joined #lisp 2018-02-21T18:36:35Z attila_lendvai joined #lisp 2018-02-21T18:36:35Z attila_lendvai quit (Changing host) 2018-02-21T18:36:35Z attila_lendvai joined #lisp 2018-02-21T18:36:36Z stacksmith quit (Read error: Connection reset by peer) 2018-02-21T18:38:25Z warweasle joined #lisp 2018-02-21T18:40:07Z epony quit (Quit: QUIT) 2018-02-21T18:40:56Z rumbler3_ quit (Ping timeout: 276 seconds) 2018-02-21T18:41:11Z stacksmith joined #lisp 2018-02-21T18:41:35Z razzy quit (Ping timeout: 276 seconds) 2018-02-21T18:42:13Z fikka quit (Ping timeout: 256 seconds) 2018-02-21T18:42:44Z fikka joined #lisp 2018-02-21T18:44:43Z butterthebuddha quit (Max SendQ exceeded) 2018-02-21T18:44:58Z butterthebuddha joined #lisp 2018-02-21T18:45:08Z Kundry_Wag joined #lisp 2018-02-21T18:46:16Z razzy joined #lisp 2018-02-21T18:46:39Z Kundry_W_ joined #lisp 2018-02-21T18:46:59Z Kundry_Wag quit (Read error: No route to host) 2018-02-21T18:47:11Z rk[ghost] quit (Ping timeout: 268 seconds) 2018-02-21T18:48:21Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T18:48:31Z stacksmith quit (Quit: stacksmith) 2018-02-21T18:48:59Z rk[ghost] joined #lisp 2018-02-21T18:50:09Z fikka quit (Ping timeout: 256 seconds) 2018-02-21T18:51:55Z mlf joined #lisp 2018-02-21T18:52:24Z fikka joined #lisp 2018-02-21T18:52:57Z Naergon quit (Ping timeout: 240 seconds) 2018-02-21T18:53:31Z Kundry_W_ quit (Remote host closed the connection) 2018-02-21T18:57:22Z pareidolia left #lisp 2018-02-21T18:57:40Z fikka quit (Ping timeout: 268 seconds) 2018-02-21T18:59:35Z vtomole quit (Ping timeout: 260 seconds) 2018-02-21T19:00:05Z Kundry_Wag joined #lisp 2018-02-21T19:00:18Z haruka quit (Ping timeout: 240 seconds) 2018-02-21T19:00:23Z willmichael quit (Read error: Connection reset by peer) 2018-02-21T19:00:44Z willmichael joined #lisp 2018-02-21T19:02:50Z haruka joined #lisp 2018-02-21T19:03:21Z damke quit (Ping timeout: 264 seconds) 2018-02-21T19:05:31Z damke joined #lisp 2018-02-21T19:09:15Z fikka joined #lisp 2018-02-21T19:09:59Z juan-reynoso quit (Ping timeout: 256 seconds) 2018-02-21T19:10:49Z juan-reynoso joined #lisp 2018-02-21T19:14:26Z borodust: Xach: I missed one dependency for the lib i suggested to add to main quicklisp. Should I create a new issue or just putting info about it into existing issue (with libs that depends on it) is enough? 2018-02-21T19:14:42Z Xach: was it the one i just got an email about? 2018-02-21T19:14:45Z Xach: or a new one? 2018-02-21T19:15:06Z borodust: that's probably it 2018-02-21T19:15:12Z borodust: cl-muth thingie 2018-02-21T19:15:58Z borodust: https://github.com/quicklisp/quicklisp-projects/issues/1445#issuecomment-367437114 2018-02-21T19:15:59Z Xach: that's fine 2018-02-21T19:16:07Z borodust: Xach: thanks, my apologies 2018-02-21T19:20:53Z stacksmith joined #lisp 2018-02-21T19:21:10Z shrdlu68 joined #lisp 2018-02-21T19:21:32Z vultyre joined #lisp 2018-02-21T19:26:25Z Xach: No problem 2018-02-21T19:29:42Z LocaMocha quit (Ping timeout: 256 seconds) 2018-02-21T19:30:46Z BitPuffin quit (Remote host closed the connection) 2018-02-21T19:31:52Z emacsoma` quit (Remote host closed the connection) 2018-02-21T19:33:05Z papachan quit (Quit: WeeChat 2.0.1) 2018-02-21T19:33:15Z jmercouris joined #lisp 2018-02-21T19:39:11Z fikka quit (Ping timeout: 248 seconds) 2018-02-21T19:40:24Z fikka joined #lisp 2018-02-21T19:42:40Z python476 quit (Read error: Connection reset by peer) 2018-02-21T19:43:42Z NJM8 joined #lisp 2018-02-21T19:46:35Z NJM8: Hello! I am reading through SICP and need some help on exercise 1.9. The goal is to compare the process of two different programs, one iterative and one recursive, but the code from the book seems to run forever. Can anyone help? 2018-02-21T19:46:55Z bjorkint0sh: where's the code? 2018-02-21T19:47:54Z Bike: that's scheme code, so #scheme might be more helpful. 2018-02-21T19:48:23Z NJM8: Here is the code https://pastebin.com/XtCDCxkm 2018-02-21T19:48:43Z NJM8: Thanks Bike, I'll ask over there 2018-02-21T19:49:29Z Bike: both of those ought to halt 2018-02-21T19:50:32Z nowhereman_ quit (Ping timeout: 256 seconds) 2018-02-21T19:50:39Z fikka quit (Ping timeout: 265 seconds) 2018-02-21T19:51:32Z EvW joined #lisp 2018-02-21T19:52:38Z NJM8: That's what I thought when reading though but here is the result: https://pastebin.com/g323aGq6 2018-02-21T19:53:16Z smaster quit (Read error: Connection reset by peer) 2018-02-21T19:53:18Z nowhere_man joined #lisp 2018-02-21T19:53:34Z smaster joined #lisp 2018-02-21T19:53:45Z pjb: NJM8: however, you can do the exercisess in Common Lisp. Several people have done that (unfortunately, a nice blog with all the answers doesn't seem to exist anymore). 2018-02-21T19:54:18Z pjb: NJM8: also, with CL, you don't have to add print for such questions: just use TRACE. 2018-02-21T19:54:22Z Bike: Oh, wait. If you're redefining + that'll mess up the definitions of inc and dec. 2018-02-21T19:56:32Z vultyre quit (Ping timeout: 255 seconds) 2018-02-21T19:56:45Z pjb: NJM8: https://pastebin.com/Espj4ccq 2018-02-21T19:57:19Z NJM8 quit (Ping timeout: 260 seconds) 2018-02-21T19:57:25Z pjb: NJM8: but notice that in CL, there's inc is called 1+ and dec is called 1-. 2018-02-21T20:06:21Z attila_lendvai joined #lisp 2018-02-21T20:06:59Z stacksmith: It was a sad day when MIT replaced 6.001 that used SICP with a Python class... We can celebrate 10 years of Lisp illiteracy this year, I believe. 2018-02-21T20:07:39Z pjb: It was not exactly a replacement: scheme was still used for CS major. The Python class was for non-CS majors. 2018-02-21T20:08:01Z pjb: But otherwise, agreed. 2018-02-21T20:09:13Z oleo: lol 2018-02-21T20:09:58Z vultyre joined #lisp 2018-02-21T20:10:26Z smaster quit (Ping timeout: 268 seconds) 2018-02-21T20:11:01Z fikka joined #lisp 2018-02-21T20:11:18Z milanj quit (Quit: This computer has gone to sleep) 2018-02-21T20:14:47Z orivej joined #lisp 2018-02-21T20:15:16Z shrdlu68: Is there a way to compile all functions that call an inlined function when said inlined function is recompiled? 2018-02-21T20:15:43Z pjb: Yes: (mapcar (function compile) all-functions-that-call-this-inlined-function) 2018-02-21T20:16:07Z pjb: shrdlu68: You have to implement the mechanism yourself. 2018-02-21T20:16:16Z pjb: It's funny to do! 2018-02-21T20:16:33Z shrdlu68: Don't you mean fun? 2018-02-21T20:16:51Z pjb: yes, sorry. 2018-02-21T20:21:57Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T20:23:18Z attila_lendvai joined #lisp 2018-02-21T20:23:18Z attila_lendvai quit (Changing host) 2018-02-21T20:23:18Z attila_lendvai joined #lisp 2018-02-21T20:26:31Z stacksmith is picturing pjb laughing contageously and slapping his knee up while implementing a recompilation mechanism. 2018-02-21T20:27:13Z |3b|: if M-x slime-who-calls (C-c C-w C-c) works, i think you can C-c C-k in the resulting list buffer to recompile everything it found (not automatic though, but implementation of slime-who-calls might help with implementing previous suggestion) 2018-02-21T20:28:01Z Bike: i don't think it's going to work that well for inlined calls 2018-02-21T20:28:11Z flip214: shrdlu68: if your ASDF has correct dependencies set, all required functions should get reloaded, too. 2018-02-21T20:28:26Z flip214: and some more stuff, but who cares? 2018-02-21T20:28:27Z stacksmith: It may be wise to wrap optimization-related declarations into a macro that makes them go away during development... 2018-02-21T20:29:13Z Bike: but it does on sbcl... how about that. 2018-02-21T20:29:16Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T20:29:21Z _death: rm -rf ~/.cache/common-lisp 2018-02-21T20:29:50Z smaster joined #lisp 2018-02-21T20:30:43Z attila_lendvai joined #lisp 2018-02-21T20:30:43Z attila_lendvai quit (Changing host) 2018-02-21T20:30:43Z attila_lendvai joined #lisp 2018-02-21T20:32:09Z stacksmith: If I had a dime for every time I had to remove .cache and .fasls I would have a few bucks now. Of course I shouldn't have screwed around prematurely optimising things that wound up thrown out anyway. But I am not that wise. 2018-02-21T20:32:20Z vlatkoB quit (Remote host closed the connection) 2018-02-21T20:32:21Z angavrilov quit (Remote host closed the connection) 2018-02-21T20:32:25Z shrdlu68: |3b|: Nice, that works. 2018-02-21T20:32:28Z Cymew joined #lisp 2018-02-21T20:33:08Z zaquest quit (Quit: Leaving) 2018-02-21T20:36:35Z Cymew quit (Ping timeout: 240 seconds) 2018-02-21T20:37:22Z python476 joined #lisp 2018-02-21T20:38:20Z smurfrobot quit (Remote host closed the connection) 2018-02-21T20:38:39Z simplegauss joined #lisp 2018-02-21T20:39:25Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T20:41:28Z attila_lendvai joined #lisp 2018-02-21T20:41:28Z attila_lendvai quit (Changing host) 2018-02-21T20:41:28Z attila_lendvai joined #lisp 2018-02-21T20:42:55Z flip214: anybody wants to debug a quux/lparallel/sbcl issue? I'm too tired (or too stupid, take your guess ;). 2018-02-21T20:44:03Z cromachina joined #lisp 2018-02-21T20:44:49Z phoe: flip214: just post it 2018-02-21T20:45:08Z milanj joined #lisp 2018-02-21T20:45:21Z cromachina_ quit (Ping timeout: 248 seconds) 2018-02-21T20:47:59Z flip214: phoe: https://pastebin.com/5nmbABZf includes the reproducer, the stack traces, and my (failed?) expectations 2018-02-21T20:48:14Z fikka quit (Ping timeout: 260 seconds) 2018-02-21T20:48:31Z flip214: I'll go back reading some papers now - if you have any information, please just jot it down here, I'll read the scrollback tomorrow. 2018-02-21T20:48:42Z flip214: Thank you very much! 2018-02-21T20:49:11Z phoe: flip214: ROOT is an interesting function 2018-02-21T20:49:27Z phoe: it seems to have an offending call to the division function 2018-02-21T20:49:41Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T20:49:41Z phoe: ...wait 2018-02-21T20:49:49Z phoe: flip214: this is an expected behaviour 2018-02-21T20:50:05Z phoe: of course 2018-02-21T20:50:13Z phoe: flip214: http://localhost:8123/?e=0 2018-02-21T20:50:16Z phoe: e *is* 0 2018-02-21T20:50:16Z flip214: phoe: the division-by-zero is expected, yes. I'm causing it with the "wrong" argument. 2018-02-21T20:50:31Z attila_lendvai joined #lisp 2018-02-21T20:50:32Z flip214: but this is just an example of an error that can happen; this one is easy to reproduce. 2018-02-21T20:50:35Z phoe: so (/ 10 0) will signal an error 2018-02-21T20:50:45Z phoe: and this is natural 2018-02-21T20:50:53Z flip214: so you don't have to bother with ENOSPC or similar, harder-to-trigger problems. 2018-02-21T20:51:13Z phoe: you are wondering about what happens when you do TRANSFER-ERROR? 2018-02-21T20:51:14Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T20:51:24Z flip214: phoe: the division-by-zero is expected. that the tcp socket hangs and quux becomes unresponsive is what I don't want. 2018-02-21T20:51:32Z phoe: ...oooh, ouch 2018-02-21T20:51:55Z phoe: I see, so it's much more complex than I expected. 2018-02-21T20:52:23Z flip214: and there's a HANDLER-BIND in hunchentoot/util.lisp, but that doesn't seem to be used... 2018-02-21T20:52:43Z flip214: great! So I could top your expectations ;) 2018-02-21T20:52:51Z phoe: (: 2018-02-21T20:53:05Z phoe: flip214: can you see the threads that are deadlocked? 2018-02-21T20:53:06Z python476 quit (Read error: Connection reset by peer) 2018-02-21T20:53:31Z phoe: are you able to #'interrupt-thread them with (lambda () (print-backtrace))? 2018-02-21T20:54:07Z phoe: ...you could possibly interrupt all kernel workers for good's sake, you'll get all the traces with some of them being actually useful 2018-02-21T20:54:51Z attila_lendvai joined #lisp 2018-02-21T20:54:51Z attila_lendvai quit (Changing host) 2018-02-21T20:54:51Z attila_lendvai joined #lisp 2018-02-21T20:54:52Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T20:55:04Z attila_lendvai joined #lisp 2018-02-21T20:55:04Z attila_lendvai quit (Changing host) 2018-02-21T20:55:04Z attila_lendvai joined #lisp 2018-02-21T20:55:24Z DonVlad quit (Quit: WeeChat 1.4) 2018-02-21T20:55:56Z epony joined #lisp 2018-02-21T20:57:02Z fikka joined #lisp 2018-02-21T20:58:21Z flip214: phoe: I believe that the second error (posted in the same paste) simply kills the quux request dispatcher, and that this is the reason it stops working. 2018-02-21T20:58:56Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T21:00:42Z damke_ joined #lisp 2018-02-21T21:01:32Z fikka quit (Ping timeout: 260 seconds) 2018-02-21T21:02:45Z damke quit (Ping timeout: 264 seconds) 2018-02-21T21:05:03Z smaster quit (Ping timeout: 248 seconds) 2018-02-21T21:05:28Z haruka quit (Ping timeout: 256 seconds) 2018-02-21T21:05:30Z pierpa joined #lisp 2018-02-21T21:06:46Z phoe: flip214: I see. 2018-02-21T21:07:29Z orivej quit (Ping timeout: 260 seconds) 2018-02-21T21:07:40Z attila_lendvai joined #lisp 2018-02-21T21:07:40Z attila_lendvai quit (Changing host) 2018-02-21T21:07:40Z attila_lendvai joined #lisp 2018-02-21T21:09:05Z smurfrobot joined #lisp 2018-02-21T21:11:08Z smurfrobot quit (Remote host closed the connection) 2018-02-21T21:11:25Z smurfrobot joined #lisp 2018-02-21T21:11:50Z nowhere_man quit (Ping timeout: 255 seconds) 2018-02-21T21:12:43Z smurfrobot quit (Remote host closed the connection) 2018-02-21T21:14:07Z haruka joined #lisp 2018-02-21T21:17:16Z Kundry_Wag quit (Remote host closed the connection) 2018-02-21T21:17:33Z smurfrobot joined #lisp 2018-02-21T21:18:23Z Kundry_Wag joined #lisp 2018-02-21T21:18:23Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T21:19:10Z fikka joined #lisp 2018-02-21T21:20:19Z smaster joined #lisp 2018-02-21T21:21:28Z attila_lendvai joined #lisp 2018-02-21T21:22:35Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-21T21:22:35Z jmercouris quit (Ping timeout: 240 seconds) 2018-02-21T21:22:39Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T21:23:38Z attila_lendvai joined #lisp 2018-02-21T21:23:49Z z3t0 joined #lisp 2018-02-21T21:24:10Z Achylles quit (Ping timeout: 256 seconds) 2018-02-21T21:25:13Z earl-ducaine joined #lisp 2018-02-21T21:25:14Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T21:25:28Z simplegauss left #lisp 2018-02-21T21:27:14Z attila_lendvai joined #lisp 2018-02-21T21:27:37Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-02-21T21:37:22Z Achylles joined #lisp 2018-02-21T21:39:23Z Nouv joined #lisp 2018-02-21T21:41:30Z stacksmith quit (Ping timeout: 252 seconds) 2018-02-21T21:41:40Z dilated_dinosaur quit (Remote host closed the connection) 2018-02-21T21:41:45Z Nouv: Does macro expansion happen at compile time, or does every lisp implementation that supports macros also come with an interpreter built in? 2018-02-21T21:42:02Z phoe: Nouv: at compile time. 2018-02-21T21:42:05Z phoe: ...more or less. 2018-02-21T21:42:21Z phoe: specifically, to compile Lisp code, you have to macroexpand all macros that are in it. 2018-02-21T21:42:44Z phoe: Nouv: also, all Common Lisp implementations *must* support macros. 2018-02-21T21:42:50Z Nouv: hm 2018-02-21T21:43:01Z phoe: And some of them don't come with interpreters enabled by default. See SBCL that compiles everything by default. 2018-02-21T21:43:14Z phoe: Some might not even have interpreters. 2018-02-21T21:43:40Z Nouv: I'm quite confused haha 2018-02-21T21:43:46Z phoe: What's confusing? 2018-02-21T21:43:54Z Nouv: Just starting to study assembly at uni so wondering how everything works at a lower level 2018-02-21T21:44:06Z phoe: Macros are quite far from assembly. (: 2018-02-21T21:44:24Z Nouv: True 2018-02-21T21:44:28Z Nouv: I'm working upwards :P 2018-02-21T21:44:49Z Nouv: My dream is to build my own self hosting compiler 2018-02-21T21:45:01Z Nouv: I've done lexer, parser, and interpreters for very simple languages before 2018-02-21T21:45:12Z Nouv: but reasoning about compilers is quite different I've found 2018-02-21T21:45:15Z three3 joined #lisp 2018-02-21T21:45:34Z Xach: Nouv: "lisp in small pieces" is a very good book on the topic 2018-02-21T21:45:45Z Xach: Nouv: the nice thing about lisp is you can skip the lexing and parsing by using the reader... 2018-02-21T21:45:48Z Xach: "a" nice thing 2018-02-21T21:45:52Z earl-ducaine: Nouv: you should take a look at Norvig's Paradigms of AI Programming 2018-02-21T21:45:53Z three3: How to do a simple for loop in lisp? 2018-02-21T21:45:56Z earl-ducaine: (paip) 2018-02-21T21:46:16Z earl-ducaine: he includes a scheme compiler written in cl 2018-02-21T21:46:16Z phoe: three3: (loop for i from 0 to 10 do (print i)) 2018-02-21T21:46:29Z Nouv: Xach Ah you can? 2018-02-21T21:46:40Z phoe: Xach: yep, the Lisp reader does it for you. 2018-02-21T21:46:41Z Nouv: xach: I wrote my basic language in java ... yeah, that wasn't a fun time haha 2018-02-21T21:46:45Z Xach: Nouv: sure. the code reads as lists. 2018-02-21T21:46:47Z phoe: we're in the land of S-expressions after all. 2018-02-21T21:46:52Z phoe: code is data™ 2018-02-21T21:46:55Z Nouv: hm 2018-02-21T21:46:56Z earl-ducaine: And has a very succinct description of 'compile' and 'interpretter' and the difference between the two 2018-02-21T21:46:58Z Xach: the symbols suggests what needs to be done. 2018-02-21T21:47:21Z Nouv: I guess I'm confused about 2018-02-21T21:47:29Z Nouv: if code is data then what's the difference between macros and functions? 2018-02-21T21:47:42Z phoe: Nouv: macros are functions from Lisp code to Lisp code 2018-02-21T21:47:55Z nowhere_man joined #lisp 2018-02-21T21:48:13Z phoe: a function is something that gets called normally, allocates some stuff on the stack, has return values, et cetera 2018-02-21T21:48:35Z phoe: a macro is a function, except it is called at macroexpansion time, and its task is to transform some Lisp code into some other Lisp code 2018-02-21T21:48:39Z willmichael quit (Ping timeout: 256 seconds) 2018-02-21T21:48:56Z Nouv: hm 2018-02-21T21:49:46Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-21T21:49:56Z Nouv: I'm confused about where it happens though 2018-02-21T21:49:59Z Nouv: when is macroexpansion time? 2018-02-21T21:50:49Z pjb: during compilation, or during execution. 2018-02-21T21:50:54Z willmichael joined #lisp 2018-02-21T21:51:18Z pjb: Nouv: if you have doubts, you can use *macroexpand-hook* to see when. 2018-02-21T21:51:21Z fikka quit (Ping timeout: 264 seconds) 2018-02-21T21:51:42Z attila_lendvai joined #lisp 2018-02-21T21:51:42Z attila_lendvai quit (Changing host) 2018-02-21T21:51:42Z attila_lendvai joined #lisp 2018-02-21T21:51:54Z Nouv: pjb: I'm not specifically using common lisp (the goal is to roll my own), so looking to understand the theory 2018-02-21T21:52:01Z phoe: pjb: to be pedantic, it is always during compilation time. 2018-02-21T21:52:20Z phoe: unless you manually call MACROEXPAND. 2018-02-21T21:55:17Z k-hos: in cl if you attempt to read out of a strings bounds what happens? error? nil? garbage? 2018-02-21T21:55:35Z phoe: k-hos: error 2018-02-21T21:55:39Z phoe: a string is an array 2018-02-21T21:55:50Z phoe: and reading out of array bounds is an error 2018-02-21T21:56:14Z ludston_ joined #lisp 2018-02-21T21:56:30Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-02-21T21:56:58Z k-hos: alright thanks 2018-02-21T21:57:02Z python476 joined #lisp 2018-02-21T21:57:18Z three3: phoe: Thanks 2018-02-21T21:57:41Z fikka joined #lisp 2018-02-21T21:57:53Z ludston quit (Ping timeout: 248 seconds) 2018-02-21T21:57:58Z three3: How to write for loop in elisp without execute a function inside the loop? 2018-02-21T21:58:12Z phoe: three3: elisp? you mean emacs lisp? 2018-02-21T21:58:22Z three3: phoe: yes 2018-02-21T21:58:23Z phoe: best ask on #emacs - here are the Common Lisp lands 2018-02-21T21:58:29Z three3: ok 2018-02-21T21:59:25Z lonjil quit (Ping timeout: 256 seconds) 2018-02-21T22:00:34Z ludston joined #lisp 2018-02-21T22:02:51Z Karl_Dscc joined #lisp 2018-02-21T22:03:17Z ludston_ quit (Ping timeout: 268 seconds) 2018-02-21T22:13:54Z zooey quit (Remote host closed the connection) 2018-02-21T22:14:02Z hiroaki joined #lisp 2018-02-21T22:14:30Z zooey joined #lisp 2018-02-21T22:14:57Z z3t0 quit (Remote host closed the connection) 2018-02-21T22:15:11Z dieggsy joined #lisp 2018-02-21T22:15:25Z stacksmith joined #lisp 2018-02-21T22:17:03Z Guest61136 is now known as mrSpec 2018-02-21T22:17:15Z DBeepBeep joined #lisp 2018-02-21T22:17:27Z mrSpec quit (Changing host) 2018-02-21T22:17:27Z mrSpec joined #lisp 2018-02-21T22:17:34Z z3t0 joined #lisp 2018-02-21T22:17:36Z z3t0 quit (Remote host closed the connection) 2018-02-21T22:17:48Z z3t0 joined #lisp 2018-02-21T22:17:53Z DBeepBeep: Hey, I need to free some resources in an external library when an object is no longer referenced. 2018-02-21T22:18:09Z shrdlu68 quit (Ping timeout: 248 seconds) 2018-02-21T22:18:12Z DBeepBeep: I can't quite find which method I need to define 2018-02-21T22:18:31Z dilated_dinosaur joined #lisp 2018-02-21T22:18:33Z DBeepBeep: Does anyone know offhand? 2018-02-21T22:18:52Z phoe: DBeepBeep: sounds like you want to define a finalizer 2018-02-21T22:18:56Z DBeepBeep: I do 2018-02-21T22:19:20Z phoe: DBeepBeep: use the system trivial-garbage 2018-02-21T22:19:44Z phoe: just remember not to close over the finalized object in the finalizer. this creates memory leaks. 2018-02-21T22:19:48Z phoe: https://common-lisp.net/project/trivial-garbage/ 2018-02-21T22:19:49Z DBeepBeep: phoe: thanks. I tried finalize-instance, but that didn't seem to exist. 2018-02-21T22:20:25Z DBeepBeep quit (Client Quit) 2018-02-21T22:20:27Z phoe: be sure to test your finalizer with some simple print statement - (make-instance 'finalized-class) and then (trivial-garbage:gc :full t) until you see your print occurring. 2018-02-21T22:20:33Z Xach: GC and finalization aren't standard 2018-02-21T22:21:00Z phoe: yep, but they are cross-implementation enough. 2018-02-21T22:23:04Z epony quit (Read error: Connection reset by peer) 2018-02-21T22:23:33Z epony joined #lisp 2018-02-21T22:24:19Z Bike quit (Ping timeout: 260 seconds) 2018-02-21T22:24:56Z Xach: That's why there's no finalize-instance built-in 2018-02-21T22:26:32Z aindilis quit (Read error: Connection reset by peer) 2018-02-21T22:26:39Z |3b|: and remember that they may never be called, so try to free things manually as well if possible, and just use finalizer as a backup 2018-02-21T22:26:41Z rumbler31 quit (Ping timeout: 248 seconds) 2018-02-21T22:30:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-21T22:32:38Z three3 quit (Quit: Page closed) 2018-02-21T22:33:34Z smaster quit (Ping timeout: 252 seconds) 2018-02-21T22:33:45Z fikka joined #lisp 2018-02-21T22:34:40Z mishoo quit (Ping timeout: 252 seconds) 2018-02-21T22:38:18Z Karl_Dscc quit (Remote host closed the connection) 2018-02-21T22:42:26Z Kundry_Wag quit (Remote host closed the connection) 2018-02-21T22:43:06Z wigust- joined #lisp 2018-02-21T22:43:20Z wigust- quit (Remote host closed the connection) 2018-02-21T22:44:53Z k-hos: so what do I need to do if I want to use the same name for something that lisp uses already 2018-02-21T22:45:01Z k-hos: for example 'stream' 2018-02-21T22:45:33Z phoe: k-hos: shadow the symbols. 2018-02-21T22:46:04Z wigust quit (Ping timeout: 260 seconds) 2018-02-21T22:46:41Z k-hos: and that won't cause any problems in other libraries? 2018-02-21T22:46:46Z |3b|: (and/or change what you want :p ) 2018-02-21T22:47:06Z |3b|: it is scoped to a package, so will only cause problems for code inside that package 2018-02-21T22:47:30Z k-hos: ok thats what I am looking for 2018-02-21T22:48:15Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2018-02-21T22:48:38Z k-hos: thanks 2018-02-21T22:48:45Z smurfrobot joined #lisp 2018-02-21T22:49:42Z smaster joined #lisp 2018-02-21T22:51:16Z orivej joined #lisp 2018-02-21T22:51:56Z stacksmith: CLHS 11.1.1 2018-02-21T22:51:56Z specbot: Introduction to Packages: http://www.lispworks.com/reference/HyperSpec/Body/11_aa.htm 2018-02-21T22:53:06Z stacksmith: What the heck are modules? 2018-02-21T22:53:35Z Chream joined #lisp 2018-02-21T22:53:39Z z3t0 quit (Remote host closed the connection) 2018-02-21T22:53:42Z phoe: stacksmith: something that was used for loading additional libraries in ancient times. 2018-02-21T22:53:57Z mareskeg joined #lisp 2018-02-21T22:53:59Z phoe: before the times of MK-DEFSYSTEM, even. 2018-02-21T22:54:01Z phoe: clhs provide 2018-02-21T22:54:01Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_provid.htm 2018-02-21T22:54:14Z stacksmith: So provide and require are deprecated? 2018-02-21T22:54:30Z phoe: "Notes: The functions provide and require are deprecated. " 2018-02-21T22:56:27Z smokeink joined #lisp 2018-02-21T22:59:44Z pjb: stacksmith: you have two cases: you're loading a system and you want to avoid loading twice the same file (or the same dependency). Then provide/require is a mechanism that could be used. However if you use it, the second case: you have loaded a system, made modifications in its sources, and now you want to load it again, to get the updates; it will fail if you used provide/require, since the system has already been provided, it 2018-02-21T23:00:04Z pjb: stacksmith: so provive/require is rather useless, in the modern way of doing things. 2018-02-21T23:00:46Z pjb: Instead, we use asdf to resolve the DAG of the dependencies and to ensure files and dependencies are loaded only once. Also, asdf is able to reload stuff when files have changed. 2018-02-21T23:00:57Z z3t0 joined #lisp 2018-02-21T23:01:27Z z3t0 quit (Remote host closed the connection) 2018-02-21T23:01:36Z pjb: And of course, we use quicklisp which wraps over asdf, since systems are obtained from the internet nowadays, which was not something common (or at all automatic) when provide/require were invented. 2018-02-21T23:01:43Z z3t0 joined #lisp 2018-02-21T23:02:20Z pjb: Notice something funny: emacs lisp still uses provide/require. 2018-02-21T23:03:05Z willmichael quit (Ping timeout: 256 seconds) 2018-02-21T23:03:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-21T23:04:59Z ome joined #lisp 2018-02-21T23:05:12Z willmichael joined #lisp 2018-02-21T23:05:43Z stacksmith: pjb: So as intended it worked because one rarely reloaded source files but rather worked in-image? 2018-02-21T23:06:00Z damke_ joined #lisp 2018-02-21T23:11:02Z attila_lendvai quit (Quit: Leaving.) 2018-02-21T23:12:36Z Bike joined #lisp 2018-02-21T23:12:54Z LiamH quit (Quit: Leaving.) 2018-02-21T23:15:21Z vultyre quit (Ping timeout: 256 seconds) 2018-02-21T23:16:36Z haruka quit (Read error: Connection reset by peer) 2018-02-21T23:19:18Z sjl quit (Ping timeout: 240 seconds) 2018-02-21T23:19:31Z Kundry_Wag joined #lisp 2018-02-21T23:20:13Z haruka joined #lisp 2018-02-21T23:22:43Z csaurus quit (Ping timeout: 256 seconds) 2018-02-21T23:24:41Z Kundry_Wag quit (Ping timeout: 268 seconds) 2018-02-21T23:26:54Z smurfrobot quit (Remote host closed the connection) 2018-02-21T23:33:49Z moei quit (Quit: Leaving...) 2018-02-21T23:34:29Z smurfrobot joined #lisp 2018-02-21T23:35:30Z aindilis joined #lisp 2018-02-21T23:38:20Z fourier joined #lisp 2018-02-21T23:39:21Z smurfrobot quit (Ping timeout: 264 seconds) 2018-02-21T23:42:34Z Nouv quit (Remote host closed the connection) 2018-02-21T23:47:43Z hiroaki quit (Ping timeout: 248 seconds) 2018-02-21T23:48:13Z smaster quit (Ping timeout: 256 seconds) 2018-02-21T23:48:39Z hel-io joined #lisp 2018-02-21T23:56:16Z z3t0 quit (Remote host closed the connection) 2018-02-21T23:57:19Z fourier quit (Ping timeout: 248 seconds) 2018-02-21T23:57:54Z foom joined #lisp 2018-02-22T00:00:38Z foom2 quit (Ping timeout: 276 seconds) 2018-02-22T00:02:32Z nowhere_man quit (Read error: Connection reset by peer) 2018-02-22T00:02:39Z nowhere_man joined #lisp 2018-02-22T00:02:45Z smokeink quit (Ping timeout: 265 seconds) 2018-02-22T00:04:18Z mareskeg quit (Quit: mareskeg) 2018-02-22T00:04:21Z kamog joined #lisp 2018-02-22T00:05:14Z Chream quit (Remote host closed the connection) 2018-02-22T00:06:21Z juan-reynoso quit (Ping timeout: 256 seconds) 2018-02-22T00:09:45Z markong quit (Ping timeout: 256 seconds) 2018-02-22T00:09:45Z dieggsy quit (Read error: Connection reset by peer) 2018-02-22T00:12:41Z nowhereman_ joined #lisp 2018-02-22T00:13:02Z Amplituhedron joined #lisp 2018-02-22T00:13:09Z nowhere_man quit (Ping timeout: 256 seconds) 2018-02-22T00:14:03Z bigos joined #lisp 2018-02-22T00:14:24Z z3t0 joined #lisp 2018-02-22T00:18:51Z macrocat joined #lisp 2018-02-22T00:19:09Z nirved quit (Quit: Leaving) 2018-02-22T00:19:44Z hel-io quit 2018-02-22T00:23:40Z Achylles quit (Ping timeout: 240 seconds) 2018-02-22T00:24:39Z orivej quit (Ping timeout: 260 seconds) 2018-02-22T00:28:52Z pillton: DBeepBeep: It sounds like you need to fix the interface of the external library. 2018-02-22T00:30:15Z lnostdal_ quit (Ping timeout: 255 seconds) 2018-02-22T00:38:06Z FreeBirdLjj joined #lisp 2018-02-22T00:38:40Z Oladon joined #lisp 2018-02-22T00:39:47Z Tobbi quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-22T00:40:49Z lnostdal_ joined #lisp 2018-02-22T00:42:37Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-22T00:43:12Z z3t0 quit (Remote host closed the connection) 2018-02-22T00:50:14Z pmc_ joined #lisp 2018-02-22T00:51:31Z orivej joined #lisp 2018-02-22T00:54:18Z pmc_: I was following along in PCL Chapter 2 with SBCL/SLIME/emacs on Windows. It reads "To quit you can use a SLIME shortcut: at the REPL, type a comma. Then you will be prompted for a command." When I press comma at the REPL, SBCL stops reasponding. I do not get a prompt at the bottom of the Emacs winodw. Any ideas why? 2018-02-22T01:00:55Z rumbler31 joined #lisp 2018-02-22T01:02:01Z damke joined #lisp 2018-02-22T01:02:39Z smurfrobot joined #lisp 2018-02-22T01:03:36Z smaster joined #lisp 2018-02-22T01:04:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-22T01:07:04Z mareskeg joined #lisp 2018-02-22T01:07:43Z milanj quit (Quit: This computer has gone to sleep) 2018-02-22T01:17:10Z comborico1611 joined #lisp 2018-02-22T01:17:14Z arescorpio joined #lisp 2018-02-22T01:17:32Z Bike quit (Ping timeout: 268 seconds) 2018-02-22T01:22:26Z lnostdal_ quit (Ping timeout: 255 seconds) 2018-02-22T01:22:54Z Bike joined #lisp 2018-02-22T01:23:08Z vultyre joined #lisp 2018-02-22T01:23:23Z EvW quit (Ping timeout: 255 seconds) 2018-02-22T01:24:22Z bigos quit (Remote host closed the connection) 2018-02-22T01:25:27Z orivej quit (Ping timeout: 240 seconds) 2018-02-22T01:27:17Z Pixel_Outlaw joined #lisp 2018-02-22T01:34:55Z pfdietz_ quit 2018-02-22T01:36:03Z ome quit (Quit: Connection closed for inactivity) 2018-02-22T01:36:26Z sz0 joined #lisp 2018-02-22T01:38:09Z quazimodo joined #lisp 2018-02-22T01:40:06Z JenElizabeth joined #lisp 2018-02-22T01:40:16Z Xach: pmc_: did you figure it out? 2018-02-22T01:40:27Z mareskeg quit (Quit: mareskeg) 2018-02-22T01:40:43Z mareskeg joined #lisp 2018-02-22T01:41:59Z JenElizabeth quit (Remote host closed the connection) 2018-02-22T01:42:51Z JenElizabeth joined #lisp 2018-02-22T01:43:28Z JenElizabeth quit (Remote host closed the connection) 2018-02-22T01:45:50Z djuber joined #lisp 2018-02-22T01:48:04Z lnostdal_ joined #lisp 2018-02-22T01:51:30Z mareskeg quit (Quit: mareskeg) 2018-02-22T01:51:55Z rumbler3_ joined #lisp 2018-02-22T01:52:13Z rumbler31 quit (Read error: Connection reset by peer) 2018-02-22T01:52:43Z mareskeg joined #lisp 2018-02-22T01:57:27Z python476 quit (Ping timeout: 240 seconds) 2018-02-22T02:01:23Z stacksmith quit (Ping timeout: 256 seconds) 2018-02-22T02:02:25Z ome joined #lisp 2018-02-22T02:02:59Z Arcaelyx joined #lisp 2018-02-22T02:05:45Z ebzzry_ quit (Ping timeout: 264 seconds) 2018-02-22T02:06:49Z vultyre quit (Quit: Leaving) 2018-02-22T02:09:21Z comborico1611: What is the t here? (parse-integer (prompt-read "Rating") :junk-allowed t) 2018-02-22T02:10:43Z Xach: comborico1611: t is a handy constant that evaluates to itself 2018-02-22T02:10:56Z Xach: comborico1611: in this case it is passed as a value to the junk-allowed parameter. 2018-02-22T02:11:03Z lnostdal_ quit (Ping timeout: 255 seconds) 2018-02-22T02:11:15Z Xach: in the implementation of parse-integer that parameter is checked and changes how the function behaves. 2018-02-22T02:12:30Z comborico1611: Xach: Hmm. Thank you! 2018-02-22T02:15:07Z comborico1611: Xach: what book would you recommend for a programmer to learn CL? 2018-02-22T02:15:57Z comborico1611: So far i am pleased with Practical Common Lisp, but i always like to have a backup. 2018-02-22T02:16:23Z stacksmith joined #lisp 2018-02-22T02:18:19Z Kundry_Wag joined #lisp 2018-02-22T02:19:33Z thallia quit (Ping timeout: 264 seconds) 2018-02-22T02:20:09Z ramus quit (Ping timeout: 264 seconds) 2018-02-22T02:20:45Z fouric quit (Ping timeout: 264 seconds) 2018-02-22T02:21:19Z thallia joined #lisp 2018-02-22T02:21:35Z Amplituhedron quit (Ping timeout: 240 seconds) 2018-02-22T02:21:52Z fouric joined #lisp 2018-02-22T02:23:23Z Xach: comborico1611: paradigms of ai programming by norvig is densely packed with great info 2018-02-22T02:24:57Z Kundry_Wag quit (Ping timeout: 264 seconds) 2018-02-22T02:25:16Z d4ryus1 joined #lisp 2018-02-22T02:28:16Z d4ryus quit (Ping timeout: 248 seconds) 2018-02-22T02:30:58Z ebzzry_ joined #lisp 2018-02-22T02:31:32Z figurehe4d quit (Ping timeout: 252 seconds) 2018-02-22T02:33:08Z Cymew joined #lisp 2018-02-22T02:33:17Z lonjil joined #lisp 2018-02-22T02:34:58Z pfdietz joined #lisp 2018-02-22T02:35:23Z pfdietz: I wish the systems in quicklisp were not sometimes incompatible. 2018-02-22T02:36:16Z Xach: pfdietz: what kind of incompatibility is most problematic for you? the one that springs first to my mind is package names. 2018-02-22T02:37:07Z smurfrobot quit (Remote host closed the connection) 2018-02-22T02:38:09Z Cymew quit (Ping timeout: 264 seconds) 2018-02-22T02:39:58Z pmc_: Xach: It turns out SBCL prints an error message when comma is entered at the REPL. I guess SLIME and emacs are not expecting that. 2018-02-22T02:40:34Z Xach: pmc_: the possible problem is that you are not using the "fancy" repl, which was once the default but now is "optional" 2018-02-22T02:40:48Z Xach: the fancy repl is pretty nice and i use it with slime always 2018-02-22T02:41:16Z pfdietz: Yes, package name collisions. 2018-02-22T02:41:27Z pmc_: xach: where can I read more about this "fancy" REPL? 2018-02-22T02:41:27Z Xach: At any rate, M-x slime-repl- will also do whatever , is described to do. 2018-02-22T02:41:30Z pfdietz: net.uri defined in zacl and puri, for example. And others. 2018-02-22T02:42:14Z mareskeg quit (Quit: mareskeg) 2018-02-22T02:42:31Z Xach: pmc_: I'm not sure. possibly the slime manual. i use (slime-setup '(slime-fancy)) to get it 2018-02-22T02:42:40Z Xach: that goes in my emacs init files 2018-02-22T02:43:11Z pmc_: oh, ok. I will try that. Thanks! 2018-02-22T02:43:15Z Xach: pfdietz: that specific example stems from the same desire to fake out code that thinks it's on allegro 2018-02-22T02:43:22Z zaquest joined #lisp 2018-02-22T02:43:42Z ramus joined #lisp 2018-02-22T02:45:21Z fikka quit (Ping timeout: 264 seconds) 2018-02-22T02:46:08Z EvW joined #lisp 2018-02-22T02:46:50Z Xach: pfdietz: I've wished to somehow relate system loading to packages defined, but haven't worked it out yet 2018-02-22T02:47:25Z Xach: i am really eager to create static databases from dynamic images to find stuff out 2018-02-22T02:47:36Z Xach: (also dynamic databases from dynamic images) 2018-02-22T02:47:37Z Naergon joined #lisp 2018-02-22T02:50:37Z Kundry_Wag joined #lisp 2018-02-22T02:50:41Z EvW quit (Ping timeout: 256 seconds) 2018-02-22T02:51:33Z pmc_ quit (Quit: Leaving) 2018-02-22T02:52:05Z smurfrobot joined #lisp 2018-02-22T02:53:11Z pfdietz: I think standarization and usage of local nicknames would help, but all the lisps would have to get together for that. 2018-02-22T02:54:54Z pfdietz: This came up for me because I'm trying to load as many systems as I can from quicklisp to provide raw material for mutation testing. 2018-02-22T02:55:09Z Kundry_Wag quit (Ping timeout: 260 seconds) 2018-02-22T02:55:16Z pfdietz: Perhaps not a use that was considered. 2018-02-22T02:55:33Z figurehe4d joined #lisp 2018-02-22T02:56:21Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-22T02:56:33Z comborico1611 quit (Ping timeout: 248 seconds) 2018-02-22T02:59:10Z pillton: pfdietz: You would still need to use a GUID. 2018-02-22T03:00:05Z AntiSpamMeta2 joined #lisp 2018-02-22T03:00:05Z AntiSpamMeta quit (Killed (verne.freenode.net (Nickname regained by services))) 2018-02-22T03:00:05Z AntiSpamMeta2 is now known as AntiSpamMeta 2018-02-22T03:00:25Z galdor1 joined #lisp 2018-02-22T03:01:12Z ioa_ joined #lisp 2018-02-22T03:01:22Z ioa quit (Read error: Connection reset by peer) 2018-02-22T03:01:31Z kolb quit (Read error: Connection reset by peer) 2018-02-22T03:01:39Z damke_ joined #lisp 2018-02-22T03:01:44Z mrottenkolber joined #lisp 2018-02-22T03:02:23Z galdor quit (Ping timeout: 255 seconds) 2018-02-22T03:02:59Z z0d quit (Ping timeout: 268 seconds) 2018-02-22T03:03:54Z z0d joined #lisp 2018-02-22T03:04:33Z damke quit (Ping timeout: 264 seconds) 2018-02-22T03:08:58Z fikka joined #lisp 2018-02-22T03:15:24Z mareskeg joined #lisp 2018-02-22T03:15:41Z dieggsy joined #lisp 2018-02-22T03:17:54Z figurehe4d quit (Ping timeout: 260 seconds) 2018-02-22T03:18:40Z willmichael quit (Ping timeout: 240 seconds) 2018-02-22T03:21:45Z deng_cn joined #lisp 2018-02-22T03:23:10Z willmichael joined #lisp 2018-02-22T03:25:42Z makomo quit (Ping timeout: 256 seconds) 2018-02-22T03:26:02Z Pixel_Outlaw quit (Quit: Leaving) 2018-02-22T03:29:45Z stacksmith quit (Ping timeout: 264 seconds) 2018-02-22T03:30:53Z Kundry_Wag joined #lisp 2018-02-22T03:35:27Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-22T03:37:52Z sz0 quit (Quit: Connection closed for inactivity) 2018-02-22T03:38:38Z beach: Good morning everyone! 2018-02-22T03:40:43Z arescorpio quit (Excess Flood) 2018-02-22T03:40:48Z Kundry_Wag joined #lisp 2018-02-22T03:42:49Z fikka quit (Ping timeout: 256 seconds) 2018-02-22T03:44:33Z pierpa quit (Quit: Page closed) 2018-02-22T03:45:37Z Kundry_Wag quit (Ping timeout: 248 seconds) 2018-02-22T03:50:39Z Kundry_Wag joined #lisp 2018-02-22T03:52:20Z fikka joined #lisp 2018-02-22T03:54:49Z panji joined #lisp 2018-02-22T03:54:57Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-22T04:04:04Z mfiano: Xach: give up on Sly? 2018-02-22T04:04:28Z sjl joined #lisp 2018-02-22T04:05:12Z vultyre joined #lisp 2018-02-22T04:09:27Z sjl quit (Ping timeout: 265 seconds) 2018-02-22T04:16:02Z ome quit (Quit: Connection closed for inactivity) 2018-02-22T04:21:14Z fikka quit (Ping timeout: 256 seconds) 2018-02-22T04:21:21Z schoppenhauer quit (Ping timeout: 256 seconds) 2018-02-22T04:21:22Z Kaisyu joined #lisp 2018-02-22T04:23:01Z schoppenhauer joined #lisp 2018-02-22T04:27:39Z fikka joined #lisp 2018-02-22T04:28:07Z Kaisyu7 quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-22T04:33:49Z fikka quit (Ping timeout: 256 seconds) 2018-02-22T04:37:52Z whatsupdoc joined #lisp 2018-02-22T04:38:22Z whatsupdoc: I need help writing a function in clisp 2018-02-22T04:38:25Z macrocat quit (Read error: Connection reset by peer) 2018-02-22T04:39:05Z whatsupdoc: My function takes as input a list that is always is of the form ((a b)(a c)(a d)) where a is the same number or atom 2018-02-22T04:40:00Z whatsupdoc: and must return (a (b c d)) 2018-02-22T04:40:08Z Zhivago: I suggest asking a question. 2018-02-22T04:40:18Z whatsupdoc: recursively 2018-02-22T04:40:34Z whatsupdoc: How do I go about doing this? So stuck 2018-02-22T04:40:58Z whatsupdoc: I tried (second (car q)) (undistribute-recursive (cdr q)) 2018-02-22T04:41:19Z Zhivago: And what was the first surprising thing that happened? 2018-02-22T04:41:20Z whatsupdoc: but that only gives me the second number 2018-02-22T04:41:28Z whatsupdoc: obviously 2018-02-22T04:41:39Z Zhivago: Why did that surprise you? 2018-02-22T04:41:57Z whatsupdoc: i have no idea how to incorporate the 1 2018-02-22T04:42:05Z raskolnikov quit (Ping timeout: 276 seconds) 2018-02-22T04:42:07Z whatsupdoc: first element 2018-02-22T04:42:23Z Zhivago: By not using cdr? 2018-02-22T04:42:51Z whatsupdoc: why not? 2018-02-22T04:43:04Z Zhivago: What does (cdr '(a b c)) do? 2018-02-22T04:43:32Z whatsupdoc: returns (b c) 2018-02-22T04:43:33Z marusich quit (Ping timeout: 264 seconds) 2018-02-22T04:43:36Z whatsupdoc: (i think) 2018-02-22T04:43:49Z Zhivago: And if you want (a b c) instead, why would you call cdr to produce (b c)? 2018-02-22T04:44:33Z whatsupdoc: i don't get how that relates to what i'm doing 2018-02-22T04:44:50Z Zhivago: That's probably because you are very incoherent. 2018-02-22T04:45:28Z whatsupdoc: example: ((1 2) (1 4) (1 6)) becomes (1 (2 4 6)) 2018-02-22T04:46:32Z Zhivago: It appears that you are complaining that recursively processing all but the first element of a list does not process the first element of the list ... 2018-02-22T04:47:25Z Zhivago: So, why are you going to the trouble of excluding the first element? 2018-02-22T04:47:42Z whatsupdoc: because i have no idea how to incorporate it 2018-02-22T04:47:59Z Zhivago: What does (cdr '(a b c)) do? 2018-02-22T04:48:05Z whatsupdoc: this is what i have https://pastebin.com/raw/fFj3exjM 2018-02-22T04:48:23Z whatsupdoc: for me ((1 2) (1 4) (1 6)) outputs (2 4 6) 2018-02-22T04:48:24Z marusich joined #lisp 2018-02-22T04:48:30Z zacts quit (Quit: WeeChat 1.9.1) 2018-02-22T04:48:49Z Zhivago: And why is that surprising? 2018-02-22T04:49:19Z Zhivago: Yes, which is probably why they are confused. 2018-02-22T04:49:26Z whatsupdoc: I have no idea how to incorporate the first element 2018-02-22T04:49:33Z whatsupdoc: because it throws off the recursion 2018-02-22T04:49:36Z zacts joined #lisp 2018-02-22T04:49:51Z Zhivago: In what regard is the first element not incorporated given that ((1 2) (1 4) (1 6)) outputs (2 4 6)? 2018-02-22T04:50:08Z presiden quit (Ping timeout: 252 seconds) 2018-02-22T04:50:16Z whatsupdoc: becuase the '1' is never printed like it's supposed to 2018-02-22T04:50:35Z Zhivago: What does that have to do with undistribute-recursive? 2018-02-22T04:50:52Z Zhivago: (second (car q)) (undistribute-recursive (cdr q)) ;; look at this. 2018-02-22T04:50:57Z whatsupdoc: it's outputing (2 4 6) instead of (1 (2 4 6)) 2018-02-22T04:51:10Z akkad cooks some more popcorn 2018-02-22T04:51:22Z Zhivago: So, do that outside of the recursive part, as you showed above. 2018-02-22T04:52:49Z marusich quit (Ping timeout: 248 seconds) 2018-02-22T04:52:59Z eschatologist quit (Quit: ZNC 1.6.5+deb2build2 - http://znc.in) 2018-02-22T04:53:16Z whatsupdoc: you can't 2018-02-22T04:53:20Z Zhivago: Why not? 2018-02-22T04:53:35Z Zhivago: I mean, I can do it -- why can't you do it? 2018-02-22T04:53:50Z eschatologist joined #lisp 2018-02-22T04:53:54Z whatsupdoc: without using another function? 2018-02-22T04:54:04Z Zhivago: Why is using another function significant? 2018-02-22T04:54:58Z whatsupdoc: i try something like this, but this is just dumb https://pastebin.com/raw/8KtkxeZu 2018-02-22T04:55:06Z Zhivago: Please learn how to answer questions. 2018-02-22T04:55:26Z whatsupdoc: idk it's not? 2018-02-22T04:55:38Z Zhivago: Then why do you say that you can't do it? 2018-02-22T04:55:43Z marusich joined #lisp 2018-02-22T04:55:55Z Zhivago: Just write two functions -- one to do the whole job, and one to do the recursive bit. 2018-02-22T04:56:59Z Zhivago: You pretty much had it with your (second (car q)) (undistribute-recursive (cdr q)) except for the stupid bits. 2018-02-22T04:57:58Z Zhivago: Although if you really want a single function, you can compute it recursively -- you just need to consider the return path. 2018-02-22T04:58:30Z raskolnikov joined #lisp 2018-02-22T04:58:40Z whatsupdoc: i'm pretty sure i can do it with two functions, just not with 1 2018-02-22T04:58:44Z whatsupdoc: although idk 2018-02-22T04:58:58Z Zhivago: Think of the solution for ((1 2) (1 4) (1 6)) and the solution for ((1 4) (1 6)), then think of how to get from the latter to the former. 2018-02-22T04:59:44Z Zhivago: Remember in the recursive approach you are reducing ((1 2) (1 4) (1 6)) to some operation plus the same reduction upon ((1 4) (1 6)) and so on. 2018-02-22T05:00:06Z beach: whatsupdoc: Is this homework? 2018-02-22T05:00:31Z Kundry_Wag joined #lisp 2018-02-22T05:00:33Z beach: whatsupdoc: Did you not learn how to layout Common Lisp code in class? 2018-02-22T05:00:52Z Zhivago: Well, he didn't learn recursion, so I expect not. 2018-02-22T05:01:08Z damke joined #lisp 2018-02-22T05:02:16Z Zhivago: They need to start with a class on "Questions: How to ask and answer them intelligently". 2018-02-22T05:02:38Z aeth: There are two kinds of academic Lisp. Academic Lisp that follows conventions and academic Lisp that does not follow conventions. 2018-02-22T05:02:38Z whatsupdoc: i still don't know how to do it. maybe i should just use another function 2018-02-22T05:02:41Z presiden joined #lisp 2018-02-22T05:02:53Z akkad: "how to become a Turkish Customs Agent." "you joined lisp to see soo many assholes" 2018-02-22T05:02:55Z akkad left #lisp 2018-02-22T05:03:49Z nowhere_man joined #lisp 2018-02-22T05:03:56Z learning joined #lisp 2018-02-22T05:03:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-22T05:04:22Z fikka joined #lisp 2018-02-22T05:04:41Z beach: whatsupdoc: This is not a channel for newbies. But if your purpose is to learn Common Lisp (CLISP is not an abbreviation for Common Lisp, it is an implementation of Common Lisp) we can help you. But then, you first have to use the conventions and the tools that the people here use. 2018-02-22T05:04:50Z Kevslinger quit (Quit: Connection closed for inactivity) 2018-02-22T05:04:53Z Zhivago: whatsupdoc: Probably -- that would help you to avoid learning, at least. 2018-02-22T05:05:05Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-22T05:05:29Z whatsupdoc: damn.....i so badly want to see the solution 2018-02-22T05:05:41Z whatsupdoc: it's probably something so simple 2018-02-22T05:05:42Z learning: this is an academic question (ie not building something just trying to understand), can i see all of the generic functions that take a specific class as an argument 2018-02-22T05:05:45Z beach: whatsupdoc: However, if your purpose is to have someone do your homework for you, so that you don't have to learn Common Lisp, then you might be out of luck. 2018-02-22T05:05:49Z learning: sorry if i used the wrong vocab 2018-02-22T05:06:03Z whatsupdoc: i'm not asking for someone to do it for 2018-02-22T05:06:04Z whatsupdoc: em 2018-02-22T05:06:06Z whatsupdoc: *me 2018-02-22T05:06:17Z Zhivago: whatsupdoc: Then try answering the questions I asked. 2018-02-22T05:06:18Z mikecheck joined #lisp 2018-02-22T05:06:45Z Zhivago: whatsupdoc: What does undistribute-recursive produce given ((1 2) (1 4) (1 6))? How about for ((1 4) (1 6))? 2018-02-22T05:07:01Z whatsupdoc: (1 (2 4)) 2018-02-22T05:07:06Z whatsupdoc: (1 (4 6)) 2018-02-22T05:07:10Z beach: learning: Yes, you can. Hold on... 2018-02-22T05:07:11Z nowhereman_ quit (Ping timeout: 248 seconds) 2018-02-22T05:07:54Z beach: mop specializer-direct-generic-functions 2018-02-22T05:07:54Z specbot: http://metamodular.com/CLOS-MOP/specializer-direct-generic-functions.html 2018-02-22T05:08:03Z beach: learning: up arrow 2018-02-22T05:08:05Z beach: oops 2018-02-22T05:08:17Z beach: ↑ 2018-02-22T05:08:47Z Zhivago: whatsupdoc: Now, what _should_ it produce for those, if it were working correctly? 2018-02-22T05:08:57Z beach: learning: Is that what you are looking for? 2018-02-22T05:09:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-22T05:09:06Z learning: reading now 2018-02-22T05:09:17Z whatsupdoc: that is what it should be producing it was working correctly 2018-02-22T05:09:32Z Zhivago: What happened to the (1 6) from the first case? 2018-02-22T05:10:20Z learning: that is so fucking op 2018-02-22T05:10:21Z vtomole joined #lisp 2018-02-22T05:10:29Z learning: thank you immensely beach 2018-02-22T05:10:34Z learning: lisp blows me away 2018-02-22T05:10:36Z beach: Anytime. 2018-02-22T05:10:42Z learning: i mean of course a programmer woudl want to be able to do that 2018-02-22T05:10:54Z learning: but you'd think you'd have to code it yourself 2018-02-22T05:11:21Z mareskeg quit (Quit: mareskeg) 2018-02-22T05:11:29Z whatsupdoc: (1 (6)) 2018-02-22T05:12:10Z beach: learning: If you are using SBCL, you could try (sb-mop:specializer-direct-generic-functions (find-class 'character)) 2018-02-22T05:12:21Z Zhivago: So, shouldn't we expect (1 (2 4 6)), (1 (4 6)), (1 (6)) given ((1 2) (1 4) (1 6)), ((1 4) (1 6)), and ((1 6))? 2018-02-22T05:12:41Z whatsupdoc: no, because that's invalid input 2018-02-22T05:13:15Z whatsupdoc: actually yes 2018-02-22T05:13:20Z whatsupdoc: yes, you're right 2018-02-22T05:13:43Z chenbin joined #lisp 2018-02-22T05:14:04Z Zhivago: Ok, can you see a pattern here? How could you turn (1 (6)) into (1 (4 6))? 2018-02-22T05:14:36Z whatsupdoc: add a 4 2018-02-22T05:15:01Z learning: is mop implmentation dependent 2018-02-22T05:15:06Z aeth: yes 2018-02-22T05:15:16Z aeth: use closer-mop 2018-02-22T05:16:01Z beach: learning: Yes. CLOSER-MOP is one of those wonderful compatibility packages though, so you can use it independently of your implementation. 2018-02-22T05:16:42Z learning: and i can see how shit works cause its on github! 2018-02-22T05:16:51Z chenbin quit (Remote host closed the connection) 2018-02-22T05:17:05Z beach: You can even see non-shit things. 2018-02-22T05:17:09Z whatsupdoc: why do people learn lisp? it seems so annoying to program in 2018-02-22T05:17:21Z Zhivago: whatsupdoc: To annoy C++ programmers. 2018-02-22T05:17:23Z learning: non-shit open source code? blasphemy 2018-02-22T05:17:37Z beach: whatsupdoc: Because we are silly people. I advice you to quit before it's too late. 2018-02-22T05:17:44Z k-hos: zhivago I'm a c++ programmer learning lisp ._. 2018-02-22T05:17:55Z vultyre quit (Quit: Leaving) 2018-02-22T05:18:10Z whatsupdoc: you don't even have types like how the heck can you even do anything complex 2018-02-22T05:18:12Z aeth: whatsupdoc: Consider the problem of doing foo at compile time. Clearly, that's possible in dozens of languages. 2018-02-22T05:18:19Z Zhivago: whatsupdoc: Consider (defun add (l) (if (endp l) 0 (+ (first l) (add (rest l))) 2018-02-22T05:18:36Z Zhivago: whatsupdoc: You do have types -- what is (type-of 10)? 2018-02-22T05:18:36Z aeth: But doing things at compile time is painful in nearly every language. 2018-02-22T05:18:47Z whatsupdoc: two types 2018-02-22T05:18:52Z whatsupdoc: lists and atoms 2018-02-22T05:18:59Z beach: whatsupdoc: We can't. Like I said, we are silly people. Quit before it's too late, or you won't want to go back to your current languages ever again. 2018-02-22T05:19:00Z whatsupdoc: so basic 2018-02-22T05:19:09Z Zhivago: whatsupdoc: atoms aren't types -- see above. 2018-02-22T05:19:24Z whatsupdoc: number 2018-02-22T05:19:41Z Zhivago: whatsupdoc: So your thesis is wrong -- become less ignorant and ask a more intelligent question. 2018-02-22T05:19:57Z k-hos: what is a type but a miserable collection of bits 2018-02-22T05:19:58Z learning: i got to a point where i needed to commit to a language if i wanted to get better at programming. so i chose the one that fit my personality type, the one with outlandish promises of how amazing it is. that's why i chose lisp. it took me years before i actually got to the point where i could explain using lisp over other languages. and ive been a slightly less shitty programmer ever since 2018-02-22T05:20:14Z Zhivago: whatsupdoc: Now, understanding how 'add' works, can you see how your problem has a similar recursive structure? 2018-02-22T05:20:29Z learning: are you using rainbow parentheses? 2018-02-22T05:21:10Z Zhivago: k-hos: Did not knowing lisp annoy you? :) 2018-02-22T05:21:42Z beach: Is the fact you did not know Lisp the reason why you came here today? 2018-02-22T05:21:47Z whatsupdoc: I don't know what endp is yet 2018-02-22T05:21:50Z k-hos: before I decided to learn it? not really 2018-02-22T05:21:52Z beach: clhs endp 2018-02-22T05:21:53Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_endp.htm 2018-02-22T05:22:02Z k-hos: I wanted a change though 2018-02-22T05:22:02Z beach: whatsupdoc: ↑ 2018-02-22T05:22:02Z aeth: (and (typep 10 'number) (typep 10 'real) (typep 10 'rational) (typep 10 'integer) (typep 10 '(signed-byte 64)) (typep 10 'fixnum) (typep 10 '(unsigned-byte 32)) (typep 10 '(integer 0 1000)) (typep 10 '(mod 360))) ; not an exhaustive list 2018-02-22T05:22:18Z learning: lisp has no types, 2 types, blue types, red types: http://sellout.github.io/media/CL-type-hierarchy.png 2018-02-22T05:22:22Z k-hos: and lisp seemed like an interesting direction, since I have always liked the syntax 2018-02-22T05:22:42Z learning: so much types! 2018-02-22T05:22:51Z aeth: lisp has too many types 2018-02-22T05:23:00Z beach: learning: "many". Much stuff, many things. 2018-02-22T05:23:11Z learning: im being silly 2018-02-22T05:23:20Z learning: that was post doctor seuss ref 2018-02-22T05:23:21Z Zhivago: whatsupdoc: Just pretend that you're not a completely useless human being and look it up. 2018-02-22T05:24:32Z beach: Zhivago: I admire your patience. 2018-02-22T05:24:32Z learning: the problem with trolling lispers is that we can't wait to talk to anyone about lisp 2018-02-22T05:24:41Z beach: Heh. 2018-02-22T05:24:48Z aeth: learning: we're like missionaries 2018-02-22T05:24:54Z learning: ^^ 2018-02-22T05:24:54Z aeth: a missionary will talk to you for ages 2018-02-22T05:25:03Z learning: perfect analogy 2018-02-22T05:25:09Z aeth: the only difference is that we're not yet organized enough to go door to door 2018-02-22T05:25:26Z learning: xach is working on a bot to do that for us 2018-02-22T05:25:30Z smaster quit (Quit: WeeChat 2.0.1) 2018-02-22T05:25:34Z learning: 1 line of lisp code 2018-02-22T05:25:38Z aeth: hopefully a roomba 2018-02-22T05:26:06Z Zhivago: beach: Eventually some of them unlearn their acquired stupidity sufficiently to be able to learn. 2018-02-22T05:26:33Z beach: Zhivago: I know. It just hard work convincing them. 2018-02-22T05:26:41Z haruka quit (Remote host closed the connection) 2018-02-22T05:27:23Z Zhivago: Working with three year olds is in that regard much nicer. 2018-02-22T05:27:39Z beach: I like the term "acquired stupidity". Do you mind if I used it in my essays? 2018-02-22T05:27:47Z beach: True that. 2018-02-22T05:27:50Z haruka joined #lisp 2018-02-22T05:28:27Z Zhivago: Certainly -- it comes from viewing stupidity as a set of learned skills to help prevent learning. 2018-02-22T05:28:41Z beach: Yes, I understand. And I like that view. 2018-02-22T05:29:07Z beach: The spirit is totally opposite to that of #lisp. 2018-02-22T05:30:47Z whatsupdoc: Zhivago don't get me wrong i'm not retarded 2018-02-22T05:31:17Z whatsupdoc: i'm totally capable of solving that problem https://pastebin.com/raw/U2Yj1EzK 2018-02-22T05:31:35Z xt3 joined #lisp 2018-02-22T05:31:36Z beach: This must be ECS 140A. 2018-02-22T05:31:38Z whatsupdoc: i was just curious of how to do it in 1 function 2018-02-22T05:31:39Z whatsupdoc: lol 2018-02-22T05:31:47Z beach: I should ask the professor how this is taught. 2018-02-22T05:31:49Z whatsupdoc: beach: it's a valid solution 2018-02-22T05:31:58Z aeth: protip: you can add ;s at he end of every line if you really want to make it ugly 2018-02-22T05:31:58Z whatsupdoc: the way i did it works perfectly fine 2018-02-22T05:32:17Z Zhivago: whatsupdoc: Well, if you were retarded you would have a legitimate excuse. 2018-02-22T05:32:36Z beach: whatsupdoc: You seem to know nothing about elementary software engineering. If you submitted such non-idiomatic code to me, I would give you a failing grade. 2018-02-22T05:32:57Z whatsupdoc: what do you mean? 2018-02-22T05:33:45Z Zhivago: He means that you write code like a retarded monkey might, if given sufficient drugs. 2018-02-22T05:33:46Z learning: i end all my lisp lines with semicolons just to remind myself that it's my choice not the computer's 2018-02-22T05:33:50Z beach: whatsupdoc: Your code doesn't even follow the formatting conventions of Common Lisp. Maybe you have not been taught that code is mainly a means of communication between developers and not between a developer and the computer. 2018-02-22T05:34:15Z beach: whatsupdoc: So the first thing you need to do is to respect the conventions that the people reading your code are used to. 2018-02-22T05:34:25Z whatsupdoc: what's the proper formatting? 2018-02-22T05:34:28Z aeth: learning: You can even write C in Lisp if you non-portably use type declarations in declare or portably use check-type and pretend that that's good enough (it usually is) 2018-02-22T05:34:37Z whatsupdoc: source? 2018-02-22T05:34:41Z aeth: learning: but that's not as fun as writing asm in lisp, with tagbody 2018-02-22T05:34:46Z Zhivago: It's hard to do C properly without pointers. 2018-02-22T05:34:56Z beach: whatsupdoc: I think if you were to read a few existing Common Lisp programs, you would see how different they look from the code that you show us. 2018-02-22T05:35:09Z learning: or use a C library in lisp, you'll be writing C code in no time!*** *haven't actually done this 2018-02-22T05:35:21Z aeth: Zhivago: just have a large array of (unsigned-byte 8)s or something, C doesn't have any types, anyway, just bytes 2018-02-22T05:35:35Z aeth: (C not having any types is probably more accurate than CL not having any types) 2018-02-22T05:35:36Z beach: whatsupdoc: In that respect, programming is like writing novels. You have to read a lot of what other experts write in order to do it the way it is supposed to be done. 2018-02-22T05:35:49Z learning: asm rofl 2018-02-22T05:35:55Z whatsupdoc: i really need a book on lisp 2018-02-22T05:36:22Z learning: little lisper will get you started 2018-02-22T05:36:24Z xt3 quit (Client Quit) 2018-02-22T05:36:34Z aeth: learning: just replace variables with an array representing registers and a larger array representing memory, and do everything in a tagbody, and you're basically there afaik 2018-02-22T05:36:35Z whatsupdoc: i think it's a cool idea, but it's so different from waht i have seen in C/C++ 2018-02-22T05:36:41Z learning: pencil and paper 2018-02-22T05:36:43Z Bike quit (Quit: Lost terminal) 2018-02-22T05:36:49Z Zhivago: aeth: If that were true, then arithmetic wouldn't work -- C has types, the bytes are just the underlying representation. 2018-02-22T05:37:06Z learning: this god damned joke police 2018-02-22T05:37:27Z learning: real talk 2018-02-22T05:37:30Z beach: whatsupdoc: The idea of programming as communication is common to all languages. There are lots of incompetent programmers who don't realize that, of course. 2018-02-22T05:37:32Z learning: i almost chose c over lisp 2018-02-22T05:37:43Z learning: and i was following a tutorial and the dependency wouldn't install 2018-02-22T05:37:50Z learning: i said fuck it all and never looked back 2018-02-22T05:37:55Z Naergon quit (Remote host closed the connection) 2018-02-22T05:38:08Z whatsupdoc: is there a list formatting tool? 2018-02-22T05:38:09Z CrazyEddy quit (Ping timeout: 248 seconds) 2018-02-22T05:38:25Z aeth: learning: Fortunately, handling C and C++ dependencies has gotten better since then. 2018-02-22T05:38:30Z aeth: Just kidding! :-p 2018-02-22T05:38:31Z learning: hahahahaha 2018-02-22T05:38:38Z learning: i was enjoying it too! 2018-02-22T05:38:48Z learning: i was following C The Hard Way 2018-02-22T05:38:53Z beach: whatsupdoc: I suggest you install Portacle. It is a set of tools for Common Lisp that are easy to install. 2018-02-22T05:39:32Z whatsupdoc: dang looks interesting thanks 2018-02-22T05:39:36Z learning: you need rainbow parentheses! 2018-02-22T05:39:42Z learning: rainbows faggot! 2018-02-22T05:39:45Z aeth: I just wish CL had a standard for "inline" assembly. Then we wouldn't ever need to use C, and some better low-level abstration would have been built by now. 2018-02-22T05:39:52Z learning: sorry im going to calmdown 2018-02-22T05:39:53Z whatsupdoc: using no ide is so annoying, too many times i missed parentheses already 2018-02-22T05:40:41Z vtomole: How would you write C in Lisp with respect to manual memory management? Turn off the GC? 2018-02-22T05:40:56Z learning: we just need a common lisp to llvm converter 2018-02-22T05:41:02Z learning: so i can write WASM in lisp 2018-02-22T05:41:09Z aeth: learning: good news 2018-02-22T05:41:27Z beach: Oh wow, the instructor's code stinks too! 2018-02-22T05:41:32Z aeth: learning: talk to drmeister if you're serious 2018-02-22T05:41:35Z beach: https://www.coursehero.com/file/11745815/hw4-solution/ 2018-02-22T05:41:43Z learning: im waiting for wasm to mature 2018-02-22T05:41:48Z beach: That code is just awful. 2018-02-22T05:41:54Z learning: apparently you cant access the dom yet? 2018-02-22T05:42:10Z whatsupdoc: lol 2018-02-22T05:42:35Z beach: The blind leading the blind. 2018-02-22T05:42:36Z beach: Oh well. 2018-02-22T05:43:17Z drmeister ears are burning - not just because his name was mentioned but the salty language! 2018-02-22T05:43:22Z learning: why are the parentheses formatted the way i did it on my first day with lisp 2018-02-22T05:43:24Z vtomole: beach: From my experience, professors are usually not software engineers. They are computer scientists who write proofs all day long basically. Most of them don't program. 2018-02-22T05:43:32Z learning: sorry dr lol 2018-02-22T05:44:04Z whatsupdoc: the examples we've seen are one or two liners 2018-02-22T05:44:16Z learning: i went on a huger rant today about how the people who teach programming don't actually make programs 2018-02-22T05:44:37Z learning: because someone asked on quora, "if i get a B in my java class does that mean im too incompetent to become a programmer?" 2018-02-22T05:44:44Z smurfrobot joined #lisp 2018-02-22T05:45:43Z learning: that's just how we write programs in lisp. 1 or 2 lines and then get back to spamming irc. 2018-02-22T05:45:58Z Zhivago: aeth: Javascript has everything you want -- it is the most successful of the lisps :) 2018-02-22T05:46:47Z learning: hahahhaha 2018-02-22T05:46:50Z smasta joined #lisp 2018-02-22T05:46:58Z Zhivago: The inability to spell "I'm" is probably the clincher. 2018-02-22T05:47:34Z learning: are you seriously on my ass because i used a contraction OF A CONTRACTION 2018-02-22T05:47:47Z learning: get on my contraction lvl bruh 2018-02-22T05:48:49Z parjanya quit (Ping timeout: 256 seconds) 2018-02-22T05:48:57Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-22T05:49:02Z CrazyEddy joined #lisp 2018-02-22T05:49:23Z z3t0 joined #lisp 2018-02-22T05:49:28Z whatsupdoc quit (Remote host closed the connection) 2018-02-22T05:50:32Z Kundry_Wag joined #lisp 2018-02-22T05:51:33Z aeth: Zhivago: Common Lisp should copy the way JavaScript handles numbers because the numeric tower is too complicated. 2018-02-22T05:52:07Z stacksmith joined #lisp 2018-02-22T05:53:17Z fouric: learning: that type diagram is super dope 2018-02-22T05:53:35Z learning: oh yeah. love it. 2018-02-22T05:54:12Z aeth: it's actually a simplification! 2018-02-22T05:55:29Z Kundry_Wag quit (Ping timeout: 255 seconds) 2018-02-22T05:55:35Z fouric: O.o 2018-02-22T05:55:41Z fouric: that's amazing lol 2018-02-22T05:55:54Z fouric: oh, *there's* the hierarchy of number types that i've been looking for all my life 2018-02-22T05:56:17Z fouric: til (not (eq bignum fixnum)) 2018-02-22T05:56:32Z fouric: learning: also rainbow-parentheses is awesome too 2018-02-22T05:56:51Z fouric: it's almost like a completely new axis of "sensation" has been added to my code 2018-02-22T05:57:10Z fouric: i now read code using indentation *and* the colors of the parens 2018-02-22T05:58:06Z fouric: Zhivago: but muh macros 2018-02-22T05:58:10Z fouric: (also symbols) 2018-02-22T05:58:22Z pfdietz: There is some weirdness in CL's array type rules/ 2018-02-22T05:58:22Z fouric: (i really wish javascript had symbols) 2018-02-22T05:58:55Z Zhivago: Unfortunately they screwed up bignum and fixnum -- those should be classes, rather than types. 2018-02-22T05:59:19Z fouric: why? 2018-02-22T05:59:21Z Zhivago: fouric: What's wrong with strings being immutable symbols? 2018-02-22T05:59:45Z Zhivago: Well, bignum and fixnum correspond to implementation strategies. 2018-02-22T05:59:58Z fouric: because strings and symbols don't *do* the same things 2018-02-22T06:00:05Z fouric: strings are meant for humans, and symbols are meant to name objects 2018-02-22T06:00:14Z Zhivago: name objects for human use? 2018-02-22T06:00:26Z fouric: fine, human use at runtime 2018-02-22T06:00:58Z fouric: i haven't heard of a javascript runtime smart enough to optimize strings that happen to be the names of functions into pointers to the functions themselves 2018-02-22T06:01:27Z fouric: (implementation strategies?) 2018-02-22T06:01:40Z borei joined #lisp 2018-02-22T06:01:48Z borei: hi all 2018-02-22T06:02:04Z Zhivago: I would have thought trace lead strategies like v8 would have done that implicitly. 2018-02-22T06:02:15Z fouric: aeth: "everything is a double"? 2018-02-22T06:02:35Z fouric: Zhivago: i suppose i could be wrong, i haven't looked at the v8 source yet 2018-02-22T06:02:41Z Xal left #lisp 2018-02-22T06:02:44Z borei: i have quikc question about macros 2018-02-22T06:02:48Z borei: https://pastebin.com/R1Tc0sgg 2018-02-22T06:03:00Z borei: macros and function that use it 2018-02-22T06:03:06Z borei: it works 2018-02-22T06:03:31Z shrdlu68 joined #lisp 2018-02-22T06:03:35Z Zhivago: I expect it is a very nice question. 2018-02-22T06:03:39Z borei: but im not happy that i use i and j indexes implicitely 2018-02-22T06:04:31Z borei: im not sure about proper lisp solution 2018-02-22T06:04:55Z Zhivago: I acknowledge your unhappiness and indecision. 2018-02-22T06:05:00Z borei: my solution can be complete garbage, don't judge too strickt :-) 2018-02-22T06:05:26Z Zhivago: Let me know if you decide to share your question. 2018-02-22T06:05:46Z fouric: borei: Zhivago is trying to say that you should phrase your question as a proper question 2018-02-22T06:06:30Z borei: let me try :-) 2018-02-22T06:06:42Z fouric: however, to answer that question: i suggest modifying your macro to take symbols that are used to name the variables that you would like the values bound to 2018-02-22T06:06:53Z fouric: sdl2's with-* macros do this 2018-02-22T06:06:57Z fouric: lemme see if i can find one 2018-02-22T06:07:20Z fouric: aha! 2018-02-22T06:07:21Z fouric: https://github.com/lispgames/cl-sdl2/blob/master/src/render.lisp#L89 2018-02-22T06:07:43Z fouric: see that RENDERER-SYM? when the renderer is created, it's assigned to a variable with that symbol as a name 2018-02-22T06:08:15Z nopf quit (Remote host closed the connection) 2018-02-22T06:08:40Z borei: question would be - i don't see that my solution is correct, but it works. Is there proper solution that will not implictly use indexes i and j in my case 2018-02-22T06:09:22Z fouric: perhaps change that (MATRIX &BODY BODY) to be ((MATRIX ROW-SYM COL-SYM) &BODY BODY), then (LOOP FOR ,ROW-SYM FIXNUM FROM ... and (LOOP FOR COL-SYM FROM ... 2018-02-22T06:09:40Z fouric: although Zhivag0 will probably have a better solution 2018-02-22T06:10:02Z stacksmith quit (Ping timeout: 256 seconds) 2018-02-22T06:10:31Z fouric: oh, and this isn't the question that you're asking, but that macro should probably bind MATRIX to a variable (named by a gensym, of course) 2018-02-22T06:10:45Z fikka joined #lisp 2018-02-22T06:10:45Z borei: hmm, but technically that macros doesn't need row-sym col-sym at all 2018-02-22T06:11:06Z z3t0 quit (Remote host closed the connection) 2018-02-22T06:11:17Z st_iron quit (Quit: ZNC - http://znc.in) 2018-02-22T06:11:39Z borei: i was trying to build macros that is doing loop through all matrix elements and apply "something" to elements 2018-02-22T06:11:42Z fouric: howso? don't you want to be able to access the elements of the matrix? 2018-02-22T06:11:47Z dieggsy quit (Ping timeout: 276 seconds) 2018-02-22T06:11:57Z Xal joined #lisp 2018-02-22T06:12:08Z borei: elements are inside macros 2018-02-22T06:12:24Z fouric: hm 2018-02-22T06:12:31Z fouric has to go, but perhaps someone else can help 2018-02-22T06:12:55Z fouric: sorry! 2018-02-22T06:12:58Z borei: np np 2018-02-22T06:13:28Z zooey quit (Remote host closed the connection) 2018-02-22T06:13:40Z fouric: (we should consider putting a link to http://www.catb.org/esr/faqs/smart-questions.html in the topic) 2018-02-22T06:14:22Z aeth: borei: a potential problem is if someone creates a matrix in the macro instead of passing in a matrix variable 2018-02-22T06:15:20Z aeth: i.e. (with-matrix-elements (matrix ...) ...) 2018-02-22T06:15:43Z zooey joined #lisp 2018-02-22T06:16:10Z aindilis quit (Read error: Connection reset by peer) 2018-02-22T06:16:33Z st_iron joined #lisp 2018-02-22T06:18:28Z aindilis` joined #lisp 2018-02-22T06:18:34Z vtomole quit (Ping timeout: 260 seconds) 2018-02-22T06:18:46Z borei: aeth: i got your point 2018-02-22T06:19:35Z cpape quit (Ping timeout: 276 seconds) 2018-02-22T06:19:42Z fikka quit (Ping timeout: 268 seconds) 2018-02-22T06:22:13Z sigjuice: any particular reason why iolib has its own src/grovel/* ? 2018-02-22T06:22:13Z rumbler31 joined #lisp 2018-02-22T06:23:26Z rumbler31 quit (Read error: Connection reset by peer) 2018-02-22T06:29:11Z borei: aeth: you just nailed me - i don't see way how to make that macros safe 2018-02-22T06:31:33Z fourier joined #lisp 2018-02-22T06:32:41Z aeth: I think this works (I'm doing the dangerous thing and writing it on the top of my head without testing it first): (let ((matrix-binding (gensym))) `(let* ((,matrix-binding ,matrix) ...) ...)) 2018-02-22T06:33:26Z aeth: although maybe worrying about the edge case isn't useful because the actual macro is apparently useless if the user does this edge case 2018-02-22T06:34:43Z mfiano: My biggest concern with the code is why the need to reimplement the plethora of mature linear algebra libraries already available for Common Lisp? 2018-02-22T06:35:10Z borei: learning purpose 2018-02-22T06:35:42Z mfiano: You get more value studying how they were written then 2018-02-22T06:36:21Z aeth: mfiano: nearly every library is 80% complete, which seems to encourage wheel reinvention 2018-02-22T06:37:24Z fourier quit (Ping timeout: 260 seconds) 2018-02-22T06:37:38Z mfiano: I am not sure where you get your statistics, but I find it not very factual. 2018-02-22T06:37:48Z borei: well, to learn somebody logic and trying to develop and apply your own - i think it's different 2018-02-22T06:38:14Z aeth: mfiano: The percentage is made up, but my point was: I'm not aware of any big scary libraries that discourage reinvention in CL except maybe cl-ppcre, although I think there's at least one other regex library. 2018-02-22T06:39:19Z aeth: Oh, I guess maybe ASDF, too. 2018-02-22T06:39:22Z mfiano: beach is right. We need to show even some of the CL veterans they are doing it wrong 2018-02-22T06:39:47Z krwq joined #lisp 2018-02-22T06:41:28Z jackdaniel: sounds like an interesting backlog to read :) 2018-02-22T06:42:07Z Oladon quit (Quit: Leaving.) 2018-02-22T06:42:16Z borei: i don't know - i think if you want to walk at least you need to learn how to make steps, just watching how other peoples are walking - doesn't help a lot 2018-02-22T06:42:38Z beach: The code at the UC Davis website made me remember a long-term idea that I have had for some time. The background is that 1. Professors don't want to get early to give a lecture, 2. Students don't want to get up early to go to a lecture. 3. Lectures are very inefficient and that is well known. 4. Most professors are incompetent in Common Lisp anyway. 2018-02-22T06:43:16Z beach: So I would like to put together a site with lots of linked pages, video snippets, talking heads, real-time coding, etc. to replace typical lectures. 2018-02-22T06:43:40Z beach: It should allow for students with various levels of knowledge to follow. 2018-02-22T06:43:57Z dddddd quit (Remote host closed the connection) 2018-02-22T06:44:06Z beach: It must therefore allow for links to background material that the student may not have, but that is required. 2018-02-22T06:44:20Z beach: And it should allow for advanced students to go faster than the others. 2018-02-22T06:44:47Z beach: This way, courses based on Common Lisp can skip the lectures and concentrate on labs. 2018-02-22T06:45:36Z beach: Furthermore, instructors, who are often incompetent in Common Lisp, software engineering, programming and whatnot, can follow the same lectures without embarrassing themselves by sitting in a lecture room. 2018-02-22T06:46:02Z Karl_Dscc joined #lisp 2018-02-22T06:46:44Z smokeink joined #lisp 2018-02-22T06:47:10Z mfiano: I think we need a learning resource that guides a newcomer towards a proper Common Lisp editing environment. Today I had stumbled upon 2 newcomers using CLISP on _Sublime Editor_ with no SLIME, or anything. 2018-02-22T06:47:15Z bjorkint0sh: beach, I thought you were gonna write the book to end all books on the subject of common lisp! 2018-02-22T06:47:19Z bjorkint0sh: you've already got one :-) 2018-02-22T06:47:41Z beach: mfiano: Yes, that would be one "diversion link" on such a site. 2018-02-22T06:48:03Z fikka joined #lisp 2018-02-22T06:48:09Z beach: bjorkint0sh: I have several book projects. I don't think I can squeeze everything into one book. 2018-02-22T06:48:32Z bjorkint0sh: no? ebooks can be as GIANT as one wants them to be!!! 2018-02-22T06:48:52Z beach: 1. Intro programming using Common Lisp. 2. Advanced Common Lisp programming. 3. Object-oriented programming in Common Lisp. 4. Common Lisp for language implementers. 5. Common Lisp language reference. 2018-02-22T06:49:03Z aeth: The Art of Common Lisp Programming 2018-02-22T06:49:07Z beach: Each one would probably be 500 pages or more. 2018-02-22T06:49:13Z mishoo joined #lisp 2018-02-22T06:49:26Z borei: i'd love to have such library 2018-02-22T06:49:27Z bjorkint0sh: Damn. at which point would one finish reading and start programming? 2018-02-22T06:49:50Z beach: bjorkint0sh: I have a problem with electronic books at the moment. 2018-02-22T06:49:59Z bjorkint0sh: perhaps though, an annotated common lisp code which talks about what's going on and points out common themes? 2018-02-22T06:50:16Z mfiano: I spent about an hour trying to get them familiar with a proper environment, and about 45 minutes were used up by their persistence to use a "text editor". I don't know of any good resources that explains why one needs a proper editing environment for modern Common Lisp. 2018-02-22T06:50:20Z beach: bjorkint0sh: Either they are available for free, and I would not get any compensation for my work, or else they are controlled by companies such as Amazon. 2018-02-22T06:50:22Z aeth: bjorkint0sh: Or an IDE with excellent integrated tutorials 2018-02-22T06:50:28Z bjorkint0sh: that way, one's looking at code immediately, not endless drivel about list manipulation and bindings. 2018-02-22T06:50:45Z bjorkint0sh: beach, ah I get it. it's a conundrum indeed. 2018-02-22T06:51:06Z beach: Yeah, I don't know what to do about it. 2018-02-22T06:51:17Z smurfrobot joined #lisp 2018-02-22T06:51:43Z phoe: jupyter notebooks? 2018-02-22T06:52:29Z beach: For the "lecture site" project, I am thinking that each video snippet should be short, perhaps max 10 minutes, as opposed to the length of a typical lecture. 2018-02-22T06:52:48Z beach: That would suit people with an attention span of a gnat, which seems more common these days. 2018-02-22T06:53:13Z fikka quit (Ping timeout: 256 seconds) 2018-02-22T06:53:20Z bjorkint0sh: there's lots and lots and lots of 'talking heads'. endless. what I don't see a lot of, is "this is written code. this is what's wrong with it. this is what's right with it". 2018-02-22T06:53:36Z beach: bjorkint0sh: Yes, that would definitely be needed. 2018-02-22T06:54:17Z beach: Since such a site would not have to fit into any particular format, one could have lots of material like that. Material that would typically not be part of a course. 2018-02-22T06:54:38Z bjorkint0sh: i've got at least 20something books on common lisp alone. the only one which comes close to the code-first approach is land of lisp. 2018-02-22T06:54:46Z beach: Maybe some day I'll sketch out a "table of contents" of such a site. 2018-02-22T06:55:01Z bjorkint0sh: perhaps that's all that's needed! a TOC! 2018-02-22T06:55:26Z beach: Different people learn very differently, so it would be good to support different styles of learning. 2018-02-22T06:56:17Z bjorkint0sh: the book-ey approach is the most popular. 2018-02-22T06:56:31Z bjorkint0sh: you know what's really hard? knowing why one approach is better or worse than another. 2018-02-22T06:56:32Z borei: can somebody drop me some input on my code - https://pastebin.com/R1Tc0sgg. i got some feedback from aeth:, but conversation switched direction 2018-02-22T06:56:32Z shrdlu68: Different authors also phrase things very differently. I find that consulting multiple references when learning something new works best for me. 2018-02-22T06:56:35Z beach: bjorkint0sh: The table of contents would contain desired video snippets and code examples for every "page". Then we could ask the knowledgeable people here on #lisp to record snippets and make up code examples. 2018-02-22T06:56:52Z bjorkint0sh: aha! that sounds fantastic. 2018-02-22T06:58:00Z phoe: borei: the fact you don't allow the user to define vars for I and J seems not okay in this scenario. 2018-02-22T06:58:04Z phoe: I might prefer X and Y. 2018-02-22T06:58:56Z phoe: I also hope you don't expose this macro externally outside your code. OPTIMIZE decisions should be left to the user. 2018-02-22T06:59:09Z phoe: Also, LOOP FOR I FIXNUM is redundant, I is already declared fixnum. 2018-02-22T06:59:35Z shrdlu68: just reminding the compiler 2018-02-22T06:59:47Z mfiano: It's also redundant in that "from 0" is the same as leaving it out. 2018-02-22T07:00:06Z phoe: mfiano: actually this one I often leave in code for readability. 2018-02-22T07:00:22Z phoe: But that's just my habit. 2018-02-22T07:00:35Z borei: macros is only for internal use, i don't see that it's gonna be exposed 2018-02-22T07:00:45Z mfiano: I don't like that you aren't using proper indentation style either 2018-02-22T07:00:49Z fikka joined #lisp 2018-02-22T07:00:54Z mfiano: It makes reading it more work 2018-02-22T07:00:56Z phoe: that too, LET is indented wrong. 2018-02-22T07:00:57Z borei: a bit confused about I and J vs X and Y ?? 2018-02-22T07:01:09Z mfiano: also the loop forms are 2018-02-22T07:01:21Z phoe: borei: you implicitly bind variables I and J inside your macro. 2018-02-22T07:01:22Z borei: copy-paste from emacs 2018-02-22T07:01:31Z aindilis` quit (Remote host closed the connection) 2018-02-22T07:01:31Z mfiano: both "do" levels are inconsistent, and neither is correct 2018-02-22T07:01:38Z phoe: (with-matrix-elements matrix (print x) (print y)) 2018-02-22T07:01:45Z phoe: I can't do that with your code. 2018-02-22T07:02:21Z d4ryus1 is now known as d4ryus 2018-02-22T07:03:20Z damke_ joined #lisp 2018-02-22T07:03:56Z phoe: If anything I'd go for (with-matrix-elements matrix (foo bar) (print foo) (print bar)) 2018-02-22T07:04:06Z phoe: where (FOO BAR) is where I can bind my own variables. 2018-02-22T07:04:46Z mfiano: Consider what would happen if you pass in the symbol ROWS for MATRIX 2018-02-22T07:05:45Z damke quit (Ping timeout: 264 seconds) 2018-02-22T07:07:13Z phoe: oh right, there is no gensym there 2018-02-22T07:07:14Z jackdaniel: beach: regarding publishing: have you considered self-publishing or 'pay what you want' model? leanpub comes to mind as one of platforms making this simple 2018-02-22T07:07:36Z beach: I do use self publishing at the moment. 2018-02-22T07:08:03Z mfiano: phoe: nor once-only 2018-02-22T07:08:14Z phoe: so (with-matrix-elements matrix (setf rows nil)) has undefined consequences 2018-02-22T07:08:27Z borei: yeah 2018-02-22T07:08:36Z beach: jackdaniel: But I am using CreateSpace, which is part of Amazon. That way I get access to their network. But it has disadvantages of course. 2018-02-22T07:08:47Z borei: damn, for me right now it's pandora box 2018-02-22T07:08:58Z mfiano: (make-array 16) would be evaluated twice for example 2018-02-22T07:09:33Z jackdaniel: uhm, maybe I misunderstood the problem then 2018-02-22T07:12:29Z nika_ joined #lisp 2018-02-22T07:13:12Z mfiano: borei: If you are going to be writing macros, you should learn about WITH-GENSYMS and ONCE-ONLY, which are utilities not included in the standard. They are required for a lot of macros, such as this one. 2018-02-22T07:14:08Z Naergon joined #lisp 2018-02-22T07:14:36Z borei: yeah 2018-02-22T07:16:15Z Karl_Dscc quit (Remote host closed the connection) 2018-02-22T07:16:34Z borei: ok, seems like i got what is my problem with that macros. 2018-02-22T07:16:53Z mfiano: There isn't just one problem 2018-02-22T07:17:07Z mfiano: It suffers from double evaluation, and accidental capture 2018-02-22T07:17:15Z mfiano: I would actually recommend reading On Lisp or Let Over Lambda 2018-02-22T07:17:23Z borei: If enduser will use I, J, ROWS nand COLS in the &body - that will cause conflict situation 2018-02-22T07:18:00Z borei: can you please clarify - "double evalution" ? 2018-02-22T07:18:32Z jackdaniel: you've missed a wonderful opportunity for a typo: ROWS and CLOS :-) 2018-02-22T07:19:04Z jackdaniel: borei: double evaluation is when you have symbol a in macro bound to (list 1 2 3), so if you put ,a twice in the body, you will have (list 1 2 3) evaluated twice 2018-02-22T07:19:47Z phoe: and ending up two separate objects, in this case 2018-02-22T07:19:58Z phoe: in other cases, you might have side effects executed twice 2018-02-22T07:20:01Z EvW joined #lisp 2018-02-22T07:20:03Z mfiano: the matrix argument is evaluated twice. If the user passes in a form which allocates an array, it would allocate 2 arrays just to get the subscripts of 1 intentional array 2018-02-22T07:20:30Z mfiano: In this case I don't know if it is problematic, other than needlessly expensive 2018-02-22T07:20:42Z mfiano: I really stoped looking at the code minutes ago 2018-02-22T07:20:51Z jackdaniel: borei: workaround for that is using once-only macro which works like this: 2018-02-22T07:21:03Z jackdaniel: (alexandria:once-only ((a '(1 2 3))) a) ;; -> expands to:: (LET ((#:A527 (1 2 3))) #:A527) 2018-02-22T07:21:41Z jackdaniel: maybe this pictures that better: (alexandria:once-only ((a (list 1 2 3))) (cons a a)) 2018-02-22T07:21:59Z borei: holy !!! 2018-02-22T07:22:29Z mfiano: borei: consider what would happen if the user passed in (make-array '(1000 1000)) or something stupid. Look at the expansion 2018-02-22T07:22:46Z jackdaniel: borei: this may be a good lecture for you: http://www.gigamonkeys.com/book/macros-defining-your-own.html 2018-02-22T07:22:58Z borei: it will exhaust memory in a fraction of second 2018-02-22T07:22:59Z jackdaniel: it talks about various gotchas with macros (once-only and with-gensyms included) 2018-02-22T07:23:38Z mfiano: This guy sums it up pretty nicely http://malisper.me/once-only/ 2018-02-22T07:24:18Z mikecheck left #lisp 2018-02-22T07:24:29Z phoe: borei: maybe not exhaust memory 2018-02-22T07:24:30Z EvW quit (Ping timeout: 252 seconds) 2018-02-22T07:24:44Z phoe: but it'll make the allocator and the GC spin like crazy 2018-02-22T07:24:49Z mfiano: The point is it would allocate a copy of the array AGAIN 2018-02-22T07:24:55Z borei: out of topic question - how many years it takes in average to cover lisp ecosystem to start build more or less ok code ? 2018-02-22T07:24:58Z mfiano: regardless of size, that is wasteful 2018-02-22T07:27:18Z mfiano: borei: Everyone learns at different paces. I am slow, so I will refuse to answer that question out of embrassment. 2018-02-22T07:29:17Z LocaMocha joined #lisp 2018-02-22T07:29:37Z borei: ok, im back to reading - variables, symbols and macroses 2018-02-22T07:29:45Z mfiano: If you haven't read PCL in its entirety yet, I would start there, making sure you do the practical code-writing chapters, too. Macro writing is something that takes a bit of practice and learning from mistakes to really understand the gotchas involved. 2018-02-22T07:30:12Z aeth: borei: it always takes years, the amount of years varies because there are too many variables 2018-02-22T07:30:26Z aeth: although it might be doable in less than a year if you come from a very similar language (a Scheme?) 2018-02-22T07:30:41Z borei: nah, not my case 2018-02-22T07:31:20Z borei: seems like it will be Xen-way for me 2018-02-22T07:31:29Z aeth: It could be shortened with better tools, better documentation, etc. 2018-02-22T07:31:36Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-22T07:31:40Z haruka1 joined #lisp 2018-02-22T07:31:45Z haruka quit (Ping timeout: 248 seconds) 2018-02-22T07:32:11Z aeth: There are lots of things that I suddenly realize I can rewrite years-old things to use. 2018-02-22T07:32:43Z aeth: And once you discover the right abstraction to use, you often find problems with the original. 2018-02-22T07:34:20Z borei: ok, i gonna digest information, 2018-02-22T07:35:05Z borei: thanks a lot for conversation ! 2018-02-22T07:36:05Z aeth: (I suppose that the language could also be mastered in a short time if someone had a full time job in it.) 2018-02-22T07:36:05Z hiroaki joined #lisp 2018-02-22T07:36:17Z mishoo quit (Ping timeout: 276 seconds) 2018-02-22T07:36:36Z sabrac quit (Ping timeout: 252 seconds) 2018-02-22T07:37:29Z sabrac joined #lisp 2018-02-22T07:38:57Z marusich quit (Ping timeout: 240 seconds) 2018-02-22T07:40:22Z Tobbi joined #lisp 2018-02-22T07:40:30Z marusich joined #lisp 2018-02-22T07:40:37Z sjl joined #lisp 2018-02-22T07:42:16Z hiroaki quit (Ping timeout: 256 seconds) 2018-02-22T07:45:05Z sjl quit (Ping timeout: 248 seconds) 2018-02-22T07:45:17Z learning quit (Remote host closed the connection) 2018-02-22T07:47:12Z manualcrank joined #lisp 2018-02-22T07:48:59Z Oddity quit 2018-02-22T07:51:22Z scymtym quit (Ping timeout: 260 seconds) 2018-02-22T07:52:52Z mishoo joined #lisp 2018-02-22T07:54:10Z hiroaki joined #lisp 2018-02-22T07:59:13Z Oddity joined #lisp 2018-02-22T08:00:34Z chens joined #lisp 2018-02-22T08:00:57Z chens is now known as Guest35886 2018-02-22T08:02:29Z fouric: mfiano: i wrote a short guide on getting set up with emacs/slime/quicklisp: 2018-02-22T08:02:31Z fouric: https://fouric.github.io/update/lisp/2017/11/15/getting-started-with-common-lisp-2017-edition.html 2018-02-22T08:03:00Z fouric: it's not nearly as complete as what you were probably thinking of, but it's a start, and it can be mutated 2018-02-22T08:03:41Z damke joined #lisp 2018-02-22T08:04:52Z mfiano: fouric: While nice, it doesn't solve the problem I am constantly faced with, and that's explaining why it's important not to use an _editor_ to write Common Lisp, and also transitioning a newcomer to Emacs (or Spacemacs, or even Vim with slimv, vlime, etc) is a task and a half. 2018-02-22T08:05:01Z fouric: oh, sorry 2018-02-22T08:05:05Z fouric: i misunderstood the problem 2018-02-22T08:06:02Z mfiano: Most people new to Lisp are never even introduced to why it's important. They pick up [insert CL book here] and open their text editor to follow along. 2018-02-22T08:06:40Z vlatkoB joined #lisp 2018-02-22T08:06:40Z shrdlu68: mfiano: Most Lisp books do address that. 2018-02-22T08:06:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-22T08:07:17Z smurfrobot quit (Remote host closed the connection) 2018-02-22T08:07:28Z mfiano: Can you name one that explains how to set up SLIME/Sly, paredit/etc, a modern implementation, and Quicklisp? 2018-02-22T08:07:35Z shrdlu68: mfiano: Oh, seen the backscroll, sorry. 2018-02-22T08:07:38Z mfiano: and bonus points for how to use them 2018-02-22T08:09:17Z spiaggia joined #lisp 2018-02-22T08:09:21Z sigjuice: mfiano portacle should make the "set up" part go away 2018-02-22T08:10:52Z safe quit (Read error: Connection reset by peer) 2018-02-22T08:11:21Z fouric: TIL about portacle 2018-02-22T08:12:47Z sigjuice: fouric linedit is gone from the latest quicklisp, btw 2018-02-22T08:13:09Z mfiano: sigjuice: Yes it helps greatly, but there is no book or lecture that mentions it, and it takes persuading users away from their favorite Sublime Text editor, etc, which is difficult...if I even notice they are using them...again, there are too many people that do not know how to start using a Common Lisp environment when they pick up a Common Lisp book or take a Common Lisp course. 2018-02-22T08:13:13Z fouric: i saw D: 2018-02-22T08:14:05Z fouric hasn't really had the time to update the post 2018-02-22T08:15:56Z nullman quit (Ping timeout: 276 seconds) 2018-02-22T08:16:34Z sigjuice: mfiano agreed 2018-02-22T08:16:35Z fikka quit (Ping timeout: 276 seconds) 2018-02-22T08:17:13Z nullman joined #lisp 2018-02-22T08:17:19Z shrdlu68: mfiano: Perhaps it's because most authors assume the implementation's RELP will be enough, and don't intend to complicate things too early. 2018-02-22T08:17:44Z smurfrobot joined #lisp 2018-02-22T08:17:50Z mfiano: I feel that mistake was repeated too many times 2018-02-22T08:18:11Z mfiano: For any other language I can understand skipping the tooling process 2018-02-22T08:18:12Z shrdlu68: "The Land of Lisp", for example, seems to assume the the CLISP REPL will be enough for learning purposes, at least initially. 2018-02-22T08:19:48Z shrdlu68: I understand that, both from the author's and new learner's perspective. 2018-02-22T08:20:30Z shrdlu68: Of course, once the learner progresses beyond a certain point some effort should be made to creating a suitable environment. 2018-02-22T08:21:28Z welle joined #lisp 2018-02-22T08:21:35Z flamebeard joined #lisp 2018-02-22T08:22:39Z mfiano: I'm not suggestion an in-depth walkthrough of configuring Emacs or setting up Quicklisp. Just a mention that they will not be getting the full language experience by a mile without eventually looking into [list of tools]. 2018-02-22T08:23:11Z mfiano: I see quite a few people decide CL is not right for them, and I wonder if this is part of the reason after my experience helping newcomers. 2018-02-22T08:24:03Z milanj joined #lisp 2018-02-22T08:25:11Z shrdlu68: I doubt it is - most learners would be smart enough to incrementally adapt their environment to their immediate needs. 2018-02-22T08:25:17Z sigjuice: if someone is reading PCL today, shouldn't it be possible to just substitute "Lisp in a Box" with Portacle? 2018-02-22T08:26:44Z panji quit (Ping timeout: 268 seconds) 2018-02-22T08:27:10Z sigjuice: though I'm not sure how much Emacs coverage is in PCL 2018-02-22T08:27:33Z mfiano: Assuming they were aware of it, they weren't so attached to [traditional editor], and actually knew why it's needed for the full experience, I don't see any problem. 2018-02-22T08:28:02Z mfiano: My point is most developers have grown attached to their traditional development editor/IDE which is unsuitable for Common Lisp, but they don't know any better. 2018-02-22T08:29:00Z angavrilov joined #lisp 2018-02-22T08:29:01Z sigjuice: true. I happen to be overly attached to Emacs 2018-02-22T08:29:06Z mfiano: :) 2018-02-22T08:29:12Z fouric: (spaaaaaaaaaaaacemacs) 2018-02-22T08:29:41Z fouric is a fanboy of both lisp but also the vim modal editing interface 2018-02-22T08:31:04Z smurfrobot quit (Remote host closed the connection) 2018-02-22T08:31:11Z mfiano: I've used Vim for CL for about 8 years, switched to Emacs a couple years ago, switched to Spacemacs recently...and now I'm using vim again (in addition to Spacemacs on some devices) 2018-02-22T08:31:15Z marusich quit (Ping timeout: 256 seconds) 2018-02-22T08:32:46Z mfiano: fouric: Considering you are using Spacemacs, I have a favor to ask 2018-02-22T08:32:59Z fouric: If I have time I'll do whatever 2018-02-22T08:33:15Z Cymew joined #lisp 2018-02-22T08:33:23Z marusich joined #lisp 2018-02-22T08:33:39Z krwq quit (Remote host closed the connection) 2018-02-22T08:33:40Z mfiano: fouric: I released this yesterday out of demand. A couple other people found it useful. If you want to try it out and report back, I'd appreciate it :) https://github.com/mfiano/common-lisp-sly 2018-02-22T08:33:54Z fouric: oooh, I've had my eye on Sly for a while now 2018-02-22T08:34:47Z fouric: I'll gladly hack with it for a few hours tomorrow and report back 2018-02-22T08:34:51Z fouric: Thanks for assembling this! 2018-02-22T08:35:05Z mfiano: Sure thing 2018-02-22T08:35:43Z fouric: wait, what's `evil-cleverparens` 2018-02-22T08:35:57Z fouric: ...is this a paredit-equivalent that knows about evil? 2018-02-22T08:36:01Z mfiano: It allows "structually-safe editing" 2018-02-22T08:36:04Z mfiano: No 2018-02-22T08:36:07Z fouric: oh 2018-02-22T08:36:31Z mfiano: You still use Spacemacs' builtin smartparens 2018-02-22T08:36:53Z mfiano: This allows for example, deleting a line of a form while keeping parens balanced, etc 2018-02-22T08:37:03Z mfiano: dd will not cause stray parens etc 2018-02-22T08:37:04Z sigjuice: mfiano I too switched from vim to emacs from vim nearly 10 years ago. I tried evil, vimpulse etc. in the beginning but grew out of it eventually. I still end up typing j's and k's into my text once in a while. 2018-02-22T08:37:11Z smurfrobot joined #lisp 2018-02-22T08:37:24Z welle quit (Ping timeout: 260 seconds) 2018-02-22T08:37:48Z mfiano: Ha 2018-02-22T08:38:20Z fouric: mfiano: i've been looking for that for years 2018-02-22T08:38:44Z fouric: i got started with paredit and evil-mode, and neither of them is aware of the other 2018-02-22T08:38:58Z mfiano: fouric: It's actually builtin to Spacemacs 0.300 (technically not released yet, so you should be on the develop branch for this layer to work) 2018-02-22T08:39:04Z fouric: oh, got it 2018-02-22T08:39:28Z mfiano: Well builtin, but not enabled by default. You have to follow the README instructions for this layer to set it properly 2018-02-22T08:39:41Z mfiano: under "Structurally Safe Editing" 2018-02-22T08:40:57Z fouric is definitely pressing that button 2018-02-22T08:42:06Z mfiano: I would encourage you to read the Sly documentation if you are curious about the few features it adds, such as my favorite, "stickers". 2018-02-22T08:42:28Z mfiano: Basically you can attach a 'sticker' to any symbol, form, etc 2018-02-22T08:42:40Z mfiano: and they show up in grey. you can add also add a sticker to a form/symbol within a sticker, and it'll show up as a darker shader of grey... 2018-02-22T08:42:50Z mfiano: then you C-c C-c the defun or wherever they are defined to "arm" them, and they turn to shades of blue. 2018-02-22T08:42:59Z mfiano: then you run your code, and each sticker captures every value that the stickers have seen, and you can cycle through the replay 2018-02-22T08:43:09Z mfiano: inspecting their values or historical values etc 2018-02-22T08:43:09Z fikka joined #lisp 2018-02-22T08:43:17Z mfiano: basically print debugging, but non-intrusively, and able to inspect even past values 2018-02-22T08:43:26Z mfiano: h and they turn from blue to green when they have captured something during execution 2018-02-22T08:44:00Z fouric: that is *super* cool 2018-02-22T08:44:08Z mfiano: It's an improvement on print/format debugging 2018-02-22T08:45:02Z smurfrobot quit (Ping timeout: 260 seconds) 2018-02-22T08:47:41Z smokeink quit (Ping timeout: 256 seconds) 2018-02-22T08:47:53Z mfiano: There is one thing you may miss from SLIME if you use Sly though...it doesn't have a contrib for SBCL's statistical profiler 2018-02-22T08:48:18Z mfiano: Other than that I haven't looked back for a couple years :) 2018-02-22T08:48:19Z fikka quit (Ping timeout: 268 seconds) 2018-02-22T08:48:29Z fouric: hm, i don't know what a contrib is 2018-02-22T08:48:34Z fouric: i'm guessing it's a slime extension 2018-02-22T08:48:40Z fouric: ...but that tells you how much i actually grok slime 2018-02-22T08:48:41Z mfiano: Right 2018-02-22T08:48:53Z fikka joined #lisp 2018-02-22T08:49:00Z fouric has used SBCL's statistical profiler before but without said contrib 2018-02-22T08:49:05Z EvW1 joined #lisp 2018-02-22T08:49:40Z mfiano: Same, I actually haven't used SLIME outside of vim's client atop the CL swank server 2018-02-22T08:50:47Z fouric: ...oh, that's right, there's a vim client for SLIME 2018-02-22T08:50:48Z fouric: erm 2018-02-22T08:50:50Z fouric: swank? 2018-02-22T08:50:58Z smurfrobot joined #lisp 2018-02-22T08:51:34Z mfiano: SLIME is a client and server. 2018-02-22T08:52:00Z mfiano: in vim, you'd use the CL server part with one of the few vim client implementations rather than elisp 2018-02-22T08:53:48Z LocaMocha is now known as Sauvin 2018-02-22T08:54:33Z smurfrobot quit (Remote host closed the connection) 2018-02-22T08:54:48Z smurfrobot joined #lisp 2018-02-22T08:55:10Z scymtym joined #lisp 2018-02-22T08:55:20Z sigjuice: there are also SLIME clients written in Common Lisp 2018-02-22T08:56:48Z jackdaniel: sigjuice: you mean swank clients 2018-02-22T08:56:56Z p_l: "Symbolics" appears to have a sale 2018-02-22T08:57:01Z p_l: three LispMs on ebay 2018-02-22T08:57:07Z jackdaniel: slime is a swank client meant for emacs 2018-02-22T08:57:27Z fouric: got it 2018-02-22T08:57:29Z fouric: ty 2018-02-22T08:57:39Z nowhereman joined #lisp 2018-02-22T08:58:03Z nowhereman is now known as Guest37349 2018-02-22T08:59:11Z sigjuice: jackdaniel touché 2018-02-22T08:59:20Z panji joined #lisp 2018-02-22T09:01:26Z nowhere_man quit (Ping timeout: 276 seconds) 2018-02-22T09:01:31Z varjag joined #lisp 2018-02-22T09:01:33Z mfiano: jackdaniel: Thanks 2018-02-22T09:04:45Z spiaggia: jackdaniel: When McCLIM says that it couldn't use fontconfig to configure fonts and that I have to do it manually, does that mean that I have to install a program (named fontconfig)? 2018-02-22T09:05:06Z spiaggia is really beach on a train from Bordeaux to Paris. 2018-02-22T09:05:41Z jackdaniel: spiaggia: you can also provide path yourself 2018-02-22T09:05:59Z jackdaniel: or you may push mcclim-ugly to features (don't remember exact name) to use native Xorg fonts 2018-02-22T09:06:02Z spiaggia: I can imagine. But I don't know how. 2018-02-22T09:06:28Z spiaggia: I am willing to try something other than the ugly fonts first. 2018-02-22T09:07:28Z jackdaniel: spiaggia: check out Extensions/fonts/fontconfig.lisp 2018-02-22T09:07:42Z jackdaniel: you have suspicious paths listed in *truetype-font-path* 2018-02-22T09:07:56Z spiaggia: Will do, thanks. 2018-02-22T09:07:58Z jackdaniel: maybe you don't have dejavu-fonts installed on your system 2018-02-22T09:08:28Z Cymew: p_l: Probably the last ones in a long while, is what I've heard. 2018-02-22T09:08:48Z spiaggia: I don't have the fontconfig program installed for one thing. Installing now. 2018-02-22T09:09:10Z p_l: I'm assuming DKS is slowly cleaning the warehouse as means of supporting retirement 2018-02-22T09:09:43Z jackdaniel: sigjuice: also afair swank client written in common lisp had a name "swine" 2018-02-22T09:10:19Z jackdaniel: and was part of climacs project (don't know what's its status now): https://www.common-lisp.net/project/climacs/images/screenshots/old/swine-ss.png 2018-02-22T09:10:31Z phoe: hahahah, swine 2018-02-22T09:11:10Z phoe: https://github.com/brown/swank-client 2018-02-22T09:11:11Z phoe: https://github.com/eudoxia0/swank-protocol 2018-02-22T09:11:46Z sigjuice: also just discovered this one # 2018-02-22T09:12:12Z phoe: oh 2018-02-22T09:12:32Z makomo joined #lisp 2018-02-22T09:12:33Z jackdaniel: from other interesting bits of information, if you read into swank sources there are hints, that implementing more rich presentations was planned (i.e sending images etc) 2018-02-22T09:12:45Z jackdaniel: but it is not implemented whatsoever, just comments 2018-02-22T09:13:58Z spiaggia: jackdaniel: Installing the fontconfig program solved the problem. 2018-02-22T09:14:05Z jackdaniel: \o/ 2018-02-22T09:14:45Z smasta quit (Ping timeout: 264 seconds) 2018-02-22T09:14:48Z spiaggia: This train claims to run at 318 KM/H. Is that Kelvin Mega per Henry? 2018-02-22T09:15:06Z jackdaniel: maybe we should bundle basic foss ttf set? 2018-02-22T09:15:10Z phoe: spiaggia: that is #lispcafe material 2018-02-22T09:15:15Z spiaggia: Sorry. 2018-02-22T09:15:17Z phoe: jackdaniel: I think it would be sane 2018-02-22T09:15:18Z jackdaniel: just in case system fonts can't be found (i.e are not installed) 2018-02-22T09:15:20Z phoe: spiaggia: no problem (: 2018-02-22T09:15:47Z spiaggia: The McCLIM question was on topic though. 2018-02-22T09:15:54Z phoe: yes 2018-02-22T09:16:11Z spiaggia: jackdaniel: That's an idea. 2018-02-22T09:19:20Z hhdave joined #lisp 2018-02-22T09:20:11Z bjorkint0sh quit (Remote host closed the connection) 2018-02-22T09:20:32Z bjorkint0sh joined #lisp 2018-02-22T09:21:12Z sigjuice: jackdaniel were you referring to this? https://github.com/slime/slime/blob/master/contrib/slime-media.el 2018-02-22T09:22:27Z gonewest818 joined #lisp 2018-02-22T09:23:19Z jackdaniel: sigjuice: close. I was referring to the comment in this empty file: contrib/swank-media.lisp 2018-02-22T09:25:56Z Patternmaster quit (Ping timeout: 268 seconds) 2018-02-22T09:27:45Z sigjuice: I don't recall the details, but I remember doing something that produced images in my *slime-repl sbcl* buffer. 2018-02-22T09:28:44Z oldtopman quit (Ping timeout: 276 seconds) 2018-02-22T09:29:49Z mlf quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-22T09:30:29Z oldtopman joined #lisp 2018-02-22T09:31:13Z terpri quit (Ping timeout: 248 seconds) 2018-02-22T09:33:35Z pjb: To Paris, shouldn't that be plage; and to Roma spiaggia? 2018-02-22T09:36:43Z _cosmonaut_ joined #lisp 2018-02-22T09:38:49Z attila_lendvai joined #lisp 2018-02-22T09:38:49Z attila_lendvai quit (Changing host) 2018-02-22T09:38:50Z attila_lendvai joined #lisp 2018-02-22T09:44:09Z spiaggia: Damn! I knew I got it wrong. 2018-02-22T09:47:01Z EvW1 quit (Quit: EvW1) 2018-02-22T09:52:11Z gonewest818 quit (Remote host closed the connection) 2018-02-22T09:57:27Z smasta joined #lisp 2018-02-22T09:59:36Z _whitelogger quit (Ping timeout: 252 seconds) 2018-02-22T10:00:20Z spiaggia left #lisp 2018-02-22T10:02:02Z smasta quit (Ping timeout: 260 seconds) 2018-02-22T10:02:16Z rippa joined #lisp 2018-02-22T10:02:22Z _whitelogger joined #lisp 2018-02-22T10:02:29Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-22T10:04:10Z damke_ joined #lisp 2018-02-22T10:06:38Z smurfrobot quit (Remote host closed the connection) 2018-02-22T10:06:57Z damke quit (Ping timeout: 264 seconds) 2018-02-22T10:07:19Z nirved joined #lisp 2018-02-22T10:07:34Z thodg joined #lisp 2018-02-22T10:08:17Z Guest35886 quit (Remote host closed the connection) 2018-02-22T10:08:56Z thodg: linear programming do not solve genetics 2018-02-22T10:09:00Z thodg: does* 2018-02-22T10:09:17Z thodg: we're fractal 2018-02-22T10:09:57Z flip214: Is there anything that can circumvent the cleanup clause of an UNWIND-PROTECT? 2018-02-22T10:10:19Z phoe: flip214: no 2018-02-22T10:10:30Z Shinmera: Sure, lots of things. Power going off, the process dying or being halted by a debugger 2018-02-22T10:10:42Z bjorkint0sh quit (Remote host closed the connection) 2018-02-22T10:10:43Z phoe: ...well, these are drastic measures 2018-02-22T10:11:08Z thodg: flip214: that is external to common lisp program 2018-02-22T10:11:11Z flip214: phoe: so, getting back to my question of yesterday evening, how come the UNWIND-PROTECT in hunchentoots PROCESS-CONNECTION doesn't close the socket? 2018-02-22T10:11:31Z thodg: flip214: this is probably UNIX lingering 2018-02-22T10:11:36Z jdz: flip214: Are you sure it does not? 2018-02-22T10:11:38Z flip214: Shinmera: in the first two cases the socket wouldn't still be active ON THIS MACHINE 2018-02-22T10:11:46Z thodg: the socket remains in system to catch late packets 2018-02-22T10:11:49Z flip214: and the third one would be done by me 2018-02-22T10:12:03Z flip214: thodg: tcp 512 0 127.0.0.1:8123 127.0.0.1:42926 VERBUNDEN 28714/sbcl 2018-02-22T10:12:06Z Shinmera: Who knows, maybe it's the NSA :tinfoil: 2018-02-22T10:12:11Z flip214: thodg: the second-to-last means CONNECTED 2018-02-22T10:12:22Z thodg: flip214: that's not it then 2018-02-22T10:12:24Z flip214: Shinmera: I don't believe that they're bugging me on that level 2018-02-22T10:12:33Z phoe: flip214: are you sure it is executed? can you print something inside that unwind-protect to make sure control flow reaches it, just to be absolutely sure? 2018-02-22T10:12:56Z phoe: because if the control flow reaches the cleanup forms then the problem is elsewhere and most likely deeper 2018-02-22T10:12:57Z jdz: Add a call to BREAK even! 2018-02-22T10:13:00Z flip214: https://pastebin.com/5nmbABZf in case anyone's interested. 2018-02-22T10:13:02Z phoe: break, sure thing 2018-02-22T10:13:02Z jackdaniel: flip214: most obvious reason: destroy-thread 2018-02-22T10:13:16Z jackdaniel: second most obvious reason: a thread without handler-case being its first form 2018-02-22T10:13:38Z smurfrobot joined #lisp 2018-02-22T10:15:43Z jdz: flip214: Did you close the browser window? 2018-02-22T10:16:05Z jdz: Maybe it's the keepalive mechanism that keeps the sockets open. 2018-02-22T10:16:12Z jdz: Just a wild guess. 2018-02-22T10:16:58Z flip214: jdz: no. the QUUX acceptor stops working (as the child thread returns an unexpected error instead of :handler-done), 2018-02-22T10:17:05Z flip214: and so everything breaks down. 2018-02-22T10:17:14Z thodg: jdz: nope it would be in WAITING state 2018-02-22T10:17:41Z flip214: But I'd like to understand what causes the unwind-protect to be skipped... jackdaniel's terminate-thread might be the reason, but I don't know lparallel good enough yet. 2018-02-22T10:18:02Z thodg: jdz: keep-alive through unwind-protect ? 2018-02-22T10:18:22Z jdz: thodg: by definiton. 2018-02-22T10:18:38Z thodg: flip214: did you try to macroexpand it ? 2018-02-22T10:18:55Z jdz: HTTP keeplalive, allows multiple requests to be served on the same connection. 2018-02-22T10:19:11Z jdz: Can't do that if connection is closed after each request. 2018-02-22T10:19:33Z thodg: jdz: yes but if he calls close in an unwind protect and be sure about it how would the socket remain open ? 2018-02-22T10:19:37Z thodg: connected even 2018-02-22T10:19:54Z thodg: that would not be common lisp to me 2018-02-22T10:20:11Z jdz: I don't have the code, and it would be wrong to close the socket oneself because that's Hunchentoot's job. 2018-02-22T10:20:14Z flip214: thodg: which part? QUUX, HT, LPARALLEL, ...? 2018-02-22T10:20:37Z flip214: jdz: that's the problem, HT doesn't close it 2018-02-22T10:20:56Z jdz: flip214: Maybe because it's not supposed to? That's my suggestion. 2018-02-22T10:21:37Z flip214: jdz: the thread dies, the connection is lost in GC. why shouldn't it be closed? 2018-02-22T10:21:41Z thodg: well if there is no data on the socket maybe the system will close it eventually 2018-02-22T10:21:57Z thodg: send pacman he knows these things 2018-02-22T10:21:57Z jdz: flip214: how do you know the connection is lost? 2018-02-22T10:22:04Z phoe: flip214: "thread dies" 2018-02-22T10:22:19Z phoe: connections are not closed when they are lost. 2018-02-22T10:22:20Z thodg: you just never made connection again, but its not new 2018-02-22T10:22:34Z thodg: right ? 2018-02-22T10:22:38Z phoe: when you open a socket and then lose reference to it, it'll leak. 2018-02-22T10:22:48Z thodg: i mean is it not a new socket ? 2018-02-22T10:22:52Z phoe: a thread dying is not enough for Lisp to infer that it should close that socket. 2018-02-22T10:23:03Z attila_lendvai joined #lisp 2018-02-22T10:23:06Z thodg: that you went to create 2018-02-22T10:23:13Z jdz: Also ending up in a debugger does not mean the thread dies. 2018-02-22T10:23:17Z phoe: if anything, you could try to wrap a finalizer around it, calling close on the associated socket-stream. 2018-02-22T10:23:19Z pjb: Unless you put a thread at exit function and close it explicitel from there. 2018-02-22T10:23:32Z pjb: But bordeaux-thread doesn't provide this API AFAIR. 2018-02-22T10:23:41Z phoe: just to make sure that when the GC runs to clean up the usocket, its associated stream is closed. 2018-02-22T10:23:46Z phoe: pjb: TRIVIAL-GARBAGE provides finalizers. 2018-02-22T10:24:00Z phoe: oh wait, at-exit functions. 2018-02-22T10:24:00Z pjb: thread exiting is a differnt situation. 2018-02-22T10:24:03Z phoe: BT doesn't have it. 2018-02-22T10:24:05Z flip214: according to TRACE, BORDEAUX-THREADS::DESTROY-THREAD isn't called. 2018-02-22T10:24:07Z jdz: The whole point of "thread pooling" is to have a pool of threads and reuse them instead of creating and destroying a thread for each connection. 2018-02-22T10:24:11Z jdz: Or request even. 2018-02-22T10:24:38Z thodg: jdz: well if the thread is not dead it might also close its socket on unwind-protect its true 2018-02-22T10:25:08Z thodg: but that might not be the thread's job 2018-02-22T10:25:13Z phoe: But if the thread is alive and its unwind-protect forms are *not* called, then it means the thread is still inside unwind-protect. 2018-02-22T10:25:16Z pjb: it's pthread_cleanup_push(3) 2018-02-22T10:25:18Z flip214: thodg: jdz: the thread is dead (killed by :transfer-error) 2018-02-22T10:25:20Z jackdaniel: thodg: each lambda send should have body wrapped in handler-case 2018-02-22T10:25:24Z markong joined #lisp 2018-02-22T10:25:34Z jackdaniel: (even with no actual handlers) 2018-02-22T10:25:39Z phoe: flip214: so it was killed but not by BT:DESTROY-THREAD? 2018-02-22T10:25:53Z jackdaniel: because even if it is not killed by destroy-thread 2018-02-22T10:26:04Z jackdaniel: you have no guarantee that thread is protected 2018-02-22T10:26:13Z jdz: flip214: I'd just suggest to look at the implementation of thread-pooling-taskmaster. 2018-02-22T10:26:22Z jackdaniel: so having error in such thread, if there is no top-level handler-case is equivalent to crash (or destroy-thread) 2018-02-22T10:26:25Z pjb: But more seriously, the right CL way to do it, is: (bt:create-thread (lambda () (UNWIND-PROTECT (your-thread-code) (DO-YOUR-CLEANUP-HERE!)))) 2018-02-22T10:26:34Z milanj quit (Quit: This computer has gone to sleep) 2018-02-22T10:26:35Z flip214: phoe: either that, or there's a bug that inhibits UNWIND-PROTECT doing the cleanup. 2018-02-22T10:26:42Z flip214: jdz: that's what I'm doing for a week. 2018-02-22T10:27:04Z ludston quit (Read error: Connection reset by peer) 2018-02-22T10:27:10Z jackdaniel: pjb: that's not enough, it should be (bt:make-thread (lambda () (handler-case (…))) 2018-02-22T10:27:11Z jdz: flip214: also remember you have hunchentoot:*catch-errors-p* set to nil. 2018-02-22T10:27:17Z flip214: pjb: that's what HT does in the PROCESS-CONNECTION method 2018-02-22T10:27:28Z ludston joined #lisp 2018-02-22T10:27:31Z flip214: jdz: nonetheless the UNWIND-PROTECT should trigger. 2018-02-22T10:27:48Z thodg: pjb: you're probably right 2018-02-22T10:27:50Z pjb: The implementation should have a handler-error around calling the thread lambda. 2018-02-22T10:28:00Z jdz: flip214: How exactly do you conclude that it is not triggered? 2018-02-22T10:28:08Z thodg: i'm stuck 2018-02-22T10:28:33Z jackdaniel: pjb: that's not guaranteed and in fact it doesn't happen on sbcl if you have --disable-debugger option and run standalone binary 2018-02-22T10:28:39Z thodg: are there any good Lisp canons ? 2018-02-22T10:28:50Z jackdaniel: we actually had a hard to find bug related to exactly that 2018-02-22T10:28:59Z pjb: jackdaniel: then right it's always better to do your own handler-case. 2018-02-22T10:29:07Z jibanes quit (Ping timeout: 256 seconds) 2018-02-22T10:29:16Z pjb: Since the default handling is probably not what you want for your application anyways. 2018-02-22T10:29:21Z jackdaniel: flip214: let me repeat: wrap your body in handler-case to be sure, that unwind-protect cleanup is executed in case of errors 2018-02-22T10:29:36Z jackdaniel: (body of the thread lambda of course) 2018-02-22T10:29:51Z thodg: i hate time 2018-02-22T10:29:57Z jdz: UNWIND-PROTECT cleanup should always be executed, regardless of the presence of condition handling. 2018-02-22T10:30:00Z flip214: okay, news at 11: the U-P is run. 2018-02-22T10:30:10Z jdz: If the control-flow passes it, that is. 2018-02-22T10:30:17Z schweers: jackdaniel: unwind-protect needs a handler-case around it? 2018-02-22T10:30:19Z phoe: it is run. so the socket should be closed. 2018-02-22T10:30:25Z jackdaniel: jdz: that's why we have ups, so unwind-protect will be always executed even on power loss 2018-02-22T10:30:51Z jdz: There are quite a few issues being conflated here... 2018-02-22T10:31:00Z jackdaniel: schweers: normally no, but if you have debugger disabled, then yes - otherwise such error may basically crash the thread (just as if you had called destroy-thread) 2018-02-22T10:31:31Z jackdaniel: jdz: it is in ext package: (ext:ups :on) 2018-02-22T10:31:36Z jackdaniel: :-0 2018-02-22T10:31:49Z schweers: Oh. What if I only have one thread? Can this still happen? Does the standard say anything about this case? 2018-02-22T10:31:56Z jdz: jackdaniel: I thought it's in the I-WANT-A-PONY package... 2018-02-22T10:32:19Z jdz: schweers: the spec only assumes one thread. 2018-02-22T10:32:35Z schweers: I know, but is is wrapped with a handler-case? 2018-02-22T10:32:48Z jackdaniel: schweers: if your application doesn't have a debugger, then I guess it still can happen, yes. but I haven't checked it myself 2018-02-22T10:32:52Z phoe: schweers: the spec says nothing about threads. 2018-02-22T10:32:54Z flip214: that's interesting... 2018-02-22T10:33:18Z flip214: Into HT:PROCESS-CONNECTION's cleanup clause I put a PROGN with a FORMAT. 2018-02-22T10:33:22Z flip214: then it works as expected. 2018-02-22T10:33:29Z schweers: huh, interesting. So much to learn 2018-02-22T10:33:42Z flip214: when I "disable" the FORMAT via #+(or), the wrong behaviour is back - the socket stays open. 2018-02-22T10:33:44Z m00natic joined #lisp 2018-02-22T10:33:50Z phoe: flip214: are you sure that PROCESS-CONNECTION is not redefined anywhere else in the code? 2018-02-22T10:34:05Z flip214: phoe: 99%, yes. 2018-02-22T10:34:09Z phoe: I had a similar issue before, and found that I defined a method in two places. The latter redefined the former. 2018-02-22T10:34:11Z jdz: 99%? 2018-02-22T10:34:12Z flip214: and I just sent it to swank manually. 2018-02-22T10:34:22Z phoe: ... 2018-02-22T10:34:32Z phoe: when you disable the format, the socket stays open 2018-02-22T10:34:38Z flip214: jdz: can you ever by 100% sure? bit flip on the way to the inferior lisp, and you're defining a different method... 2018-02-22T10:34:42Z phoe: are you able to verify this on multiple implementations? 2018-02-22T10:34:46Z jdz: flip214: Are you sure you're disabling just the FORMAT call? 2018-02-22T10:34:53Z flip214: jdz: 100% 2018-02-22T10:34:55Z flip214: ;) 2018-02-22T10:35:32Z jdz: I've had quite a few non-productive discussions with people who are sure about something without checking their assumptions. 2018-02-22T10:36:03Z flip214: jdz: yeah, I fully understand. I make mistakes all the time. 2018-02-22T10:36:07Z flip214: (but at a high level! ;) 2018-02-22T10:36:57Z shka joined #lisp 2018-02-22T10:37:02Z shka: hello 2018-02-22T10:37:10Z pjb: I/O has violent consequences on threading. 2018-02-22T10:37:33Z shka: i need zip library that uses gray streams 2018-02-22T10:38:03Z phoe: pjb: but a single FORMAT call should not be the difference on whether U-P cleanup forms are executed or not 2018-02-22T10:38:32Z jdz: flip214: You don't have to put any cleanup forms in a PROGN in UNWIND-PROTECT. 2018-02-22T10:38:37Z phoe: shka: https://common-lisp.net/project/zip/ 2018-02-22T10:38:51Z phoe: "...trivial-gray-streams for gray streams portability..." 2018-02-22T10:38:57Z jdz: flip214: So could it be that you have a brainfart in your protected-form? 2018-02-22T10:39:00Z thodg: it's real, more than no thread 2018-02-22T10:39:11Z shka: phoe: it uses some zip-writer 2018-02-22T10:39:20Z shka: and i can write-byte into that :/ 2018-02-22T10:39:44Z shka: AKA it does not uses gray streams as API 2018-02-22T10:39:59Z flip214: how would I disassemble a method? the GF isn't interesting, and trying the method says 2018-02-22T10:40:00Z pjb: The questions is whether kill-thread (or pthread_kill) will allow unwind-protect to run? 2018-02-22T10:40:17Z phoe: pjb: I think not. 2018-02-22T10:40:20Z pjb: calling format may allow another thread to get the CPU and to call pthread_kill. 2018-02-22T10:40:37Z flip214: "The value # is not of type (or function symbol cons)" 2018-02-22T10:40:49Z pjb: yes, methods are not functions. 2018-02-22T10:40:52Z phoe: flip214: mop:method-function 2018-02-22T10:41:13Z phoe: (disassemble (method-function method)) 2018-02-22T10:42:27Z jdz: flip214: You should show us the code that works as expected (with the FORMAT call), and the code that fails. 2018-02-22T10:42:42Z jibanes joined #lisp 2018-02-22T10:45:15Z thodg: its always easier to disassemble a function than a class 2018-02-22T10:45:49Z Patternmaster joined #lisp 2018-02-22T10:45:51Z thodg: how do they even coexist 2018-02-22T10:46:06Z thodg: all this code seems so long 2018-02-22T10:46:19Z thodg: i don't have so many fingers 2018-02-22T10:49:54Z zmt01 joined #lisp 2018-02-22T10:50:04Z flip214: jdz: perhaps I'm completely wrong?! the reproduce pasted above is for sure, please make your own (correct) conclusions. 2018-02-22T10:50:14Z oldtopman quit (Ping timeout: 255 seconds) 2018-02-22T10:53:09Z zmt00 quit (Ping timeout: 264 seconds) 2018-02-22T10:53:27Z jdz: flip214: Am I missing something or there is no UNWIND-PROTECT in the paste you linked? 2018-02-22T10:53:27Z thodg: jdz: isn't your expectation formalized the code itself ? 2018-02-22T10:53:28Z thodg: all in all the code is the code 2018-02-22T11:02:03Z ccl-logbot joined #lisp 2018-02-22T11:02:03Z 2018-02-22T11:02:03Z names: ccl-logbot cyberlard drot damke_ mulk nowolfer_ aijony flip214_ khisanth_ shaftoe_ cess11_ koenig1 chocolait_ gorgor_ oldtopman aeth zmt01 Patternmaster jibanes shka m00natic ludston markong attila_lendvai smurfrobot thodg nirved _whitelogger rippa _cosmonaut_ hhdave makomo varjag panji Guest37349 scymtym fikka marusich Cymew angavrilov flamebeard nullman vlatkoB Oddity hiroaki mishoo manualcrank Tobbi sabrac haruka1 Sauvin Naergon nika_ st_iron zooey Xal 2018-02-22T11:02:03Z names: shrdlu68 borei CrazyEddy presiden raskolnikov eschatologist zacts schoppenhauer Kaisyu willmichael deng_cn z0d mrottenkolber ioa_ galdor1 AntiSpamMeta ramus zaquest pfdietz lonjil ebzzry_ d4ryus fouric thallia rumbler3_ djuber quazimodo kamog foom epony dilated_dinosaur earl-ducaine cromachina rk[ghost] razzy butterthebuddha drewc vibs29 raynold Denommus Colleen tankrim thinkpad bigfondue Lord_of_Life drdo pjb TMA vhost- tokik schweers dmiles sbryant vutral 2018-02-22T11:02:03Z names: Xof mathrick voidlily_ kark otwieracz antoszka mrSpec vap1 pmden kajo crsc MetaYan dotc Tristam cods malm dcluna pchrist kotrcka Murii mingus jack_rabbit DGASAU copec SAL9000 jonh SamSkulls heurist` Guest16495 Mandus mood trn fittestbits xantoz cmatei groovy2shoes nydel clog Xach hvxgr lemoinem emacsomancer froggey smcnamara ninegrid tkd Cthulhux le4fy pillton loli sellout funnel Princess17b29a Lord_Nightmare tessier_ eschulte_ djh_ jsnell_ specbot bitch 2018-02-22T11:02:03Z names: gabiruh minion side_track White_Flame mason gko giraffe itruslove stnutt arbv Poeticode joast deba5e12 vyzo djinni` saturn2 beach oleo jdz k-hos kumori[m] Mon_Ouie kini chat__ dyelar christoph_debian Duns_Scrotus fortitude elts libreman phadthai tokenrove arrsim ym guna GuilOooo peterhil Fade johs stylewarning parseval convexferret benny dmh p_l ggherdov thijso rgrau tripty dTal weltung jerme_ tfb dan64- banjiewen zkat kilimanjaro l1x asedeno devlaf angelo 2018-02-22T11:02:03Z names: angular_mike_ drmeister jyc CEnnis91 __main__ easye troydm justinmcp eatonphil les vsync mfiano katco[m] hiq[m] cryptomarauder plll[m] ArthurAGleckler[ RichardPaulBck[m hdurer[m] mhitchman[m] equalunique[m] kfdenden[m] Jach[m] CharlieBrown dirb kammd[m] gingerale Aritheanie borodust wladz_ reu joga em Walex Firedancer Patzy ben3 Posterdati sword jackdaniel sthalik sshirokov mikaelj sigjuice bailon splittist zotan terrorjack rann tobel gendl rme gbyers fluxit 2018-02-22T11:02:03Z names: XachX jeremyheiler billstclair mbrock danlentz alms_clozure gz_ mjl _death sukaeto ozzloy antismap HDurer dxtr dim adulteratedjedi Meow-J_ tazjin rvirding trig-ger d4gg4d_ ft brucem Intensity dvdmuckle samebchase azrazalea cpt_nemo phoe gabot uint nhandler AeroNotix azahi larsen GGMethos leo_song_ abbe MightyJoe @fe[nl]ix stux|RC-- kuneco guaqua theBlackDragon raydeejay bkst SlashLife kjeldahl larme brandonz isoraqathedh hjudt_ sveit_ michalisko alphor 2018-02-22T11:02:03Z names: norserob ghostyy ikopico malcom2073 ``Erik omilu abeaumont jurov ski esthlos PyroLagus shenghi argoneus svillemot jasom ericmath1son snits_ f32ff whyNOP swflint caffe rotty sbat mepian cross ssake pok Zhivago alandipert himmAllRight17 luis davsebamse whartung Blkt micro kushal stux|RC rjeli_ jself GreaseMonkey koisoke zymurgy ecraven ja-barr kbtr eMBee loke beaky salva dlowe |3b| runejuhl philosaur grumble vert2 Tordek Nikotiini askatasuna Rovanion paratox 2018-02-22T11:02:03Z names: pankracy ircbrowse felideon tomaw lxpz creat lugh eagleflo fiddlerwoaroof mtd krator44 nimiux cibs spacepluk Elite-Epochs arrdem aoh peccu3 catern pacon whaack Shinmera Ziemas lieven renard_ 2018-02-22T11:02:05Z _death: C-x b stream-of-consciousness RET 2018-02-22T11:02:05Z dmiles quit (Ping timeout: 240 seconds) 2018-02-22T11:02:27Z Xal quit (Ping timeout: 240 seconds) 2018-02-22T11:03:42Z thodg: jdz: its not because its written #lisp that you have to take us as compilers 2018-02-22T11:04:28Z thodg: but enjoy your irc silence power if you please 2018-02-22T11:04:32Z flip214_: any LPARALLEL wizards here? 2018-02-22T11:04:59Z Xal joined #lisp 2018-02-22T11:05:57Z attila_lendvai quit (Ping timeout: 256 seconds) 2018-02-22T11:11:19Z flip214_: any OPTIMA maintainers available? 2018-02-22T11:14:25Z shka: how can i make bidirectional in-memory stream? 2018-02-22T11:15:08Z dmiles joined #lisp 2018-02-22T11:16:16Z _death: you can define one using gray streams 2018-02-22T11:16:44Z sjl joined #lisp 2018-02-22T11:17:32Z shka: _death: define as: "It is already here use this nice lib", or as "you can write it yourself" 2018-02-22T11:19:34Z _death: I'm not aware of the former, but it can be achieved by the latter 2018-02-22T11:26:51Z ccl-logbot joined #lisp 2018-02-22T11:26:51Z 2018-02-22T11:26:51Z names: ccl-logbot aeth_ attila_lendvai orivej Xal cyberlard drot damke_ mulk nowolfer_ aeth aijony flip214_ khisanth_ shaftoe_ cess11_ koenig1 chocolait_ gorgor_ oldtopman zmt01 Patternmaster jibanes shka m00natic ludston markong smurfrobot thodg nirved _whitelogger rippa _cosmonaut_ hhdave makomo varjag panji Guest37349 scymtym fikka marusich Cymew angavrilov flamebeard nullman vlatkoB Oddity hiroaki mishoo manualcrank Tobbi sabrac haruka1 Sauvin Naergon 2018-02-22T11:26:51Z names: nika_ st_iron zooey shrdlu68 borei CrazyEddy presiden raskolnikov eschatologist zacts schoppenhauer Kaisyu willmichael deng_cn z0d mrottenkolber ioa_ galdor1 AntiSpamMeta ramus zaquest pfdietz lonjil ebzzry_ d4ryus fouric thallia rumbler3_ djuber quazimodo kamog foom epony dilated_dinosaur earl-ducaine cromachina rk[ghost] razzy butterthebuddha drewc vibs29 raynold Denommus Colleen tankrim thinkpad bigfondue Lord_of_Life drdo pjb TMA vhost- tokik 2018-02-22T11:26:51Z names: sbryant vutral Xof mathrick voidlily_ kark otwieracz antoszka mrSpec vap1 pmden kajo crsc MetaYan dotc Tristam cods malm dcluna pchrist kotrcka Murii mingus jack_rabbit DGASAU copec SAL9000 jonh SamSkulls heurist` Guest16495 Mandus mood trn fittestbits xantoz cmatei groovy2shoes nydel clog Xach hvxgr lemoinem emacsomancer froggey smcnamara ninegrid tkd Cthulhux le4fy pillton loli sellout funnel Princess17b29a Lord_Nightmare tessier_ eschulte_ djh_ 2018-02-22T11:26:51Z names: jsnell_ specbot bitch gabiruh minion side_track White_Flame mason gko giraffe itruslove stnutt arbv Poeticode joast deba5e12 vyzo djinni` saturn2 beach oleo jdz k-hos kumori[m] Mon_Ouie kini chat__ dyelar christoph_debian Duns_Scrotus fortitude elts libreman phadthai tokenrove arrsim ym guna GuilOooo peterhil Fade johs stylewarning parseval convexferret benny dmh p_l ggherdov thijso rgrau tripty dTal weltung jerme_ tfb dan64- banjiewen zkat kilimanjaro 2018-02-22T11:26:51Z names: l1x asedeno devlaf angelo angular_mike_ drmeister jyc CEnnis91 __main__ easye troydm justinmcp eatonphil les vsync mfiano katco[m] hiq[m] cryptomarauder plll[m] ArthurAGleckler[ RichardPaulBck[m hdurer[m] mhitchman[m] equalunique[m] kfdenden[m] Jach[m] CharlieBrown dirb kammd[m] gingerale Aritheanie borodust wladz_ reu joga em Walex Firedancer Patzy ben3 Posterdati sword jackdaniel sthalik sshirokov mikaelj sigjuice bailon splittist zotan terrorjack 2018-02-22T11:26:51Z names: rann tobel gendl rme gbyers fluxit XachX jeremyheiler billstclair mbrock danlentz alms_clozure gz_ mjl _death sukaeto ozzloy antismap HDurer dxtr dim adulteratedjedi Meow-J_ tazjin rvirding trig-ger d4gg4d_ ft brucem Intensity dvdmuckle samebchase azrazalea cpt_nemo phoe gabot uint nhandler AeroNotix azahi larsen GGMethos leo_song_ abbe MightyJoe @fe[nl]ix stux|RC-- kuneco guaqua theBlackDragon raydeejay bkst SlashLife kjeldahl larme brandonz 2018-02-22T11:26:51Z names: isoraqathedh hjudt_ sveit_ michalisko alphor norserob ghostyy ikopico malcom2073 ``Erik omilu abeaumont jurov ski esthlos PyroLagus shenghi argoneus svillemot jasom ericmath1son snits_ f32ff whyNOP swflint caffe rotty sbat mepian cross ssake pok Zhivago alandipert himmAllRight17 luis davsebamse whartung Blkt micro kushal stux|RC rjeli_ jself GreaseMonkey koisoke zymurgy ecraven ja-barr kbtr eMBee loke beaky salva dlowe |3b| runejuhl philosaur grumble 2018-02-22T11:26:51Z names: vert2 Tordek Nikotiini askatasuna Rovanion paratox pankracy ircbrowse felideon tomaw lxpz creat lugh eagleflo fiddlerwoaroof mtd krator44 nimiux catern pacon whaack Shinmera Ziemas lieven renard_ peccu3 aoh arrdem Elite-Epochs spacepluk cibs 2018-02-22T11:27:01Z shka: for now, i will just use separate input and output streams 2018-02-22T11:27:02Z thodg: shka: cffi-unistd:pipe 2018-02-22T11:27:18Z shka: thodg: ooh, cool, let me look at it 2018-02-22T11:27:30Z f32ff_ joined #lisp 2018-02-22T11:28:55Z _death: I posted this some time ago https://gist.github.com/death/2709ae6a9124968a86070bbb760b1629 2018-02-22T11:29:28Z thodg: shka: only works on unix os though 2018-02-22T11:29:40Z Amplituhedron joined #lisp 2018-02-22T11:29:44Z python476 joined #lisp 2018-02-22T11:29:53Z shka: thodg: i don't care about anything else 2018-02-22T11:30:03Z terpri joined #lisp 2018-02-22T11:30:25Z thodg: shka: http://github.com/cffi-posix/cffi-unistd/ and pipe(2) 2018-02-22T11:30:33Z nika_ quit (Quit: Leaving...) 2018-02-22T11:30:36Z hvxgr_ joined #lisp 2018-02-22T11:31:36Z thodg: might be the fastest way 2018-02-22T11:31:47Z benny- joined #lisp 2018-02-22T11:31:57Z nowhere_man joined #lisp 2018-02-22T11:33:13Z luis` joined #lisp 2018-02-22T11:34:25Z damke joined #lisp 2018-02-22T11:34:26Z aeth quit (Ping timeout: 264 seconds) 2018-02-22T11:34:26Z benny quit (Ping timeout: 264 seconds) 2018-02-22T11:34:26Z ircbrowse quit (Ping timeout: 264 seconds) 2018-02-22T11:34:27Z luis quit (Ping timeout: 264 seconds) 2018-02-22T11:34:27Z f32ff quit (Ping timeout: 264 seconds) 2018-02-22T11:34:28Z hvxgr quit (Ping timeout: 264 seconds) 2018-02-22T11:34:28Z micro quit (Ping timeout: 264 seconds) 2018-02-22T11:34:28Z hhdave quit (Ping timeout: 264 seconds) 2018-02-22T11:34:28Z damke_ quit (Ping timeout: 264 seconds) 2018-02-22T11:35:44Z Guest37349 quit (Ping timeout: 256 seconds) 2018-02-22T11:35:53Z shka: thodg: it is pretty cool and useful lib, but i need gray stream api, so i stick to flexi-streams 2018-02-22T11:35:57Z cpape joined #lisp 2018-02-22T11:36:01Z ircbrowse_ joined #lisp 2018-02-22T11:36:03Z shka: thanks for link anyway :-) 2018-02-22T11:37:26Z micro joined #lisp 2018-02-22T11:38:49Z Mandus quit (Ping timeout: 256 seconds) 2018-02-22T11:43:15Z attila_lendvai quit (Ping timeout: 256 seconds) 2018-02-22T11:45:20Z smasta joined #lisp 2018-02-22T11:46:10Z panji left #lisp 2018-02-22T11:46:10Z Mandus joined #lisp 2018-02-22T11:47:12Z flip214_: so, issue closed. One PR for OPTIMA, one for QUUX. 2018-02-22T11:47:22Z flip214_: not being tired helps a bit, too. 2018-02-22T11:49:47Z smasta quit (Ping timeout: 256 seconds) 2018-02-22T11:50:47Z flip214_: In case anyone wants to know the details: the "hanging" socket was a _new_ one, as Firefox helpful retries the request when there's no useful answer. but when QUUX handler crashed, it would just be accepted and then linger around. 2018-02-22T11:51:13Z damke_ joined #lisp 2018-02-22T11:52:15Z benny- is now known as benny 2018-02-22T11:52:52Z damke quit (Ping timeout: 260 seconds) 2018-02-22T11:54:01Z jmercouris joined #lisp 2018-02-22T11:54:07Z _cosmonaut_ quit (Ping timeout: 256 seconds) 2018-02-22T11:54:39Z phoe: oooh. 2018-02-22T11:54:42Z phoe: non-trivial! 2018-02-22T11:54:48Z phoe: congrats! 2018-02-22T11:59:54Z attila_lendvai joined #lisp 2018-02-22T12:01:29Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-22T12:03:54Z Shinmera: Modern browsers like to spam the shit out of servers with requests when one fails. 2018-02-22T12:04:00Z Shinmera: It's really quite annoying during development. 2018-02-22T12:04:13Z attila_lendvai joined #lisp 2018-02-22T12:07:55Z smokeink joined #lisp 2018-02-22T12:07:55Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-22T12:09:55Z attila_lendvai joined #lisp 2018-02-22T12:10:07Z fikka quit (Ping timeout: 248 seconds) 2018-02-22T12:10:22Z damke_ quit (Ping timeout: 260 seconds) 2018-02-22T12:12:07Z wigust joined #lisp 2018-02-22T12:14:13Z flip214_: now let's hope that the maintainers merge soon, so that the next QL release already has the fixes, so that I can remove my checkouts 2018-02-22T12:21:00Z dmiles joined #lisp 2018-02-22T12:21:00Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-22T12:22:00Z attila_lendvai joined #lisp 2018-02-22T12:23:00Z smurfrobot quit (Remote host closed the connection) 2018-02-22T12:24:56Z Achylles joined #lisp 2018-02-22T12:25:40Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-22T12:27:13Z attila_lendvai joined #lisp 2018-02-22T12:27:13Z attila_lendvai quit (Changing host) 2018-02-22T12:27:13Z attila_lendvai joined #lisp 2018-02-22T12:33:19Z epony quit (Read error: Connection reset by peer) 2018-02-22T12:34:09Z smurfrobot joined #lisp 2018-02-22T12:37:19Z epony joined #lisp 2018-02-22T12:38:03Z fikka joined #lisp 2018-02-22T12:42:41Z fikka quit (Ping timeout: 248 seconds) 2018-02-22T12:43:11Z smurfrobot quit (Ping timeout: 255 seconds) 2018-02-22T12:43:56Z rumbler3_ quit (Remote host closed the connection) 2018-02-22T12:44:37Z smurfrobot joined #lisp 2018-02-22T12:45:39Z fikka joined #lisp 2018-02-22T12:47:36Z flip214_: beach: you're listed as maintainer for alexandria... would you like to take a look at https://gitlab.common-lisp.net/alexandria/alexandria/merge_requests? A few doc changes with little risk. 2018-02-22T12:49:17Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-22T12:50:18Z devlaf quit (Ping timeout: 240 seconds) 2018-02-22T12:50:30Z devlaf joined #lisp 2018-02-22T12:51:11Z damke joined #lisp 2018-02-22T12:51:42Z smurfrobot joined #lisp 2018-02-22T12:52:38Z zkat quit (Ping timeout: 255 seconds) 2018-02-22T12:54:05Z Kundry_Wag joined #lisp 2018-02-22T12:54:14Z zkat joined #lisp 2018-02-22T13:00:21Z JenElizabeth joined #lisp 2018-02-22T13:00:22Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-22T13:00:42Z papachan joined #lisp 2018-02-22T13:01:57Z attila_lendvai joined #lisp 2018-02-22T13:04:45Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-22T13:04:48Z scymtym_ joined #lisp 2018-02-22T13:06:00Z attila_lendvai joined #lisp 2018-02-22T13:07:06Z JenElizabeth quit (Ping timeout: 256 seconds) 2018-02-22T13:07:47Z scymtym quit (Ping timeout: 276 seconds) 2018-02-22T13:08:16Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-22T13:10:15Z attila_lendvai joined #lisp 2018-02-22T13:10:15Z attila_lendvai quit (Changing host) 2018-02-22T13:10:15Z attila_lendvai joined #lisp 2018-02-22T13:12:25Z schweers joined #lisp 2018-02-22T13:14:43Z willmichael quit (Ping timeout: 268 seconds) 2018-02-22T13:16:05Z JenElizabeth joined #lisp 2018-02-22T13:16:40Z Kundry_Wag quit (Remote host closed the connection) 2018-02-22T13:17:03Z Kundry_Wag joined #lisp 2018-02-22T13:17:19Z JenElizabeth quit (Remote host closed the connection) 2018-02-22T13:17:52Z JenElizabeth joined #lisp 2018-02-22T13:17:59Z smurfrobot quit (Ping timeout: 255 seconds) 2018-02-22T13:18:26Z willmichael joined #lisp 2018-02-22T13:18:36Z smurfrobot joined #lisp 2018-02-22T13:19:59Z thodg quit (Ping timeout: 248 seconds) 2018-02-22T13:20:08Z hiroaki quit (Quit: Leaving) 2018-02-22T13:20:43Z rumbler31 joined #lisp 2018-02-22T13:21:08Z Kevslinger joined #lisp 2018-02-22T13:21:39Z nullman quit (Remote host closed the connection) 2018-02-22T13:21:55Z nullman joined #lisp 2018-02-22T13:22:01Z ssake quit (Remote host closed the connection) 2018-02-22T13:23:27Z MetaYan: beach: I keep getting 'Unknown &KEY argument: :WEAKNESS-MATTERS' when loading clim-listener (SBCL 1.4.4 on OSX); http://termbin.com/lipp (<- it almost got it right... ;) 2018-02-22T13:25:25Z ssake joined #lisp 2018-02-22T13:25:25Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-22T13:27:59Z attila_lendvai joined #lisp 2018-02-22T13:27:59Z attila_lendvai quit (Changing host) 2018-02-22T13:27:59Z attila_lendvai joined #lisp 2018-02-22T13:28:30Z JenElizabeth quit (Ping timeout: 256 seconds) 2018-02-22T13:32:31Z phoe: MetaYan: this seems like an issue with TRIVIAL-GARBAGE 2018-02-22T13:32:47Z phoe: Backtrace for: # 2018-02-22T13:32:47Z phoe: 0: (MAKE-HASH-TABLE :WEAKNESS :VALUE :WEAKNESS-MATTERS NIL) [more] 2018-02-22T13:32:48Z phoe: 1: (TRIVIAL-GARBAGE:MAKE-WEAK-HASH-TABLE :WEAKNESS-MATTERS NIL) 2018-02-22T13:33:22Z smurfrobot quit (Remote host closed the connection) 2018-02-22T13:33:30Z smasta joined #lisp 2018-02-22T13:34:01Z phoe: https://github.com/trivial-garbage/trivial-garbage/blob/master/trivial-garbage.lisp#L203 2018-02-22T13:35:19Z phoe: MetaYan: what is your version of trivial-garbage? 2018-02-22T13:35:53Z phoe: if you ran it from quicklisp, go (ql:update-all-dists) and recompile 2018-02-22T13:36:06Z phoe: because (trivial-garbage:make-weak-hash-table :weakness :key :weakness-matters :nil) works on my machine 2018-02-22T13:36:55Z shka: MetaYan: what cl implementation you are running? 2018-02-22T13:37:10Z phoe: shka: SBCL 1.4.4 on OSX, read up 2018-02-22T13:38:08Z smasta quit (Ping timeout: 252 seconds) 2018-02-22T13:39:34Z tankrim quit (Remote host closed the connection) 2018-02-22T13:40:00Z tankrim joined #lisp 2018-02-22T13:43:53Z shka: phoe: yeah, right 2018-02-22T13:43:54Z AeroNotix: can someone make the argument for anaphoric macros to me? It seems like unnecessary magic to me 2018-02-22T13:44:10Z AeroNotix: I get that "omg so rad" but in reality (where most of us should reside) they're annoying and magic 2018-02-22T13:44:11Z smurfrobot joined #lisp 2018-02-22T13:44:21Z shka: AeroNotix: i share your sentiment 2018-02-22T13:44:29Z phoe: AeroNotix: some people like to put (print it) once in a while in their code 2018-02-22T13:44:36Z comborico joined #lisp 2018-02-22T13:44:39Z AeroNotix: yes literally debugging some elisp shite that uses `it` 2018-02-22T13:44:39Z phoe: but I don't use anaphores myself. never found them useful. 2018-02-22T13:45:00Z AeroNotix: ok so anaphoric macros BANNED 2018-02-22T13:45:10Z AeroNotix: it has been decreed 2018-02-22T13:45:18Z Kevslinger quit (Ping timeout: 240 seconds) 2018-02-22T13:45:19Z AeroNotix: haha need to go check if I've ever used them in my CL 2018-02-22T13:45:21Z shka: nedless to say, anaphoric macros are indeed controversial 2018-02-22T13:45:37Z shka: i almost never use those myself 2018-02-22T13:45:39Z AeroNotix: dash.el has map-- 2018-02-22T13:45:55Z AeroNotix: or --map sorry which is literally just an anaphoric version of map 2018-02-22T13:46:00Z pjb: There's no need to ban them: it all depends on you DSL! 2018-02-22T13:46:03Z Kundry_Wag quit (Remote host closed the connection) 2018-02-22T13:46:15Z AeroNotix: pjb: as I requested-- make the case for anaphoric macros! :) 2018-02-22T13:46:26Z AeroNotix: e.g. code which is improved with anaphors 2018-02-22T13:46:58Z AeroNotix: honestly they seem like one day someone, somewhere realised "huh, that's possible" and here we are 2018-02-22T13:46:58Z pjb: AeroNotix: I don't know about code. But if "it" exists in natural languages, it must serve some purpose! 2018-02-22T13:47:13Z pjb: I didn't say it depended on you DSC, but on your DSL! 2018-02-22T13:47:45Z Xach: paul graham uses them as useful examples of good macros 2018-02-22T13:47:49Z AeroNotix: I speak with several people on a daily basis who have different native languages and you wouldn't believe how often anaphora cause issues 2018-02-22T13:47:56Z AeroNotix: Xach: paul graham is wrong 2018-02-22T13:47:57Z AeroNotix: fight me 2018-02-22T13:48:11Z Xach: About something else; on this we agree. 2018-02-22T13:48:14Z phoe: Graham is as controversial as anaphoric macros are. 2018-02-22T13:48:19Z phoe: If not more. 2018-02-22T13:48:37Z pjb: But in a way, references such as "it" will always add some ambiguity, since they're implicit references. Therefore this may be something you want to remove from code. But then, how much implicit referencing do you have in your code really? More than you think in general! 2018-02-22T13:48:56Z shka: Xach: thank you for Salza2! 2018-02-22T13:49:04Z smurfrobot quit (Ping timeout: 260 seconds) 2018-02-22T13:49:15Z AeroNotix: https://gist.github.com/AeroNotix/72718ba0d546c960603700cba0783b19 2018-02-22T13:49:17Z AeroNotix: take a look at this 2018-02-22T13:49:22Z pjb: The thing with implicit vs explicit, is that implicit is something that is hidden thru abstraction. So the question is whether rendering the reference named by "it" implicit is a good abstraction or not. 2018-02-22T13:49:40Z AeroNotix: it's just a useless abstraction 2018-02-22T13:49:48Z AeroNotix: (car it) 2018-02-22T13:49:55Z AeroNotix: where is it? What is it? 2018-02-22T13:49:59Z phoe: (fsck it) 2018-02-22T13:50:18Z AeroNotix: lots of editors won't realise that they should jump to the anaphoric macro if you're looking for where `it' is defined. 2018-02-22T13:50:30Z pjb: If your scope is small and well delimited (as it generally is with lisp macros), then it could work. 2018-02-22T13:50:38Z AeroNotix: it's not even that much more code to make a regular macro 2018-02-22T13:51:00Z pjb: (binding-when (it (= a b)) (print it)) 2018-02-22T13:51:05Z Xach: shka: no problemo. how are you using it? 2018-02-22T13:51:13Z pjb: (anaphoric-when (= a b) (print it)) 2018-02-22T13:51:19Z pjb: Yes, binding-when is probably better. 2018-02-22T13:51:46Z AeroNotix: in fact, it's LESS CODE to make it a regular macro 2018-02-22T13:52:41Z AeroNotix: that --map function should be named something which describes how to access the element currently being mapped 2018-02-22T13:52:50Z AeroNotix: and it just takes that accessor (like car) 2018-02-22T13:53:01Z AeroNotix: instead of it taking an expression which operates on `it' 2018-02-22T13:53:24Z AeroNotix: argh, whatever. 2018-02-22T13:53:39Z pjb: AeroNotix: you can make a good case for binding macros where the user specifies the variable instead of using it. 2018-02-22T13:53:46Z Kundry_Wag joined #lisp 2018-02-22T13:53:50Z l1x quit (Ping timeout: 255 seconds) 2018-02-22T13:53:54Z AeroNotix: pjb: yes, I have no problem with that. 2018-02-22T13:53:59Z AeroNotix: I assume you mean things like LET, LET* 2018-02-22T13:54:10Z pjb: yes. 2018-02-22T13:54:18Z AeroNotix: if the user specifies the variable, the code is fine 2018-02-22T13:54:23Z pjb: (binding-when (foo (expression) (print foo))) -> (let ((foo (expression))) (when foo (print foo))) 2018-02-22T13:54:31Z AeroNotix: yes, totally makes sense 2018-02-22T13:54:44Z pjb: But we are programmers. "Users" may want it. 2018-02-22T13:54:48Z sveit_ quit (Ping timeout: 240 seconds) 2018-02-22T13:55:19Z smurfrobot joined #lisp 2018-02-22T13:55:34Z l1x joined #lisp 2018-02-22T13:56:27Z shka: Xach: compressing sparse data, works great! If only, i wish I could have grey stream interface for compressor 2018-02-22T13:56:54Z sveit joined #lisp 2018-02-22T13:57:42Z shka: i may even think about writing just that 2018-02-22T13:58:03Z Xach: shka: that would be cool 2018-02-22T13:58:18Z shka: could be small enough and interesting project 2018-02-22T13:58:24Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-22T13:58:47Z dlowe quit (Ping timeout: 255 seconds) 2018-02-22T13:59:29Z dlowe joined #lisp 2018-02-22T14:00:43Z attila_lendvai joined #lisp 2018-02-22T14:00:45Z Kevslinger joined #lisp 2018-02-22T14:02:12Z Xach: shka: i think a library might already do that though. maybe a zip library? 2018-02-22T14:02:41Z Denommus quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2018-02-22T14:02:50Z Meow-J_ quit (Ping timeout: 255 seconds) 2018-02-22T14:03:05Z Kundry_Wag quit (Remote host closed the connection) 2018-02-22T14:04:48Z mishoo quit (Ping timeout: 240 seconds) 2018-02-22T14:07:02Z Meow-J_ joined #lisp 2018-02-22T14:07:54Z learning joined #lisp 2018-02-22T14:08:34Z shka: Xach: not sure, It failed once i attempted to write-byte into their stream, not sure if implementation is incomplete, or it is not gray stream 2018-02-22T14:08:51Z shka: they have some zip-write functions, so i assume the second option 2018-02-22T14:08:52Z damke_ joined #lisp 2018-02-22T14:10:32Z damke quit (Ping timeout: 260 seconds) 2018-02-22T14:10:40Z _death: you should also know that the gray stream protocol is incomplete (it lacks a stream-file-length function) 2018-02-22T14:13:21Z Bike joined #lisp 2018-02-22T14:13:30Z shka: oh 2018-02-22T14:13:43Z shka: i don't think i will even need this 2018-02-22T14:16:04Z wxie joined #lisp 2018-02-22T14:22:01Z warweasle joined #lisp 2018-02-22T14:24:31Z EvW1 joined #lisp 2018-02-22T14:25:47Z shka: Xach: also, i spent quite some time yesterday to figure out why no library offers that 2018-02-22T14:26:17Z Xach: shka: compressed stream? 2018-02-22T14:27:03Z hhdave joined #lisp 2018-02-22T14:27:21Z smurfrobot quit (Remote host closed the connection) 2018-02-22T14:28:28Z milanj joined #lisp 2018-02-22T14:28:39Z shka: Xach: gray stream, to be precise 2018-02-22T14:28:59Z comborico: I'm reading Practical Common Lisp, and there is an oversight that I'd like to get straightened out. What is the apostrophe before the parens called, and what 2018-02-22T14:29:21Z comborico: Is it used to denote a list? 2018-02-22T14:29:35Z phoe: comborico: oh boy 2018-02-22T14:29:39Z Bike: you mean a quotation mark? 2018-02-22T14:29:42Z Bike: '(a b c)? 2018-02-22T14:29:52Z comborico: I'm not sure. '( ) 2018-02-22T14:29:56Z phoe: it's called a quote, and it's one of the very basics of Lisp. 2018-02-22T14:30:14Z pjb: 'x -> x 2018-02-22T14:30:17Z pjb: itself. 2018-02-22T14:30:29Z phoe: comborico: do you know what evaluation is? 2018-02-22T14:30:43Z comborico: The dude forgot to mention it. So far the book is very good (page/link 2) 2018-02-22T14:30:58Z pjb: comborico: you should note that actually, the lisp reader interprets most characters going thru a table, the *readtable* and calling functions named reader macros, that return the "read" sexp. 2018-02-22T14:31:01Z phoe: I kinda doubt that gigamonkey would forgot to mention that a quote is. 2018-02-22T14:31:02Z comborico: A step in REPL? 2018-02-22T14:31:16Z pjb: comborico: in the case of 'x what is actually returned by the reader macro, is (CL:QUOTE x) 2018-02-22T14:31:24Z phoe: comborico: yep. But do you know the general rules of evaluation? 2018-02-22T14:31:34Z pjb: comborico: and CL:QUOTE is a special opeartor that returns its argument itself. 2018-02-22T14:32:28Z comborico: Phoe, check for yourself. '( ) is first used in second link with function REMOVE-IF-NOT. 2018-02-22T14:32:31Z Xal quit (Ping timeout: 248 seconds) 2018-02-22T14:33:01Z Shinmera: comborico: I'm quite sure he elaborate how it works and what it means. Maybe just be a bit more patient with the book. There's a good reason he does not delve into things that are rather complicated to explain too early. 2018-02-22T14:33:13Z pjb: comborico: for example, the reader macro for ( reads a list. If that list is empty as in ( ) or as we usually write: (), then it actually returns the symbol CL:NIL 2018-02-22T14:33:18Z smurfrobot joined #lisp 2018-02-22T14:33:22Z Bike: that's chapter three. quotation is explained a few paragraphs later, at latest. 2018-02-22T14:33:27Z phoe: comborico: which page of http://gigamonkeys.com/book/ ? 2018-02-22T14:33:32Z pjb: so '() is actually read as (CL:QUOTE CL:NIL) and this, when evaluated, returns CL:NIL. 2018-02-22T14:34:22Z phoe: comborico: in other words: (a b c) most likely means a function call, function A is called with the values of B and C as arguments. 2018-02-22T14:34:24Z pjb: this is different of nil, which when read in the CL package, reads directly CL:NIL, and when evaluated, returns its value, which happens to be CL:NIL itself, so that's also what's returned, but there's it's a more complex evaluation process, since we go look for the value of a variable here. 2018-02-22T14:34:31Z phoe: where '(a b c) means data, a list of three elements. 2018-02-22T14:34:42Z fisxoj joined #lisp 2018-02-22T14:34:57Z comborico: Phoe, practical simple database 2018-02-22T14:35:03Z pjb: (eval '(a b c)) means that (a b c) will be interpreted by the evaluator as an operator application. 2018-02-22T14:35:14Z phoe: comborico: yes, I see it. 2018-02-22T14:35:17Z pjb: a should be the name of a function, a macro, or a special operator. 2018-02-22T14:35:24Z Xal joined #lisp 2018-02-22T14:36:28Z schweers: I’m skimming said chapter, I think he really didn’t mention what quoting entails. 2018-02-22T14:36:41Z schweers: comborico: Don’t worry, it is all explained in later chapters. 2018-02-22T14:36:58Z comborico: Shinmera, I'm one of those types that has a burning desire to understand each character in the code. And because technical writings are notorious for oversights and typos, I thought it best to understand quote before progressing. 2018-02-22T14:37:12Z phoe: comborico: PCL isn't really a book like that. 2018-02-22T14:37:21Z comborico: Yeah, so far I'm impressed. 2018-02-22T14:37:23Z phoe: it's basically two books intertwined with each other. 2018-02-22T14:37:33Z phoe: "practical" chapters are code first. you first write code, then are expected to understand it. 2018-02-22T14:37:35Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-22T14:37:39Z phoe: the other chapters actually explain what's going on. 2018-02-22T14:38:00Z phoe: so if you don't know what a thing is, relax and just roll with it. it'll be explained later. 2018-02-22T14:38:13Z Xach: there are other books with other styles, too 2018-02-22T14:38:14Z comborico: Alright. 2018-02-22T14:38:21Z Shinmera: It's also heavily advisable to try things out at the REPL vigorously 2018-02-22T14:38:34Z Shinmera: Play around with the snippets the book gives you 2018-02-22T14:38:47Z comborico: Xach, yup, thanks! I found three others, i believe. 2018-02-22T14:38:54Z pjb: But don't take it for godspel, the CLHS is the reference (apart from where it has bugs, such as prog2). 2018-02-22T14:38:58Z phoe: also what Xach said; I myself started with the book ANSI Common Lisp by Paul Graham, and I consider it decent for learning the basics of Lisp. 2018-02-22T14:39:16Z __rumbler31 joined #lisp 2018-02-22T14:39:17Z Shinmera: In other news, ELS registration is now done! It's not online yet, but hopefully (up to Didier) within a few days. 2018-02-22T14:39:17Z phoe: It also has a more theoretical approach up front, and doesn't throw you straight into application writing like PCL does. 2018-02-22T14:39:28Z phoe: Shinmera: yay! 2018-02-22T14:39:41Z comborico: Phoe, ah excellent! I definitely appreciate book recommendations. 2018-02-22T14:40:00Z phoe: It also has Paul Graham who has a few pretty damn controversial views on Lisp's various parts 2018-02-22T14:40:26Z phoe: but then again, you'll figure it out after just using enough Lisp and asking enough questions afterwards. 2018-02-22T14:40:34Z comborico: You guys ever read a book by Deitel? 2018-02-22T14:41:11Z phoe: comborico: like which one? 2018-02-22T14:41:53Z Shinmera: And: it's not too late yet to give me harsh, soul-crushing feedback about my paper submission. https://github.com/Shinmera/talks/blob/master/els2018-glsl-oop/paper.pdf 2018-02-22T14:42:16Z pjb: comborico: anything about Common Lisp? I guess not. 2018-02-22T14:42:19Z comborico: Phoe, any of them. 2018-02-22T14:42:45Z comborico: Pjb, sadly, no. 2018-02-22T14:42:58Z learning quit (Remote host closed the connection) 2018-02-22T14:43:00Z tfb: pjb: what's the CLHS prog2 bug (not a rhetorical question!) 2018-02-22T14:43:06Z pjb: clhs prog2 2018-02-22T14:43:06Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_prog1c.htm 2018-02-22T14:43:29Z tfb: oh, doh 2018-02-22T14:43:41Z tfb: someone coppied and pasted prog1 2018-02-22T14:43:45Z smurfrobot joined #lisp 2018-02-22T14:43:48Z tfb: thx 2018-02-22T14:43:50Z phoe: yes 2018-02-22T14:43:57Z phoe: I think it's the most famous CLHS oops 2018-02-22T14:44:13Z comborico: Shinmera, are you talking to me? 2018-02-22T14:44:22Z fisxoj quit (Quit: fisxoj) 2018-02-22T14:44:29Z comborico: About female 2018-02-22T14:44:35Z learning joined #lisp 2018-02-22T14:44:41Z Shinmera: What? 2018-02-22T14:45:07Z comborico: Lol about feedback (using phone) 2018-02-22T14:45:16Z Shinmera: I'm talking to everyone in the channel 2018-02-22T14:45:58Z comborico: Gotcha. The "and" part threw me off, which isn't difficult to do in my learning condition 2018-02-22T14:46:43Z Shinmera: Ah, I was and-ing my previous post, which was also about ELS. 2018-02-22T14:47:07Z FreeBirdLjj joined #lisp 2018-02-22T14:47:17Z fikka quit (Ping timeout: 260 seconds) 2018-02-22T14:47:38Z comborico: Ah, i see. Yup, i missed that. 2018-02-22T14:49:03Z willmichael quit (Ping timeout: 260 seconds) 2018-02-22T14:49:17Z mishoo joined #lisp 2018-02-22T14:49:58Z Arcaelyx joined #lisp 2018-02-22T14:51:03Z willmichael joined #lisp 2018-02-22T14:51:13Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-22T14:51:35Z FreeBirdLjj quit (Ping timeout: 255 seconds) 2018-02-22T14:52:26Z EvW1 quit (Ping timeout: 276 seconds) 2018-02-22T14:52:50Z comborico: Phoe, was that a "yes, I've read a book from Deitel"? 2018-02-22T14:54:07Z phoe: comborico: no, it was a "yes, someone copypasted prog1" 2018-02-22T14:54:11Z phoe: I haven't read a Deitel book 2018-02-22T14:55:17Z _death: phoe: no loss there 2018-02-22T14:55:39Z comborico: How dare you! (Joking) 2018-02-22T14:55:57Z schweers: comborico: why do you ask? 2018-02-22T14:56:12Z Kundry_Wag joined #lisp 2018-02-22T14:56:32Z comborico: They have a reputation for being slow-moving and redundant, but I've found that style is the best for me. 2018-02-22T14:57:37Z comborico: schweers, in book recommendations, if the recommender was aware of my preference, it would greatly aid in a proper recommendation. 2018-02-22T14:58:03Z Kundry_Wag quit (Remote host closed the connection) 2018-02-22T14:58:45Z epony quit (Remote host closed the connection) 2018-02-22T14:59:08Z schweers: I see; I don’t have any recommendations for you, apart from PCL, but I can tell you that you might have a hard time with grahams books. On the other hand, at least On Lisp is not directed at the newcomer anyway. 2018-02-22T14:59:10Z smokeink quit (Ping timeout: 256 seconds) 2018-02-22T14:59:19Z comborico: Thanks for acknowledging what i said was true, by the way. (No mention of quote upon its first use) 2018-02-22T14:59:36Z schweers never had the pleasure of reading Grahams ANSI Common Lisp though 2018-02-22T14:59:47Z Kundry_Wag joined #lisp 2018-02-22T15:00:03Z pjb: comborico: perhaps you'll like: Common Lisp: A Gentle Introduction to Symbolic Computation http://www.cs.cmu.edu/~dst/LispBook/ http://www-cgi.cs.cmu.edu/afs/cs.cmu.edu/user/dst/www/LispBook/index.html 2018-02-22T15:00:22Z comborico: "On Lisp" you like this one? 2018-02-22T15:00:34Z phoe: "On Lisp" is Graham's 2018-02-22T15:00:39Z phoe: and it's more advanced. 2018-02-22T15:00:39Z raynold quit (Quit: Connection closed for inactivity) 2018-02-22T15:00:40Z schweers: No, he has a book called “On Lisp“” 2018-02-22T15:00:41Z schweers: 2018-02-22T15:01:37Z comborico: Pjb, thank you! I'll add it to the list! 2018-02-22T15:02:30Z Kundry_Wag quit (Remote host closed the connection) 2018-02-22T15:02:37Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-22T15:02:56Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-22T15:03:03Z mareskeg joined #lisp 2018-02-22T15:03:22Z fikka joined #lisp 2018-02-22T15:03:38Z comborico: The cover of that 1990 book is so Orwellian 2018-02-22T15:05:02Z xristos joined #lisp 2018-02-22T15:05:54Z scymtym__ joined #lisp 2018-02-22T15:06:45Z stacksmith joined #lisp 2018-02-22T15:10:20Z scymtym_ quit (Ping timeout: 255 seconds) 2018-02-22T15:10:22Z epony joined #lisp 2018-02-22T15:10:38Z oldtopman quit (Ping timeout: 276 seconds) 2018-02-22T15:11:26Z tankrim quit (Remote host closed the connection) 2018-02-22T15:11:52Z tankrim joined #lisp 2018-02-22T15:15:23Z schweers: comborico: sorry, I just realized I misunderstood your question about “On Lisp”. Yes, I kind of like it, but it covers fairly advanced and is kinda weird. 2018-02-22T15:15:49Z damke joined #lisp 2018-02-22T15:17:15Z SamSkulls quit (Quit: ERC (IRC client for Emacs 27.0.50)) 2018-02-22T15:17:19Z juan-reynoso joined #lisp 2018-02-22T15:17:32Z milanj quit (Quit: This computer has gone to sleep) 2018-02-22T15:18:12Z damke_ quit (Ping timeout: 260 seconds) 2018-02-22T15:19:11Z comborico: Schweers, i see. 2018-02-22T15:19:30Z smurfrobot joined #lisp 2018-02-22T15:20:08Z MetaYan: phoe: trivial-garbage / trivial-garbage-20150113-git / quicklisp 2018-01-31 (was away from keyboard) 2018-02-22T15:20:21Z phoe: MetaYan: huh 2018-02-22T15:20:24Z phoe: really weird 2018-02-22T15:20:58Z MetaYan: phoe: Sorry - got to run again - can check more later 2018-02-22T15:21:09Z phoe: I have the same version and the :WEAKNESS-SOMETHING keyword is *not* passed to the CL:MAKE-HASH-TABLE. 2018-02-22T15:21:09Z stacksmith quit (Ping timeout: 256 seconds) 2018-02-22T15:22:24Z comborico: Out of curiosity, for explicit calling of functions #'( ), I wonder why #( ) is not sufficient. In other words, I'm wondering why that quote is necessary. 2018-02-22T15:22:24Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-22T15:22:56Z phoe: comborico: #() is array notation 2018-02-22T15:23:03Z phoe: or, to be precise 2018-02-22T15:23:06Z comborico: Very good. Thank you n 2018-02-22T15:23:09Z phoe: #' is the reader macro for functions 2018-02-22T15:23:13Z phoe: #( is the reader macro for arrays 2018-02-22T15:23:28Z dieggsy joined #lisp 2018-02-22T15:24:41Z attila_lendvai joined #lisp 2018-02-22T15:24:43Z attila_lendvai quit (Changing host) 2018-02-22T15:24:43Z attila_lendvai joined #lisp 2018-02-22T15:24:49Z phoe: comborico: also, #clnoobs might interest you 2018-02-22T15:25:00Z phoe: it's a channel specialized for learning Lisp. 2018-02-22T15:25:29Z comborico: Ah, thanks! 2018-02-22T15:25:31Z phoe: #lisp is good for these questions as well, but it might be better to ask there if #lisp has traffic at the moment. and such times happen. 2018-02-22T15:25:48Z mareskeg quit (Ping timeout: 240 seconds) 2018-02-22T15:25:48Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-22T15:26:02Z comborico: I see. Thank you for the friendly clarification. 2018-02-22T15:26:31Z phoe: comborico: no problem, good luck and high five 2018-02-22T15:26:37Z comborico: Remember the days when noobie was spelled newbie? 2018-02-22T15:26:47Z comborico: Haha 2018-02-22T15:27:03Z phoe: comborico: hah, yes. the name of that channel isn't too pleasant perhaps. 2018-02-22T15:27:22Z comborico: It's fine. 2018-02-22T15:28:30Z attila_lendvai joined #lisp 2018-02-22T15:28:40Z oldtopman joined #lisp 2018-02-22T15:29:59Z smurfrobot quit (Ping timeout: 260 seconds) 2018-02-22T15:30:57Z cpape quit (Ping timeout: 265 seconds) 2018-02-22T15:33:08Z csaurus joined #lisp 2018-02-22T15:34:56Z mareskeg joined #lisp 2018-02-22T15:35:14Z Kundry_Wag joined #lisp 2018-02-22T15:35:40Z JenElizabeth joined #lisp 2018-02-22T15:35:46Z mareskeg quit (Client Quit) 2018-02-22T15:36:11Z haruka1 quit (Read error: Connection reset by peer) 2018-02-22T15:39:39Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-22T15:39:51Z haruka joined #lisp 2018-02-22T15:40:41Z milanj joined #lisp 2018-02-22T15:41:14Z makomo_ joined #lisp 2018-02-22T15:43:30Z Arcaelyx joined #lisp 2018-02-22T15:43:57Z makomo quit (Ping timeout: 240 seconds) 2018-02-22T15:47:45Z makomo_ quit (Ping timeout: 264 seconds) 2018-02-22T15:48:44Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-22T15:49:02Z fikka quit (Ping timeout: 255 seconds) 2018-02-22T15:49:11Z Murii quit (Ping timeout: 255 seconds) 2018-02-22T15:50:18Z willmichael quit (Ping timeout: 240 seconds) 2018-02-22T15:50:45Z dddddd joined #lisp 2018-02-22T15:51:02Z attila_lendvai joined #lisp 2018-02-22T15:51:09Z fikka joined #lisp 2018-02-22T15:51:48Z Kundry_Wag joined #lisp 2018-02-22T15:56:05Z fikka quit (Ping timeout: 256 seconds) 2018-02-22T15:57:03Z fikka joined #lisp 2018-02-22T15:59:02Z rjeli_ quit (Quit: ZNC 1.6.3 - http://znc.in) 2018-02-22T16:01:35Z fikka quit (Ping timeout: 240 seconds) 2018-02-22T16:03:13Z fikka joined #lisp 2018-02-22T16:06:55Z rjeli joined #lisp 2018-02-22T16:07:44Z mlf joined #lisp 2018-02-22T16:08:35Z Kundry_Wag quit (Remote host closed the connection) 2018-02-22T16:08:44Z makomo_ joined #lisp 2018-02-22T16:11:21Z koenig1 is now known as koenig 2018-02-22T16:11:42Z klltkr joined #lisp 2018-02-22T16:12:21Z Kundry_Wag joined #lisp 2018-02-22T16:12:32Z Kundry_Wag quit (Client Quit) 2018-02-22T16:12:32Z mareskeg joined #lisp 2018-02-22T16:15:00Z shoogz joined #lisp 2018-02-22T16:15:17Z smurfrobot joined #lisp 2018-02-22T16:15:49Z voidlily_ quit (Ping timeout: 252 seconds) 2018-02-22T16:16:11Z wigust quit (Ping timeout: 255 seconds) 2018-02-22T16:16:39Z voidlily_ joined #lisp 2018-02-22T16:16:49Z mareskeg quit (Client Quit) 2018-02-22T16:19:24Z tazjin: are different quicklisp libraries allowed to have overlapping package names, as long as the system names are unique? 2018-02-22T16:19:38Z fe[nl]ix: no 2018-02-22T16:19:47Z tazjin: thought so, thanks 2018-02-22T16:20:12Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-22T16:21:02Z al-damiri joined #lisp 2018-02-22T16:22:09Z mareskeg joined #lisp 2018-02-22T16:23:49Z stacksmith joined #lisp 2018-02-22T16:24:59Z Shinmera: In effect they do though. 2018-02-22T16:25:08Z Shinmera: At least some systems out there today have conflicting names. 2018-02-22T16:26:09Z klltkr quit (Ping timeout: 248 seconds) 2018-02-22T16:28:17Z flamebeard quit (Quit: Leaving) 2018-02-22T16:28:29Z thodg joined #lisp 2018-02-22T16:30:05Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-22T16:30:06Z smurfrobot joined #lisp 2018-02-22T16:30:39Z mareskeg quit (Quit: mareskeg) 2018-02-22T16:31:06Z smasta joined #lisp 2018-02-22T16:32:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-22T16:36:30Z Shinmera: conflicting package names I mean 2018-02-22T16:38:09Z smurfrobot quit (Ping timeout: 264 seconds) 2018-02-22T16:41:44Z thodg quit (Ping timeout: 260 seconds) 2018-02-22T16:44:36Z cpape joined #lisp 2018-02-22T16:47:05Z orivej quit (Ping timeout: 240 seconds) 2018-02-22T16:47:09Z haruka quit (Ping timeout: 264 seconds) 2018-02-22T16:47:09Z haruka1 joined #lisp 2018-02-22T16:50:38Z ski quit (Quit: Lost terminal) 2018-02-22T16:56:54Z varjag joined #lisp 2018-02-22T16:58:09Z fikka joined #lisp 2018-02-22T17:01:21Z damke_ joined #lisp 2018-02-22T17:01:31Z Murii joined #lisp 2018-02-22T17:02:50Z schweers quit (Ping timeout: 255 seconds) 2018-02-22T17:02:54Z Cymew quit (Remote host closed the connection) 2018-02-22T17:03:24Z Cymew joined #lisp 2018-02-22T17:03:57Z damke quit (Ping timeout: 264 seconds) 2018-02-22T17:03:57Z nowhereman joined #lisp 2018-02-22T17:04:21Z nowhereman is now known as Guest53399 2018-02-22T17:05:39Z parjanya joined #lisp 2018-02-22T17:05:57Z parjanya is now known as esb` 2018-02-22T17:06:10Z JenElizabeth quit (Read error: Connection reset by peer) 2018-02-22T17:07:05Z nowhere_man quit (Ping timeout: 240 seconds) 2018-02-22T17:08:09Z Cymew quit (Ping timeout: 264 seconds) 2018-02-22T17:09:13Z smurfrobot joined #lisp 2018-02-22T17:13:38Z smurfrobot quit (Ping timeout: 255 seconds) 2018-02-22T17:14:52Z fikka quit (Ping timeout: 265 seconds) 2018-02-22T17:18:36Z Karl_Dscc joined #lisp 2018-02-22T17:20:02Z Karl_Dscc quit (Remote host closed the connection) 2018-02-22T17:23:28Z smurfrobot joined #lisp 2018-02-22T17:25:54Z aeth_ is now known as aeth 2018-02-22T17:27:57Z smurfrobot quit (Ping timeout: 264 seconds) 2018-02-22T17:28:19Z fikka joined #lisp 2018-02-22T17:30:09Z Amplituhedron quit (Ping timeout: 260 seconds) 2018-02-22T17:32:06Z fe[nl]ix: tazjin: actually I misread that. it can happen and there are actually a few systems that offer simple compatibility for other libraries 2018-02-22T17:32:18Z Kaisyu quit (Quit: Connection closed for inactivity) 2018-02-22T17:33:00Z dieggsy quit (Ping timeout: 276 seconds) 2018-02-22T17:33:17Z raynold joined #lisp 2018-02-22T17:34:42Z jmercouris quit (Ping timeout: 260 seconds) 2018-02-22T17:39:53Z hhdave quit (Ping timeout: 268 seconds) 2018-02-22T17:44:02Z side_track quit (Quit: Leaving) 2018-02-22T17:44:51Z m00natic quit (Remote host closed the connection) 2018-02-22T17:46:00Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-02-22T17:47:04Z learning quit (Remote host closed the connection) 2018-02-22T17:50:04Z mareskeg joined #lisp 2018-02-22T17:53:30Z smurfrobot joined #lisp 2018-02-22T17:54:06Z vxqw joined #lisp 2018-02-22T17:54:18Z mareskeg quit (Client Quit) 2018-02-22T17:56:00Z thodg joined #lisp 2018-02-22T17:58:00Z mareskeg joined #lisp 2018-02-22T17:58:29Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-22T17:59:18Z mareskeg quit (Client Quit) 2018-02-22T17:59:20Z learning joined #lisp 2018-02-22T17:59:24Z mason quit (Remote host closed the connection) 2018-02-22T18:03:42Z CrazyMonkey201 joined #lisp 2018-02-22T18:04:56Z raynold quit (Remote host closed the connection) 2018-02-22T18:06:17Z raynold joined #lisp 2018-02-22T18:12:20Z LiamH joined #lisp 2018-02-22T18:14:25Z python476 quit (Ping timeout: 268 seconds) 2018-02-22T18:16:10Z tankrim quit (Remote host closed the connection) 2018-02-22T18:16:28Z mason joined #lisp 2018-02-22T18:16:33Z tankrim joined #lisp 2018-02-22T18:17:52Z python476 joined #lisp 2018-02-22T18:19:18Z drewc quit (Ping timeout: 240 seconds) 2018-02-22T18:20:59Z drewc joined #lisp 2018-02-22T18:22:44Z warweasle joined #lisp 2018-02-22T18:27:47Z inaimathi joined #lisp 2018-02-22T18:29:50Z inaimathi: Hello; I wrote a thing to give me some cross-implementation generic-function introspection https://github.com/inaimathi/cl-mop/pull/1/files 2018-02-22T18:30:03Z inaimathi: Can anyone give me a quick head check on it? 2018-02-22T18:31:03Z inaimathi: (Also, I've only got access to clisp, sbcl and ccl locally, so I'm hoping a Lispworks/Allegro/CMUCL user can give me a rundown on how to extend this for those lisps) 2018-02-22T18:33:48Z Bike: are you aware of closer mop? 2018-02-22T18:35:31Z Bike: i don't know why you'd want these functions that operate on both methods and generic functions 2018-02-22T18:36:00Z Bike: since specializer-object only works on eql specializers, specializer-objects-of is not going to work on anything with any methods that have any specializers other than eql ones 2018-02-22T18:36:06Z zooey quit (Ping timeout: 255 seconds) 2018-02-22T18:40:05Z juan-reynoso quit (Ping timeout: 240 seconds) 2018-02-22T18:40:08Z inaimathi: It looks like `closer-mop` does the cross-platform imports I'm looking for here. Thanks! 2018-02-22T18:40:42Z juan-reynoso joined #lisp 2018-02-22T18:40:49Z zooey joined #lisp 2018-02-22T18:41:32Z inaimathi: (`specializer-object` works on anything; it returns the object of eql-specializers and the identity of other specializers (which should be a class reference)) 2018-02-22T18:42:55Z zooey quit (Remote host closed the connection) 2018-02-22T18:43:03Z Bike: oh, i misread 2018-02-22T18:43:10Z Bike: the name is wrong then 2018-02-22T18:45:14Z makomo_: are there any other languages that have 2-argument versions of rounding functions such as FLOOR, CEILING, ROUND, etc.? 2018-02-22T18:45:29Z whatsupdoc joined #lisp 2018-02-22T18:45:47Z makomo_: it's a pretty neat feature 2018-02-22T18:47:52Z zooey joined #lisp 2018-02-22T18:49:37Z makomo_: excel also has a 2-argument version of CEILING for example, but the second argument is the "singificance" rather than the divisor 2018-02-22T18:49:50Z makomo_: significance* 2018-02-22T18:51:36Z whatsupdoc: Is there a lisp help channel? 2018-02-22T18:51:50Z whatsupdoc: For beginners? 2018-02-22T18:52:00Z Bike: #clnoobs i think 2018-02-22T18:52:31Z whatsupdoc: thanks 2018-02-22T18:54:01Z fikka quit (Ping timeout: 256 seconds) 2018-02-22T18:54:50Z whatsupdoc left #lisp 2018-02-22T18:56:29Z arbv quit (Ping timeout: 256 seconds) 2018-02-22T18:59:29Z jmercouris joined #lisp 2018-02-22T19:00:31Z damke joined #lisp 2018-02-22T19:01:21Z arbv joined #lisp 2018-02-22T19:02:03Z jmercouris quit (Remote host closed the connection) 2018-02-22T19:02:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-22T19:02:45Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-22T19:04:50Z attila_lendvai joined #lisp 2018-02-22T19:06:09Z fikka joined #lisp 2018-02-22T19:07:12Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-22T19:08:01Z flip214_ is now known as flip214 2018-02-22T19:09:00Z sigjuice: fe[nl]ix just curious, what is the reason iolib has its own grovel code? 2018-02-22T19:09:12Z inaimathi left #lisp 2018-02-22T19:10:27Z attila_lendvai joined #lisp 2018-02-22T19:11:31Z aeth: Other languages probably optimise floor(x/y) to do the same thing as (floor x y) in CL (assuming that / is defined similarly to CL's)... but most (all?) CLs don't optimize (floor (/ x y)) because (floor x y) exists. 2018-02-22T19:11:31Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-22T19:12:41Z aeth: what's great, though, is that (1) it's explicit and (2) you have plenty of options (floor, ffloor, ceiling, fceiling, truncate, ftruncate, round, fround) 2018-02-22T19:13:08Z attila_lendvai joined #lisp 2018-02-22T19:13:08Z attila_lendvai quit (Changing host) 2018-02-22T19:13:08Z attila_lendvai joined #lisp 2018-02-22T19:13:49Z Jesin joined #lisp 2018-02-22T19:14:24Z pjb: And that they return 2 values, so you don't need to call two functions to get the quotient and the remainder. 2018-02-22T19:14:24Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-22T19:15:34Z Cymew joined #lisp 2018-02-22T19:15:52Z aeth: But if you do want just the latter, you have both mod and rem available, which is rare. Check out the table to see comparable languages: https://en.wikipedia.org/wiki/Modulo_operation#Remainder_calculation_for_the_modulo_operation 2018-02-22T19:16:03Z willmichael joined #lisp 2018-02-22T19:16:32Z attila_lendvai joined #lisp 2018-02-22T19:16:32Z attila_lendvai quit (Changing host) 2018-02-22T19:16:32Z attila_lendvai joined #lisp 2018-02-22T19:16:33Z aeth: of the notable languages, basically just CL, Scheme, Fortran, and Ada 2018-02-22T19:17:01Z pjb: Yep, the only languages worth using. 2018-02-22T19:18:13Z jmercouris joined #lisp 2018-02-22T19:19:23Z jmercouris: rme: seems like the logging is working again, did you fix it? 2018-02-22T19:20:00Z smasta quit (Ping timeout: 248 seconds) 2018-02-22T19:20:05Z Cymew quit (Ping timeout: 240 seconds) 2018-02-22T19:20:59Z fikka quit (Ping timeout: 255 seconds) 2018-02-22T19:21:49Z Cymew joined #lisp 2018-02-22T19:24:54Z fikka joined #lisp 2018-02-22T19:26:13Z Cymew quit (Ping timeout: 256 seconds) 2018-02-22T19:27:23Z knicklux joined #lisp 2018-02-22T19:27:27Z shrdlu68 quit (Ping timeout: 256 seconds) 2018-02-22T19:27:30Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-22T19:28:07Z Cymew joined #lisp 2018-02-22T19:28:33Z attila_lendvai joined #lisp 2018-02-22T19:29:13Z shrdlu68 joined #lisp 2018-02-22T19:29:32Z Sauvin quit (Ping timeout: 255 seconds) 2018-02-22T19:29:43Z fikka quit (Ping timeout: 256 seconds) 2018-02-22T19:31:01Z fikka joined #lisp 2018-02-22T19:32:17Z Cymew quit (Ping timeout: 248 seconds) 2018-02-22T19:34:12Z Cymew joined #lisp 2018-02-22T19:36:02Z fikka quit (Ping timeout: 260 seconds) 2018-02-22T19:38:17Z zaquest quit (Quit: Leaving) 2018-02-22T19:38:24Z smasta joined #lisp 2018-02-22T19:38:39Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-22T19:38:41Z Cymew quit (Ping timeout: 248 seconds) 2018-02-22T19:39:05Z voidlily_ quit (Ping timeout: 276 seconds) 2018-02-22T19:39:18Z fikka joined #lisp 2018-02-22T19:39:56Z vultyre joined #lisp 2018-02-22T19:40:17Z Jesin quit (Quit: Leaving) 2018-02-22T19:40:26Z Cymew joined #lisp 2018-02-22T19:40:29Z wxie quit (Ping timeout: 255 seconds) 2018-02-22T19:40:45Z stacksmith quit (Ping timeout: 268 seconds) 2018-02-22T19:41:04Z attila_lendvai joined #lisp 2018-02-22T19:41:04Z attila_lendvai quit (Changing host) 2018-02-22T19:41:04Z attila_lendvai joined #lisp 2018-02-22T19:43:40Z Jesin joined #lisp 2018-02-22T19:45:21Z Cymew quit (Ping timeout: 264 seconds) 2018-02-22T19:47:08Z vultyre quit (Quit: Leaving) 2018-02-22T19:49:33Z fikka quit (Ping timeout: 264 seconds) 2018-02-22T19:50:00Z Achylles quit (Ping timeout: 256 seconds) 2018-02-22T19:50:57Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-22T19:51:12Z vibs29 quit (Ping timeout: 260 seconds) 2018-02-22T19:52:01Z voidlily_ joined #lisp 2018-02-22T19:52:19Z glv joined #lisp 2018-02-22T19:52:29Z vibs29 joined #lisp 2018-02-22T19:52:54Z milanj quit (Quit: This computer has gone to sleep) 2018-02-22T19:53:10Z fikka joined #lisp 2018-02-22T19:53:40Z attila_lendvai joined #lisp 2018-02-22T19:54:23Z smurfrobot joined #lisp 2018-02-22T19:55:27Z smasta quit (Ping timeout: 240 seconds) 2018-02-22T19:55:46Z smasta joined #lisp 2018-02-22T19:57:08Z Lycurgus joined #lisp 2018-02-22T20:01:27Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-22T20:03:05Z marusich quit (Ping timeout: 240 seconds) 2018-02-22T20:03:15Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-22T20:04:04Z attila_lendvai joined #lisp 2018-02-22T20:04:23Z mareskeg joined #lisp 2018-02-22T20:04:31Z marusich joined #lisp 2018-02-22T20:04:38Z fikka quit (Ping timeout: 255 seconds) 2018-02-22T20:09:35Z marusich quit (Ping timeout: 248 seconds) 2018-02-22T20:11:30Z marusich joined #lisp 2018-02-22T20:13:35Z glv quit (Quit: Leaving) 2018-02-22T20:16:44Z jasom: bah, the first two xml libraries I tried for parsing xml had the same bug 2018-02-22T20:16:44Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-22T20:18:08Z smasta quit (Ping timeout: 255 seconds) 2018-02-22T20:18:54Z flip214: jasom: did you report it? 2018-02-22T20:19:01Z attila_lendvai joined #lisp 2018-02-22T20:19:01Z attila_lendvai quit (Changing host) 2018-02-22T20:19:01Z attila_lendvai joined #lisp 2018-02-22T20:21:11Z fikka joined #lisp 2018-02-22T20:21:16Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-22T20:22:30Z jasom: I'm going to 2018-02-22T20:22:36Z jasom: writing up a test-case now 2018-02-22T20:22:47Z attila_lendvai joined #lisp 2018-02-22T20:22:47Z attila_lendvai quit (Changing host) 2018-02-22T20:22:47Z attila_lendvai joined #lisp 2018-02-22T20:26:00Z jasom: ooh, this is interesting, cxml with klacks does it wrong, but cxml with sax does it right... 2018-02-22T20:27:09Z troydm quit (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset) 2018-02-22T20:27:43Z esb` quit (Ping timeout: 256 seconds) 2018-02-22T20:31:44Z troydm joined #lisp 2018-02-22T20:32:12Z vxqw quit (Quit: leaving) 2018-02-22T20:33:04Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-22T20:33:06Z angavrilov quit (Remote host closed the connection) 2018-02-22T20:33:38Z sysfault joined #lisp 2018-02-22T20:34:01Z sz0 joined #lisp 2018-02-22T20:35:32Z milanj joined #lisp 2018-02-22T20:37:27Z lnostdal joined #lisp 2018-02-22T20:38:38Z sysfault quit (Quit: Leaving) 2018-02-22T20:39:08Z sysfault joined #lisp 2018-02-22T20:39:16Z EvW joined #lisp 2018-02-22T20:39:27Z Jesin quit (Quit: Leaving) 2018-02-22T20:40:33Z sysfault quit (Client Quit) 2018-02-22T20:42:58Z Jesin joined #lisp 2018-02-22T20:43:44Z jasom: https://gist.github.com/jasom/2aefd041ccafc5108040ec06f4959c1a 2018-02-22T20:43:44Z attila_lendvai joined #lisp 2018-02-22T20:43:44Z attila_lendvai quit (Changing host) 2018-02-22T20:43:44Z attila_lendvai joined #lisp 2018-02-22T20:43:53Z lnostdal quit (Ping timeout: 255 seconds) 2018-02-22T20:45:19Z sysfault joined #lisp 2018-02-22T20:45:28Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-22T20:46:14Z attila_lendvai joined #lisp 2018-02-22T20:46:14Z attila_lendvai quit (Changing host) 2018-02-22T20:46:14Z attila_lendvai joined #lisp 2018-02-22T20:46:26Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-22T20:46:36Z mareskeg quit (Quit: mareskeg) 2018-02-22T20:48:14Z lnostdal joined #lisp 2018-02-22T20:48:30Z scymtym__ quit (Ping timeout: 265 seconds) 2018-02-22T20:49:03Z attila_lendvai joined #lisp 2018-02-22T20:49:03Z attila_lendvai quit (Changing host) 2018-02-22T20:49:03Z attila_lendvai joined #lisp 2018-02-22T20:50:15Z haruka1 quit (Ping timeout: 255 seconds) 2018-02-22T20:51:10Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-22T20:51:49Z Bike: Is an implementation allowed to define documentation for things automatically if the user doesn't? 2018-02-22T20:52:12Z Bike: like for example, (defun foo (a b) ...), and then (documentation 'foo 'function) => "Function FOO (a b)" or something. 2018-02-22T20:53:10Z haruka joined #lisp 2018-02-22T20:53:31Z smasta joined #lisp 2018-02-22T20:53:41Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-02-22T20:54:01Z Karl_Dscc joined #lisp 2018-02-22T20:54:34Z phoe: Bike: the standard does not specify this. 2018-02-22T20:54:41Z lnostdal quit (Ping timeout: 255 seconds) 2018-02-22T20:54:57Z fikka quit (Ping timeout: 248 seconds) 2018-02-22T20:55:04Z phoe: An implementation may drop docstrings at any time... but the spec is silent about the implementation *supplying* them at any time. 2018-02-22T20:55:48Z SamSkulls joined #lisp 2018-02-22T20:56:18Z pjb: it may supply them thru the documentation accessor. See also description 2018-02-22T20:56:34Z phoe: I believe that your implementation may call #'(SETF DOCUMENTATION) as a part of its DEFUN, DEFVAR, DEFGENERIC, ... with default values if no user-provided value is specified. 2018-02-22T20:56:43Z combo1611 joined #lisp 2018-02-22T20:56:44Z pjb: Bike: notice that documentation is an accessor. 2018-02-22T20:56:59Z phoe: oh wait. 2018-02-22T20:57:03Z phoe: it doesn't need to set anything. 2018-02-22T20:57:22Z phoe: the accessor itself might decide to resort to some kind of default value when there is no user-specified documentation set. 2018-02-22T20:57:37Z jasom: aha, I found the bug in klacks. Bindings get pushed on to a stack, but never popped. 2018-02-22T20:57:39Z jasom: one line fix 2018-02-22T20:58:07Z smasta quit (Ping timeout: 248 seconds) 2018-02-22T20:59:05Z jasom: Xach: here's a pie-in-the-sky feature request: a single command to generate a diff from what is currently in the directory for a project from what QL would put there if downloading it fresh 2018-02-22T20:59:32Z jasom: so when I do M-., fix bug, test I can generate a patch automagically 2018-02-22T20:59:48Z fikka joined #lisp 2018-02-22T20:59:54Z pjb: For used defined objects, I feel that if the user didn't specify a documentation then documentation should return nil. 2018-02-22T21:00:02Z shrdlu68 quit (Ping timeout: 260 seconds) 2018-02-22T21:00:54Z shrdlu68 joined #lisp 2018-02-22T21:01:18Z damke_ joined #lisp 2018-02-22T21:02:01Z jasom: Bike: usually implementations show what you suggest with DESCRIBE not with DOCUMENTATION 2018-02-22T21:02:34Z Bike: that's why i'm wondering, as it happens 2018-02-22T21:02:45Z attila_lendvai joined #lisp 2018-02-22T21:03:01Z Bike: whether i can avoid having another slot in the environment by putting it in the docstring instead 2018-02-22T21:03:31Z pjb: You would have to compute it anyways? Why not compute it from describe? 2018-02-22T21:03:52Z Achylles joined #lisp 2018-02-22T21:03:57Z damke quit (Ping timeout: 264 seconds) 2018-02-22T21:04:59Z Bike: Compute it based on what information, though. 2018-02-22T21:05:11Z jasom: function-lambda-expression ? 2018-02-22T21:05:49Z Bike: that means storing the lambda list in the function object. which is fine. 2018-02-22T21:06:02Z Bike: but there's also deftype and defstruct and such. 2018-02-22T21:07:05Z lnostdal joined #lisp 2018-02-22T21:07:20Z attila_lendvai quit (Ping timeout: 255 seconds) 2018-02-22T21:07:45Z jasom: well you'll need to know the names of function slots and such for debugging, right? 2018-02-22T21:07:55Z pagnol joined #lisp 2018-02-22T21:08:08Z Bike: What? 2018-02-22T21:08:31Z pagnol: larsen, hi there! 2018-02-22T21:10:04Z bjorkintosh joined #lisp 2018-02-22T21:10:35Z Shinmera: jmercouris: There's always http://irclog.tymoon.eu for logs too 2018-02-22T21:11:09Z Shinmera: jasom: Does plump get it wrong? 2018-02-22T21:12:46Z smasta joined #lisp 2018-02-22T21:13:08Z smurfrobot joined #lisp 2018-02-22T21:13:29Z CrazyMonkey201 quit (Quit: Leaving.) 2018-02-22T21:16:12Z orivej joined #lisp 2018-02-22T21:17:14Z stacksmith joined #lisp 2018-02-22T21:17:26Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-02-22T21:17:27Z mishoo quit (Ping timeout: 240 seconds) 2018-02-22T21:18:11Z smurfrobot quit (Ping timeout: 268 seconds) 2018-02-22T21:19:54Z JenElizabeth joined #lisp 2018-02-22T21:21:21Z quazimodo quit (Ping timeout: 256 seconds) 2018-02-22T21:21:58Z smurfrobot joined #lisp 2018-02-22T21:23:09Z jmercouris quit (Ping timeout: 264 seconds) 2018-02-22T21:23:47Z vlatkoB quit (Read error: Connection reset by peer) 2018-02-22T21:25:08Z attila_lendvai joined #lisp 2018-02-22T21:26:25Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-22T21:27:09Z combo1611: Having troubles installing Alegro CL on Ubuntu. bunzip2 is loaded and is extracting, but even with sudo, I am getting mkdir permission denied error. 2018-02-22T21:31:09Z fe[nl]ix: sigjuice: I was experimenting with outputting C++ files instead of C 2018-02-22T21:31:15Z fe[nl]ix: I should merge that into CFFI 2018-02-22T21:33:36Z phoe: combo1611: you should ask on the Franz support forums. #lisp@freenode is mostly about FOSS Lisp implementations. 2018-02-22T21:34:03Z phoe: Franz websites should be able to help you better - there'll be more ACL users there. 2018-02-22T21:35:39Z rippa joined #lisp 2018-02-22T21:36:04Z fikka quit (Ping timeout: 268 seconds) 2018-02-22T21:36:05Z borei quit (Quit: Leaving.) 2018-02-22T21:36:55Z combo1611: Oh, I'm not sure I even want Alegro, then. I'll search this FOSS term, thank you. 2018-02-22T21:37:33Z phoe: combo1611: go grab yourself a SBCL. 2018-02-22T21:37:57Z combo1611: ha 2018-02-22T21:38:00Z phoe: FOSS means "free and open source software". 2018-02-22T21:38:07Z combo1611: sbcl? 2018-02-22T21:38:26Z phoe: Steel Bank Common Lisp, a Common Lisp implementation that is open source and put in the public domain. 2018-02-22T21:38:40Z phoe: Used pretty often around here. 2018-02-22T21:38:45Z combo1611: Oh, I thought it was a joke. Heh. 2018-02-22T21:38:50Z combo1611: Alright, thanks! 2018-02-22T21:38:51Z phoe: Nope. (: 2018-02-22T21:44:30Z aeth: I would recommend trying SBCL, CCL, and ECL in that order, which is also the order of popularity on Quicklisp when you skip CLISP (no stable release in nearly 8 years!), ABCL (the JVM is in its own world), and the commercial implementations (LispWorks and Allegro). http://blog.quicklisp.org/2018/02/quicklisp-implementation-stats-for-2017.html 2018-02-22T21:44:41Z EvW quit (Ping timeout: 255 seconds) 2018-02-22T21:45:06Z jmercouris joined #lisp 2018-02-22T21:45:15Z jmercouris: Shinmera: so many tymoon services of your own, do you enjoy making them? 2018-02-22T21:45:36Z Shinmera: Sometimes. 2018-02-22T21:45:50Z Shinmera: Mostly I do things because I don't like what's out there. 2018-02-22T21:45:55Z jmercouris: did you write the IRC logger? 2018-02-22T21:46:00Z Shinmera: Not just for my webservices, just in general 2018-02-22T21:46:02Z Shinmera: Yes 2018-02-22T21:46:29Z jmercouris: I see, so that's probably why you like Lisp 2018-02-22T21:46:34Z jmercouris: or at least a part of it 2018-02-22T21:46:55Z Shinmera: :shrug: 2018-02-22T21:47:20Z jmercouris: what do you use for provisioning your VMs? 2018-02-22T21:47:25Z jmercouris: do you set them up manually? 2018-02-22T21:47:31Z Shinmera: Which VMs? 2018-02-22T21:48:24Z jmercouris: are your servers bare metal? 2018-02-22T21:48:41Z jmercouris: I assumed you were running some VPS type deal for *.tymoon.eu 2018-02-22T21:49:00Z combo1611: aeth: Thanks! 2018-02-22T21:49:00Z Shinmera: I own a root server, which is set up with several lxc containers. But this is getting offtopic. 2018-02-22T21:51:38Z EvW joined #lisp 2018-02-22T21:51:54Z scymtym joined #lisp 2018-02-22T21:54:29Z combo1611: If I'm running Kubuntu, do I download Linux or Debian GNU architecture for SBCL? 2018-02-22T21:55:57Z combo1611: Nermind, I think that is a silly question. I guess I'm just thrown off by the newest version not available for Debian. 2018-02-22T21:56:28Z Bike: do you mean "Debian GNU/kFreeBSD" 2018-02-22T21:56:41Z combo1611: It included that yes. 2018-02-22T21:56:51Z jmercouris: combo1611: apt-get install sbcl 2018-02-22T21:57:13Z Bike: because the FreeBSD part indicates a different kernel and shouldn't be elided 2018-02-22T21:57:56Z phoe: combo1611: depends on which debian you use 2018-02-22T21:58:06Z phoe: if you want to go for sid, it should already have a decently new SBCL. 2018-02-22T21:58:11Z phoe: at least 1.4.3 from what I last checked. 2018-02-22T22:01:02Z knicklux quit (Remote host closed the connection) 2018-02-22T22:01:29Z fikka joined #lisp 2018-02-22T22:04:14Z igemnace joined #lisp 2018-02-22T22:04:19Z smasta quit (Ping timeout: 260 seconds) 2018-02-22T22:04:43Z combo1611: What is the name of the shell to put in Bash? 2018-02-22T22:05:15Z whoman joined #lisp 2018-02-22T22:05:28Z aeth: in 1.4.3: "bug fix: fixed heap exhaustion bug when consing millions of small objects" <- I think I might have encountered this before 2018-02-22T22:05:41Z jmercouris: combo1611: what? what is the question? 2018-02-22T22:06:21Z phoe: combo1611: what do you mean, name of the shell to put in bash? 2018-02-22T22:06:46Z combo1611: What do I type into bash to get the REPL? 2018-02-22T22:06:52Z phoe: `sbcl` 2018-02-22T22:06:56Z phoe: without the `s 2018-02-22T22:06:57Z attila_lendvai quit (Ping timeout: 264 seconds) 2018-02-22T22:07:01Z combo1611: heh, thanks! 2018-02-22T22:07:05Z phoe: but don't really depend on the bash REPL. 2018-02-22T22:07:13Z whoman quit (Client Quit) 2018-02-22T22:07:13Z combo1611: Yay! 2018-02-22T22:07:14Z phoe: go for an emacs+slime+quicklisp setup. 2018-02-22T22:07:22Z combo1611: Roger that! 2018-02-22T22:07:25Z phoe: it'll be *much* *much* *much* nicer to use. 2018-02-22T22:07:28Z whoman joined #lisp 2018-02-22T22:07:45Z phoe: if you're up for a ride, install spacemacs with a common-lisp layer. 2018-02-22T22:08:01Z phoe: it's an emacs distribution that integrates a lot of things. 2018-02-22T22:08:07Z combo1611: So I've read. I love me my Emacs. What a wonderful program. 2018-02-22T22:08:36Z combo1611: Alright. Thank you. 2018-02-22T22:08:57Z phoe: Oh. 2018-02-22T22:09:11Z phoe: If you're already an emacs user, then you might prefer to set up your own environment from bits and pieces. 2018-02-22T22:09:57Z combo1611: I don't know it well enough to have customized much. 2018-02-22T22:10:05Z csaurus quit (Ping timeout: 256 seconds) 2018-02-22T22:10:12Z phoe: then backup your ~/.emacs.d and try spacemacs. 2018-02-22T22:10:24Z combo1611: spacemacs is for VIM users, eh? 2018-02-22T22:10:25Z whoman: isnt spacemacs like vim ? 2018-02-22T22:10:38Z phoe: not really 2018-02-22T22:10:51Z phoe: it started as a distribution for VIMers who were trying to get over to emacs 2018-02-22T22:10:55Z combo1611: Heh. I'll watch this video about it later. 2018-02-22T22:10:57Z whoman: where's the one for emacs users that's more like emacs 2018-02-22T22:11:02Z dieggsy joined #lisp 2018-02-22T22:11:06Z phoe: but I have 0% vim background and I learned to use and like it. 2018-02-22T22:11:14Z phoe: ...well, okay, 1%, I know :wq 2018-02-22T22:11:19Z whoman: that could be said for learning VIM itself, phoe . 2018-02-22T22:11:29Z combo1611: I want to get to this REPL, go back in the book, and redo all I've read. 2018-02-22T22:11:49Z whoman: install slime, paredit, good to go 2018-02-22T22:11:53Z phoe: combo1611: you have one more option, Portacle. 2018-02-22T22:11:57Z phoe: which is Lisp-in-a-box. 2018-02-22T22:11:59Z shifty joined #lisp 2018-02-22T22:12:10Z phoe: download, run, you have a preconfigured Emacs+Slime+SBCL+Quicklisp+Git. 2018-02-22T22:12:12Z jmercouris: phoe: I think something like portacle is much more suited 2018-02-22T22:12:26Z jmercouris: or even that may be too much, maybe a lispworks trial ide 2018-02-22T22:12:36Z phoe: I don't do lispworks. :P 2018-02-22T22:12:51Z combo1611: Mmm, I'll probably stick with the method in Practical CL -- besides the Allegro part. 2018-02-22T22:13:15Z jmercouris: There's no requirement to use allegro from PCL 2018-02-22T22:13:30Z combo1611: It's not required. He just used it. 2018-02-22T22:13:46Z combo1611: phoe: I see. That does sound like a nice download to have all that. Very helpful. 2018-02-22T22:13:57Z Shinmera: if I remember correctly PCL wants you to use lispbox, which is outdated and has been superseded by Portacle 2018-02-22T22:14:05Z jmercouris: you are remembering correctly 2018-02-22T22:14:13Z whoman: what about Lisptick ? 2018-02-22T22:14:17Z phoe: yes, lispbox is ancient. so is lispstick. 2018-02-22T22:14:23Z combo1611: Shinmera: He described it as "lisp in a box", I believe. 2018-02-22T22:14:28Z whoman: such a good name. needs resurrecting 2018-02-22T22:14:36Z Shinmera: whoman: lispstick is also superseded by Portacle 2018-02-22T22:14:53Z whoman: yeh i've already replied with that knowledge 2018-02-22T22:15:20Z jmercouris: whoman: I just looked through the logs, I don't see that anywhere 2018-02-22T22:15:53Z whoman: resurrecting the name lisptick , right after phoe said its ancient 2018-02-22T22:16:00Z whoman: hm. 2018-02-22T22:16:33Z shifty quit (Ping timeout: 248 seconds) 2018-02-22T22:21:01Z attila_lendvai joined #lisp 2018-02-22T22:27:05Z Murii quit (Ping timeout: 240 seconds) 2018-02-22T22:31:20Z Amplituhedron joined #lisp 2018-02-22T22:31:50Z combo1611: Dang! What a slick install Portacle was. SBCL was also very easy. Bravo CL community. 2018-02-22T22:32:31Z combo1611: Sadly, I must now go do some errands. Thanks for all the help, #cl. 2018-02-22T22:32:34Z phoe: Portacle doesn't need an external SBCL 2018-02-22T22:32:34Z whoman: hehe. i've been trying to install ghc/haskell since last night 2018-02-22T22:32:37Z phoe: it bundles its own one 2018-02-22T22:32:43Z combo1611: err.. you know #lisp 2018-02-22T22:32:58Z whoman: i think he meant the one that comes inside it. 2018-02-22T22:33:22Z Shinmera: combo1611: Glad to hear! :) 2018-02-22T22:33:30Z combo1611: Installs have always been tough for me. I'm starting to get the hang of tarballs. 2018-02-22T22:33:36Z Shinmera likes hearing bravos 2018-02-22T22:33:39Z combo1611: Bye! 2018-02-22T22:33:44Z combo1611: Heh 2018-02-22T22:33:45Z combo1611 quit (Quit: Konversation terminated!) 2018-02-22T22:34:11Z whoman: tarballs are the easiest since two decades yet =) 2018-02-22T22:34:19Z whoman: all these installers and managers and builders agh 2018-02-22T22:34:25Z jmercouris: yeah, just use the very obvious flags -zxvf 2018-02-22T22:34:29Z whoman: yes 2018-02-22T22:34:42Z jmercouris: I can't imagine what it is like getting into Linux as a new user 2018-02-22T22:34:45Z jmercouris: must be a nightmare 2018-02-22T22:34:46Z whoman: and some autogen if its real involved, which is super trivial 2018-02-22T22:34:53Z jmercouris: "trivial" and "always" works 2018-02-22T22:35:10Z whoman: hehe. but a good nightmare for tinkering hobbyist nerds 2018-02-22T22:35:28Z Achylles quit (Ping timeout: 256 seconds) 2018-02-22T22:35:38Z whoman: sometimes it feels that the software we made to help us version stuff is when versioning became a problem 2018-02-22T22:35:42Z __rumbler31 quit (Ping timeout: 260 seconds) 2018-02-22T22:36:49Z Bike quit (Ping timeout: 260 seconds) 2018-02-22T22:37:06Z sz0 quit (Quit: Connection closed for inactivity) 2018-02-22T22:37:44Z lnostdal quit (Ping timeout: 255 seconds) 2018-02-22T22:38:10Z lnostdal joined #lisp 2018-02-22T22:39:34Z Karl_Dscc quit (Remote host closed the connection) 2018-02-22T22:41:41Z Lycurgus quit (Quit: Ex Chat) 2018-02-22T22:44:04Z shoogz quit (Quit: shoogz out) 2018-02-22T22:48:20Z Achylles joined #lisp 2018-02-22T22:50:41Z comborico quit (Ping timeout: 255 seconds) 2018-02-22T23:01:49Z jstypo joined #lisp 2018-02-22T23:02:05Z damke joined #lisp 2018-02-22T23:04:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-22T23:04:39Z quazimodo joined #lisp 2018-02-22T23:07:11Z attila_lendvai quit (Ping timeout: 248 seconds) 2018-02-22T23:07:56Z arrsim quit (Ping timeout: 252 seconds) 2018-02-22T23:08:29Z arrsim joined #lisp 2018-02-22T23:10:29Z learning: do you guys have any js irc channels, forums, or communites you'd recommend? 2018-02-22T23:10:46Z jmercouris: learning: I imagine most JS stuff is done in slack or discord 2018-02-22T23:11:00Z Shinmera: I recommend not doing JS if possible, so the answer is none :^) 2018-02-22T23:11:10Z Shinmera: (Besides being off-topic) 2018-02-22T23:11:20Z learning: dont we all have to use js lol 2018-02-22T23:11:27Z learning: that's interesting 2018-02-22T23:11:36Z dTal: the JS people probably talk on some flashy web-based thing that uses 80% of your CPU and will be broken in 6 months 2018-02-22T23:11:36Z learning: damn kids and their discord 2018-02-22T23:11:37Z jmercouris: no, we can use parenscript :D 2018-02-22T23:12:03Z learning: XD 2018-02-22T23:12:13Z motersen joined #lisp 2018-02-22T23:12:15Z tankrim quit (Remote host closed the connection) 2018-02-22T23:12:26Z Shinmera: parenscript is just JS in disguse. Don't fall for its trickery! 2018-02-22T23:12:54Z jmercouris: yeah it is... 2018-02-22T23:13:34Z dTal: the idea that javascript, an admittedly impressive 3-week hack from someone who was told "Java" and wanted "Scheme", could actually be a serious programming language decades later, is a sign of computing culture's completely bankrupt engineering philosophy 2018-02-22T23:14:08Z phoe: #lispcafe 2018-02-22T23:14:28Z jmercouris: I think we should encourage off topic conversation, it's part of keeping the community healthy and alive 2018-02-22T23:14:49Z Shinmera: This channel is more than alive enough without o/t 2018-02-22T23:14:53Z phoe: we encourage it 2018-02-22T23:14:56Z phoe: that's why #lispcafe exists 2018-02-22T23:15:06Z jmercouris: Yeah, nobody is on that channel, no need to fragment things 2018-02-22T23:15:11Z dTal: remember when we all collectively regarded javascript accurately? When we are all like "oh, that warty language that runs in web browsers"? Remember that? 2018-02-22T23:15:17Z jmercouris: if someone wishes to find a snippet of information, they can easily search 2018-02-22T23:15:30Z phoe: jmercouris: if someone wants to listen to offtopic, they join #lispcafe. 2018-02-22T23:15:34Z phoe: if they don't, then they don't. 2018-02-22T23:15:36Z Shinmera: dTal: And then you remember CSS was going to be Lisp at some point too. 2018-02-22T23:15:45Z jmercouris: Ah yes, the day that never came 2018-02-22T23:15:50Z smasta joined #lisp 2018-02-22T23:16:11Z learning: dTal it's more that it's just that programming is really new 2018-02-22T23:16:23Z jmercouris: programming is over 50 years old 2018-02-22T23:16:38Z pjb: Yeah, a tad over 50 years old… 2018-02-22T23:16:39Z dTal: and it used to be better! 2018-02-22T23:16:39Z learning: that's really really new compared to math 2018-02-22T23:16:44Z dTal waves a stick 2018-02-22T23:16:52Z Naergon quit (Remote host closed the connection) 2018-02-22T23:17:10Z jmercouris: also programming the way we know it, interactively, is I guess much newer- to be fair 2018-02-22T23:17:11Z learning: plus you got 75% of people who will say two lines are the same length if everyone else does first. and those 75% of people will defend bad design. 2018-02-22T23:17:22Z Bike joined #lisp 2018-02-22T23:17:25Z dTal: Or rather, history is filled with languages that, while not perfect, were clearly on the right track, and were then completely abandoned 2018-02-22T23:17:41Z learning: the interface to programming makes no god damned sense 2018-02-22T23:17:46Z oleo quit (Quit: Leaving) 2018-02-22T23:17:46Z learning: no user would ever put up with that interface 2018-02-22T23:17:48Z pjb: jmercouris: officially, it's Ada Lovelace who was the first programmer (1842/43). 2018-02-22T23:17:53Z jmercouris: learning: what? how so? 2018-02-22T23:18:01Z jmercouris: pjb: "officially", there is no authority 2018-02-22T23:18:04Z dTal: learning: the dichotomy between "user" and "programmer" is itself the enemy 2018-02-22T23:18:10Z learning: if you released a program that had a UI as bad as programming no one would use your program 2018-02-22T23:18:34Z learning: yeah, just type the command to go to that link 2018-02-22T23:18:39Z pjb: jmercouris: sure, theres even a day of the year for her: https://www.daysoftheyear.com/days/ada-lovelace-day/ 2018-02-22T23:18:40Z learning: oh yeah, you didn't spell it right 2018-02-22T23:18:42Z learning: try it again 2018-02-22T23:18:42Z Naergon joined #lisp 2018-02-22T23:19:03Z dTal: learning: that, and a great many other programming annoyances, are solved problems 2018-02-22T23:19:16Z dTal: the solutions to which are ignored 2018-02-22T23:19:26Z learning: have you seen inventing on principle? 2018-02-22T23:19:36Z whoman: parenscript ! 2018-02-22T23:19:40Z learning: completely agreed, but i think its just because programming is new 2018-02-22T23:19:45Z whoman: needs elisp port. 2018-02-22T23:19:53Z dTal: the trouble is that the computing world does not regard ergonomics a top priority, and programming barely regards it at all 2018-02-22T23:20:15Z learning: this guy gets it: https://vimeo.com/36579366 2018-02-22T23:20:17Z whoman: we come from hobbyist nerd shops, its a boys club, its not meant to be pretty 2018-02-22T23:20:33Z dTal: hell, Python invented the revolutionary idea that maybe a language shouldn't totally suck to use, and look at it now even though it's slow and warty and unprincipled 2018-02-22T23:20:42Z learning: nerds make all of the coolest shit. 2018-02-22T23:20:48Z jdz quit (Ping timeout: 256 seconds) 2018-02-22T23:20:49Z learning: i dont buy into that 2018-02-22T23:20:52Z Tobbi quit (Read error: Connection reset by peer) 2018-02-22T23:20:53Z whoman: dTal: um BASIC 2018-02-22T23:21:21Z learning: python is really interesting 2018-02-22T23:21:27Z whoman: learning: wait what ? lol. 2018-02-22T23:21:29Z dTal: whoman: is the predecessor, yes, and was also incredibly popular 2018-02-22T23:21:32Z learning: you're never going to beat the familiarity of x = 5 2018-02-22T23:21:36Z Tobbi joined #lisp 2018-02-22T23:21:46Z learning: anyone can look at that and know what it means 2018-02-22T23:21:47Z whoman: what about 5 = x 2018-02-22T23:21:51Z dTal: I loved BASIC when I was starting out, though I find it hilariously limiting now 2018-02-22T23:21:53Z pjb: dTal: Python sucks big time. 2018-02-22T23:21:57Z attila_lendvai joined #lisp 2018-02-22T23:22:16Z learning: you can do it lisp, but we dont. for good reasons, but you can't discount the value of familarity and simplicity in python 2018-02-22T23:22:20Z dTal: now Python pisses me off tremendously but it's almost always the path of least resistance 2018-02-22T23:22:20Z pjb: Indeed, you'd go at least as far as Basic to find a language that sucks as much as Python. 2018-02-22T23:22:22Z whoman: about "nerds make the coolest shit" - no one is selling that. just saying that if you want ergo, pay money 2018-02-22T23:22:39Z whoman: hobbyist == free time. nerd shops == interest groups. 2018-02-22T23:22:41Z pjb: Granted, there was worse, like perl. 2018-02-22T23:22:58Z learning: those are the same people who made all the video games dude 2018-02-22T23:23:04Z whoman: yes exactly. 2018-02-22T23:23:07Z dTal: Python sucks and does not suck. You have to admit it does something right, or it would not be so popular. 2018-02-22T23:23:17Z dTal: (Hint: it's the same thing Lisp gets wrong_ 2018-02-22T23:23:22Z pjb: But it wasn't worth the pain to make a new language and a whole new ecosystem to such that much really! What a shame. Even Ruby which sucks a lot, sucks way less than Python! 2018-02-22T23:23:23Z oleo joined #lisp 2018-02-22T23:23:26Z whoman: video games arent exactly "the coolest shiz" after reaching a certain level of maturity 2018-02-22T23:23:36Z learning: well i think part of being a lisper is looking at other languages for inspriation because you know you can do it in yours 2018-02-22T23:23:40Z pjb: dTal: McDonalds and shit is popular too. 2018-02-22T23:23:49Z pjb: 500 billion flies can't be wrong! 2018-02-22T23:23:55Z whoman: =P 2018-02-22T23:24:05Z dTal: that's undisguised elitism 2018-02-22T23:24:15Z learning: i haven't used ruby since i learned lisp 2018-02-22T23:24:23Z learning: i bet it would be a breath of fresh air compared to js and python 2018-02-22T23:24:25Z pjb: the social problem of lisp is that way => (google it!) 2018-02-22T23:24:29Z _death: oh, you learned lisp? 2018-02-22T23:24:29Z smurfrobot joined #lisp 2018-02-22T23:24:34Z whoman: in bible times babylon worshipped 'baal' aka "the lord of the flies" because their "sacrifices" (garbage) would be accepted based on flies/maggots/etc 2018-02-22T23:24:39Z learning: learning lol 2018-02-22T23:24:44Z whoman: heh 2018-02-22T23:25:11Z whoman: observing the last couple of months, i think lisp promotes being social, at least online. i dont think that is a "problem 2018-02-22T23:25:21Z pjb: Those languages, ruby, python, clojures, etc, are just me-too languages that have had success. 2018-02-22T23:25:23Z whoman: " whereas JS or python devs kind of are in healthy competition 2018-02-22T23:25:33Z pjb: Thanks to the Internet. Without Internet, they would have remained me-too languages. 2018-02-22T23:25:41Z learning: me-too languages lol 2018-02-22T23:25:52Z whoman: the more "ego-centric" or "ego-filled" languages are easier for the flies to be attracted to and identify with. 2018-02-22T23:26:15Z whoman: if your whole town is cheering for a sports team, what will you do? 2018-02-22T23:26:25Z attila_lendvai quit (Ping timeout: 248 seconds) 2018-02-22T23:26:29Z whoman: be an alien, exiled? =) 2018-02-22T23:26:40Z dTal: whoman: social in the sense of talking about Lisp, but not neccesarily in the sense of writing code that works together 2018-02-22T23:26:40Z pjb: whoman: I flee! 2018-02-22T23:26:43Z jdz joined #lisp 2018-02-22T23:26:51Z whoman: sometimes it doesnt matter if the team loses or wins. its about togetherness ^_^ 2018-02-22T23:27:14Z whoman: dTal: oh! definately agree, then. its way out of balance in that regard/respect =) 2018-02-22T23:27:27Z learning: i think we write quite a bit of code if you think of how many of us there are 2018-02-22T23:27:38Z learning: what are there 1,000 lispers in the world? 2018-02-22T23:27:45Z dTal: A big problem in the programming language world is how fans of a language embrace their chosen language's shitty parts in a tribalistic way 2018-02-22T23:27:47Z pjb: Probably a little more. 2018-02-22T23:27:53Z whoman: another good point; but crowds are indeed a force to be reckoned w/ 2018-02-22T23:27:57Z dTal: possibly the biggest problem 2018-02-22T23:27:59Z pjb: But that's about the order of magnitude I would say. 2018-02-22T23:28:10Z learning: ye 2018-02-22T23:28:12Z whoman: dTal: they were conditioned to believe that way, i think =) 2018-02-22T23:28:13Z learning: maybe 10,000 2018-02-22T23:28:44Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-22T23:28:45Z pjb: Not at a given time. But this may be the number programmer who have used lisp seriously at one time or another. 2018-02-22T23:28:58Z pjb: (professionnaly or not). 2018-02-22T23:29:10Z whoman: for myself personally, i like to draw the parallel of the meditating and chanting monks of the world -- compared to 'regular' people -- righteousness is more concentrated or whatever, but i like to think it holds up the world. 2018-02-22T23:29:10Z dTal: For example APL variants should be vastly more influential than they are. They aren't because APL fans are addicted to unreadable syntax. It makes them feel clever. 2018-02-22T23:30:06Z pillton: The biggest problem in the programming language world is that the runtime environments don't compose. This causes this conversation to occur over and over again. 2018-02-22T23:30:10Z _death: why not concentrate on languages instead of people 2018-02-22T23:30:10Z pjb: However unicode should help APL, recentering on the glyp-based notation. J was really to wild for me. :-) 2018-02-22T23:30:11Z whoman: dTal: people get that way with spoken language too. i see it often, where a person excludes themselves further from their immediate family/neighborhood/culture by using more private and meaningful-only-to-me language 2018-02-22T23:30:20Z whoman: _death =) 2018-02-22T23:30:54Z dTal: Lisp fans defend cdaddr and caddar and cddddr and caaddr 2018-02-22T23:31:24Z phoe: I don't defend them 2018-02-22T23:31:34Z whoman: ur not a fan 2018-02-22T23:31:37Z phoe: They serve a good function - shortcuts for quick, hacky code. 2018-02-22T23:31:52Z dTal: pillton: Racket seems like the best effort in that direction 2018-02-22T23:31:54Z _death: dTal: are you a Lisp fan 2018-02-22T23:32:01Z phoe: In production code, they are meant to be eliminated, and the people who put them in there are meant to be shot. 2018-02-22T23:32:26Z dTal: _death: you got me, I'm a fan of many aspects of Lisp but I'd hate to use it for my daily work 2018-02-22T23:32:34Z jmercouris quit (Ping timeout: 256 seconds) 2018-02-22T23:32:40Z whoman: maybe its like religion - we serve a higher purpose, whatever that is. stepping back from our personal persuits - for sports fanatics, wearing their team's color, i wonder how many decide its their favorite color(s), or wear them despite/inspite of? 2018-02-22T23:33:17Z phoe: geez, now this is 100% lispcafe discussion 2018-02-22T23:33:20Z _death: dTal: ok, then understand that you're an outlier here 2018-02-22T23:33:34Z dTal: don't get me wrong 2018-02-22T23:33:41Z dTal: My perfect language would be something like Axiom - a strongly typed, highly symbolic, syntax-heavy language written in Lisp 2018-02-22T23:33:51Z whoman: link 2018-02-22T23:34:12Z dTal: Lisp, or something very like it, should definitely be the implementation language for everything else 2018-02-22T23:34:23Z dTal: the Racket guys get it 2018-02-22T23:34:47Z whoman: depends what it is, i think; languages are tendencies toward certain mental concepts 2018-02-22T23:34:56Z whoman: ie. erlang made from prolog 2018-02-22T23:35:07Z whoman: ocaml from [s]ml 2018-02-22T23:35:20Z dTal: whoman: the most maintained Axiom fork is FriCAS: fricas.sourceforge.net 2018-02-22T23:36:24Z pillton: dTal: There has to be a common binary calling convention. 2018-02-22T23:36:57Z whoman: dTal: ok i believe you, cant search for examples right now - looked at the API, seems cool. makes me think of Clean/Curry/Mercury/Coq 2018-02-22T23:37:37Z whoman: pillton: pillton asm exec? =) 2018-02-22T23:39:42Z Tobbi quit (Quit: Leaving) 2018-02-22T23:40:05Z whoman quit (Read error: No route to host) 2018-02-22T23:41:02Z whoman joined #lisp 2018-02-22T23:41:19Z motersen quit (Ping timeout: 248 seconds) 2018-02-22T23:42:11Z pierpa joined #lisp 2018-02-22T23:43:32Z attila_lendvai joined #lisp 2018-02-22T23:43:32Z attila_lendvai quit (Changing host) 2018-02-22T23:43:32Z attila_lendvai joined #lisp 2018-02-22T23:44:32Z comborico1611 joined #lisp 2018-02-22T23:46:00Z jtroseme joined #lisp 2018-02-22T23:46:01Z wheelsucker joined #lisp 2018-02-22T23:49:11Z Tobbi joined #lisp 2018-02-22T23:51:35Z attila_lendvai quit (Ping timeout: 240 seconds) 2018-02-22T23:52:02Z comborico1611 quit (Quit: comborico1611) 2018-02-22T23:52:20Z wheelsucker quit (Remote host closed the connection) 2018-02-22T23:52:46Z comborico1611 joined #lisp 2018-02-22T23:52:50Z comborico joined #lisp 2018-02-22T23:54:29Z smurfrobot joined #lisp 2018-02-22T23:54:51Z z3t0 joined #lisp 2018-02-22T23:56:50Z pfdietz: sbcl, abcl, and ecl support package local nicknames. cmucl, ccl, and clisp do not. I don't know about Allegro CL or Lispworks. 2018-02-22T23:56:52Z haruka quit (Remote host closed the connection) 2018-02-22T23:57:11Z jtroseme quit (Remote host closed the connection) 2018-02-22T23:57:59Z jtroseme joined #lisp 2018-02-22T23:58:30Z pillton: whoman dTal: There is precedent here with COM. The fundamentals of COM are incredibly simple. The COM specification did give rise to a marketplace of language independent components. I don't know why people stopped using those fundamentals. 2018-02-22T23:58:57Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-22T23:59:10Z whoman: pillton: heh, i tried some COM stuff, it seemed very complex; idl interface files and whatnot 2018-02-22T23:59:15Z whoman: then there's CORBA ... 2018-02-22T23:59:59Z _death: pillton: I guess because they're satisfied with http or message queues nowadays.. 2018-02-23T00:00:04Z papachan quit (Quit: WeeChat 2.0.1) 2018-02-23T00:00:05Z pillton: whoman: Like I said, the fundamentals are very simple. You are talking about something higher level. 2018-02-23T00:00:11Z wxie joined #lisp 2018-02-23T00:00:45Z whoman: where what? i was commenting on your words though 2018-02-23T00:01:38Z pillton: whoman: "IDL interface files". You don't need IDL interface files to understand the fundamentals of COM. 2018-02-23T00:02:42Z whoman: alright... 2018-02-23T00:02:55Z pfdietz: Technical churn like that is a way to get age discrimination without breaking the law. 2018-02-23T00:04:41Z pjb: In that case, it's not done on purpose. And it will end eventually. 2018-02-23T00:04:54Z pjb: The problem is the doubling of number of programmers every 5 years. 2018-02-23T00:05:17Z pjb: But as any exponential, this will end turning into a sigmoid and then it'll stabilize. 2018-02-23T00:05:35Z pjb: Of course, there's always the hope for singularity, to break any prediction. 2018-02-23T00:05:38Z haruka joined #lisp 2018-02-23T00:06:09Z pjb: In the mean-time it means that in practice, you always have half the programmers with less than 5 years experience, ie. half the programmers are always newbies. 2018-02-23T00:06:35Z attila_lendvai joined #lisp 2018-02-23T00:06:37Z comborico1611: I'm a newbie. 2018-02-23T00:06:40Z pjb: This is why you have so much new dumb technology, stuff like perl, python, ruby, node.js, etc. 2018-02-23T00:07:05Z comborico1611: I like Perl. 2018-02-23T00:07:09Z pjb: And cycles of course, since nothing really new has been invented in CS since the 60s. 2018-02-23T00:07:29Z comborico1611: Sigils? 2018-02-23T00:07:36Z pjb: basic. 2018-02-23T00:07:51Z comborico1611: Oh yeah? Hmm. 2018-02-23T00:07:58Z pjb: So the seasonned professional can avoid churn by realizing the spiral, and either follow the movement, or wait for the next cycle. :-) 2018-02-23T00:08:16Z pjb: comborico1611: yes. i$ = string, i% = integer, i# = file, etc. 2018-02-23T00:08:30Z pjb: yes, it was postfix sigils. No difference. 2018-02-23T00:08:40Z Tobbi quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-23T00:08:46Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T00:08:48Z pjb: And of course, shell $foo ${foo[@]}, etc. 2018-02-23T00:09:17Z markong quit (Ping timeout: 256 seconds) 2018-02-23T00:10:53Z comborico1611: Very knowledgeable. 2018-02-23T00:11:26Z fittestbits quit (Ping timeout: 276 seconds) 2018-02-23T00:11:42Z ludston_ joined #lisp 2018-02-23T00:11:54Z attila_lendvai joined #lisp 2018-02-23T00:12:14Z fouric: mfiano: sly is awesome so far and i love the layer 2018-02-23T00:12:15Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T00:12:19Z fouric: anything specific you wanted me to play around with? 2018-02-23T00:12:24Z _death: pjb: I found that many people assume you're either a web developer ("frontend or backend?") or a mobile developer ("android or ios?").. funny stuff 2018-02-23T00:13:03Z ludston quit (Ping timeout: 256 seconds) 2018-02-23T00:13:07Z pjb: :-) 2018-02-23T00:13:16Z mfiano: fouric: Nothing in general. Thanks for testing it out. 2018-02-23T00:13:31Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2018-02-23T00:14:50Z attila_lendvai joined #lisp 2018-02-23T00:14:51Z fouric: I'll poke you if I find issues or anything - I think that I'm just going to switch back to SLIME. 2018-02-23T00:15:01Z fouric might as well stay on 0.300 too 2018-02-23T00:15:14Z fouric: Thanks for assembling it! :) 2018-02-23T00:15:40Z fouric: PSA: mfiano's sly layer for spacemacs: https://github.com/mfiano/common-lisp-sly 2018-02-23T00:16:24Z mfiano: What is it missing that SLIME has for you? 2018-02-23T00:17:41Z fouric: Nothing, but that's more a product of me not ever having sat down and read through the slime documentation. 2018-02-23T00:18:11Z fouric: I mostly use C-c C-c and C-c C-z lol 2018-02-23T00:18:39Z LiamH quit (Quit: Leaving.) 2018-02-23T00:18:46Z _death: slime has documentation? :D .. well, I know it does.. and likely have read it when I started using it.. but the real documentation there is the source code 2018-02-23T00:18:58Z fouric: It *is*, yes 2018-02-23T00:19:04Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T00:19:06Z fouric: but source code requires a lot of mental effort to read 2018-02-23T00:19:21Z _death: pratice 2018-02-23T00:19:21Z mfiano: fouric: You can do the same with Sly. 2018-02-23T00:19:23Z fouric: the energy required to set up a mental representation of a non-trivial codebase is significant 2018-02-23T00:19:24Z _death: *practice 2018-02-23T00:19:25Z fouric: at least for me 2018-02-23T00:19:49Z fouric will practice eventually but won't have time for the next 5 months 2018-02-23T00:19:58Z _death: also, it's lisp.. so you can just evaluate things in the repl to get an intuitive feel 2018-02-23T00:20:35Z fouric: mfiano: I saw - your list of keybindings on your README.md is really nice :) 2018-02-23T00:20:50Z fouric: the official Sly docs list the keybindings for a default (un-evilified) setup 2018-02-23T00:21:14Z Kaisyu joined #lisp 2018-02-23T00:21:33Z attila_lendvai joined #lisp 2018-02-23T00:21:39Z fouric: _death: The SLIME client? Isn't that written in elisp? 2018-02-23T00:21:48Z _death: fouric: elisp is also lisp.. M-x ielm 2018-02-23T00:22:10Z mfiano: fouric: They are the same as the SLIME layer for the most part. You can also use Emacs style C-c C-c (not mentioned) 2018-02-23T00:23:11Z Amplituhedron quit (Ping timeout: 268 seconds) 2018-02-23T00:23:45Z juan-reynoso quit (Ping timeout: 264 seconds) 2018-02-23T00:24:16Z comborico1611 quit (Quit: Konversation terminated!) 2018-02-23T00:27:18Z Guest53399 quit (Read error: Connection reset by peer) 2018-02-23T00:27:25Z fouric: wat 2018-02-23T00:27:27Z nowhere_man joined #lisp 2018-02-23T00:27:35Z fouric: ok, i don't know what i'm so surprised by the emacs lisp repl 2018-02-23T00:27:51Z fouric: mfiano: ty ty 2018-02-23T00:28:18Z fouric: ty _death, that'll be helpful when i'm trying to fix my emacs configs in the future 2018-02-23T00:29:39Z _death: fouric: ;) 2018-02-23T00:32:02Z ludston_ quit (Read error: Connection reset by peer) 2018-02-23T00:32:02Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T00:32:03Z z3t0 quit (Remote host closed the connection) 2018-02-23T00:32:24Z smurfrobot joined #lisp 2018-02-23T00:32:38Z z3t0 joined #lisp 2018-02-23T00:32:53Z ludston joined #lisp 2018-02-23T00:33:32Z SuperJen joined #lisp 2018-02-23T00:33:50Z JenElizabeth quit (Read error: Connection reset by peer) 2018-02-23T00:34:09Z attila_lendvai joined #lisp 2018-02-23T00:34:09Z attila_lendvai quit (Changing host) 2018-02-23T00:34:09Z attila_lendvai joined #lisp 2018-02-23T00:37:25Z z3t0 quit (Ping timeout: 256 seconds) 2018-02-23T00:37:33Z python476 quit (Ping timeout: 264 seconds) 2018-02-23T00:40:32Z mfiano: fouric: What I mean to say is you aren't losing anything from the slime layer, only gaining 2018-02-23T00:40:32Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T00:41:01Z mfiano: Except for the things you said you don't use, like the slime sbprof contrib 2018-02-23T00:41:09Z pagnol quit (Ping timeout: 264 seconds) 2018-02-23T00:42:21Z fikka quit (Ping timeout: 264 seconds) 2018-02-23T00:43:46Z jasom: Shinmera: plump doesn't appear to support namespaces, so it can't even be wrong 2018-02-23T00:43:57Z attila_lendvai joined #lisp 2018-02-23T00:45:23Z Jesin quit (Quit: Leaving) 2018-02-23T00:46:06Z jasom: Shinmera: it looks like plump is for xml-ish documents rather than being a true xml parser 2018-02-23T00:48:08Z smurfrobot quit (Remote host closed the connection) 2018-02-23T00:49:52Z asarch joined #lisp 2018-02-23T00:53:13Z fouric: mfiano: :D 2018-02-23T01:00:03Z MetaYan: beach: trivial-garbage mystery solved. lispbuilder includes an old version of trivial-garbage. Having lisp-builder in local-projects caused that version to be used. 2018-02-23T01:00:57Z stacksmith quit (Ping timeout: 240 seconds) 2018-02-23T01:01:19Z haruka quit (Ping timeout: 248 seconds) 2018-02-23T01:01:41Z damke_ joined #lisp 2018-02-23T01:01:58Z MetaYan: beach: sorry, that was for phoe... 2018-02-23T01:02:00Z haruka joined #lisp 2018-02-23T01:02:32Z MetaYan: phoe: trivial-garbage mystery solved. lispbuilder includes an old version of trivial-garbage. Having lisp-builder in local-projects caused that version to be used. 2018-02-23T01:04:19Z capitaomorte joined #lisp 2018-02-23T01:04:33Z damke quit (Ping timeout: 264 seconds) 2018-02-23T01:05:41Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T01:06:19Z attila_lendvai joined #lisp 2018-02-23T01:06:19Z attila_lendvai quit (Changing host) 2018-02-23T01:06:19Z attila_lendvai joined #lisp 2018-02-23T01:08:00Z SuperJen quit (Read error: Connection reset by peer) 2018-02-23T01:08:14Z SuperJen joined #lisp 2018-02-23T01:08:27Z ``Erik quit (Ping timeout: 240 seconds) 2018-02-23T01:10:17Z EvW quit (Ping timeout: 260 seconds) 2018-02-23T01:10:36Z ``Erik joined #lisp 2018-02-23T01:12:13Z fikka joined #lisp 2018-02-23T01:14:41Z omilu quit (Ping timeout: 248 seconds) 2018-02-23T01:16:51Z whyNOP quit (Ping timeout: 268 seconds) 2018-02-23T01:18:04Z arescorpio joined #lisp 2018-02-23T01:22:00Z al-damiri quit (Quit: Connection closed for inactivity) 2018-02-23T01:22:11Z smurfrobot joined #lisp 2018-02-23T01:23:30Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T01:24:05Z attila_lendvai joined #lisp 2018-02-23T01:26:29Z jtroseme quit (Quit: Leaving) 2018-02-23T01:26:54Z comborico1611_ joined #lisp 2018-02-23T01:27:33Z Xach: dang. i meant to suggest ql:where-is-system earlier. 2018-02-23T01:27:40Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-23T01:27:57Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T01:28:14Z MetaYan: Xach: would have helped. Took a while to find the culprit. 2018-02-23T01:30:23Z learning: test 2018-02-23T01:30:24Z attila_lendvai joined #lisp 2018-02-23T01:31:14Z beach` joined #lisp 2018-02-23T01:31:46Z uuplusu joined #lisp 2018-02-23T01:32:18Z uuplusu quit (Remote host closed the connection) 2018-02-23T01:32:23Z himmAllRight17 quit (Remote host closed the connection) 2018-02-23T01:32:34Z uuplusu joined #lisp 2018-02-23T01:32:39Z himmAllRight joined #lisp 2018-02-23T01:34:28Z Kaisyu7 joined #lisp 2018-02-23T01:34:42Z comborico1611_: I'm just now finding about about NixOS. 2018-02-23T01:35:40Z beach quit (Ping timeout: 256 seconds) 2018-02-23T01:38:19Z MetaYan: Xach: Thanks for the ql:where-is-system tip anyway. Here's what it shows in this case: http://termbin.com/gwnr 2018-02-23T01:38:44Z himmAllRight quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2018-02-23T01:38:58Z himmAllRight joined #lisp 2018-02-23T01:39:11Z Xach: That warning is almost pure noise. 2018-02-23T01:39:16Z Xach: It bums me out every time. 2018-02-23T01:40:33Z smurfrobot joined #lisp 2018-02-23T01:42:02Z learning: ah so when i want to use lisp's if statement in other languages i just gotta google ternary 2018-02-23T01:43:09Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T01:43:26Z k-hos: Is NixOS a Richard Nixon themed OS 2018-02-23T01:43:32Z learning: lol 2018-02-23T01:43:36Z attila_lendvai joined #lisp 2018-02-23T01:45:05Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-23T01:46:09Z fikka quit (Ping timeout: 248 seconds) 2018-02-23T01:49:59Z shifty joined #lisp 2018-02-23T01:50:18Z smurfrobot joined #lisp 2018-02-23T01:50:40Z fikka joined #lisp 2018-02-23T01:51:37Z comborico1611_ quit (Quit: Konversation terminated!) 2018-02-23T01:53:14Z comborico quit (Quit: comborico) 2018-02-23T01:55:33Z smurfrobot quit (Ping timeout: 264 seconds) 2018-02-23T02:02:53Z slyrus joined #lisp 2018-02-23T02:04:41Z khisanth_ quit (Ping timeout: 256 seconds) 2018-02-23T02:07:29Z capitaomorte quit (Ping timeout: 248 seconds) 2018-02-23T02:07:48Z igemnace quit (Read error: Connection reset by peer) 2018-02-23T02:08:09Z igemnace joined #lisp 2018-02-23T02:08:41Z fikka quit (Ping timeout: 255 seconds) 2018-02-23T02:13:02Z Arcaelyx joined #lisp 2018-02-23T02:17:48Z khisanth_ joined #lisp 2018-02-23T02:19:08Z aeth: learning: no 2018-02-23T02:19:17Z aeth: Follow the idioms of the language you use. 2018-02-23T02:19:40Z aeth: In CL, return values and expressions make the most sense, like having if return a value and use the result 2018-02-23T02:20:14Z aeth: Using ternary in other languages is rarely as clear as using if in Lisp ime if you directly translate between Lisp and some other language. 2018-02-23T02:21:04Z aeth: Lisp is just really good at working with expressions where many other languages look like a mess when you can try to write what seems like the exact same thing. 2018-02-23T02:21:37Z learning quit (Remote host closed the connection) 2018-02-23T02:24:26Z fittestbits joined #lisp 2018-02-23T02:24:29Z d4ryus1 joined #lisp 2018-02-23T02:25:17Z aeth: (Of course, if multi-line expressions are painful in other languages, maybe the problem is with the syntax of the other languages.) 2018-02-23T02:26:05Z smurfrobot joined #lisp 2018-02-23T02:27:35Z d4ryus quit (Ping timeout: 240 seconds) 2018-02-23T02:30:50Z smurfrobot quit (Ping timeout: 268 seconds) 2018-02-23T02:31:33Z makomo_ quit (Ping timeout: 264 seconds) 2018-02-23T02:33:52Z zmt01 quit (Quit: Leaving) 2018-02-23T02:34:13Z zmt00 joined #lisp 2018-02-23T02:36:38Z k-hos: I keep trying to call lisp functions like this; (f(x)) 2018-02-23T02:36:49Z k-hos: its like I am forgetting I am using lisp half way through 2018-02-23T02:38:45Z aeth: The main reason I wrote define-shader to translate from s-expressions to GLSL is because I kept slipping up in the syntax by switching back and forth between GLSL and CL and it was getting annoying. 2018-02-23T02:39:13Z aeth: Apparently, I can't handle mixing two syntaxes in the same program. 2018-02-23T02:46:43Z attila_lendvai: is there a simple way to muffle compiler notes when loading with asdf? 2018-02-23T02:51:56Z attila_lendvai: this seems to do the trick: (setf uiop:*uninteresting-conditions* uiop:*usual-uninteresting-conditions*) 2018-02-23T02:52:41Z ludston quit (Quit: -a- IRC for Android 2.1.38) 2018-02-23T02:56:07Z aeth: you could look at how Quicklisp does it 2018-02-23T02:56:16Z aeth: Quicklisp hides it by default, unless you turn verbose on 2018-02-23T02:56:29Z zaquest joined #lisp 2018-02-23T02:57:39Z aeth: oh, wait, that's a separate thing 2018-02-23T02:58:32Z kajo quit (Remote host closed the connection) 2018-02-23T02:59:01Z kajo joined #lisp 2018-02-23T02:59:04Z learning joined #lisp 2018-02-23T03:01:03Z deng_cn quit (Ping timeout: 268 seconds) 2018-02-23T03:01:08Z damke joined #lisp 2018-02-23T03:01:22Z deng_cn joined #lisp 2018-02-23T03:01:35Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T03:01:55Z learning quit (Remote host closed the connection) 2018-02-23T03:03:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-23T03:04:00Z attila_lendvai joined #lisp 2018-02-23T03:05:06Z deng_cn1 joined #lisp 2018-02-23T03:05:06Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T03:05:22Z haruka quit (Ping timeout: 268 seconds) 2018-02-23T03:05:27Z deng_cn quit (Ping timeout: 240 seconds) 2018-02-23T03:05:28Z deng_cn1 is now known as deng_cn 2018-02-23T03:06:18Z beach` is now known as beach 2018-02-23T03:06:49Z haruka joined #lisp 2018-02-23T03:07:24Z attila_lendvai joined #lisp 2018-02-23T03:10:49Z arescorpio quit (Excess Flood) 2018-02-23T03:15:13Z Jen joined #lisp 2018-02-23T03:15:27Z SuperJen quit (Read error: Connection reset by peer) 2018-02-23T03:16:23Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T03:17:04Z beach: Good morning everyone! 2018-02-23T03:17:21Z beach: MetaYan: That does not look like a CLIM listener problem. 2018-02-23T03:17:28Z attila_lendvai joined #lisp 2018-02-23T03:18:01Z beach: flip214: I think I'll pass on the Alexandria issue. I have too many other things to do at the moment. 2018-02-23T03:18:23Z wxie quit (Quit: AtomicIRC: The nuclear option.) 2018-02-23T03:19:16Z mareskeg joined #lisp 2018-02-23T03:22:18Z mareskeg quit (Client Quit) 2018-02-23T03:24:31Z fouric: mfiano: would you, or anyone else, happen to know how to override evil-cleverparens' bindings? 2018-02-23T03:27:32Z lnostdal quit (Ping timeout: 255 seconds) 2018-02-23T03:35:26Z learning joined #lisp 2018-02-23T03:36:53Z milanj quit (Quit: This computer has gone to sleep) 2018-02-23T03:37:19Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T03:37:49Z ben3 left #lisp 2018-02-23T03:38:30Z Jen quit (Read error: Connection reset by peer) 2018-02-23T03:39:22Z Jen joined #lisp 2018-02-23T03:39:22Z Jen quit (Read error: Connection reset by peer) 2018-02-23T03:40:00Z Jen joined #lisp 2018-02-23T03:40:00Z Jen quit (Read error: Connection reset by peer) 2018-02-23T03:40:11Z attila_lendvai joined #lisp 2018-02-23T03:40:11Z attila_lendvai quit (Changing host) 2018-02-23T03:40:11Z attila_lendvai joined #lisp 2018-02-23T03:40:32Z ninegrid quit (Quit: leaving) 2018-02-23T03:40:49Z Jen joined #lisp 2018-02-23T03:40:49Z Jen quit (Read error: Connection reset by peer) 2018-02-23T03:47:16Z nika joined #lisp 2018-02-23T03:49:03Z gabiruh quit (Read error: Connection reset by peer) 2018-02-23T03:54:10Z groovy2shoes quit (Quit: moritura te salutat) 2018-02-23T03:54:10Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T03:55:06Z gabiruh joined #lisp 2018-02-23T03:56:38Z attila_lendvai joined #lisp 2018-02-23T03:57:18Z deng_cn quit (Ping timeout: 240 seconds) 2018-02-23T03:57:29Z Oladon joined #lisp 2018-02-23T03:58:16Z deng_cn joined #lisp 2018-02-23T03:58:29Z shifty quit (Ping timeout: 255 seconds) 2018-02-23T03:58:55Z Achylles quit (Remote host closed the connection) 2018-02-23T03:58:55Z shifty joined #lisp 2018-02-23T04:00:24Z pjb quit (Remote host closed the connection) 2018-02-23T04:02:31Z dessm joined #lisp 2018-02-23T04:02:49Z pjb joined #lisp 2018-02-23T04:03:48Z Meow-J_ quit (Ping timeout: 240 seconds) 2018-02-23T04:04:36Z Cymew joined #lisp 2018-02-23T04:05:43Z gabiruh quit (Read error: Connection reset by peer) 2018-02-23T04:07:33Z Meow-J_ joined #lisp 2018-02-23T04:08:53Z gabiruh joined #lisp 2018-02-23T04:09:19Z sysfault_ joined #lisp 2018-02-23T04:09:21Z sysfault_ quit (Client Quit) 2018-02-23T04:09:29Z Cymew quit (Ping timeout: 260 seconds) 2018-02-23T04:09:54Z sysfault_ joined #lisp 2018-02-23T04:10:00Z sysfault quit (Read error: Connection reset by peer) 2018-02-23T04:10:08Z sysfault_ is now known as sysfault 2018-02-23T04:11:25Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T04:11:59Z attila_lendvai joined #lisp 2018-02-23T04:11:59Z attila_lendvai quit (Changing host) 2018-02-23T04:11:59Z attila_lendvai joined #lisp 2018-02-23T04:13:19Z learning quit (Remote host closed the connection) 2018-02-23T04:14:16Z pjb quit (Remote host closed the connection) 2018-02-23T04:16:18Z smokeink joined #lisp 2018-02-23T04:19:26Z schoppenhauer quit (Ping timeout: 256 seconds) 2018-02-23T04:21:21Z marusich quit (Ping timeout: 264 seconds) 2018-02-23T04:21:30Z schoppenhauer joined #lisp 2018-02-23T04:21:46Z marusich joined #lisp 2018-02-23T04:22:18Z krwq joined #lisp 2018-02-23T04:23:18Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T04:23:32Z krwq: got question, how do you convert string to utf-8 bytes? I've tried this but flexi-streams seem to be ignoring format: https://pastebin.com/DGkUCLnB 2018-02-23T04:23:50Z attila_lendvai joined #lisp 2018-02-23T04:23:50Z attila_lendvai quit (Changing host) 2018-02-23T04:23:50Z attila_lendvai joined #lisp 2018-02-23T04:24:33Z beach: If there is no library to do it, you would just have to apply the rules of UTF-8. They are not that complicated. 2018-02-23T04:26:20Z Bike: there are libraries to do it, though 2018-02-23T04:26:36Z Bike: i think babel rather than flexi streams. not sure. 2018-02-23T04:26:41Z beach now fully expects a complaint that the Common Lisp standard is deficient, since it doesn't define such a function. 2018-02-23T04:26:53Z smurfrobot joined #lisp 2018-02-23T04:28:05Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T04:28:42Z attila_lendvai joined #lisp 2018-02-23T04:28:42Z attila_lendvai quit (Changing host) 2018-02-23T04:28:42Z attila_lendvai joined #lisp 2018-02-23T04:30:09Z dieggsy quit (Ping timeout: 276 seconds) 2018-02-23T04:31:47Z smurfrobot quit (Ping timeout: 255 seconds) 2018-02-23T04:33:21Z marusich quit (Ping timeout: 263 seconds) 2018-02-23T04:33:49Z marusich joined #lisp 2018-02-23T04:33:49Z Bike: if i understand the flexi streams manual correctly, in memory streams are binary, and don't have external formats so you can't use characters 2018-02-23T04:35:10Z krwq: beach: Bike: do you know any library providing a way to convert string to utf-8 without allocating new buffer (= using preallocated buffer) 2018-02-23T04:35:47Z beach: Not me. Sorry. 2018-02-23T04:35:54Z krwq: np 2018-02-23T04:36:02Z pierpa: you can write it yourself in very few lines 2018-02-23T04:36:11Z beach: Seriously, it is probably at most 15 lines of code. 2018-02-23T04:36:16Z pillton: krwq: (babel:string-to-octets "hey" :encoding :utf-8) 2018-02-23T04:36:28Z beach: krwq: It would take longer to find the right library than to code it up. 2018-02-23T04:36:37Z kamog quit (Quit: Leaving.) 2018-02-23T04:36:43Z Bike: (babel:string-to-octets "hello world" :encoding :utf-8) => #(104 101 108 108 111 32 119 111 114 108 100) 2018-02-23T04:36:49Z pierpa: pillton: that allocates a new buffer, I think 2018-02-23T04:37:01Z Bike: oh, preallocated 2018-02-23T04:37:05Z Bike: well that's probs in babel too 2018-02-23T04:37:14Z krwq: thanks, I'll see if there is a way to hack babel a little not to allocate 2018-02-23T04:42:17Z nydel: i'm curious why MOD and FLOOR both exist in any implementation i can think of. MOD in my mind being (CDR (FLOOR X)) ... is MOD actually quite a different program than that? documentation in sbcl or clisp offers little on how they are related. 2018-02-23T04:43:08Z Kevslinger quit (Quit: Connection closed for inactivity) 2018-02-23T04:43:45Z krwq: nydel: try (mod 1.3 0.7) 2018-02-23T04:44:22Z beach: nydel: You can't take the CDR of what FLOOR returns. 2018-02-23T04:44:27Z beach: It is not a CONS cell. 2018-02-23T04:44:42Z krwq: he probably meant nth-value 2018-02-23T04:44:49Z ja-barr quit (Ping timeout: 248 seconds) 2018-02-23T04:46:11Z gabiruh quit (Ping timeout: 256 seconds) 2018-02-23T04:46:27Z Elite-Epochs quit (Ping timeout: 240 seconds) 2018-02-23T04:46:34Z krwq: hmm, I didn't realize floor works with non-integer divisors 2018-02-23T04:46:36Z beach: nydel: There are several possible explanations. One (very likely) is that MOD exists for reasons of backward compatibility with other Lisp implementations. 2018-02-23T04:46:43Z Bike: the clhs entry on mod says: "mod performs the operation floor on number and divisor and returns the remainder of the floor operation." 2018-02-23T04:46:47Z Bike: that's a pretty explicit relation 2018-02-23T04:47:22Z nydel: beach: thank you (CADR i meant to write 2018-02-23T04:47:36Z beach: nydel: Sorry, won't work either. 2018-02-23T04:47:55Z beach: nydel: Like I said, FLOOR doesn't return a CONS cell. 2018-02-23T04:47:55Z ja-barr joined #lisp 2018-02-23T04:48:24Z beach: nydel: Another one is that it is more costly in terms of performance to manipulate multiple values, so MOD is probably faster than to use FLOOR and then take the second value. 2018-02-23T04:48:37Z gabiruh joined #lisp 2018-02-23T04:49:00Z beach: nydel: And if you were right that FLOOR returns a list, then MOD would be WAY faster, because memory allocation is expensive as well. 2018-02-23T04:49:56Z nydel: beach: it doesn't return a list at all, that's right, thank you & my mistake 2018-02-23T04:50:26Z nydel: i somehow have taken clhs out of my things-i-can-immediately-reach circle, i need to remedy that, thanks Bike 2018-02-23T04:50:45Z beach: But yeah, there are two common competing discussion here in #lisp. 1. Why is this very special function that I need not in the standard. I mean, almost everybody needs it right. 2. Why is this general function in the standard when the effect can easily be obtained form combining other functions in the standard. 2018-02-23T04:52:34Z beach: I am guessing that neither of these two discussions exist for languages that don't even have a standard, which seems to be what many people use these days. Somehow, having a solid, well tested, reliable, fixed standard, seems to be a disadvantage to a language. 2018-02-23T04:52:34Z beach: 2018-02-23T04:54:30Z nydel: but beach in a brighter pov my meaning was to find out "what's the thing i usually look at for a question like this?" and the answer was CLHS ... i have no opinion one way or the other on whether one/both exist, the question was about where i was failing to keep my documentation complete 2018-02-23T04:54:44Z nowhere_man quit (Ping timeout: 255 seconds) 2018-02-23T04:55:28Z Elite-Epochs joined #lisp 2018-02-23T04:55:36Z nydel: i never feel that commonlisp is lacking in documentation, and that is largely i would believe because of it having a standard. 2018-02-23T04:55:37Z beach: nydel: Sure. I just took this opportunity to complain about common complaints. 2018-02-23T04:57:05Z beach: So you weren't the selected target. 2018-02-23T04:57:19Z pillton: We should burn the standard. 2018-02-23T04:57:26Z beach: :) 2018-02-23T04:57:26Z pillton: Our lives it would become easier! 2018-02-23T04:57:28Z nydel: i definitely see the two points discussed in circles all over the place and never directly 2018-02-23T04:57:32Z pillton: s/it// 2018-02-23T04:57:48Z nydel: enter pillton to directly address it right as i claim it's never directly addressed :) 2018-02-23T04:58:43Z beach: Both types of complaints, by the way, are typically aired by people who know nothing about language design, nothing about language implementation, and nothing about the history of Lisp. 2018-02-23T04:58:49Z pillton: Who needs these things to promote interoperability? #+(me) #+(and) #-(others) all the way down. 2018-02-23T04:59:05Z Arcaelyx quit (Ping timeout: 240 seconds) 2018-02-23T04:59:08Z krwq: nydel: btw if you use emacs you can move your cursor on the symbol in slime and C-c C-d h 2018-02-23T04:59:21Z Arcaelyx_ joined #lisp 2018-02-23T05:00:38Z nydel: krwq: thank you - i haven't had a question like this in a while (i rarely use #'MOD but it came up in a japanese lisp book - a predict the day of the week function, you get it) so i forgot it exists(CLHS) .. good to have the keystrokes, thank you! 2018-02-23T05:00:48Z damke quit (Read error: Connection reset by peer) 2018-02-23T05:01:15Z damke joined #lisp 2018-02-23T05:01:36Z nydel: ok so pillton are you going to fork sbcl to sbcl-unstandardized-b'tches! or is beach gonna handle that 2018-02-23T05:02:06Z krwq: beach is creating his own compiler 2018-02-23T05:03:48Z pillton: nydel: It took 10 years for me to find things in CL that I annoy me enough to transition from apathetic to emotional. 2018-02-23T05:03:50Z nydel: oh! that's on my reverse bucket list i think 2018-02-23T05:03:54Z nowhere_man joined #lisp 2018-02-23T05:04:21Z pillton: Actually, ignorant -> apathetic -> emotional. 2018-02-23T05:04:36Z nydel: unborn -> ignorant -> ... 2018-02-23T05:04:46Z nydel: what comes after emotional in the sequence 2018-02-23T05:04:54Z pillton: Burning. 2018-02-23T05:04:58Z krwq: pillton: I'm at the second stage but for me the first two are reversed 2018-02-23T05:05:17Z pillton: Anyway, I have stopped beach from getting an important point across. 2018-02-23T05:05:27Z pillton: Sorry beach. I needed a distraction from my work. 2018-02-23T05:05:56Z krwq: I'd be nice if beach's implementation was generic enough so that compilers can use it instead of their own 2018-02-23T05:06:11Z krwq: or at least some chunks of it 2018-02-23T05:06:11Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T05:06:37Z nydel: would be interested to look at beach's lisp if it is in some kind of version control repo or tarball etc 2018-02-23T05:06:49Z krwq: nydel: sicl 2018-02-23T05:06:55Z nydel: i.e. if it requires no special effort on the part of the author 2018-02-23T05:07:01Z dddddd quit (Remote host closed the connection) 2018-02-23T05:07:09Z krwq: nydel: https://github.com/robert-strandh/SICL 2018-02-23T05:07:19Z nydel: krwq: thankyoukindly 2018-02-23T05:07:25Z whoman: there is also 3. implementation-specific topics 2018-02-23T05:07:52Z whoman: on the flip side of having a standard, it also leads to nonstandardness 2018-02-23T05:08:06Z whoman: such is the way of things one would guess 2018-02-23T05:08:14Z attila_lendvai joined #lisp 2018-02-23T05:08:14Z attila_lendvai quit (Changing host) 2018-02-23T05:08:14Z attila_lendvai joined #lisp 2018-02-23T05:08:31Z Zhivago: The flip side of standards is that they eat their chldren. 2018-02-23T05:08:51Z Zhivago: The only hope is that the standard evolves in the process. 2018-02-23T05:09:21Z whoman: evolving standard? big small, dumb smart fast slow ? 2018-02-23T05:09:47Z terpri quit (Ping timeout: 276 seconds) 2018-02-23T05:09:48Z whoman: ES6 et al. ? 2018-02-23T05:13:47Z beach: pillton: No problem, be my guest. 2018-02-23T05:14:38Z beach: krwq: The Cleavir compiler framework is meant to be just that. In fact, it is already used by Clasp for its main compiler. 2018-02-23T05:15:14Z beach: nydel: SICL is not finished so I recommend against trying to build it. 2018-02-23T05:19:29Z gabiruh quit (Ping timeout: 248 seconds) 2018-02-23T05:21:50Z attila_lendvai quit (Ping timeout: 260 seconds) 2018-02-23T05:28:09Z gabiruh joined #lisp 2018-02-23T05:29:45Z marusich quit (Ping timeout: 264 seconds) 2018-02-23T05:30:10Z marusich joined #lisp 2018-02-23T05:30:24Z Oladon quit (Quit: Leaving.) 2018-02-23T05:31:50Z whatsupdoc joined #lisp 2018-02-23T05:31:59Z djinni` quit (Quit: Leaving) 2018-02-23T05:35:57Z djinni` joined #lisp 2018-02-23T05:37:45Z marusich quit (Ping timeout: 256 seconds) 2018-02-23T05:38:52Z marusich joined #lisp 2018-02-23T05:40:18Z whatsupdoc left #lisp 2018-02-23T05:40:36Z damke_ joined #lisp 2018-02-23T05:43:14Z smasta quit (Quit: WeeChat 2.0.1) 2018-02-23T05:43:33Z damke quit (Ping timeout: 264 seconds) 2018-02-23T05:43:40Z smasta joined #lisp 2018-02-23T05:44:12Z krwq: beach: any ideas why is this (let ((.foo))`(,.foo)) saying that `foo` is unbound? (I know I can add space between comma and dot and that this is a bad idea to name vars like that) 2018-02-23T05:44:41Z beach: Yes. 2018-02-23T05:44:53Z beach: ,. means something in the backquote macro. 2018-02-23T05:45:46Z beach: Try (let ((.foo))`(, .foo)) instead. 2018-02-23T05:46:13Z krwq: beach: I see - this is to signalize that this is destructive 2018-02-23T05:46:20Z krwq: thanks 2018-02-23T05:46:53Z beach: It's a variant of ,@ that can be used to when it is safe to modify the list. 2018-02-23T05:47:05Z beach: Nobody uses it in practice. 2018-02-23T05:47:36Z krwq: I've never seen that so thought it might be a bug or something else I might be missing 2018-02-23T05:47:53Z beach: I understand. 2018-02-23T05:48:23Z smurfrobot joined #lisp 2018-02-23T05:51:14Z fouric: beach: do you have a minute to elaborate on what "implementation-independent compilation framework" means (context: SICL)? 2018-02-23T05:51:24Z beach: Sure. 2018-02-23T05:51:27Z marusich quit (Ping timeout: 260 seconds) 2018-02-23T05:52:03Z beach: It means that the compiler is written so that it can be customized to implementation-specific details. 2018-02-23T05:52:20Z asarch quit (Remote host closed the connection) 2018-02-23T05:52:26Z beach: Otherwise, it is common that implementation-specific details are scattered all over the compiler source code. 2018-02-23T05:52:35Z fouric: ...such as using a preallocated pool of cons cells, for instance? 2018-02-23T05:52:50Z beach: I hadn't thought about that. 2018-02-23T05:53:03Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-23T05:53:08Z fouric: (I'm just trying to find a few concrete examples of "implementation-specific details") 2018-02-23T05:53:18Z fouric thinks of SBCL as being *all* implementation-specific details 2018-02-23T05:53:18Z beach: But take the situation where the compiler needs to interrogate the environment for information about variables and functions. 2018-02-23T05:53:30Z fouric takes it 2018-02-23T05:53:42Z beach: Normally, that's all implementation-specific stuff. 2018-02-23T05:53:46Z Arcaelyx_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-23T05:54:14Z beach: The Cleavir compiler defines a CLOS-based protocol for doing that, and it explains what an implementation must do to customize that protocol so that the Cleavir compiler can use it. 2018-02-23T05:54:17Z marusich joined #lisp 2018-02-23T05:54:24Z fikka joined #lisp 2018-02-23T05:55:33Z beach: Furthermore, the Cleavir compiler uses an intermediate form called HIR (for High-level Intermediate Representation) that is independent of how objects are represented in a particular implementation. On this representation, we can do several transformations such as type inference, escape analysis, etc. 2018-02-23T05:56:08Z beach: Again, your typical Common Lisp compiler will have object-representation details scattered all over it. 2018-02-23T05:57:34Z beach: There are a few instances where HIR (and also the preceding representation: AST) need to be customized for each implementation, but again, there are CLOS protocols put in place to make this customization straightforward, using auxiliary methods on generic functions. 2018-02-23T05:58:14Z beach: But take the SBCL compiler, for instance. It couldn't do something like that as easily, because it was designed not to use generic functions, for reasons of bootstrapping. 2018-02-23T05:58:25Z fouric: Hm. Let me see if I'm getting this right: would the following example be correct: Cleavir providing an implementation of FUNCALL that calls generic functions to get the symbol-function from a symbol, and each compiler implements the generic function that does so? 2018-02-23T05:58:53Z beach: Close. 2018-02-23T05:59:37Z beach: Cleavir defines a generic function called FUNCTION-INFO that it calls when it needs information about a function (whether it's a macro, whether it has a compiler macro on it, its type, etc). 2018-02-23T06:00:11Z beach: One of the arguments to FUNCTION-INFO is a function name, and the other is an object representing a global environment. 2018-02-23T06:00:59Z fikka quit (Ping timeout: 256 seconds) 2018-02-23T06:00:59Z beach: Implementations customize this generic function by defining a method on it that will specialize on some implementation-specific environment object, and then call the implementation-specific function to build the information that the Cleavir compiler needs. 2018-02-23T06:01:43Z beach: So, for example, SICL doesn't store the function in the symbol object, but instead in the environment objects, so the methods are very different in SICL and (say) Clasp. 2018-02-23T06:02:43Z beach: Does that make sense to you? 2018-02-23T06:02:55Z pierpa quit (Quit: Page closed) 2018-02-23T06:03:31Z fouric: I think that it does! 2018-02-23T06:04:28Z fouric: I don't understand what "environment objects" are, but I think that I can guess at the relevant bits well enough to understand Cleavir's purpose as a whole. 2018-02-23T06:04:44Z fouric: That was a very clear explanation - thank you! 2018-02-23T06:04:58Z beach: http://metamodular.com/environments.pdf 2018-02-23T06:05:08Z beach: That paper defines the protocol. 2018-02-23T06:06:09Z beach: SICL has an explicit object that store the environment information, but most implementations scatter this information all over, like the function being stored in the symbol, and the type information in some hash table, etc. 2018-02-23T06:06:23Z fouric: For performance reasons? 2018-02-23T06:06:55Z beach: Which one, SICL or the others? 2018-02-23T06:08:03Z fouric: The others 2018-02-23T06:08:39Z beach: Mainly because nobody thought of a technique that have the same performance but a more modular environment object. Hence the paper. Also, for historical reasons. 2018-02-23T06:08:46Z fouric: ...although this paper makes it sound like you implemented SICL's "global environment as first-class object" approach without much of a performance hit 2018-02-23T06:09:01Z beach: When people see SYMBOL-FUNCTION they immediately think the function must be stored in the symbol 2018-02-23T06:09:19Z beach: Correct. 2018-02-23T06:09:29Z haruka quit (Ping timeout: 256 seconds) 2018-02-23T06:10:30Z beach: So, an implementation that does not have an explicit object for the environments will customize Cleavir by creating a dummy environment class that is only used for generic-function dispatch, and the method specializing on that class will just call the implementation-specific functions to gather the information. 2018-02-23T06:12:38Z saki joined #lisp 2018-02-23T06:12:55Z fouric nods 2018-02-23T06:14:00Z beach: I know of no other Common Lisp compiler that has been specifically designed this way, which is why I call Cleavir an implementation-independent compiler framework. 2018-02-23T06:14:38Z whoman: how it should be =) 2018-02-23T06:14:47Z fouric: Does Cleavir do any (native) code generation, or is that all deferred to the implementation itself? 2018-02-23T06:15:12Z whoman: afaik the GL world calls it a "reference implementation" - like how Mesa is sometimes used 2018-02-23T06:15:34Z beach: At the moment, it is up to the implementation. Mainly because the only client implementation is Clasp, and it already does its own code generation. 2018-02-23T06:16:46Z fouric: OK, I think that I have a rough understanding of Cleavir now. 2018-02-23T06:16:46Z beach: fouric: It gets harder after HIR. The next layer is MIR (Medium-level Intermediate Representation) where object representations are exposed and address calculations are made explicit. 2018-02-23T06:17:06Z fouric: I definitely don't "grok" it, but at least I see how it works, more or less. 2018-02-23T06:17:13Z fouric: o 2018-02-23T06:17:14Z fouric: there's more??? 2018-02-23T06:17:24Z Bike: iit's a whole compiler of course there's more 2018-02-23T06:17:30Z Bike: compilers are big 2018-02-23T06:17:37Z d4ryus1 is now known as d4ryus 2018-02-23T06:17:37Z fouric was jk, compilers are big 2018-02-23T06:17:39Z fouric: well 2018-02-23T06:17:42Z fouric: *fast* compilers are big 2018-02-23T06:17:59Z beach: fouric: The MIR layer requires way more customization than HIR, and it has not all been worked out. But we need it, because we plan to implement optimizations in MIR as well. 2018-02-23T06:18:26Z beach: fouric: Like loop-invariant code motion and such. 2018-02-23T06:19:18Z beach: I think I will first hash out MIR for SICL, and then see what generic function are needed to generalize it to other implementation. 2018-02-23T06:20:10Z beach: Oh, and MIR may also depend (at least somewhat) on the backend, like what kind of instructions the processor is capable of. 2018-02-23T06:20:38Z LocaMocha joined #lisp 2018-02-23T06:20:50Z aeth: Is there any advantage to actually creating an object at compile time in a macro and using make-load-form instead of essentially generating code that will at run time create the object? 2018-02-23T06:21:17Z Bike: at load time 2018-02-23T06:21:21Z fouric: ,clhs make-load-form 2018-02-23T06:21:27Z fouric: .clhs make-load-form 2018-02-23T06:21:29Z fouric: hm 2018-02-23T06:21:34Z Bike: clhs make-load-form 2018-02-23T06:21:34Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_mk_ld_.htm 2018-02-23T06:21:39Z fouric: ty ty 2018-02-23T06:21:51Z slyrus quit (Ping timeout: 248 seconds) 2018-02-23T06:22:01Z Bike: but no there's not a speed advantage or whatever 2018-02-23T06:22:09Z Bike: maybe something can deal with it as a constant who knows 2018-02-23T06:22:42Z aeth: It would be great 2018-02-23T06:23:06Z aeth: I essentially have an elaborate group of things that's done entirely at compile time, and then is just constant data by the time run time comes 2018-02-23T06:23:25Z aeth: And it'd only get more elaborate, since I'm probably only 10% done this 2018-02-23T06:23:30Z aeth: s/this/with this/ 2018-02-23T06:26:50Z fouric: beach: Thanks for the explanation! 2018-02-23T06:26:58Z fouric: I will watch Cleavir with great interest 2018-02-23T06:27:16Z fouric dreams of creating a complete Lisp phone or computer some day 2018-02-23T06:27:36Z aeth: fouric: That's not dreaming big enough 2018-02-23T06:28:08Z aeth: fouric: Describe the hardware itself in Lisp, now that RISC-V exists as an open instruction set. 2018-02-23T06:28:08Z fouric: O.o 2018-02-23T06:28:16Z fouric: Yes! 2018-02-23T06:28:18Z fouric: Well 2018-02-23T06:28:28Z fouric: I was thinking of a HDL with an s-expression syntax 2018-02-23T06:28:31Z fouric: and macros in CL 2018-02-23T06:28:42Z aeth: definitely doable 2018-02-23T06:28:46Z fouric: ...I don't think that you would want the HDL itself to be CL 2018-02-23T06:28:52Z fouric: HDLs tend to be very declarative 2018-02-23T06:28:58Z fouric: which CL isn't very much 2018-02-23T06:29:29Z fouric: Hm, I don't suppose that anyone here would know of a LLVM-based CL implementation? 2018-02-23T06:29:44Z aeth: There are multiple efforts to generate JavaScript and multiple efforts to generate GLSL. So generating VHDL and/or Verilog probably wouldn't be too hard. 2018-02-23T06:29:46Z Bike: clasp. that's about it 2018-02-23T06:29:48Z fouric: Wait, that's Clasp. 2018-02-23T06:29:51Z dessm quit (Remote host closed the connection) 2018-02-23T06:29:51Z fouric just realize 2018-02-23T06:29:53Z fouric: d 2018-02-23T06:29:55Z fouric: ty Bike 2018-02-23T06:30:45Z whoman: =/ curious why no other llvm efforts? theres several for a lot of langs, i notice today 2018-02-23T06:31:12Z aeth: whoman: The Lisp community doesn't like duplicated efforts. 2018-02-23T06:31:35Z Bike: because most lisp compiler infrastructures are old and nontrivial to modify 2018-02-23T06:31:40Z whoman: lol i think that is a terrible answer aeth 2018-02-23T06:31:51Z Bike: also there's not much reason to modify an old implementation that works 2018-02-23T06:31:51Z whoman: Bike: okay, makes sense, thats what my gut felt 2018-02-23T06:32:01Z whoman: yeah =) 2018-02-23T06:32:13Z aeth: Adding to what Bike says, everything is going to be benchmarked against SBCL 2018-02-23T06:32:22Z aeth: So if you're making a new CL, the bar is fairly high 2018-02-23T06:32:24Z mishoo joined #lisp 2018-02-23T06:32:32Z krwq quit (Remote host closed the connection) 2018-02-23T06:32:32Z aeth: It's not like making a new Python or Ruby implementation 2018-02-23T06:33:28Z aeth: s/the bar/the performance bar/ 2018-02-23T06:33:41Z whoman: i was wondering what bar you are talking about. 2018-02-23T06:33:48Z Karl_Dscc joined #lisp 2018-02-23T06:34:24Z MetaYan: beach: Exactly. 2018-02-23T06:35:17Z Vicfred joined #lisp 2018-02-23T06:36:40Z jstypo quit (Ping timeout: 240 seconds) 2018-02-23T06:38:34Z beach: fouric: Sure. I feel like I had a very productive morning explaining important Cleavir concepts to at least one interested listener. 2018-02-23T06:39:21Z python476 joined #lisp 2018-02-23T06:41:13Z beach: whoman: Another reason is that LLVM is mainly a C++ library, so it is non-trivial to interface to, and that LLVM is mainly designed for compiling C++-like languages, so the fit is not perfect for compiling Common Lisp. Case in point, Clasp uses C++ exceptions to implement non-local exists in Common Lisp, and C++ exceptions were not meant to be used that often, so they are very slow. 2018-02-23T06:42:00Z whoman: beach: oh geez, that is terrible =( i did not know that. i thought JVM and CLR were specific enough already 2018-02-23T06:42:03Z beach: whoman: Yet another reason is that LLVM is a moving target, so that if one were to use some essential feature to implement Common Lisp, then that feature may disappear or get modified in future versions of LLVM. 2018-02-23T06:42:04Z Bike: i think that might be due to a choice to use C++ abi functions, rather than llvm itself strictly 2018-02-23T06:42:08Z Bike: not sure though 2018-02-23T06:42:16Z beach: Possibly. 2018-02-23T06:42:38Z beach: But then, LLVM does not suggest an alternative that can be used with Common Lisp or other similar languages. 2018-02-23T06:43:02Z Bike: well it has its own low level mechanism. i actually think it could be a good fit for CL, but i haven't gone into it much 2018-02-23T06:43:14Z beach: I hope you are right. 2018-02-23T06:43:33Z Bike: it's built for C++ which sometimes, but not all the time, needs to execute arbitrary code upon exiting a scope, which is true for C++ with desctructors, and for CL with unwind-protect 2018-02-23T06:44:57Z beach: whoman: More reasons: Apparently, LLVM has problems with code that moves, probably because that doesn't happen in C++ since it doesn't have GC. So Clasp (as I recall) can currently not move code or recover space when a function is redefined. 2018-02-23T06:45:07Z beach: Maybe this has improved lately. 2018-02-23T06:47:13Z beach: The right thing to do here would be to write a system similar to LLVM, but written in Common Lisp and designed for dynamic languages. It is a big project, but not huge. It would be much simpler than LLVM because of the superior abstraction mechanism we have at our disposal. 2018-02-23T06:47:31Z whoman: today i heard that c++ gets nasty-slow when it gets into a thing called 'chain of destructors' or somesuch. sounds scary -- been close to it in my day 2018-02-23T06:47:34Z Bike: writing something like LLVM seems pretty huge 2018-02-23T06:48:07Z whoman: beach: hmm, yes i see, hmm 2018-02-23T06:48:09Z beach: Bike: It probably seems bigger than it really is because 1. It is written in C++ and 2. It is designed to handle all the obscure stuff of C++. 2018-02-23T06:48:16Z Bike: whoman: yeah when you exit a scope you have to run destructors for any automatic-allocation objects, and those destructors can run other destructors, and so on 2018-02-23T06:48:46Z Bike: llvm is a backend, it doesn't even deal with destructors or anything directly 2018-02-23T06:48:54Z whoman: BEAM 2018-02-23T06:49:07Z beach: Though perhaps the MIR and LIR levels of Cleavir can play the role of LLVM some day. 2018-02-23T06:49:22Z Bike: and there's lots of complicated stuff in there for, like, reordering conditions based on... path... I'm tired 2018-02-23T06:49:40Z beach: Oh, wow, late for you. 2018-02-23T06:49:43Z Bike: branch prediction 2018-02-23T06:50:12Z jstypo joined #lisp 2018-02-23T06:50:22Z jack_rabbit: I'm surprised. I didn't realize LLVM had such restrictions. 2018-02-23T06:50:30Z Bike: which restrictions? 2018-02-23T06:50:40Z beach: Like being a C++ library? 2018-02-23T06:50:42Z whoman: brunch predeliction 2018-02-23T06:50:46Z jack_rabbit: such as the inability to move code 2018-02-23T06:50:46Z Bike: that's annoying, yes 2018-02-23T06:50:52Z Bike: i think it can move code 2018-02-23T06:51:05Z Bike: LLVM's JIT code thing uses mmap by default, but there's stuff to allow customization 2018-02-23T06:51:16Z fikka joined #lisp 2018-02-23T06:52:01Z jack_rabbit: Bike, Yes, I would be very surprised to find out there isn't. But beach has done far more work with it than I. 2018-02-23T06:52:05Z Bike: clasp has to do more conceptual work before it can even worry about that though. making sure we don't gc a function we're in the middle of, and so on 2018-02-23T06:52:12Z Bike: i don't think beach has worked with llvm 2018-02-23T06:52:19Z Bike: he's just observed me and drmeister being frustrated with it 2018-02-23T06:52:22Z jack_rabbit: oh. I thought he had worked on clasp 2018-02-23T06:52:34Z Bike: he works on sicl, including cleavir, which clasp uses 2018-02-23T06:52:41Z jack_rabbit: I see. 2018-02-23T06:54:56Z Zhivago: There's nothing particularly special about chains of destructors -- it's pretty much the same as unwind-protect. 2018-02-23T06:55:36Z whoman: Zhivago: i was reading how it causes worse "performance" issues than GC 2018-02-23T06:55:46Z Bike: that seems like apples and oranges 2018-02-23T06:55:48Z whoman: (in regards to c++) 2018-02-23T06:55:49Z Zhivago: The fundamental problem with destructors is that they don't make sense in systems with GC. 2018-02-23T06:56:06Z whoman: sure they do -- release file handles and such 2018-02-23T06:56:16Z whoman: close windows, flush streams 2018-02-23T06:56:16Z Bike: nah 2018-02-23T06:56:18Z Zhivago: That's not what a destructor does. 2018-02-23T06:56:18Z Bike: C++ uses them more 2018-02-23T06:56:31Z whoman: destruct...ion 2018-02-23T06:56:32Z Bike: since you know when objects are released, you can use them for, basically, unwind protect 2018-02-23T06:56:43Z Zhivago: A destructor is code that runs sometime after the reference count to an object reaches zero. 2018-02-23T06:56:44Z Bike: RAII and stuff 2018-02-23T06:56:57Z Bike: RAII makes no sense if dynamic extent is optional, like it is in lisp 2018-02-23T06:57:12Z Zhivago: Which is problematic for a destructor, since a destructor needs access to the object. 2018-02-23T06:57:33Z aeth: whoman: If CL was like SH, then "destruct" would be a thing with the api (destruct &rest ignored) that destroys your drive. Then you'd never be able to typo "defstruct" 2018-02-23T06:57:47Z Zhivago: Which means that the reference count is really above zero, and then you have the issue if what happens if the destructor generates new references to the object which would bring it above the destruction level? 2018-02-23T06:58:12Z Zhivago: Which is why objects in Java can be resurrected from the dead, and have to remember if they've been destructed or not. 2018-02-23T06:58:17Z beach: jack_rabbit: I have not worked with LLVM. I wouldn't. I am just following the discussions in #clasp. 2018-02-23T06:58:42Z Zhivago: Which is why GC systems that aren't designed by insane people used finalizer semantics instead, which do not involve the object that has been GC'd. 2018-02-23T06:58:53Z aeth: Bike: What changes would have to be made to bring RAII to CL, if that even makes any sense at all? 2018-02-23T06:59:03Z Bike: why would you want that 2018-02-23T06:59:25Z Zhivago: (let ...) plus (unwind-protect ...) give you RAII. 2018-02-23T06:59:44Z Bike: in CL we can just unwind protect to say "execute this when you leave this block" and we don't need to bother with tying it to objects 2018-02-23T06:59:57Z Zhivago: Well, plus (dynamic-extent). 2018-02-23T07:00:21Z Zhivago: These are often tied together using (with-foo ...) macros. 2018-02-23T07:00:28Z beach: whoman: Code that must be run sometime after an object is no longer accessible is problematic in all GC systems that explicitly do not touch dead objects, like copying collectors. 2018-02-23T07:01:17Z Zhivago: It just requires sharing those resources with a suitable finalizer, rather than mediating access to them through the object. 2018-02-23T07:01:56Z Zhivago: A more serious problem is the lack of generalized resource management integration with garbage collection. 2018-02-23T07:02:32Z Zhivago: If your GC is responsible for freeing up file handles, what happens if running out of file handles doesn't invoke GC? 2018-02-23T07:03:26Z kajo quit (Ping timeout: 255 seconds) 2018-02-23T07:03:35Z Zhivago: If you have optional resources -- like file handles that could be closed or kept open for performance, who tells you that there's a shortage and would you kindly close the handles you don't really need right now? 2018-02-23T07:04:08Z vlatkoB joined #lisp 2018-02-23T07:04:32Z Zhivago: GC allows all of these things to be deferred whereas RAII forces them to be eager -- and that requires a more thorougher design. 2018-02-23T07:04:48Z kajo joined #lisp 2018-02-23T07:06:25Z Bike quit (Quit: Lost terminal) 2018-02-23T07:07:30Z terpri joined #lisp 2018-02-23T07:07:53Z Zhivago: On the other hand GC is kind of a symptom of the problems of undisciplined shared memory, so perhaps it's just enabling the problems that it solves, and we might be better off by replacing it with restricted memory arenas. 2018-02-23T07:08:34Z aeth: How do you do linked lists without GC? Because linked lists without GC look painful. 2018-02-23T07:08:47Z aeth: (I think I know why Lisp invented GC) 2018-02-23T07:09:19Z Zhivago: It depends on how long you expect them to live. 2018-02-23T07:10:32Z Zhivago: If they're contained in an ephemeral process, maybe you just don't care, because you'll send the final non-garbage somewhere else, and then disappear. 2018-02-23T07:11:15Z Zhivago: (Which is a kind of GC, but with radically different requirements, since you can't just scribble on the one true graph of objects, since there isn't one. 2018-02-23T07:12:57Z Karl_Dscc quit (Remote host closed the connection) 2018-02-23T07:15:52Z whoman: reference counting 2018-02-23T07:16:13Z Zhivago: Or you could say that GC is a problem of implicit persistent storage, and solve it by not having any. 2018-02-23T07:16:55Z Zhivago: Reference counting is GC, although often too stupid to handle cycles. 2018-02-23T07:17:13Z Zhivago: So that doesn't help much. 2018-02-23T07:17:53Z mishoo quit (Ping timeout: 248 seconds) 2018-02-23T07:17:54Z flip214: beach: no worries (about alexandria)! 2018-02-23T07:18:20Z Zhivago: But imagine if every function call happened in its own temporary process, receiving arguments via a message and sending a result via a message (effectively). 2018-02-23T07:19:04Z whoman: linked list of reference counts =P 2018-02-23T07:19:05Z Zhivago: Would such a function require GC? 2018-02-23T07:19:25Z whoman: the process gets GC'd 2018-02-23T07:19:44Z whoman: somewhere along the line, garbage is collected, memory regions are marked 2018-02-23T07:19:49Z Zhivago: The process gets destroyed, but that doesn't involve any garbage collection. 2018-02-23T07:21:32Z Zhivago: If the function is implemented as a procedure which happens to produce garbage, then you might need something if it runs out of resources to recycle that garbage. 2018-02-23T07:22:02Z Zhivago: But if it doesn't, then no recycling is required, and that recycling is what GC algorithms are about. 2018-02-23T07:22:17Z whoman: 'temporary process' - what happens ... 2018-02-23T07:22:29Z Zhivago: I don't think that you're following the argument. 2018-02-23T07:22:40Z Tobbi joined #lisp 2018-02-23T07:23:08Z whoman: there is no argument. because listen, there is a law of relative space in effect here. objects cut from fabric cannot be larger than the original fabric. and so on, recursively as we cut out of the main fabric 2018-02-23T07:23:13Z phoe: Zhivago: hm. 2018-02-23T07:23:34Z whoman: at some point everything is recycled back to the fabric, all being 'temporary' -- there is always garbage being collected no ? 2018-02-23T07:23:38Z Zhivago: whoman: You appear to be gibbering. I will stop talking to you until you become coherent. 2018-02-23T07:24:18Z whoman: you dont understand, that is fine. it is not fair to make it my fault. back to work. 2018-02-23T07:25:38Z aeth: oh, hey, it might be a speed advantage to use make-load-form on things that are constant 2018-02-23T07:26:04Z aeth: I disassembled the function the macro generated and it's 24 bytes 2018-02-23T07:26:07Z aeth: (in SBCL) 2018-02-23T07:26:46Z aeth: and it runs incredibly quickly, 2000-3000ish cycles 2018-02-23T07:28:04Z aeth: CCL seems to be similarly quick and with a similarly concise disassembly. 2018-02-23T07:28:31Z aeth: This changes everything. 2018-02-23T07:30:48Z smokeink quit (*.net *.split) 2018-02-23T07:30:48Z sysfault quit (*.net *.split) 2018-02-23T07:30:48Z oleo quit (*.net *.split) 2018-02-23T07:30:48Z rjeli quit (*.net *.split) 2018-02-23T07:30:49Z rumbler31 quit (*.net *.split) 2018-02-23T07:30:49Z hvxgr_ quit (*.net *.split) 2018-02-23T07:30:49Z z0d quit (*.net *.split) 2018-02-23T07:30:49Z ioa_ quit (*.net *.split) 2018-02-23T07:30:50Z kotrcka quit (*.net *.split) 2018-02-23T07:30:50Z mood quit (*.net *.split) 2018-02-23T07:30:50Z CEnnis91 quit (*.net *.split) 2018-02-23T07:30:51Z mhitchman[m] quit (*.net *.split) 2018-02-23T07:30:51Z hiq[m] quit (*.net *.split) 2018-02-23T07:30:52Z RichardPaulBck[m quit (*.net *.split) 2018-02-23T07:30:53Z dxtr quit (*.net *.split) 2018-02-23T07:30:53Z phoe quit (*.net *.split) 2018-02-23T07:30:54Z kjeldahl quit (*.net *.split) 2018-02-23T07:30:54Z alphor quit (*.net *.split) 2018-02-23T07:30:54Z norserob quit (*.net *.split) 2018-02-23T07:31:20Z gabiruh quit (*.net *.split) 2018-02-23T07:31:20Z schoppenhauer quit (*.net *.split) 2018-02-23T07:31:21Z vibs29 quit (*.net *.split) 2018-02-23T07:31:21Z raynold quit (*.net *.split) 2018-02-23T07:31:21Z foom quit (*.net *.split) 2018-02-23T07:31:21Z razzy quit (*.net *.split) 2018-02-23T07:31:22Z banjiewen quit (*.net *.split) 2018-02-23T07:31:22Z eatonphil quit (*.net *.split) 2018-02-23T07:31:26Z salva quit (*.net *.split) 2018-02-23T07:31:26Z grumble quit (*.net *.split) 2018-02-23T07:31:26Z vert2 quit (*.net *.split) 2018-02-23T07:31:26Z Tordek quit (*.net *.split) 2018-02-23T07:31:41Z flamebeard joined #lisp 2018-02-23T07:31:44Z flamebeard quit (Remote host closed the connection) 2018-02-23T07:32:06Z flamebeard joined #lisp 2018-02-23T07:34:16Z raynold joined #lisp 2018-02-23T07:34:40Z dmiles quit (Ping timeout: 252 seconds) 2018-02-23T07:35:16Z scymtym quit (Remote host closed the connection) 2018-02-23T07:37:22Z mishoo joined #lisp 2018-02-23T07:39:43Z quazimodo quit (Ping timeout: 248 seconds) 2018-02-23T07:40:43Z zmt00 quit (Ping timeout: 256 seconds) 2018-02-23T07:41:51Z dmiles joined #lisp 2018-02-23T07:46:14Z parjanya joined #lisp 2018-02-23T07:49:14Z smurfrobot joined #lisp 2018-02-23T07:53:26Z gabiruh joined #lisp 2018-02-23T07:53:26Z schoppenhauer joined #lisp 2018-02-23T07:53:26Z vibs29 joined #lisp 2018-02-23T07:53:26Z foom joined #lisp 2018-02-23T07:53:26Z razzy joined #lisp 2018-02-23T07:53:26Z banjiewen joined #lisp 2018-02-23T07:53:26Z eatonphil joined #lisp 2018-02-23T07:53:26Z salva joined #lisp 2018-02-23T07:53:26Z grumble joined #lisp 2018-02-23T07:53:26Z vert2 joined #lisp 2018-02-23T07:53:26Z Tordek joined #lisp 2018-02-23T07:54:01Z razzy quit (Max SendQ exceeded) 2018-02-23T07:54:21Z smurfrobot quit (Ping timeout: 264 seconds) 2018-02-23T07:54:58Z razzy joined #lisp 2018-02-23T07:55:29Z smurfrobot joined #lisp 2018-02-23T07:56:24Z luis` quit (Ping timeout: 260 seconds) 2018-02-23T07:57:39Z smokeink joined #lisp 2018-02-23T07:57:39Z sysfault joined #lisp 2018-02-23T07:57:39Z oleo joined #lisp 2018-02-23T07:57:39Z rjeli joined #lisp 2018-02-23T07:57:39Z rumbler31 joined #lisp 2018-02-23T07:57:39Z hvxgr_ joined #lisp 2018-02-23T07:57:39Z z0d joined #lisp 2018-02-23T07:57:39Z ioa_ joined #lisp 2018-02-23T07:57:39Z kotrcka joined #lisp 2018-02-23T07:57:39Z mood joined #lisp 2018-02-23T07:57:39Z CEnnis91 joined #lisp 2018-02-23T07:57:39Z hiq[m] joined #lisp 2018-02-23T07:57:39Z RichardPaulBck[m joined #lisp 2018-02-23T07:57:39Z mhitchman[m] joined #lisp 2018-02-23T07:57:39Z dxtr joined #lisp 2018-02-23T07:57:39Z phoe joined #lisp 2018-02-23T07:57:39Z kjeldahl joined #lisp 2018-02-23T07:57:39Z alphor joined #lisp 2018-02-23T07:57:39Z norserob joined #lisp 2018-02-23T07:57:41Z luis joined #lisp 2018-02-23T07:59:09Z fikka quit (Ping timeout: 264 seconds) 2018-02-23T07:59:49Z hiq[m] quit (Ping timeout: 240 seconds) 2018-02-23T07:59:49Z RichardPaulBck[m quit (Ping timeout: 240 seconds) 2018-02-23T08:00:08Z eatonphil quit (Ping timeout: 255 seconds) 2018-02-23T08:00:17Z kumori[m] quit (Ping timeout: 255 seconds) 2018-02-23T08:00:18Z katco[m] quit (Ping timeout: 255 seconds) 2018-02-23T08:00:19Z plll[m] quit (Ping timeout: 255 seconds) 2018-02-23T08:00:19Z hdurer[m] quit (Ping timeout: 255 seconds) 2018-02-23T08:00:19Z equalunique[m] quit (Ping timeout: 255 seconds) 2018-02-23T08:00:20Z CharlieBrown quit (Ping timeout: 255 seconds) 2018-02-23T08:00:21Z smurfrob_ joined #lisp 2018-02-23T08:00:21Z kfdenden[m] quit (Ping timeout: 252 seconds) 2018-02-23T08:00:23Z kammd[m] quit (Ping timeout: 260 seconds) 2018-02-23T08:00:23Z cryptomarauder quit (Ping timeout: 260 seconds) 2018-02-23T08:00:24Z dirb quit (Ping timeout: 256 seconds) 2018-02-23T08:00:24Z Jach[m] quit (Ping timeout: 256 seconds) 2018-02-23T08:00:24Z ArthurAGleckler[ quit (Ping timeout: 256 seconds) 2018-02-23T08:00:29Z smurfrobot quit (Remote host closed the connection) 2018-02-23T08:00:48Z mhitchman[m] quit (Ping timeout: 269 seconds) 2018-02-23T08:03:25Z Ven`` joined #lisp 2018-02-23T08:04:58Z dmiles quit (Ping timeout: 256 seconds) 2018-02-23T08:10:15Z schweers joined #lisp 2018-02-23T08:11:48Z schweers quit (*.net *.split) 2018-02-23T08:11:48Z Ven`` quit (*.net *.split) 2018-02-23T08:11:48Z smokeink quit (*.net *.split) 2018-02-23T08:11:48Z sysfault quit (*.net *.split) 2018-02-23T08:11:48Z oleo quit (*.net *.split) 2018-02-23T08:11:48Z rjeli quit (*.net *.split) 2018-02-23T08:11:48Z rumbler31 quit (*.net *.split) 2018-02-23T08:11:49Z hvxgr_ quit (*.net *.split) 2018-02-23T08:11:49Z z0d quit (*.net *.split) 2018-02-23T08:11:49Z ioa_ quit (*.net *.split) 2018-02-23T08:11:49Z kotrcka quit (*.net *.split) 2018-02-23T08:11:49Z mood quit (*.net *.split) 2018-02-23T08:11:50Z CEnnis91 quit (*.net *.split) 2018-02-23T08:11:50Z dxtr quit (*.net *.split) 2018-02-23T08:11:50Z phoe quit (*.net *.split) 2018-02-23T08:11:50Z kjeldahl quit (*.net *.split) 2018-02-23T08:11:50Z alphor quit (*.net *.split) 2018-02-23T08:11:51Z norserob quit (*.net *.split) 2018-02-23T08:11:52Z gabiruh quit (*.net *.split) 2018-02-23T08:11:52Z schoppenhauer quit (*.net *.split) 2018-02-23T08:11:52Z vibs29 quit (*.net *.split) 2018-02-23T08:11:52Z foom quit (*.net *.split) 2018-02-23T08:11:53Z banjiewen quit (*.net *.split) 2018-02-23T08:11:54Z salva quit (*.net *.split) 2018-02-23T08:11:54Z grumble quit (*.net *.split) 2018-02-23T08:11:55Z vert2 quit (*.net *.split) 2018-02-23T08:11:55Z Tordek quit (*.net *.split) 2018-02-23T08:12:29Z fikka joined #lisp 2018-02-23T08:14:02Z dmiles joined #lisp 2018-02-23T08:16:31Z Ven`` joined #lisp 2018-02-23T08:17:42Z Cymew joined #lisp 2018-02-23T08:22:24Z Tordek joined #lisp 2018-02-23T08:22:38Z banjiewen joined #lisp 2018-02-23T08:22:38Z foom joined #lisp 2018-02-23T08:22:41Z vibs29 joined #lisp 2018-02-23T08:22:42Z salva joined #lisp 2018-02-23T08:22:48Z grumble joined #lisp 2018-02-23T08:22:49Z vert2 joined #lisp 2018-02-23T08:22:53Z gabiruh joined #lisp 2018-02-23T08:22:59Z damke joined #lisp 2018-02-23T08:24:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-23T08:25:35Z python476 quit (Ping timeout: 240 seconds) 2018-02-23T08:27:37Z schoppenhauer joined #lisp 2018-02-23T08:27:44Z fikka quit (Ping timeout: 255 seconds) 2018-02-23T08:30:54Z smurfrob_ quit (Remote host closed the connection) 2018-02-23T08:33:06Z rjeli joined #lisp 2018-02-23T08:33:07Z mood joined #lisp 2018-02-23T08:33:08Z hvxgr joined #lisp 2018-02-23T08:33:12Z phoe joined #lisp 2018-02-23T08:33:14Z schweers joined #lisp 2018-02-23T08:33:15Z norserob joined #lisp 2018-02-23T08:33:18Z z0d joined #lisp 2018-02-23T08:33:19Z dxtr joined #lisp 2018-02-23T08:33:19Z ioa joined #lisp 2018-02-23T08:33:24Z smokeink joined #lisp 2018-02-23T08:33:24Z sysfault joined #lisp 2018-02-23T08:33:28Z kjeldahl joined #lisp 2018-02-23T08:33:34Z alphor joined #lisp 2018-02-23T08:33:34Z fikka joined #lisp 2018-02-23T08:33:37Z oleo joined #lisp 2018-02-23T08:33:46Z rumbler31 joined #lisp 2018-02-23T08:33:53Z CEnnis91 joined #lisp 2018-02-23T08:34:42Z norserob quit (Client Quit) 2018-02-23T08:35:04Z norserob joined #lisp 2018-02-23T08:35:37Z norserob quit (Client Quit) 2018-02-23T08:36:10Z smurfrobot joined #lisp 2018-02-23T08:38:06Z fikka quit (Ping timeout: 252 seconds) 2018-02-23T08:40:01Z scymtym joined #lisp 2018-02-23T08:40:40Z smurfrobot quit (Ping timeout: 252 seconds) 2018-02-23T08:55:58Z fikka joined #lisp 2018-02-23T08:56:58Z Amplituhedron joined #lisp 2018-02-23T08:58:21Z deng_cn quit (Ping timeout: 256 seconds) 2018-02-23T08:58:25Z deng_cn1 joined #lisp 2018-02-23T08:58:55Z hjudt_: i have a problem with dexador: if i use (dex:head "https://my-host/url" :verbose t :headers '(("Accept" . "application/json"))) then i can see in the server response it would send me json. but when i use (dex:get "https://my-host/url" :verbose t :headers '(("Accept" . "application/json"))), the server sends me back "application/xml". however, when i use wget -O - --header "Accept: application/json", the 2018-02-23T08:59:01Z hjudt_: server sends me json as expected. any idea what's wrong? 2018-02-23T08:59:17Z smurfrobot joined #lisp 2018-02-23T09:00:24Z hjudt_: (perhaps i should add that the server can respond with json or xml depending on the accept header i send it) 2018-02-23T09:00:46Z deng_cn1 is now known as deng_cn 2018-02-23T09:02:14Z kotrcka joined #lisp 2018-02-23T09:02:32Z kammd[m] joined #lisp 2018-02-23T09:03:21Z damke quit (Ping timeout: 264 seconds) 2018-02-23T09:03:30Z hjudt_: strange thing is that dexador verbose output tells me it does set "Accept: application/json". so what's the difference between dexador and wget here? 2018-02-23T09:03:57Z smurfrobot quit (Ping timeout: 264 seconds) 2018-02-23T09:05:19Z damke joined #lisp 2018-02-23T09:06:34Z _cosmonaut_ joined #lisp 2018-02-23T09:08:57Z markong joined #lisp 2018-02-23T09:09:28Z smurfrobot joined #lisp 2018-02-23T09:14:00Z smurfrob_ joined #lisp 2018-02-23T09:14:05Z smurfrobot quit (Ping timeout: 255 seconds) 2018-02-23T09:14:56Z hhdave joined #lisp 2018-02-23T09:18:32Z smurfrob_ quit (Ping timeout: 260 seconds) 2018-02-23T09:19:27Z mlf quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-23T09:22:06Z smurfrobot joined #lisp 2018-02-23T09:23:00Z eatonphil joined #lisp 2018-02-23T09:23:01Z Jach[m] joined #lisp 2018-02-23T09:23:01Z equalunique[m] joined #lisp 2018-02-23T09:23:01Z kfdenden[m] joined #lisp 2018-02-23T09:23:01Z dirb joined #lisp 2018-02-23T09:23:01Z CharlieBrown joined #lisp 2018-02-23T09:23:01Z kumori[m] joined #lisp 2018-02-23T09:23:01Z mhitchman[m] joined #lisp 2018-02-23T09:23:01Z RichardPaulBck[m joined #lisp 2018-02-23T09:23:01Z plll[m] joined #lisp 2018-02-23T09:23:01Z hdurer[m] joined #lisp 2018-02-23T09:23:01Z cryptomarauder joined #lisp 2018-02-23T09:23:02Z hiq[m] joined #lisp 2018-02-23T09:23:07Z katco[m] joined #lisp 2018-02-23T09:23:09Z ArthurAGleckler[ joined #lisp 2018-02-23T09:24:35Z vap1 quit (Ping timeout: 240 seconds) 2018-02-23T09:27:17Z smurfrobot quit (Ping timeout: 276 seconds) 2018-02-23T09:30:50Z jmercouris joined #lisp 2018-02-23T09:42:25Z quazimodo joined #lisp 2018-02-23T09:44:05Z Ven` joined #lisp 2018-02-23T09:44:06Z Ven`` quit (Read error: Connection reset by peer) 2018-02-23T09:44:40Z vaporatorius joined #lisp 2018-02-23T09:44:58Z vap1 joined #lisp 2018-02-23T09:46:20Z milanj joined #lisp 2018-02-23T09:53:31Z uuplusu quit (Remote host closed the connection) 2018-02-23T10:01:35Z makomo_ joined #lisp 2018-02-23T10:11:16Z pjb joined #lisp 2018-02-23T10:16:56Z Kaisyu quit (Quit: Connection closed for inactivity) 2018-02-23T10:21:05Z renard_ quit (Ping timeout: 240 seconds) 2018-02-23T10:22:03Z MrMc joined #lisp 2018-02-23T10:22:10Z Murii joined #lisp 2018-02-23T10:23:19Z groovy2shoes joined #lisp 2018-02-23T10:23:26Z renard_ joined #lisp 2018-02-23T10:27:23Z glv joined #lisp 2018-02-23T10:40:33Z Amplituhedron quit (Read error: Connection reset by peer) 2018-02-23T10:41:50Z vaporatorius quit (Quit: Leaving) 2018-02-23T10:43:15Z papachan joined #lisp 2018-02-23T10:44:46Z shrdlu68: hjudt_: Easiest thing to do is probably to inspect the traffic with something like wireshark 2018-02-23T10:50:13Z smurfrobot joined #lisp 2018-02-23T10:50:17Z eudoxia joined #lisp 2018-02-23T10:53:10Z Kevslinger joined #lisp 2018-02-23T10:53:14Z EvW joined #lisp 2018-02-23T11:00:53Z Cymew quit (Remote host closed the connection) 2018-02-23T11:01:19Z Cymew joined #lisp 2018-02-23T11:03:57Z damke quit (Ping timeout: 264 seconds) 2018-02-23T11:04:24Z smurfrobot quit (Remote host closed the connection) 2018-02-23T11:05:18Z Cymew_ joined #lisp 2018-02-23T11:05:37Z damke joined #lisp 2018-02-23T11:07:10Z jtroseme joined #lisp 2018-02-23T11:07:57Z Cymew quit (Ping timeout: 240 seconds) 2018-02-23T11:09:53Z Cymew_ quit (Ping timeout: 248 seconds) 2018-02-23T11:14:29Z eudoxia quit (Quit: Leaving) 2018-02-23T11:19:12Z nika quit 2018-02-23T11:19:57Z Ven` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-23T11:20:07Z pagnol joined #lisp 2018-02-23T11:22:35Z willmichael quit (Ping timeout: 240 seconds) 2018-02-23T11:25:15Z grumble quit (Quit: and I keep telling myself it's all in my head) 2018-02-23T11:28:30Z attila_lendvai joined #lisp 2018-02-23T11:28:39Z willmichael joined #lisp 2018-02-23T11:31:17Z grumble joined #lisp 2018-02-23T11:32:01Z rstandy joined #lisp 2018-02-23T11:33:14Z shoogz joined #lisp 2018-02-23T11:33:14Z shoogz quit (Max SendQ exceeded) 2018-02-23T11:33:44Z smurfrobot joined #lisp 2018-02-23T11:33:44Z shoogz joined #lisp 2018-02-23T11:33:45Z shoogz quit (Max SendQ exceeded) 2018-02-23T11:34:15Z shoogz joined #lisp 2018-02-23T11:34:15Z shoogz quit (Max SendQ exceeded) 2018-02-23T11:34:46Z shoogz joined #lisp 2018-02-23T11:34:46Z shoogz quit (Max SendQ exceeded) 2018-02-23T11:35:18Z shoogz joined #lisp 2018-02-23T11:35:18Z shoogz quit (Max SendQ exceeded) 2018-02-23T11:35:49Z shoogz joined #lisp 2018-02-23T11:35:49Z shoogz quit (Max SendQ exceeded) 2018-02-23T11:36:54Z shoogz joined #lisp 2018-02-23T11:36:54Z shoogz quit (Max SendQ exceeded) 2018-02-23T11:39:01Z osifjosdfji joined #lisp 2018-02-23T11:39:36Z shoogz joined #lisp 2018-02-23T11:39:37Z shoogz quit (Max SendQ exceeded) 2018-02-23T11:40:11Z osifjosdfji quit (Client Quit) 2018-02-23T11:41:16Z shoogz joined #lisp 2018-02-23T11:41:16Z shoogz quit (Max SendQ exceeded) 2018-02-23T11:42:21Z shoogz joined #lisp 2018-02-23T11:42:21Z shoogz quit (Max SendQ exceeded) 2018-02-23T11:43:03Z shoogz joined #lisp 2018-02-23T11:43:15Z nowolfer_ quit (Ping timeout: 256 seconds) 2018-02-23T11:47:21Z python476 joined #lisp 2018-02-23T11:47:22Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T11:49:12Z attila_lendvai joined #lisp 2018-02-23T11:49:25Z omilu joined #lisp 2018-02-23T11:54:57Z smurfrobot quit (Remote host closed the connection) 2018-02-23T11:55:43Z jmercouris quit (Ping timeout: 256 seconds) 2018-02-23T11:58:00Z smurfrobot joined #lisp 2018-02-23T11:58:02Z milanj quit (Quit: This computer has gone to sleep) 2018-02-23T11:59:04Z learning joined #lisp 2018-02-23T12:02:09Z fikka quit (Ping timeout: 264 seconds) 2018-02-23T12:07:26Z jtroseme quit (Remote host closed the connection) 2018-02-23T12:09:16Z angavrilov joined #lisp 2018-02-23T12:14:04Z dddddd joined #lisp 2018-02-23T12:15:25Z uuplusu joined #lisp 2018-02-23T12:17:33Z smurfrobot quit (Remote host closed the connection) 2018-02-23T12:17:33Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T12:17:46Z fikka joined #lisp 2018-02-23T12:18:14Z rstandy quit (Remote host closed the connection) 2018-02-23T12:18:26Z rstandy joined #lisp 2018-02-23T12:20:01Z attila_lendvai joined #lisp 2018-02-23T12:22:50Z fikka quit (Ping timeout: 268 seconds) 2018-02-23T12:30:51Z jtroseme joined #lisp 2018-02-23T12:32:04Z Ven`` joined #lisp 2018-02-23T12:32:42Z terpri quit (Ping timeout: 268 seconds) 2018-02-23T12:32:55Z milanj joined #lisp 2018-02-23T12:38:08Z fikka joined #lisp 2018-02-23T12:43:13Z fikka quit (Ping timeout: 248 seconds) 2018-02-23T12:43:40Z Cymew joined #lisp 2018-02-23T12:44:09Z shrdlu68 quit (Ping timeout: 264 seconds) 2018-02-23T12:52:22Z random-nick joined #lisp 2018-02-23T12:58:27Z fikka joined #lisp 2018-02-23T12:59:52Z igemnace quit (Read error: Connection reset by peer) 2018-02-23T13:00:40Z damke_ joined #lisp 2018-02-23T13:01:18Z BitPuffin joined #lisp 2018-02-23T13:01:34Z sysfault quit (Quit: Leaving) 2018-02-23T13:02:45Z damke quit (Ping timeout: 264 seconds) 2018-02-23T13:03:29Z fikka quit (Ping timeout: 248 seconds) 2018-02-23T13:08:42Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T13:10:27Z attila_lendvai joined #lisp 2018-02-23T13:10:36Z raynold quit (Quit: Connection closed for inactivity) 2018-02-23T13:13:24Z pythosnek joined #lisp 2018-02-23T13:13:27Z pythosnek quit (Remote host closed the connection) 2018-02-23T13:13:48Z saki quit (Remote host closed the connection) 2018-02-23T13:14:05Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T13:14:54Z python476 quit (Ping timeout: 260 seconds) 2018-02-23T13:16:12Z attila_lendvai joined #lisp 2018-02-23T13:17:26Z nao1 joined #lisp 2018-02-23T13:17:41Z uuplusu quit (Remote host closed the connection) 2018-02-23T13:18:24Z aeth quit (Ping timeout: 260 seconds) 2018-02-23T13:18:45Z fikka joined #lisp 2018-02-23T13:20:15Z aeth joined #lisp 2018-02-23T13:23:20Z smurfrobot joined #lisp 2018-02-23T13:23:24Z asarch joined #lisp 2018-02-23T13:23:35Z fikka quit (Ping timeout: 240 seconds) 2018-02-23T13:27:35Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-23T13:28:00Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T13:29:03Z smurfrobot joined #lisp 2018-02-23T13:29:09Z fikka joined #lisp 2018-02-23T13:30:14Z attila_lendvai joined #lisp 2018-02-23T13:30:48Z dieggsy joined #lisp 2018-02-23T13:33:28Z flip214: Shinmera: any ETA for ELS registration? No need to hurry, just curious. (And HR wants to know ;) 2018-02-23T13:33:55Z Shinmera: It's done and out of my hands. Ask Didier. 2018-02-23T13:33:57Z fikka quit (Ping timeout: 264 seconds) 2018-02-23T13:37:42Z rstandy quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-23T13:38:19Z dieggsy quit (Quit: ERC (IRC client for Emacs 27.0.50)) 2018-02-23T13:38:45Z fikka joined #lisp 2018-02-23T13:39:21Z python476 joined #lisp 2018-02-23T13:39:35Z nullman quit (Ping timeout: 240 seconds) 2018-02-23T13:40:15Z smurfrobot quit (Remote host closed the connection) 2018-02-23T13:40:15Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T13:40:26Z parjanya quit (Ping timeout: 256 seconds) 2018-02-23T13:40:44Z nullman joined #lisp 2018-02-23T13:42:27Z AeroNotix: Zhivago: your thing about temporary processes and making per-function calls in those slightly reminds me of Erlang. 2018-02-23T13:42:38Z attila_lendvai joined #lisp 2018-02-23T13:43:06Z AeroNotix: in Erlang each function is executed in its own "process" which is not a unix process but an actor within the beam vm. Each process has its own GC and GC happens in isolation from every other process. 2018-02-23T13:43:06Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T13:44:59Z attila_lendvai joined #lisp 2018-02-23T13:47:53Z glv quit (Quit: Leaving) 2018-02-23T13:48:35Z smokeink quit (Ping timeout: 276 seconds) 2018-02-23T13:48:48Z quazimodo quit (Ping timeout: 248 seconds) 2018-02-23T13:53:33Z White_Flame: erlang functions are normal synchronous functions 2018-02-23T13:53:48Z White_Flame: but yeah, it's all about cheap easy processes & message passing 2018-02-23T13:54:41Z dtornabene joined #lisp 2018-02-23T13:58:51Z papachan quit (Quit: WeeChat 2.0.1) 2018-02-23T13:59:02Z comborico joined #lisp 2018-02-23T14:04:17Z EvW quit (Ping timeout: 265 seconds) 2018-02-23T14:04:17Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T14:05:30Z attila_lendvai joined #lisp 2018-02-23T14:06:07Z mishoo quit (Ping timeout: 260 seconds) 2018-02-23T14:12:23Z fe[nl]ix: Shinmera: can we already register for ELS ? the announcement doesn't mention that 2018-02-23T14:12:33Z Shinmera: No 2018-02-23T14:12:50Z fe[nl]ix: when will it open ? 2018-02-23T14:12:57Z Shinmera: I don't know. Ask Didier. 2018-02-23T14:13:25Z Shinmera: I only write website code. I'm not actually involved with the organisation. 2018-02-23T14:13:26Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T14:15:34Z attila_lendvai joined #lisp 2018-02-23T14:15:34Z attila_lendvai quit (Changing host) 2018-02-23T14:15:34Z attila_lendvai joined #lisp 2018-02-23T14:16:24Z Pixel_Outlaw joined #lisp 2018-02-23T14:16:44Z Pixel_Outlaw quit (Client Quit) 2018-02-23T14:19:30Z galdor1 is now known as galdor 2018-02-23T14:19:38Z Bike joined #lisp 2018-02-23T14:23:44Z fikka quit (Ping timeout: 260 seconds) 2018-02-23T14:23:45Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T14:25:58Z fikka joined #lisp 2018-02-23T14:26:23Z MrMc quit (Remote host closed the connection) 2018-02-23T14:27:44Z shifty quit (Ping timeout: 248 seconds) 2018-02-23T14:28:43Z attila_lendvai joined #lisp 2018-02-23T14:28:43Z attila_lendvai quit (Changing host) 2018-02-23T14:28:43Z attila_lendvai joined #lisp 2018-02-23T14:28:45Z terpri joined #lisp 2018-02-23T14:31:07Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T14:32:40Z AeroNotix: White_Flame: not sure what I said needed clarification 2018-02-23T14:32:48Z AeroNotix: about them being "normal synchronous functions" 2018-02-23T14:33:14Z White_Flame: "in Erlang each function is executed in its own "process"" isn't correct 2018-02-23T14:33:21Z AeroNotix: Yes it is 2018-02-23T14:33:34Z AeroNotix: White_Flame: in what context is an Erlang function not executed in a process 2018-02-23T14:33:36Z attila_lendvai joined #lisp 2018-02-23T14:33:56Z AeroNotix: each invocation doesn't create a new process. 2018-02-23T14:34:01Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T14:34:15Z AeroNotix: but each function is always executed within a process and all processes are executing concurrently 2018-02-23T14:34:19Z White_Flame: right, that's an ambiguous implication that to me read as a function gets its own unique process 2018-02-23T14:34:28Z White_Flame: not its "own" shared process 2018-02-23T14:35:05Z AeroNotix: since a function cannot be executed outside of a process, there's not much difference unless you understood that each invocation creates a new process for the function to execute in 2018-02-23T14:35:12Z AeroNotix: any way 2018-02-23T14:35:16Z AeroNotix: the point was about the erlang GC 2018-02-23T14:35:20Z AeroNotix: which is interesting 2018-02-23T14:35:24Z White_Flame: right, per-process GC 2018-02-23T14:35:43Z DonVlad joined #lisp 2018-02-23T14:35:54Z AeroNotix: Yes 2018-02-23T14:35:57Z White_Flame: in classical Lisp, were what we now call threads called "processes"? 2018-02-23T14:36:11Z AeroNotix: No idea about classical lisp 2018-02-23T14:36:17Z White_Flame: I think that was the case 2018-02-23T14:36:29Z AeroNotix: really do think a good Lisp needs to come to the beam 2018-02-23T14:36:34Z AeroNotix: there's clojerl 2018-02-23T14:36:45Z AeroNotix: and LFE, but LFE is a garbage tyre fire of a language 2018-02-23T14:36:49Z White_Flame: however, in some of the lisp machines, you could allocate fixed-size regions to work with, and then throw away the region after you were done 2018-02-23T14:37:10Z AeroNotix: if you squint hard enough erlang processes could be used like that 2018-02-23T14:37:13Z __rumbler31 joined #lisp 2018-02-23T14:37:29Z AeroNotix: spawn_opts could be used to allocate a heap of your choosing and the process could die when you're done 2018-02-23T14:37:44Z AeroNotix: I forget if you can disable gc for an individual process but with the right spawn_opts perhaps it's possible 2018-02-23T14:37:53Z White_Flame: one thing (of quite a few) that I hated about Erlang is that you couldn't sic multiple processes to scan through a single large immutable shared data structure 2018-02-23T14:38:15Z White_Flame: unless you did hacky things with binaries, as those were shared 2018-02-23T14:38:27Z AeroNotix: not quite like you're saying though 2018-02-23T14:38:38Z AeroNotix: there's no good way to query if you have a refc binary 2018-02-23T14:38:47Z AeroNotix: you just sort of assume it is given it's size 2018-02-23T14:38:59Z AeroNotix: ETS is what you're after kind of 2018-02-23T14:39:11Z AeroNotix: or pre-chunking a datastructure but it still requires copying 2018-02-23T14:39:53Z White_Flame: yeah, ETS wuldn't work. Parallelizing multiple processes to scan a single data structure would be done for optimization; shifting all that into an ETS database form would kill speed & serialize it 2018-02-23T14:40:26Z AeroNotix: I was meaning that you would start off with your data in ETS 2018-02-23T14:40:32Z AeroNotix: instead of temporarily moving it there 2018-02-23T14:40:50Z White_Flame: right, and taht would be terrible for a fine-grained tree data structure, where you can very quickly traverse it in RAM normally 2018-02-23T14:41:08Z fe[nl]ix: on recent CPUs it tends to be a severe speed disadvantage to access large(ish) data structures from multiple threads 2018-02-23T14:41:24Z White_Flame: but in any case, I spent 2-3 years deep in Erlang. It's a great language to learn from, but I certainly don't use it anymore by intent :) 2018-02-23T14:41:39Z fe[nl]ix: especially if those threads are running on different cores on different NUMA nodes 2018-02-23T14:42:10Z AeroNotix: fe[nl]ix: you can lock schedulers to cores in Erlang but it still would present the issues you're talking about 2018-02-23T14:42:24Z White_Flame: fe[nl]ix: yeah, nowadays you really have to manage affinity & such if you're doing that level of optmization 2018-02-23T14:42:57Z AeroNotix: White_Flame: why don't you use it any more? 2018-02-23T14:43:03Z AeroNotix: Erlang, I mean 2018-02-23T14:43:28Z AeroNotix: It's a garbage language itself, imho but nothing comes close for very simple concurrency and structuring concurrent applications 2018-02-23T14:43:42Z AeroNotix: plus the beam is p fkn cool 2018-02-23T14:43:58Z White_Flame: bad syntax, SSA got in the way of editing, very static model of the supervisor configuration which is at odds with dynamic application servers & runtime services, no parallelization of shared structures as mentioned above, etc 2018-02-23T14:44:08Z White_Flame: however, it has been quite a few years in the meantime, so I don't know how erlang has progressed 2018-02-23T14:44:11Z smurfrobot joined #lisp 2018-02-23T14:45:01Z White_Flame: and we also desparately missed lisp macros 2018-02-23T14:45:08Z Kristof_HT joined #lisp 2018-02-23T14:45:09Z AeroNotix: Where would you need a dynamic supervisor configuration? 2018-02-23T14:45:32Z fe[nl]ix: White_Flame: in many cases it's significantly faster to pin the pages of the data structure on a NUMA node, assign it to a worker thread pinned on the same node and have the other threads enqueue work requests 2018-02-23T14:45:34Z White_Flame: automatic load balancing & reconfiguration, uploading new dynamically loaded services 2018-02-23T14:45:35Z AeroNotix: plus you can hot load new supervision trees in 2018-02-23T14:45:51Z damke joined #lisp 2018-02-23T14:45:55Z AeroNotix: There are definitely ways to do what you're talking about 2018-02-23T14:46:07Z AeroNotix: mostly solved with relups 2018-02-23T14:46:08Z fe[nl]ix: so the data structure is only accessed from a single thread and the shared access is on the work queue 2018-02-23T14:46:19Z White_Flame: yes, but at least at the time it always ended up in throwing away everything OTP provided and trying to do it yourself with the provided lower level mechanisms 2018-02-23T14:46:31Z AeroNotix: I don't believe so 2018-02-23T14:46:45Z AeroNotix: relups are tied with OTP pretty hardcore 2018-02-23T14:47:09Z AeroNotix: even a simple hot code reload could reconfigure supervisors/gen_servers 2018-02-23T14:47:12Z White_Flame: erlang was also part of a heterogeneous system, so our stuff wasn't purely defined in erlang assumptions 2018-02-23T14:47:14Z kristof__ joined #lisp 2018-02-23T14:47:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-23T14:48:00Z White_Flame: it's been too long to recall the exact specifics with the supervisor definitions, but each time we had to figure out what number or setting to put into those defintiions, we always wanted them to be calculated predicates, not fixed values 2018-02-23T14:48:13Z AeroNotix: you mean the restart specifications? 2018-02-23T14:48:27Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-23T14:48:30Z AeroNotix: supervisor restart strategies 2018-02-23T14:49:02Z AeroNotix: those are definitely static still, but a relup/code reload can reconfigure them but probably not the way you want to do it 2018-02-23T14:49:36Z kristof__ quit (Client Quit) 2018-02-23T14:49:36Z Kristof_HT quit (Client Quit) 2018-02-23T14:49:37Z White_Flame: but in any case, our conclusion was that erlang woudl work great for statically defined systems (like telecom platforms, incidentally), but for dynamically defined systems just didn't play well enough 2018-02-23T14:49:57Z Kristof_HT joined #lisp 2018-02-23T14:50:04Z White_Flame: the underlying systems coudl do all that, but OTP was built around too many assumptions of static definition 2018-02-23T14:50:05Z AeroNotix: it'd be interesting if the restart strats could take a function atom which would recalculate the restart strategy when a child pid restarted 2018-02-23T14:50:23Z Kristof_HT quit (Client Quit) 2018-02-23T14:50:55Z AeroNotix: but it comes down to whether you could recalculate it quick enough on demand (latency of calculating impeding restart) the lack of shared data would hinder that too. Since if you had shared data you could recalculate it elsewhere and update a variable it could access 2018-02-23T14:51:07Z Kristof_HT joined #lisp 2018-02-23T14:51:08Z AeroNotix: there are hacks for that. Recompiling a module at runtime, for example 2018-02-23T14:51:53Z CrazyEddy quit (Read error: Connection reset by peer) 2018-02-23T14:52:14Z kristof__ joined #lisp 2018-02-23T14:52:33Z kristof__ quit (Remote host closed the connection) 2018-02-23T14:52:38Z sz0 joined #lisp 2018-02-23T14:52:59Z Kristof_HT quit (Client Quit) 2018-02-23T14:53:17Z Kristof_HT joined #lisp 2018-02-23T14:53:29Z attila_lendvai joined #lisp 2018-02-23T14:53:29Z attila_lendvai quit (Changing host) 2018-02-23T14:53:29Z attila_lendvai joined #lisp 2018-02-23T14:54:34Z kristof__ joined #lisp 2018-02-23T14:54:34Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T14:54:56Z kristof__ quit (Remote host closed the connection) 2018-02-23T14:54:59Z mnoonan joined #lisp 2018-02-23T14:55:56Z Kristof_HT quit (Client Quit) 2018-02-23T14:58:01Z attila_lendvai joined #lisp 2018-02-23T14:58:01Z attila_lendvai quit (Changing host) 2018-02-23T14:58:01Z attila_lendvai joined #lisp 2018-02-23T14:58:10Z dieggsy joined #lisp 2018-02-23T15:02:24Z uuplusu joined #lisp 2018-02-23T15:02:48Z uuplusu quit (Remote host closed the connection) 2018-02-23T15:02:52Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T15:05:05Z EvW joined #lisp 2018-02-23T15:05:48Z Cymew quit (Remote host closed the connection) 2018-02-23T15:06:31Z angelo quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-23T15:07:49Z aijony quit (Ping timeout: 256 seconds) 2018-02-23T15:07:53Z moei joined #lisp 2018-02-23T15:09:05Z Ven`` quit (Ping timeout: 240 seconds) 2018-02-23T15:10:41Z FreeBirdLjj joined #lisp 2018-02-23T15:10:54Z Jesin joined #lisp 2018-02-23T15:11:55Z Ven`` joined #lisp 2018-02-23T15:12:08Z dtornabene: curious if anyone has done any audio processing in CL, specifically eating an mp3 and doing analysis on the stream?? 2018-02-23T15:12:28Z LiamH joined #lisp 2018-02-23T15:15:19Z dtornabene: although I'm open to hearing any audio processing stories, not just mp3 stuff 2018-02-23T15:15:31Z aijony joined #lisp 2018-02-23T15:16:33Z fikka quit (Ping timeout: 264 seconds) 2018-02-23T15:18:30Z scymtym quit (Ping timeout: 252 seconds) 2018-02-23T15:20:21Z attila_lendvai joined #lisp 2018-02-23T15:20:58Z Shinmera: there's cl-mpg123 to read mp3 files 2018-02-23T15:21:30Z Shinmera: I don't know what analysis you want to do on audio data, but you just get a buffer of floats in any case. From there on out you can do whatever with it. 2018-02-23T15:21:35Z nao1 quit (Ping timeout: 248 seconds) 2018-02-23T15:21:47Z sjl joined #lisp 2018-02-23T15:22:18Z dtornabene: cool! thanks for the reply I acutally just found some of your own stuff from googling 2018-02-23T15:22:34Z juan-reynoso joined #lisp 2018-02-23T15:22:35Z dtornabene: i think I'll give cl-mpg123 a shot and go from there 2018-02-23T15:22:46Z Shinmera: I'm mostly concerned with real-time processing, which may or may not be in your area. 2018-02-23T15:22:52Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T15:24:29Z mishoo joined #lisp 2018-02-23T15:24:30Z dtornabene: not so much, no. I'd like to do some similarity of sound analysis, similar in some ways to what echonest does with beat and melody comparisons 2018-02-23T15:24:46Z Shinmera: I see. 2018-02-23T15:24:57Z dtornabene: i have a ton of mp3s, like to filter out some sounds and compare others, and go from there 2018-02-23T15:25:25Z attila_lendvai joined #lisp 2018-02-23T15:25:52Z dtornabene: thanks again for the pointers, it seems like in terms of libraries its a "there be dragons" kind of situation as use cases can get specialized really quickly 2018-02-23T15:26:19Z Shinmera: Yeah. 2018-02-23T15:28:05Z saki joined #lisp 2018-02-23T15:31:44Z smurfrobot joined #lisp 2018-02-23T15:32:02Z fikka joined #lisp 2018-02-23T15:36:21Z smurfrobot quit (Ping timeout: 264 seconds) 2018-02-23T15:36:21Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T15:36:58Z fikka quit (Ping timeout: 240 seconds) 2018-02-23T15:37:02Z csaurus joined #lisp 2018-02-23T15:37:22Z al-damiri joined #lisp 2018-02-23T15:37:32Z attila_lendvai joined #lisp 2018-02-23T15:37:32Z attila_lendvai quit (Changing host) 2018-02-23T15:37:32Z attila_lendvai joined #lisp 2018-02-23T15:42:36Z fikka joined #lisp 2018-02-23T15:43:58Z makomo_ quit (Ping timeout: 240 seconds) 2018-02-23T15:47:05Z damke_ joined #lisp 2018-02-23T15:47:44Z fikka quit (Ping timeout: 260 seconds) 2018-02-23T15:48:32Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T15:48:57Z damke quit (Ping timeout: 264 seconds) 2018-02-23T15:49:38Z elts quit (Ping timeout: 256 seconds) 2018-02-23T15:49:39Z attila_lendvai joined #lisp 2018-02-23T15:49:39Z attila_lendvai quit (Changing host) 2018-02-23T15:49:39Z attila_lendvai joined #lisp 2018-02-23T15:50:40Z elts joined #lisp 2018-02-23T15:52:39Z fikka joined #lisp 2018-02-23T15:53:57Z pjb: dtornabene: beach has a fast FFT in CL! 2018-02-23T15:54:29Z dtornabene: ha, I'm currently sifting through DFT implementations on github right now 2018-02-23T15:54:58Z dtornabene: could you link me? I'd love to take a look, and I'm not sure who beach is .... 2018-02-23T15:55:31Z pjb: https://www.cliki.net/FFT 2018-02-23T15:55:48Z pjb: Actually it's Patrick Stein the author. 2018-02-23T15:56:03Z smurfrobot joined #lisp 2018-02-23T15:56:22Z pjb: AH, beach's one is https://www.cliki.net/Bordeaux-FFT 2018-02-23T15:56:46Z pjb: Only it's Andy Hefner's 2018-02-23T15:56:53Z dtornabene: thank you very much, this is very much "journey of a thousand miles begins with a single step" territory for me... 2018-02-23T15:56:56Z pjb: I don't know I believed beach was the author… 2018-02-23T15:57:21Z fikka quit (Ping timeout: 248 seconds) 2018-02-23T15:57:30Z Bike: because "bordeaux"? 2018-02-23T15:58:10Z Arcaelyx joined #lisp 2018-02-23T15:58:31Z comborico quit (Quit: Konversation terminated!) 2018-02-23T15:58:54Z dtornabene: thanks again 2018-02-23T15:59:29Z ninegrid joined #lisp 2018-02-23T15:59:35Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-23T16:00:27Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-23T16:04:10Z FreeBirdLjj joined #lisp 2018-02-23T16:04:53Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-23T16:05:11Z FreeBirdLjj joined #lisp 2018-02-23T16:05:46Z Ven`` quit (Read error: No route to host) 2018-02-23T16:05:55Z CrazyEddy joined #lisp 2018-02-23T16:05:58Z Ven`` joined #lisp 2018-02-23T16:06:34Z angelo joined #lisp 2018-02-23T16:06:37Z angelo: hi 2018-02-23T16:06:41Z dTal: hi 2018-02-23T16:07:08Z Karl_Dscc joined #lisp 2018-02-23T16:07:41Z angelo: please help, I wrote a project with 4 nested loop, quickload cannot load eventually dropped in the debugger for stack overflow! Thanks 2018-02-23T16:08:15Z pjb: angelo: no problem; let me start up my telepathic powers. 2018-02-23T16:08:55Z Bike: what he means it that's not enough information for us to help 2018-02-23T16:09:57Z EvW quit (Ping timeout: 265 seconds) 2018-02-23T16:10:53Z shrdlu68 joined #lisp 2018-02-23T16:11:43Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-23T16:11:53Z fikka joined #lisp 2018-02-23T16:12:55Z Guest16495: when doing curses development with cl-charms i want my application to handle ctrl-c as an input, but the sbcl repl intercepts it and interrupts the program. is there a way to avoid this? 2018-02-23T16:13:21Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T16:14:57Z shrdlu68 quit (Ping timeout: 248 seconds) 2018-02-23T16:15:39Z attila_lendvai joined #lisp 2018-02-23T16:15:39Z attila_lendvai quit (Changing host) 2018-02-23T16:15:39Z attila_lendvai joined #lisp 2018-02-23T16:15:51Z yaewa joined #lisp 2018-02-23T16:16:42Z jtroseme quit (Remote host closed the connection) 2018-02-23T16:17:05Z moei quit (Ping timeout: 248 seconds) 2018-02-23T16:17:06Z Shinmera: That's not SBCL doing it, that's your terminal. 2018-02-23T16:17:15Z Shinmera: Your terminal is converting C-c into SIGINT. 2018-02-23T16:17:16Z pjb: Guest16495: stty intr undef # or of course, the equivalent termios. 2018-02-23T16:19:39Z flamebeard quit (Quit: Leaving) 2018-02-23T16:23:01Z FreeBirdLjj quit 2018-02-23T16:26:27Z sjl: Guest16495: `(charms:enable-raw-input)` 2018-02-23T16:26:43Z nowhereman_ joined #lisp 2018-02-23T16:27:10Z sjl: note that if you're running SBCL with something like rlwrap, this may cause problems. When using cl-charms I run SBCL directly without rlwrap or anything else around it. 2018-02-23T16:28:16Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T16:28:23Z Ven`` joined #lisp 2018-02-23T16:29:21Z attila_lendvai joined #lisp 2018-02-23T16:29:21Z attila_lendvai quit (Changing host) 2018-02-23T16:29:22Z attila_lendvai joined #lisp 2018-02-23T16:30:11Z dtornabene: sjl: do you use rlwrap with sbcl? 2018-02-23T16:30:17Z sjl: dtornabene: usually, yes 2018-02-23T16:30:26Z nowhere_man quit (Ping timeout: 256 seconds) 2018-02-23T16:30:45Z dtornabene: sjl: have you found a way to get it to autocomplete on symbol/function names? 2018-02-23T16:30:53Z AxelAlex joined #lisp 2018-02-23T16:31:42Z attila_lendvai: dtornabene: that goal is not reachable with reasonable effort 2018-02-23T16:31:48Z dtornabene: lol 2018-02-23T16:31:56Z smasta quit (Ping timeout: 255 seconds) 2018-02-23T16:31:57Z dtornabene: attila_lendvai: fair enough 2018-02-23T16:32:18Z sjl: for built-in stuff in the cl package, you can probably just dump all the symbols into a big file for rlwrap to look at 2018-02-23T16:32:33Z dtornabene: yeah, that was what I meant 2018-02-23T16:32:45Z sjl: but if you want (defun foo () 1) and then be able to tab-complete foo, that's gonna be a lot more involved 2018-02-23T16:33:06Z dtornabene: the snippet of code I'm using in conjunction with rlwrap is supposed to do that already but doesn't and I've been too lazy to debug it 2018-02-23T16:33:18Z dtornabene: sjl: for sure, I get that 2018-02-23T16:33:31Z sjl: you using this? https://www.cliki.net/rlwrap 2018-02-23T16:33:57Z saki quit (Ping timeout: 256 seconds) 2018-02-23T16:34:02Z sjl: there's also --remember for readline that's kind of a hacky solution 2018-02-23T16:34:15Z sjl: it just adds every word it sees to the completion list 2018-02-23T16:34:52Z dtornabene: hold on, I'll find the link to the code I'm using, its from a well known lisp hacker 2018-02-23T16:35:22Z sjl: anyway, this is my rlwrap config for lisp repls https://bitbucket.org/sjl/dotfiles/src/default/bin/rlwrap-lisp 2018-02-23T16:35:45Z dtornabene: its Edi Weitz, http://weitz.de/completions.html 2018-02-23T16:36:05Z dtornabene: sjl: thanks for this! 2018-02-23T16:36:21Z Jesin quit (Quit: Leaving) 2018-02-23T16:39:49Z EvW joined #lisp 2018-02-23T16:41:18Z whoman: can we make a gigantic lisp image containing all of current quicklisp ? 2018-02-23T16:41:24Z pjb: You can. 2018-02-23T16:41:32Z pjb: About 530 MB last time I tried. 2018-02-23T16:41:38Z whoman: oh, cool =) =) 2018-02-23T16:41:55Z pjb: com.informatimago.tools.quicklisp:quick-load-all 2018-02-23T16:41:59Z parjanya joined #lisp 2018-02-23T16:42:11Z whoman: heh! C-h f 2018-02-23T16:42:26Z edgar-rft joined #lisp 2018-02-23T16:43:14Z pjb: whoman: https://gitlab.com/com-informatimago/com-informatimago 2018-02-23T16:43:44Z fikka quit (Ping timeout: 260 seconds) 2018-02-23T16:43:58Z EvW quit (Ping timeout: 240 seconds) 2018-02-23T16:44:35Z whoman: tyty 2018-02-23T16:44:40Z jmercouris joined #lisp 2018-02-23T16:44:52Z saki joined #lisp 2018-02-23T16:45:39Z whoman: hmm, objcl... distracted.. 2018-02-23T16:47:20Z scymtym joined #lisp 2018-02-23T16:48:59Z smurfrobot joined #lisp 2018-02-23T16:49:28Z Vicfred quit (Quit: Leaving) 2018-02-23T16:51:29Z damke joined #lisp 2018-02-23T16:51:57Z smasta joined #lisp 2018-02-23T16:52:36Z fikka joined #lisp 2018-02-23T16:53:45Z smurfrobot quit (Ping timeout: 264 seconds) 2018-02-23T16:53:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-23T16:56:19Z erikc joined #lisp 2018-02-23T17:01:20Z pfdietz_ joined #lisp 2018-02-23T17:02:06Z pfdietz_: Loading all of quicklisp: aren't there package name conflicts? 2018-02-23T17:02:20Z phoe: pfdietz_: of course they are 2018-02-23T17:02:30Z phoe: binary-types and bordeaux-threads both have nickname "BT" 2018-02-23T17:02:36Z phoe: to quote one of the famous examples 2018-02-23T17:02:52Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-23T17:03:29Z pfdietz_: I am tempted to hack PLNs into clisp and ccl. 2018-02-23T17:04:17Z phoe: PLNs? 2018-02-23T17:04:22Z Shinmera: package local nicknames 2018-02-23T17:04:30Z phoe: oooh. 2018-02-23T17:04:33Z phoe: God sped you. 2018-02-23T17:04:42Z Shinmera: pfdietz_: I don't care about clisp, but ccl would be very much appreciated. 2018-02-23T17:05:13Z Shinmera: Could even start deploying it in libraries at that point. Exciting! 2018-02-23T17:05:37Z pfdietz_: Allegro would the next roadblock. 2018-02-23T17:06:00Z pfdietz_: Don't know if Lisp works supports it. 2018-02-23T17:06:05Z phoe: I don't care about Allegro 2018-02-23T17:06:17Z Cymew joined #lisp 2018-02-23T17:06:45Z Shinmera: Well, the more the merrier of course 2018-02-23T17:06:52Z FreeBirdLjj joined #lisp 2018-02-23T17:07:19Z Shinmera: And once libraries start using it, convincing LW/Franz to add them would probably be easier. 2018-02-23T17:07:39Z whoman: hm, for quicklisp? that would be quite alright =) 2018-02-23T17:08:35Z pfdietz_: cmucl would also need it but that's low usage. And I think gcl is moribund. 2018-02-23T17:09:02Z phoe: gcl is dead. 2018-02-23T17:09:44Z pfdietz_: ACL2 moved off it? 2018-02-23T17:09:58Z pfdietz_: Or died itself... 2018-02-23T17:10:56Z Cymew quit (Ping timeout: 248 seconds) 2018-02-23T17:12:21Z Cymew joined #lisp 2018-02-23T17:12:28Z whoman: thats too bad. GNU is such an offical trusty naming style 2018-02-23T17:12:45Z whoman: like what the heck is Steel Bank 2018-02-23T17:13:09Z Shinmera: More solid than a Gnu 2018-02-23T17:13:12Z jmercouris: I don't know, and that's one of the reasons I picked SBCL first, not even joking 2018-02-23T17:13:17Z White_Flame: it's definitely not Carnegie Mellon 2018-02-23T17:13:25Z AeroNotix: whoman: "The name "Steel Bank Common Lisp" is a reference to Carnegie Mellon University Common Lisp from which SBCL forked: Andrew Carnegie made his fortune in the steel industry and Andrew Mellon was a successful banker. 2018-02-23T17:13:27Z jmercouris: I mean I picked CCL in place of SBCL 2018-02-23T17:13:27Z AeroNotix: " 2018-02-23T17:13:51Z jmercouris: naming is important, regardless of how much of a brand you build 2018-02-23T17:13:52Z TMA: whoman: Steel ~ Carnegie ; Bank ~ Mellon, for it is a fork of cmucl 2018-02-23T17:13:56Z pfdietz_: ACL2 no longer depends on gcl I see. 2018-02-23T17:14:01Z jmercouris: part of your brand is the name, especially in an acronym 2018-02-23T17:14:12Z White_Flame: SNCM: SNCM's Not Carnegie Mellon 2018-02-23T17:14:20Z AeroNotix: Also, SBCL seems to be the defacto standard for open source stuff nowadays 2018-02-23T17:14:29Z AeroNotix: I know people use other implementations 2018-02-23T17:14:39Z jmercouris: I use CCL!! :) 2018-02-23T17:14:49Z smurfrobot joined #lisp 2018-02-23T17:14:53Z whoman: hehe 2018-02-23T17:14:56Z White_Flame: yep, CCL has had better mac & win support, and GUI things. CLISP has been easy to port. ECL is embeddable, etc 2018-02-23T17:15:04Z jmercouris: I've also used ECL, but I prefer CCL 2018-02-23T17:15:15Z jmercouris: for my applications 2018-02-23T17:15:19Z whoman: what about the iphone lisp ? M-something 2018-02-23T17:15:27Z random-nick: mocl? 2018-02-23T17:15:29Z phoe: mocl 2018-02-23T17:15:30Z AeroNotix: CLISP seems crap 2018-02-23T17:15:42Z phoe: CLISP is decent, but starts getting dated. 2018-02-23T17:15:47Z jmercouris: AeroNotix: yet I hear the name brought up all the time 2018-02-23T17:15:51Z phoe: it is still maintained, but hasn't had a release for a long time 2018-02-23T17:15:56Z jmercouris: what's up with CLASP, is it complete? 2018-02-23T17:15:58Z AeroNotix: jmercouris: it's just one that exists 2018-02-23T17:16:10Z random-nick: don't forget Mezzano 2018-02-23T17:16:14Z pfdietz_: The SBCL fork was a bit daring because build time was an issue back then and SBCL had to compile things twice. Now the build time is almost negligible. 2018-02-23T17:16:15Z phoe: also CLISP has a very (un)fortunate name because it shares its first name with C(ommon )Lisp 2018-02-23T17:16:19Z AeroNotix: I believe clasp is complete. I remember the author making a big deal about it being complete in here a few months/years ago 2018-02-23T17:16:20Z jmercouris: Mezzano is a lisp implementation and an OS? 2018-02-23T17:16:28Z phoe: jmercouris: yes. 2018-02-23T17:16:34Z AeroNotix: when I first started I thought CLISP was the only implementation exactly because it was called CLISP 2018-02-23T17:16:37Z phoe: it's crazy, but it works and runs on bare metal now. 2018-02-23T17:16:37Z jmercouris: drmeister is the author AFIAK 2018-02-23T17:16:40Z phoe: yes 2018-02-23T17:16:50Z phoe: go to #clasp for most fresh information 2018-02-23T17:16:53Z jmercouris: phoe: mezzano? 2018-02-23T17:17:00Z fikka quit (Ping timeout: 260 seconds) 2018-02-23T17:17:01Z Cymew quit (Ping timeout: 256 seconds) 2018-02-23T17:17:05Z jmercouris: so what's the big draw of clasp, interop with c++? 2018-02-23T17:17:13Z random-nick: yes 2018-02-23T17:17:22Z shka: and with C 2018-02-23T17:17:28Z phoe: jmercouris: yes, mezzano is crazy and runs on bare metal. 2018-02-23T17:17:34Z pfdietz_: Clasp is not quite fully gelled but much work is being done. I plan to abuse it horribly when given the go ahead. 2018-02-23T17:17:41Z jmercouris: all implementations support CFFI no? 2018-02-23T17:17:42Z phoe: shka: C interop isn't all that unique right now 2018-02-23T17:17:46Z jmercouris: so why is interop with C important? 2018-02-23T17:18:07Z AeroNotix: I don't understand the reasonsing behind clasp. "Interoperability between cl and c++" can't you achieve that with FFI? 2018-02-23T17:18:09Z mlf joined #lisp 2018-02-23T17:18:12Z White_Flame: right, the impetus for clasp was C++ 2018-02-23T17:18:13Z jmercouris: phoe: It's too bad there's no ecosystem of apps such that one could actually run mezzano as their main OS 2018-02-23T17:18:18Z White_Flame: FFI is normally just C 2018-02-23T17:18:24Z phoe: well, clasp has its own kind of C interoperability - it doesn't "just" interface with already compiled C libraries, it compiles C code with LLVM into something that already has Lisp interoperability. 2018-02-23T17:18:25Z random-nick: interop with C is more of ECL's speciality 2018-02-23T17:18:27Z TMA: AeroNotix: c++ is tough via FFI 2018-02-23T17:18:28Z Cymew joined #lisp 2018-02-23T17:18:31Z phoe: White_Flame: C++ is a pain to interoperate with. 2018-02-23T17:18:36Z phoe: Compiler name mangling, for once. 2018-02-23T17:18:38Z AeroNotix: fair enough, never tried it with C++ 2018-02-23T17:18:40Z jmercouris: AeroNotix: I don't think someone would embark on such a large project if they didn't examine the obvious :D 2018-02-23T17:18:46Z AeroNotix: jmercouris: for sure 2018-02-23T17:18:52Z AeroNotix: I'm just saying I don't personally understand 2018-02-23T17:18:58Z jmercouris: right yeah 2018-02-23T17:19:02Z phoe: In c, void main(int argc, char** argv) has a symbol named "main" 2018-02-23T17:19:04Z jmercouris: also, it's not to say that that's never happened 2018-02-23T17:19:14Z pfdietz_: Clasp could enable exploitation of fancy compiler optimizations for loops and such. Good for numerical work. 2018-02-23T17:19:27Z phoe: in C++ it can be "Vmain2IargcCPPargvUNICORNSandSTUFF" 2018-02-23T17:19:29Z Bike: clasp also lets you manipulate C++ objects in lisp, have lisp classes that are subclasses of C++ ones, stuff like that 2018-02-23T17:19:35Z jmercouris: I wish there were implementation independent extensions to other languages like CFFI 2018-02-23T17:19:41Z jmercouris: there were more of them 2018-02-23T17:19:48Z TMA: phoe: main shall return int 2018-02-23T17:19:48Z Bike: to languages other than C, you mean? 2018-02-23T17:19:53Z AeroNotix: Bike: I feel like I've done that in CL but I might be imagining it 2018-02-23T17:19:54Z jmercouris: Bike: yeah 2018-02-23T17:19:58Z orivej quit (Ping timeout: 240 seconds) 2018-02-23T17:19:59Z AeroNotix: as a toy with ffi 2018-02-23T17:19:59Z phoe: TMA: oh yes, sorry 2018-02-23T17:20:13Z Bike: AeroNotix: cffi doesn't know about C++ classes 2018-02-23T17:20:15Z phoe: but I wasn't doing it to write proper c or c++, I was doing this to illustrate C++ name mangling 2018-02-23T17:20:20Z phoe: and each compiler does it differently 2018-02-23T17:20:26Z TMA: phoe: declaring it otherwise is undefined behavior in hosted enviroment (hosted == libc available) 2018-02-23T17:20:28Z Bike: jmercouris: C is practically the only language with an actual linking api 2018-02-23T17:20:31Z phoe: they are actually *encouraged* to do it differently 2018-02-23T17:20:43Z White_Flame: yeah, everything else is generally sockets for interop 2018-02-23T17:20:43Z Bike: python compiled code, lisp compiled code, it's all opaque 2018-02-23T17:20:50Z random-nick: is there a (common) lisp on top of .NET? 2018-02-23T17:20:51Z AeroNotix: how about rust? 2018-02-23T17:21:03Z Bike: i haven't looked at rust much but i imagine you can link with it, yes 2018-02-23T17:21:06Z phoe: random-nick: not really. 2018-02-23T17:21:10Z jmercouris: Bike: I wouldn't know, I'm not a language expert or anything, but I think simplified bridges could be written with IPC and a child instance 2018-02-23T17:21:16Z phoe: you could try running ABCL via some kind of java-on-CLR bridge. 2018-02-23T17:21:17Z AeroNotix: yeah I've linked rust to emacs before 2018-02-23T17:21:20Z AeroNotix: as a toy 2018-02-23T17:21:21Z Bike: well that's completely different from CFFI, jmercouris 2018-02-23T17:21:35Z jmercouris: Bike: like I can envision how to make a VERY naieve lisp to python bridge with IPC 2018-02-23T17:21:40Z TMA: Bike: for a time pascal had its linking ABI well known, but then it fell out of use 2018-02-23T17:21:54Z Bike: TMA: yeah, i bet. maybe fortran also. i'm too young for such things 2018-02-23T17:22:09Z TMA is too young for fortran 2018-02-23T17:22:13Z AeroNotix: jmercouris: remember about the wankery? You'd invoke their wrath doing it that way 2018-02-23T17:22:20Z random-nick: afaik there used to be a project that provides lisp and python interoperability by interpreting python 2018-02-23T17:22:21Z AeroNotix: omg SLOW 2018-02-23T17:22:24Z fikka joined #lisp 2018-02-23T17:22:24Z phoe is too young for Lisp 2018-02-23T17:22:26Z jmercouris: AeroNotix: lol yeah 2018-02-23T17:22:28Z Bike: clasp also sorta interoperates with fortran :v 2018-02-23T17:22:33Z smurfrobot quit (Remote host closed the connection) 2018-02-23T17:22:40Z phoe: Bike: is that because LLVM can compile Fortran code? 2018-02-23T17:22:41Z random-nick: but I can't recall what's it called and I'm pretty sure it's abandoned 2018-02-23T17:23:00Z Bike: yeah. well, the more general cause is that a lot of science code is written in fortran 2018-02-23T17:23:00Z shka: Bike: that's interesting 2018-02-23T17:23:07Z pfdietz_: First lisp I ever used was on an IBM 7094. Lisp on punch cards. 2018-02-23T17:23:13Z Cymew quit (Ping timeout: 248 seconds) 2018-02-23T17:23:35Z jmercouris: how is lisp on punch cards even possible? 2018-02-23T17:23:51Z phoe: jmercouris: just like any other language would be 2018-02-23T17:23:53Z Bike: why wouldn't it be possible 2018-02-23T17:24:02Z phoe: treat punch cards as terminal input 2018-02-23T17:24:05Z jmercouris: I thought it was reserved for assembler languages with a simple line by line format 2018-02-23T17:24:11Z phoe: jmercouris: d'oh of course not 2018-02-23T17:24:14Z Bike: a punch card is just a binary input format 2018-02-23T17:24:16Z shka quit (Quit: Konversation terminated!) 2018-02-23T17:24:19Z phoe: COBOL on punch cards was a thing 2018-02-23T17:24:23Z phoe: so why wouldn't Lisp be 2018-02-23T17:24:29Z jmercouris: so you are writing in binary then, not in lisp 2018-02-23T17:24:31Z pfdietz_: As was FORTRAN. 2018-02-23T17:24:35Z phoe: jmercouris: no 2018-02-23T17:24:38Z AeroNotix: jmercouris: it could be pure lisp 2018-02-23T17:24:41Z phoe: you are writing letters 2018-02-23T17:24:47Z phoe: encode them in ASCII or ANSI or anything 2018-02-23T17:24:53Z phoe: you get bytes, you punch those on the cards, you send them as input 2018-02-23T17:25:02Z jmercouris: how did they look? one letter per row? 2018-02-23T17:25:02Z jmercouris: and each rwo had all the atoms? 2018-02-23T17:25:02Z AeroNotix: but the machine would "compile" from the card 2018-02-23T17:25:06Z pfdietz_: The letters are printed on the card as you punch it. 2018-02-23T17:25:35Z jmercouris: I'm getting lost here 2018-02-23T17:25:38Z edgar-rft: Just simply punch cards until they lose their teeth and speak with a Lisp - voila 2018-02-23T17:25:41Z jmercouris: all possible letters are printed on the card? 2018-02-23T17:25:43Z TMA: jmercouris: one row (80 characters) per card 2018-02-23T17:25:50Z jmercouris: ok 2018-02-23T17:25:54Z pfdietz_: One letter per column. A card is a line. 2018-02-23T17:26:05Z jmercouris: how do you specify the letter 2018-02-23T17:26:09Z jmercouris: that's what I am getting at 2018-02-23T17:26:16Z jmercouris: you literally write it down and the system can somehow read it??? 2018-02-23T17:26:20Z pfdietz_: The card punch had a keyboard. 2018-02-23T17:26:27Z whoman: cuneiform binary 2018-02-23T17:26:30Z jmercouris: ok that's what I've been missing 2018-02-23T17:26:32Z Bike: You type a letter and that punches the binary encoding of it. Right? 2018-02-23T17:26:45Z whoman: mini ascii charts! ? 2018-02-23T17:27:25Z pfdietz_: Punch 'A' and it prints A on the column and punches the code for A below it in holes. 2018-02-23T17:27:29Z fikka quit (Ping timeout: 248 seconds) 2018-02-23T17:27:36Z Bike: right. 2018-02-23T17:27:37Z TMA: https://en.wikipedia.org/wiki/Punched_card https://en.wikipedia.org/wiki/File:FortranCardPROJ039.agr.jpg 2018-02-23T17:27:38Z jmercouris: must have been very hard to read on those cards 2018-02-23T17:27:47Z phoe: jmercouris: yes 2018-02-23T17:27:50Z phoe: unless you are a computer 2018-02-23T17:27:52Z whoman: whoa... we sure went some way beyond morse code eh!! http://www.orosk.com/wp-content/uploads/2016/11/PUNCH-CARD-1.jpg 2018-02-23T17:28:10Z jmercouris: you just said the letter was on there no? 2018-02-23T17:28:15Z jmercouris: I meant the letters must have been spaced far apart 2018-02-23T17:28:16Z Bike: in the fortran one you can see it written on top in the original letters, as pfdietz said. 2018-02-23T17:28:20Z jmercouris: or were the letters printed on a separate sheet? 2018-02-23T17:28:25Z Bike: Z(1) = Y + W(1) 2018-02-23T17:28:27Z pfdietz_: You could actually compute with cards. This was before actual computers. 2018-02-23T17:28:32Z whoman: different machines, too 2018-02-23T17:28:34Z warweasle joined #lisp 2018-02-23T17:28:43Z Bike: i assume the printed letters are so that you can read it back without a code table. 2018-02-23T17:28:49Z Bike: you = a human. 2018-02-23T17:28:53Z pfdietz_: Yes 2018-02-23T17:28:53Z whoman: pfdietz_: heh, i wonder if they matched up in certain ways. optimizations ! 2018-02-23T17:29:00Z whoman: like holding up two cards for bit ops 2018-02-23T17:29:15Z Bike: i have an old punch card i found in a library at home, but i've never used a reader or anything. 2018-02-23T17:29:19Z pfdietz_: Sorting, merging 2018-02-23T17:29:26Z whoman: unification =P 2018-02-23T17:29:32Z Bike: Wait until you hear about slide rules 2018-02-23T17:29:37Z whoman: (using them like as stencils) 2018-02-23T17:29:40Z AeroNotix: so clasp is more of a cl=>llvm compiler then? 2018-02-23T17:29:47Z Bike: Yes. 2018-02-23T17:29:59Z AeroNotix: so why is C++ mentioned so much? 2018-02-23T17:30:07Z Bike: cos that's what we're using it for. 2018-02-23T17:30:07Z phoe: AeroNotix: it is more of an everything=>llvm compiler. 2018-02-23T17:30:07Z mareskeg joined #lisp 2018-02-23T17:30:19Z Bike: phoe: no we're pretty much only compiling cl 2018-02-23T17:30:20Z phoe: where everything is {c, c++, fortran, CL} 2018-02-23T17:30:30Z phoe: oh 2018-02-23T17:30:33Z Bike: c and c++ are done perfectly well by clang 2018-02-23T17:30:42Z AeroNotix: are there any limitations with it? 2018-02-23T17:30:48Z phoe: yep, but you take the LLVM IR and do crazy Lisp things with it 2018-02-23T17:30:49Z fikka joined #lisp 2018-02-23T17:30:50Z phoe: AFAIK 2018-02-23T17:31:01Z orivej joined #lisp 2018-02-23T17:31:07Z Bike: you can load llvm ir and call it like a foreign function, and such 2018-02-23T17:31:17Z AeroNotix: e.g. redefining classes at runtime? 2018-02-23T17:31:26Z AeroNotix: it all Just Works? 2018-02-23T17:31:27Z Bike: you can't redefine C++ classes 2018-02-23T17:31:28Z pfdietz_: llvm for interop but also to exploit optimization passes written by others for llvm. 2018-02-23T17:31:35Z jmercouris: so basically clasp can read punch cards? 2018-02-23T17:31:39Z AeroNotix: no but you can redefine CL classes 2018-02-23T17:31:39Z phoe: jmercouris: xD 2018-02-23T17:31:46Z Bike: Oh, yes, it's full CL 2018-02-23T17:31:48Z AeroNotix: jmercouris: clasp IS a punchcard 2018-02-23T17:31:53Z AeroNotix: when you install it he mails you one 2018-02-23T17:32:01Z Bike: It uses LLVM's "JIT" features to compile things for a running image 2018-02-23T17:32:09Z serviteur joined #lisp 2018-02-23T17:32:10Z Bike: jit in scare quotes because we're not using it as a just-in-time compiler 2018-02-23T17:32:21Z jmercouris: Bike: but how does it repunch the holes? 2018-02-23T17:32:23Z whoman: heh i dont have enough memory to compile clasp . waiting on bnaries 2018-02-23T17:32:40Z AeroNotix: whoman: how much memory do you have? 2018-02-23T17:32:43Z whoman: 2gb 2018-02-23T17:32:51Z AeroNotix: omg peasant 2018-02-23T17:32:55Z AeroNotix: get away from me 2018-02-23T17:32:56Z jmercouris: I think the average is about 7 items at a time 2018-02-23T17:33:01Z whoman: compiling Cabal from haskell yesterday ate my swap fully, had to hard-reset twice 2018-02-23T17:33:03Z whoman: heheh 2018-02-23T17:33:20Z AeroNotix: whoman: do you need us to send help? How do you survive? 2018-02-23T17:33:22Z Bike: the main problem with clasp right now is that it takes a lot of resources to build, and the compiler is slow. 2018-02-23T17:33:29Z Bike: we're still not very stable. 2018-02-23T17:33:35Z jmercouris: I have a thinkpad x series with 2gb of ram and 20gb of hard disk, I can do literally all of my work on there 2018-02-23T17:33:40Z whoman: AeroNotix: by avoiding anything that uses ram. (eg. i've installed 32bit firefox on 64bit os) 2018-02-23T17:33:44Z jmercouris: I can ever power an external 28 inch display 2018-02-23T17:34:01Z whoman: i could have installed 32bit debian, but, idk 2018-02-23T17:34:17Z jmercouris: If you want to go REAL slim, start with freebs 2018-02-23T17:34:31Z jmercouris: s/freebs/freebsd, though it might as well be freebs with all of the manuals you'll spend reading :D 2018-02-23T17:35:10Z nowhere_man joined #lisp 2018-02-23T17:35:12Z nowhereman_ quit (Quit: Konversation terminated!) 2018-02-23T17:36:05Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-23T17:39:48Z smasta quit (Ping timeout: 268 seconds) 2018-02-23T17:40:14Z FreeBirdLjj joined #lisp 2018-02-23T17:40:46Z giraffe quit (Remote host closed the connection) 2018-02-23T17:40:46Z itruslove quit (Remote host closed the connection) 2018-02-23T17:44:05Z antoszka: Guys, registration for this year's ELS in Marbella hasn't opened yet, has it? 2018-02-23T17:44:15Z antoszka: I don't want to miss the early-bird pricing there usually was. 2018-02-23T17:45:23Z phoe: antoszka: according to Shinmera it is ready, but not yet public. 2018-02-23T17:45:32Z hhdave quit (Ping timeout: 252 seconds) 2018-02-23T17:45:33Z antoszka: ok 2018-02-23T17:47:01Z Shinmera: early bird is open for long enough 2018-02-23T17:47:04Z Shinmera: usually anyway 2018-02-23T17:47:37Z antoszka: Usually, yeah. 2018-02-23T17:47:43Z AeroNotix: y'all should come to Poland instead 2018-02-23T17:47:45Z AeroNotix: just saying 2018-02-23T17:47:54Z Shinmera: and do what there 2018-02-23T17:47:56Z antoszka: Well, Poland had ELS last year :) 2018-02-23T17:48:01Z AeroNotix: ELS, obviously 2018-02-23T17:48:04Z fikka quit (Ping timeout: 265 seconds) 2018-02-23T17:48:06Z antoszka: It's not Poland's turn anymore ;) 2018-02-23T17:48:11Z AeroNotix: but I missed the last one 2018-02-23T17:48:15Z AeroNotix: so like... come 2018-02-23T17:48:25Z antoszka: Well, come to Poland anyway, it's nice. 2018-02-23T17:48:32Z antoszka: At least when the smog goes away. 2018-02-23T17:48:38Z antoszka: Don't come now. 2018-02-23T17:48:41Z whoman: aagghh! one of my besties went to poland. never got a chance to meet her when she lived 2hrs away and known her for years. take me with you so i can find a monastery and a place to get ram 2018-02-23T17:48:52Z antoszka: please do 2018-02-23T17:48:57Z phoe: antoszka: two years ago 2018-02-23T17:49:05Z phoe: last year was brussels 2018-02-23T17:49:05Z antoszka: maybe 2018-02-23T17:49:07Z antoszka: true 2018-02-23T17:49:11Z antoszka: brussels was nice 2018-02-23T17:49:16Z phoe: two years ago was Krakow 2018-02-23T17:49:21Z AeroNotix: yeah that's the one I missed 2018-02-23T17:49:28Z Shinmera: I enjoyed the krakow els better than the brussels one 2018-02-23T17:49:29Z AeroNotix: I found out about it days afterwards 2018-02-23T17:49:53Z pfdietz_: $700 round trip. A bit too much. 2018-02-23T17:50:13Z AeroNotix: It's only 0PLN for me pfdietz_ 2018-02-23T17:50:19Z whoman: hmmm. 2018-02-23T17:50:45Z White_Flame: host ELS in the salt mines. I'd come for that 2018-02-23T17:51:19Z AeroNotix: went to a wedding in the salt mines the other month, was pretty rad 2018-02-23T17:51:39Z pfdietz_: Granted, south Spain in April sounds really nice. 2018-02-23T17:51:49Z phoe: salt mines are actually right next to Krakow 2018-02-23T17:51:52Z Bike: this is just about the only context i can imagine "mines" referring to a pleasant locale 2018-02-23T17:52:17Z AeroNotix: There's a uranium mine that's not too too far from krakow too if you want it there 2018-02-23T17:52:20Z AeroNotix: might make more sense for lisp somehow 2018-02-23T17:52:29Z phoe: Uranium Common Lisp 2018-02-23T17:53:09Z jmercouris quit (Ping timeout: 264 seconds) 2018-02-23T17:53:35Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-23T17:53:37Z jmercouris joined #lisp 2018-02-23T17:55:23Z whoman: Ukranium 2018-02-23T17:55:52Z _cosmonaut_ quit (Ping timeout: 256 seconds) 2018-02-23T17:56:08Z AxelAlex quit (Quit: AxelAlex) 2018-02-23T17:57:16Z pfdietz_: Kyiv for ELS? 2018-02-23T17:58:24Z White_Flame: ELS on Mars: Sponsored by Tesla 2018-02-23T17:58:36Z AxelAlex joined #lisp 2018-02-23T17:58:45Z White_Flame: (beware falling roadsters) 2018-02-23T17:59:51Z whoman: tESLa 2018-02-23T18:00:01Z serviteur: Tesla should start to be profitable, before using all the US money in doing fake pic of a tesla car in space 2018-02-23T18:00:34Z whoman: wait teres no roads out there is there ? 2018-02-23T18:00:40Z phoe: #lispcafe 2018-02-23T18:00:47Z heurist`_ joined #lisp 2018-02-23T18:00:50Z whoman: saturn oval track 2018-02-23T18:01:24Z whoman: lol phoe. when its convenient eh 2018-02-23T18:01:33Z phoe: (; 2018-02-23T18:03:11Z heurist` quit (Ping timeout: 248 seconds) 2018-02-23T18:03:42Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T18:05:06Z sz0 quit (Quit: Connection closed for inactivity) 2018-02-23T18:05:25Z attila_lendvai joined #lisp 2018-02-23T18:07:27Z FreeBirdLjj joined #lisp 2018-02-23T18:07:29Z sukaeto quit (Ping timeout: 248 seconds) 2018-02-23T18:07:33Z cyberlard quit (Ping timeout: 268 seconds) 2018-02-23T18:07:35Z koisoke quit (Ping timeout: 240 seconds) 2018-02-23T18:07:41Z raynold joined #lisp 2018-02-23T18:07:46Z brandonz quit (Ping timeout: 256 seconds) 2018-02-23T18:08:23Z AxelAlex quit (Quit: AxelAlex) 2018-02-23T18:08:29Z GreaseMonkey quit (Ping timeout: 276 seconds) 2018-02-23T18:09:21Z pfdietz_ quit (Ping timeout: 264 seconds) 2018-02-23T18:10:33Z fikka joined #lisp 2018-02-23T18:11:37Z mareskeg quit (Quit: mareskeg) 2018-02-23T18:14:57Z paule32 joined #lisp 2018-02-23T18:15:33Z paule32: hello lispers 2018-02-23T18:15:57Z FreeBirdLjj quit (Ping timeout: 264 seconds) 2018-02-23T18:17:25Z thodg quit (Ping timeout: 268 seconds) 2018-02-23T18:18:59Z thodg joined #lisp 2018-02-23T18:19:10Z whoman: lispidoo, helloer 2018-02-23T18:21:02Z paule32: :-) 2018-02-23T18:25:18Z FreeBirdLjj joined #lisp 2018-02-23T18:27:31Z drewc_ joined #lisp 2018-02-23T18:29:59Z jtroseme joined #lisp 2018-02-23T18:30:00Z drewc quit (Ping timeout: 256 seconds) 2018-02-23T18:30:54Z dieggsy quit (Remote host closed the connection) 2018-02-23T18:31:01Z jtroseme quit (Max SendQ exceeded) 2018-02-23T18:31:32Z jtroseme joined #lisp 2018-02-23T18:33:19Z koisoke joined #lisp 2018-02-23T18:34:05Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-23T18:34:35Z Sveaker joined #lisp 2018-02-23T18:36:11Z live__ joined #lisp 2018-02-23T18:36:56Z schweers` joined #lisp 2018-02-23T18:37:18Z tfb_ joined #lisp 2018-02-23T18:37:29Z stacksmith joined #lisp 2018-02-23T18:37:32Z d4gg4d__ joined #lisp 2018-02-23T18:37:43Z zmt00 joined #lisp 2018-02-23T18:37:45Z l1x_ joined #lisp 2018-02-23T18:38:12Z dieggsy joined #lisp 2018-02-23T18:38:56Z earl-ducaine_ joined #lisp 2018-02-23T18:39:40Z hvxgr_ joined #lisp 2018-02-23T18:39:44Z Mandus_ joined #lisp 2018-02-23T18:40:26Z nefercheprure joined #lisp 2018-02-23T18:42:15Z EvW joined #lisp 2018-02-23T18:43:13Z zotan_ joined #lisp 2018-02-23T18:43:23Z arbv_ joined #lisp 2018-02-23T18:43:30Z rjeli_ joined #lisp 2018-02-23T18:43:34Z stnutt_ joined #lisp 2018-02-23T18:43:41Z FreeBirdLjj joined #lisp 2018-02-23T18:44:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-23T18:44:17Z gko_ joined #lisp 2018-02-23T18:44:36Z tripty^ joined #lisp 2018-02-23T18:44:49Z dirb quit (*.net *.split) 2018-02-23T18:44:50Z oleo quit (*.net *.split) 2018-02-23T18:44:50Z schweers quit (*.net *.split) 2018-02-23T18:44:50Z hvxgr quit (*.net *.split) 2018-02-23T18:44:51Z rjeli quit (*.net *.split) 2018-02-23T18:44:51Z fittestbits quit (*.net *.split) 2018-02-23T18:44:51Z arbv quit (*.net *.split) 2018-02-23T18:44:51Z l1x quit (*.net *.split) 2018-02-23T18:44:51Z Mandus quit (*.net *.split) 2018-02-23T18:44:51Z earl-ducaine quit (*.net *.split) 2018-02-23T18:44:51Z paule32 quit (*.net *.split) 2018-02-23T18:44:51Z TMA quit (*.net *.split) 2018-02-23T18:44:52Z gko quit (*.net *.split) 2018-02-23T18:44:52Z vyzo quit (*.net *.split) 2018-02-23T18:44:52Z stnutt quit (*.net *.split) 2018-02-23T18:44:52Z tripty quit (*.net *.split) 2018-02-23T18:44:52Z tfb quit (*.net *.split) 2018-02-23T18:44:53Z zotan quit (*.net *.split) 2018-02-23T18:44:53Z antismap quit (*.net *.split) 2018-02-23T18:44:53Z d4gg4d_ quit (*.net *.split) 2018-02-23T18:44:54Z arbv_ is now known as arbv 2018-02-23T18:44:55Z d4gg4d__ is now known as d4gg4d_ 2018-02-23T18:44:55Z tfb_ is now known as tfb 2018-02-23T18:44:55Z l1x_ is now known as l1x 2018-02-23T18:45:05Z comborico1611 joined #lisp 2018-02-23T18:46:34Z AntiSpamMeta quit (Remote host closed the connection) 2018-02-23T18:46:46Z AntiSpamMeta joined #lisp 2018-02-23T18:47:28Z jmercouris quit (Ping timeout: 248 seconds) 2018-02-23T18:47:57Z elts quit (Ping timeout: 240 seconds) 2018-02-23T18:47:59Z zotan_ quit (Ping timeout: 260 seconds) 2018-02-23T18:49:07Z fikka joined #lisp 2018-02-23T18:49:33Z zotan joined #lisp 2018-02-23T18:49:37Z dmiles quit (Ping timeout: 260 seconds) 2018-02-23T18:49:49Z elts joined #lisp 2018-02-23T18:51:22Z vyzo joined #lisp 2018-02-23T18:51:26Z dirb joined #lisp 2018-02-23T18:51:59Z paule32 joined #lisp 2018-02-23T18:52:34Z fittestbits joined #lisp 2018-02-23T18:53:05Z antismap joined #lisp 2018-02-23T18:57:19Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-23T18:58:29Z FreeBirdLjj joined #lisp 2018-02-23T18:59:23Z AxelAlex joined #lisp 2018-02-23T19:00:44Z mareskeg joined #lisp 2018-02-23T19:02:22Z greaser|q joined #lisp 2018-02-23T19:02:27Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-23T19:02:35Z pagnol quit (Ping timeout: 240 seconds) 2018-02-23T19:03:23Z damke_ joined #lisp 2018-02-23T19:03:35Z stacksmith left #lisp 2018-02-23T19:03:46Z stacksmith joined #lisp 2018-02-23T19:03:57Z damke quit (Ping timeout: 264 seconds) 2018-02-23T19:06:01Z damke joined #lisp 2018-02-23T19:09:00Z damke__ joined #lisp 2018-02-23T19:09:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-23T19:09:38Z edgar-rft quit (Quit: Don't Cry for Me, Argentina...) 2018-02-23T19:11:45Z damke quit (Ping timeout: 264 seconds) 2018-02-23T19:14:04Z Patternmaster quit (Ping timeout: 256 seconds) 2018-02-23T19:14:41Z mareskeg quit (Quit: mareskeg) 2018-02-23T19:17:50Z FreeBirdLjj joined #lisp 2018-02-23T19:18:47Z mareskeg joined #lisp 2018-02-23T19:23:44Z comborico1611: Would (format t "~{~{~a:~10t~a~}~%~%~}" *db*) VERSUS (format t "~{~{~a:~10t~a~%~}~%~}" *db*) produce the same output? 2018-02-23T19:23:57Z sbryant quit (Ping timeout: 256 seconds) 2018-02-23T19:24:49Z comborico1611: Oops. Wrong sample. Let me try again. 2018-02-23T19:24:55Z comborico1611: (format t "~{~a:~10t~a~%~}~%" cd) 2018-02-23T19:24:57Z jtroseme quit (Ping timeout: 264 seconds) 2018-02-23T19:24:57Z comborico1611: VERSUS 2018-02-23T19:25:16Z comborico1611: (format t "~{~a:~10t~a~}~%~%" cd) 2018-02-23T19:25:17Z sshirokov quit (Ping timeout: 256 seconds) 2018-02-23T19:25:48Z phoe: comborico1611: no 2018-02-23T19:25:54Z aeth: doesn't look like it 2018-02-23T19:25:56Z phoe: in the first case, you have a newline after each element of CD 2018-02-23T19:26:09Z phoe: in the second case, you do not make newlines while iterating 2018-02-23T19:26:27Z phoe: so instead of having "1\n2\n3\n\n" you'd have "123\n\n" 2018-02-23T19:26:32Z phoe: plus minus tabs 2018-02-23T19:26:38Z aeth: comborico1611: you might be looking for ~^ 2018-02-23T19:26:57Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-23T19:28:12Z comborico1611: phoe: ahh, the 1-2-3 example helped me understand. 2018-02-23T19:28:23Z aeth: What are you trying to do? 2018-02-23T19:28:29Z phoe: comborico1611: the stuff between ~{ and ~} gets repeated for each element in the iteration. 2018-02-23T19:28:43Z fourier joined #lisp 2018-02-23T19:28:47Z phoe: unless you put a ~^ somewhere in there. this will short-circuit if the list you are iterating on has no more elements. 2018-02-23T19:29:06Z phoe: so (format t "~{~A~^ ~}" '(1 2 3 4 5)) will print "1 2 3 4 5" 2018-02-23T19:29:07Z comborico1611: aeth: trying working through Practical CL 2018-02-23T19:29:14Z phoe: *without* a space after the last element. 2018-02-23T19:29:25Z phoe: (format t "~{~A ~}" '(1 2 3 4 5)) will print "1 2 3 4 5 " 2018-02-23T19:29:45Z LocaMocha quit (Ping timeout: 264 seconds) 2018-02-23T19:31:29Z comborico1611: Do you guys code in your dreams, too? 2018-02-23T19:31:33Z aeth: Here's the reference for format, which is *not* the hyperspec page for format. http://www.lispworks.com/documentation/HyperSpec/Body/22_c.htm 2018-02-23T19:31:45Z Sveaker quit (Remote host closed the connection) 2018-02-23T19:32:07Z phoe: comborico1611: sometimes. 2018-02-23T19:32:09Z aeth: s/reference for format/reference for format's control string/ 2018-02-23T19:32:11Z Sveaker joined #lisp 2018-02-23T19:32:19Z phoe: https://www.hexstreamsoft.com/articles/common-lisp-format-reference/format-directives/ 2018-02-23T19:32:29Z phoe: that's an actually useful FORMAT reference 2018-02-23T19:32:48Z Sveaker quit (Max SendQ exceeded) 2018-02-23T19:32:49Z _death: (defpackage :c (:export :/u)) (defvar c:/u (make-synonym-stream '*standard-output*)) (format c:/u "uh-oh~%") 2018-02-23T19:33:16Z Sveaker joined #lisp 2018-02-23T19:33:30Z kori joined #lisp 2018-02-23T19:33:40Z phoe: _death: huh? 2018-02-23T19:33:57Z _death: a different kind of FORMAT reference.. 2018-02-23T19:34:42Z phoe: _death: hah 2018-02-23T19:34:55Z phoe: CLHS sucks as a cheatsheet 2018-02-23T19:34:59Z phoe: and the above is a good enough cheatsheet 2018-02-23T19:35:13Z FreeBirdLjj joined #lisp 2018-02-23T19:36:00Z _death: C-c C-d ~ 2018-02-23T19:36:34Z phoe: ooh 2018-02-23T19:36:51Z fourier quit (Changing host) 2018-02-23T19:36:51Z fourier joined #lisp 2018-02-23T19:37:16Z fourier: is there any maintainer of osicat around? 2018-02-23T19:39:08Z fe[nl]ix: fourier: about your PRs ? 2018-02-23T19:39:25Z fourier: yes 2018-02-23T19:40:20Z fe[nl]ix: pr #24 fails on clisp and ecl 2018-02-23T19:40:42Z fe[nl]ix: https://travis-ci.org/osicat/osicat/builds/338680426 2018-02-23T19:40:53Z stacksmith: comborico1611: I've solved many problems in my dreams. On occasions the problems existed only in my dreams. This is more of a #lispcafe discussion. 2018-02-23T19:41:04Z drewc_ is now known as drewc 2018-02-23T19:43:29Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T19:43:58Z fourier: fe[nl]ix: looking at travis it fails in master branch as well, am i missing something? 2018-02-23T19:44:05Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-23T19:44:11Z comborico1611: stacksmith: thank you. :-) 2018-02-23T19:45:20Z fourier: fe[nl]ix: this pull request merged and broke the builds https://github.com/osicat/osicat/pull/21 2018-02-23T19:45:33Z fourier: so it was even before my pull request 2018-02-23T19:51:29Z markong quit (Quit: Konversation terminated!) 2018-02-23T19:52:30Z attila_lendvai joined #lisp 2018-02-23T19:52:30Z attila_lendvai quit (Changing host) 2018-02-23T19:52:30Z attila_lendvai joined #lisp 2018-02-23T19:53:34Z BitPuffin quit (Remote host closed the connection) 2018-02-23T19:54:12Z fe[nl]ix: fourier: it probably means I have to fix a few things before merging your PR 2018-02-23T19:54:35Z phoe: fourier: that patch is ECL only 2018-02-23T19:54:35Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T19:54:36Z learning quit (Remote host closed the connection) 2018-02-23T19:54:39Z phoe: I have no idea how it could affect clisp. 2018-02-23T19:54:45Z markong joined #lisp 2018-02-23T19:54:50Z fe[nl]ix: fourier: first though, if there are fields specific to OSX just add the conditional definitions in the same struct 2018-02-23T19:55:02Z fe[nl]ix: there are already conditionals for MIPS and Windows 2018-02-23T19:55:14Z fourier: fe[nl]ix: would be happy but the order of things is different a little bit 2018-02-23T19:55:27Z fe[nl]ix: the order doesn't matter 2018-02-23T19:55:33Z jstypo quit (Ping timeout: 264 seconds) 2018-02-23T19:55:40Z fe[nl]ix: cfif-grovel will automatically figure out the right offsets 2018-02-23T19:56:02Z varjag joined #lisp 2018-02-23T19:56:09Z fourier: didn't know that. I see. ok ill try to update the struct 2018-02-23T19:56:19Z fe[nl]ix: and use the present tense for the commit message 2018-02-23T19:56:27Z AxelAlex quit (Ping timeout: 240 seconds) 2018-02-23T19:57:05Z attila_lendvai joined #lisp 2018-02-23T19:57:22Z fe[nl]ix: e.g. "Add OSX-specific fields to struct stat" 2018-02-23T19:57:24Z pfdietz_ joined #lisp 2018-02-23T19:57:47Z fe[nl]ix: and you need to export the field names and also timespec and its fields 2018-02-23T19:58:00Z dieggsy quit (Remote host closed the connection) 2018-02-23T19:58:13Z pfdietz_: "Be one of those present tense writers, " my mother tells me when I am only five. 2018-02-23T19:58:25Z AxelAlex joined #lisp 2018-02-23T19:58:29Z fourier: ok. 2018-02-23T19:58:47Z dieggsy joined #lisp 2018-02-23T19:58:59Z fe[nl]ix: pfdietz_: :D 2018-02-23T19:59:10Z pagnol joined #lisp 2018-02-23T19:59:56Z milanj quit (Quit: This computer has gone to sleep) 2018-02-23T20:00:08Z fourier: fe[nl]ix: that all would be nice to read in the comment to my pr so i wouldn't need to wait a couple of weeks and prepare to abandon it 2018-02-23T20:07:26Z pfdietz_ quit (Ping timeout: 276 seconds) 2018-02-23T20:08:41Z jstypo joined #lisp 2018-02-23T20:10:18Z pfdietz_ joined #lisp 2018-02-23T20:10:27Z fe[nl]ix: fourier: done 2018-02-23T20:12:20Z fourier: fe[nl]ix: thanks! 2018-02-23T20:12:20Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T20:15:06Z attila_lendvai joined #lisp 2018-02-23T20:15:06Z attila_lendvai quit (Changing host) 2018-02-23T20:15:06Z attila_lendvai joined #lisp 2018-02-23T20:15:43Z jack_rabbit: Does anyone know, is there a reason HUNCHENTOOT::ACCEPTOR-SHUTDOWN-P is not exported? 2018-02-23T20:16:24Z damke joined #lisp 2018-02-23T20:16:33Z FreeBirdLjj joined #lisp 2018-02-23T20:16:51Z phoe: jack_rabbit: it does not seem to be used anywhere. 2018-02-23T20:16:58Z phoe: Other than https://github.com/edicl/hunchentoot/blob/6e7f810626cfd34918c27f64b13a868fa6c58c3e/acceptor.lisp#L130 that is. 2018-02-23T20:17:23Z phoe: Wait. 2018-02-23T20:17:27Z phoe: I am speaking nonsense. 2018-02-23T20:17:30Z phoe: It is used, later in that file. 2018-02-23T20:17:39Z smasta joined #lisp 2018-02-23T20:17:45Z jack_rabbit: It's in acceptor.lisp, yeah. 2018-02-23T20:18:15Z jack_rabbit: It's a flag to signal shutdown. I don't need the (setf ...) but it would be nice to check if the acceptor is shut down or not. 2018-02-23T20:18:44Z jack_rabbit: And I don't see another method to check. 2018-02-23T20:19:33Z damke__ quit (Ping timeout: 264 seconds) 2018-02-23T20:19:37Z phoe: jack_rabbit: you seem to be right. I say, open an issue stating this, or a PR right away that exports the symbol. 2018-02-23T20:19:44Z phoe: Or, rather... 2018-02-23T20:19:59Z phoe: It might not be a good idea to export the symbol because this makes it possible to use SETF on it. 2018-02-23T20:20:09Z phoe: And setting that value outside of Hunchentoot seems pointless. 2018-02-23T20:20:18Z jack_rabbit: even dangerous. 2018-02-23T20:20:26Z jack_rabbit: setf is implicitly exported then? 2018-02-23T20:20:28Z phoe: Better make a new function, ACCEPTOR-ALIVE-P, that calls that accessor and returns it value. 2018-02-23T20:20:43Z phoe: jack_rabbit: if you export FOO:BAR, you can call #'(SETF FOO:BAR). 2018-02-23T20:20:55Z jack_rabbit: I see. Did not know that. 2018-02-23T20:21:06Z phoe: It's a property of SETF. 2018-02-23T20:21:30Z phoe: Therefore make a new function and export its symbol. 2018-02-23T20:21:32Z jack_rabbit: Sort of makes sense. Although the ability to export readers but not writers would be useful. 2018-02-23T20:21:37Z jack_rabbit: Yes, I agree then. I'll add a function ACCEPTOR-ALIVE-P. 2018-02-23T20:21:48Z phoe: jack_rabbit: you export symbols, not readers/writers. 2018-02-23T20:22:06Z phoe: if you want to make a private writer, then it must have a different name. 2018-02-23T20:22:06Z jack_rabbit: I understand. 2018-02-23T20:22:23Z jack_rabbit: Ahh, yes. That makes sense. 2018-02-23T20:22:25Z phoe: Which then makes no sense because suddenly you have (foo bar) but (setf (foo2 bar) 42) 2018-02-23T20:22:58Z phoe: So the workaround is to explicitly define new functions that call the reader. (Or the writer.) 2018-02-23T20:23:08Z phoe: (But you'll most likely want to call only readers.) 2018-02-23T20:24:25Z jack_rabbit: Yes, I understand. I just meant it would be useful to be able to export a symbol without allowing the setf, but I understand that that doesn't really make sense with the semantics of export. 2018-02-23T20:24:51Z phoe: Yes, this is where the mechanics of EXPORT and mechanics of SETF interact. 2018-02-23T20:25:38Z pfdietz_ quit (Ping timeout: 276 seconds) 2018-02-23T20:25:43Z phoe: You could *theoretically* define your own custom SETF expander that, unless the value of *PACKAGE* is something predefined, signals an error instead of being called. This way it would only execute inside your packages, and for everyone else it'll throw them into debuggers. 2018-02-23T20:25:43Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-23T20:26:09Z phoe: But that isn't merely a hack. It's already being a turd. {: 2018-02-23T20:26:17Z _death: or just say it's internal.. 2018-02-23T20:26:22Z drewc quit (Read error: Connection reset by peer) 2018-02-23T20:26:30Z flip214: phoe: the runtime value of *package* has nothing to do with the compile-time package... 2018-02-23T20:26:48Z phoe: flip214: I mean, the SETF would expand into a runtime package check 2018-02-23T20:26:56Z smcnamara quit (Ping timeout: 276 seconds) 2018-02-23T20:27:07Z flip214: oh, right. sorry, didn't understand you then. 2018-02-23T20:27:25Z phoe: _death: kind of, but I like to think of exported symbols as the interface of a package. It's pointless for me to export a symbol that the programmer is not allowed to use. 2018-02-23T20:27:27Z flip214: but even now I'm not sure. 2018-02-23T20:27:54Z phoe: flip214: this is a totally crazy and not serious idea and anyone implementing it should be thrown into the bowels of ##c. 2018-02-23T20:28:00Z phoe: I absolutely wasn't serious while I was typing this. 2018-02-23T20:28:00Z flip214: the SETF _expansion_ is at compile time, the value _setting_ happens at runtime. 2018-02-23T20:28:09Z flip214: which one would check *package*? 2018-02-23T20:28:27Z flip214: okay, forget it, then 2018-02-23T20:28:27Z AxelAlex quit (Ping timeout: 240 seconds) 2018-02-23T20:28:32Z flip214: I thought I could learn something new 2018-02-23T20:28:53Z jack_rabbit: The other question, then, is whether I need to obtain the lock. Some accesses to that slot are surrounded by '(with-lock-held ((acceptor-shutdown-lock acceptor))' 2018-02-23T20:28:59Z jack_rabbit: But others aren't. 2018-02-23T20:29:01Z phoe: (defmethod (setf foo) (new-value) (if (eq *package :my-package) (set-slot new-value) (error "..."))) 2018-02-23T20:29:25Z phoe: flip214: uh, defun not defmethod 2018-02-23T20:29:28Z phoe: but I hope you get the idea 2018-02-23T20:29:34Z flip214: phoe: (let ((*package* :my-package ;; but should be (find-package :my-package)!! 2018-02-23T20:29:37Z flip214: )) (setf ...)) 2018-02-23T20:29:48Z _death: phoe: but that's case where you want the symbol to be used, just not in a certain way 2018-02-23T20:29:50Z flip214: nothing to do where this comes from 2018-02-23T20:29:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-23T20:30:00Z stacksmith quit (Ping timeout: 268 seconds) 2018-02-23T20:30:00Z flip214: sorry, won't interrupt you any more. 2018-02-23T20:30:06Z flip214: have a nice day/night/weekend! 2018-02-23T20:30:12Z dddddd quit (Ping timeout: 276 seconds) 2018-02-23T20:30:27Z phoe: flip214: https://plaster.tymoon.eu/view/722#722 2018-02-23T20:30:32Z phoe: yes, I was writing this very very very quickly. 2018-02-23T20:30:44Z jack_rabbit: Is there danger to reading a value without the lock? I'm not sure about CL semantics for read/write races. I'm ok if the value isn't totally up-to-date, but don't want to raise an error. 2018-02-23T20:31:11Z phoe: _death: yep, but I like to think of symbols as being usable either-or. the moment you have ambiguity, you're going to have false bug reports. 2018-02-23T20:31:18Z warweasle quit (Quit: up up and away.) 2018-02-23T20:31:40Z phoe: jack_rabbit: that's already hunchentoot internal question. or is it?... 2018-02-23T20:31:42Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T20:31:46Z phoe: I have no idea if slot reads are atomic. 2018-02-23T20:31:57Z phoe: they most likely are not because SLOT-VALUE-USING-CLASS needs to be called, or something. 2018-02-23T20:32:08Z jack_rabbit: phoe, That's all I'm wondering. Will I ever get an error on a read if there's a simultaneous write? 2018-02-23T20:33:19Z _death: (defun phoe:bug () (nonphoe:feature)) ;; symbols can be used in ways that we might disapprove of, but not everybody bothers with package locks and weird runtime checks and such.. erik naggum once had a nice post.. 2018-02-23T20:33:19Z phoe: jack_rabbit: as far as I understand that Hunchentoot code, you are free to hold (acceptor-shutdown-lock acceptor) inside your custom reader. 2018-02-23T20:33:26Z attila_lendvai joined #lisp 2018-02-23T20:33:26Z attila_lendvai quit (Changing host) 2018-02-23T20:33:26Z attila_lendvai joined #lisp 2018-02-23T20:33:47Z phoe: _death: I laughed at this defun 2018-02-23T20:34:26Z phoe: jack_rabbit: as far as I understand this, if you are able to call STOP at any moment, which captures that lock for a moment, then you should be able to call a reader at any moment, which does the same thing. 2018-02-23T20:34:32Z jack_rabbit: phoe, Yes, I think so, from my reading. I was just wondering if it was necessary. It seems to only obtain the lock if it's modifying accessor-requests-in-progress 2018-02-23T20:35:02Z phoe: jack_rabbit: unless you are sure reading is atomic, you should use that lock. And I can bet $5 that it is not atomic. 2018-02-23T20:35:15Z phoe: See https://github.com/edicl/hunchentoot/blob/6e7f810626cfd34918c27f64b13a868fa6c58c3e/acceptor.lisp#L319 for the thing that I mean. 2018-02-23T20:35:26Z _death: the post btw is https://www.xach.com/naggum/articles/3103318695270771@naggum.no.html 2018-02-23T20:35:29Z aeth: Bike: In case you're wondering, about "maybe something can deal with it as a constant who knows", it looks like both SBCL and CCL deal with classes/structs with a make-load-form that calls make-load-form-saving-slots as constants. i.e. compile time initialization, trivially small disassembly, almost instant runtime when calling the function, saved in the FASL, etc. 2018-02-23T20:36:07Z aeth: as constant as if you had generated a built-in type like a string with a macro 2018-02-23T20:36:10Z jack_rabbit: phoe, In that case, I'll just take the safe route and obtain the lock. There's no real harm if it's unnecessary. 2018-02-23T20:36:20Z Bike: uh... are you really sure? the object is stored in the fasl? 2018-02-23T20:36:21Z jack_rabbit: phoe, There are read accesses without the lock, however: https://github.com/edicl/hunchentoot/blob/6e7f810626cfd34918c27f64b13a868fa6c58c3e/acceptor.lisp#L447 2018-02-23T20:36:27Z aeth: Bike: In SBCL, yes. 2018-02-23T20:36:30Z Bike: almost instant runtime when calling the function is obvious, it's load time, not run time 2018-02-23T20:36:56Z Bike: well insofar as anything about loading a fasl is obvious 2018-02-23T20:37:08Z aeth: Bike: at the very least, large parts of the object are stored in the FASL in SBCL. I see NUL-padded strings (utf-32?) 2018-02-23T20:37:18Z Bike: strings in sbcl are nul padded 2018-02-23T20:37:26Z Bike: are ou like, looking at it in a hexdump 2018-02-23T20:37:28Z phoe: jack_rabbit: hmm. 2018-02-23T20:37:31Z aeth: e.g. ^@^@^@f^@^@^@o^@^@^@o 2018-02-23T20:37:36Z Bike: all the values in the slots are stored in the fasl, of course 2018-02-23T20:37:40Z Bike: that doesn't mean the object itself is 2018-02-23T20:38:01Z aeth: Bike: in SBCL, the initialize-instance :after isn't called except at compile time, I put a print statement in it 2018-02-23T20:38:15Z jack_rabbit: phoe, oh, dummy me. There *IS* already a method. HUNCHENTOOT:STARTED-P 2018-02-23T20:38:22Z phoe: wait 2018-02-23T20:38:23Z phoe: really 2018-02-23T20:38:35Z phoe: d'oh 2018-02-23T20:38:38Z phoe: no doubt we didn't find it 2018-02-23T20:38:40Z phoe: it's not in the docs 2018-02-23T20:38:53Z jack_rabbit: Looks like I can file an issue anyway. :) 2018-02-23T20:38:57Z fikka joined #lisp 2018-02-23T20:38:59Z whoman: slime is the docs 2018-02-23T20:39:35Z aeth: Bike: If I put (format t "~A~%" "Hello") in the initialize-instance, it will show up in the verbose quickload as each function is compiled, but not when I launch the application, i.e. not when the functions are called at run time. e.g. ; compiling (DEFINE-SHADER (SIMPLE-2D-VERT :VERTEX-SHADER) ...)Hello 2018-02-23T20:40:05Z milanj joined #lisp 2018-02-23T20:40:06Z AxelAlex joined #lisp 2018-02-23T20:40:34Z aeth: This actually is cool because I do type-checking from the initialize-instance, so it type checks at compile time, but not when calling the function at runtime, at least in SBCL. 2018-02-23T20:40:44Z dddddd joined #lisp 2018-02-23T20:40:57Z Sveaker quit (Quit: Leaving) 2018-02-23T20:41:22Z aeth: CCL behaves the same way, except provides less information to verbose. I get a bunch of "Hello"s when compiling, and not at runtime. 2018-02-23T20:41:51Z Bike: make-load-form indeed sips initialize-instance 2018-02-23T20:41:53Z Bike: skips 2018-02-23T20:41:56Z Bike: that's bizarre 2018-02-23T20:42:17Z aeth: This is actually cool, though, because assuming that it's safe, it does compile time type checking 2018-02-23T20:42:36Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T20:42:57Z Bike: er, i don't follow. 2018-02-23T20:43:07Z Bike: if make-load-form is being invoked, there's an actual object you're passing to the compiler. 2018-02-23T20:43:24Z Bike: so, at one point you initialized that, and of course it did your initialize-instance method that does type checks or whatever. 2018-02-23T20:43:32Z aeth: Right, that object, generated in a macro at compile time, already had its initailize-instance called and its types checked, just at compile time 2018-02-23T20:43:39Z aeth: No performance cost for safety! 2018-02-23T20:43:53Z aeth: (assuming that that macro can generate that object at compile time) 2018-02-23T20:43:57Z attila_lendvai joined #lisp 2018-02-23T20:43:57Z attila_lendvai quit (Changing host) 2018-02-23T20:43:57Z attila_lendvai joined #lisp 2018-02-23T20:44:46Z Bike: this is kind of an odd ontological question. the object has already been initialized in the building image, but not necessarily in the loading image 2018-02-23T20:44:55Z Bike: sbcl doesn't seem to ever actually use initialize-instance at load time 2018-02-23T20:45:44Z Bike: oh, wait, i might have misunderstood how make-load-form-saving-slots works... 2018-02-23T20:45:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-23T20:46:04Z whoman: i think this having a standards thing, is making things a bit more rough than they have to be 2018-02-23T20:46:05Z Bike: the way it's described it can definitely not call initialize-instance, and in fact it probably shouldn't. 2018-02-23T20:46:07Z Bike: Huh. 2018-02-23T20:46:48Z whoman: a lot of bandwidth spent on dealing with different implementations, may as well write in anything else that isnt portable 2018-02-23T20:46:58Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T20:47:17Z Bike: and the implementation i work on is the same, i just didn't notice because argleblargle 2018-02-23T20:47:30Z aeth: Bike: I am confused about it as well, but I'm impressed if it works. 2018-02-23T20:47:33Z whoman: i dont understand, most lisp chat here on irc is about sbcl internals, how this implementation is etc.. only "CL" when it comes to other languages. hmmm, feels like my footing is suddenly in mud 2018-02-23T20:48:01Z phoe: whoman: you've never been on #sbcl 2018-02-23T20:48:03Z aeth: If I can generate a CLOS object or struct at compile time (or even more elaborate combinations! the CLOS object I'm talking about is filled with simple structs!) using this trick, then maybe I should. 2018-02-23T20:48:03Z Bike: we're talking about how this behavior is actually universal across implementations, whoman, leave your musery for another day 2018-02-23T20:48:05Z fikka joined #lisp 2018-02-23T20:48:47Z Bike: aeth: make-load-form-saving-slots is defined more vaguely than i thought, is the deal- "Returns forms that, when evaluated, will construct an object equivalent to object, without executing initialization forms. The slots in the new object that correspond to initialized slots in object are initialized using the values from object. Uninitialized slots in object are not initialized in the new object." 2018-02-23T20:48:56Z Bike: nothing about calling allocate-instance or initialize-instance 2018-02-23T20:49:03Z Bike: it makes sense, i spose 2018-02-23T20:49:10Z whoman: phoe: thats where i have been for the last few months, until i guess this week when i switched irc clients. 2018-02-23T20:49:35Z attila_lendvai joined #lisp 2018-02-23T20:49:35Z attila_lendvai quit (Changing host) 2018-02-23T20:49:35Z attila_lendvai joined #lisp 2018-02-23T20:49:37Z fourier quit (Ping timeout: 248 seconds) 2018-02-23T20:49:41Z whoman: wait, was that a nerve ... ? 2018-02-23T20:49:42Z whoman: sorry. 2018-02-23T20:49:58Z aeth: whoman: I often ask in here to see just how universal some behavior I observed in SBCL, or SBCL and CCL, is. 2018-02-23T20:50:00Z whoman: if that wasnt a weakness i would expect confidence where there is insecurity 2018-02-23T20:50:16Z whoman: aeth: i know =) 2018-02-23T20:50:33Z aeth: "Hey, here's a neat optimization. Can I actually use it?" 2018-02-23T20:51:25Z Bike: passing objects to the compiler has to be supported 2018-02-23T20:51:42Z Bike: it's an obscure bit of the standard, but it makes perfect sense within the fasl model, so i'd expect it to work everywhere fine 2018-02-23T20:52:16Z live__ quit (Quit: Leaving) 2018-02-23T20:52:35Z fikka quit (Ping timeout: 240 seconds) 2018-02-23T20:52:54Z aeth: awesome 2018-02-23T20:52:57Z Karl_Dscc quit (Remote host closed the connection) 2018-02-23T20:53:31Z fikka joined #lisp 2018-02-23T20:53:38Z francogrex joined #lisp 2018-02-23T20:54:25Z aeth: What's the best way to make sure that the object stays valid? I verify it in a function that I call from initialize-instance (it's in a separate function so I can verify it at any time outside of that, too, and it's a function instead of a method because I want check-foo to tell me it's a valid foo, not a valid object) 2018-02-23T20:54:37Z aeth: But, clearly, there are ways to make it invalid after it's initialized. 2018-02-23T20:55:05Z aeth: Not every implementation respects :type (and not everything can be encoded in a type, anyway) and it can even vary depending on debug level. 2018-02-23T20:55:34Z Bike: assuming "validity" means some invariant among the slot values, depends on what you wanna let users do 2018-02-23T20:55:45Z Bike: for normal purposes, your after method and maybe some checks in the accessors seems fine 2018-02-23T20:56:05Z Bike: disallow slot-value and standard-instance-access and reinitialize-instance (or you could put your method in shared-initialize :after instead) 2018-02-23T20:56:41Z aeth: Is there a way to add checks to auto-generated accessors? 2018-02-23T20:56:56Z Bike: define methods on them 2018-02-23T20:57:17Z aeth: :before methods? 2018-02-23T20:57:24Z phoe: yep 2018-02-23T20:57:34Z Bike: whichever 2018-02-23T20:58:12Z aeth: (defmethod (setf foo) :before ...) or something? Or are the setters called something different? 2018-02-23T20:58:15Z sbryant joined #lisp 2018-02-23T20:58:16Z Bike: for my "traitlets" thing i ended up writing this whole crappy validator pattern but it basically amounts to :around methods 2018-02-23T20:58:18Z Bike: nope, that's it 2018-02-23T20:58:23Z Bike: Super Easy 2018-02-23T20:58:52Z angavrilov quit (Remote host closed the connection) 2018-02-23T20:59:24Z aeth: This is the most elaborate CLOS thing I've ever written 2018-02-23T21:00:28Z Bike: you'll be writing custom compute-effective-method methods soon enough 2018-02-23T21:01:25Z damke_ joined #lisp 2018-02-23T21:02:23Z brandonz joined #lisp 2018-02-23T21:02:57Z fikka quit (Ping timeout: 248 seconds) 2018-02-23T21:03:45Z fikka joined #lisp 2018-02-23T21:03:57Z damke quit (Ping timeout: 264 seconds) 2018-02-23T21:06:25Z aeth: hmm 2018-02-23T21:06:44Z aeth: I wonder if I should make a typed linked list 2018-02-23T21:10:05Z fikka quit (Ping timeout: 268 seconds) 2018-02-23T21:10:46Z dmiles joined #lisp 2018-02-23T21:11:29Z francogrex quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2018-02-23T21:12:00Z mareskeg quit (Ping timeout: 248 seconds) 2018-02-23T21:12:46Z cyberlard joined #lisp 2018-02-23T21:12:47Z pmc_ joined #lisp 2018-02-23T21:15:25Z damke joined #lisp 2018-02-23T21:15:57Z dieggsy quit (Quit: ERC (IRC client for Emacs 27.0.50)) 2018-02-23T21:17:09Z mareskeg joined #lisp 2018-02-23T21:17:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-23T21:18:16Z serviteur quit (Remote host closed the connection) 2018-02-23T21:18:31Z damke_ joined #lisp 2018-02-23T21:18:41Z jack_rabbit: https://github.com/edicl/hunchentoot/pull/134 2018-02-23T21:19:41Z vibs29 quit (Ping timeout: 276 seconds) 2018-02-23T21:20:56Z markong quit (Read error: Connection reset by peer) 2018-02-23T21:21:14Z vibs29 joined #lisp 2018-02-23T21:21:21Z damke quit (Ping timeout: 264 seconds) 2018-02-23T21:22:19Z jack_rabbit: How many projects (if any) use generated documentation? I would imagine it wouldn't be too difficult to write a decent doc generator for CL. 2018-02-23T21:22:51Z jack_rabbit: How common is it, rather. 'How many' is not a good question. 2018-02-23T21:22:52Z Shinmera: There's at least a brazillion if by "generated" you mean things that gather docstrings and put them in one place. 2018-02-23T21:23:19Z sjl: Writing your own docstring -> HTML renderer is pretty common these days. 2018-02-23T21:23:55Z hjudt_: i solved my issue with dexador using wireshark to inspect packets: the solution is to add another header "Accept-Encoding: gzip" in addition to "Accept: application/json". 2018-02-23T21:24:11Z sjl: There's also several sites that do it automatically for all projects in quicklisp, which annoys those of us that write more documentation and now have to compete with them in search results. 2018-02-23T21:24:34Z aeth: hah, yeah 2018-02-23T21:24:34Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T21:25:07Z aeth: Sounds like a nightmare if you're one of the rare people to actually do things the right way with documentation. 2018-02-23T21:25:23Z jack_rabbit: I imagine a solution to that may be to include a link to the actual documentation it a place those sites will render. 2018-02-23T21:26:38Z Shinmera: It would help, but currently they don't do that. 2018-02-23T21:26:53Z sjl: They render the README, so at least there's a chance the user will see the actual docs if you link it there. Still not ideal. 2018-02-23T21:27:09Z attila_lendvai joined #lisp 2018-02-23T21:27:09Z attila_lendvai quit (Changing host) 2018-02-23T21:27:09Z attila_lendvai joined #lisp 2018-02-23T21:27:10Z Shinmera: I render the readme too, don't want to have a link to myself in my own docs :/ 2018-02-23T21:27:25Z _death: the other day someone mentioned gigamonkey's manifest.. played with it a little https://github.com/death/manifest 2018-02-23T21:27:56Z comborico1611 quit (Quit: Konversation terminated!) 2018-02-23T21:28:28Z Shinmera: Staple also has a server component. (ql:quickload :staple-server) (staple-server:start) 2018-02-23T21:28:56Z Shinmera: But nobody runs that publicly (I hope) 2018-02-23T21:29:18Z FreeBirdLjj joined #lisp 2018-02-23T21:29:30Z sjl: I render to plain HTML and host it with bitbucket's pages thingy. But yeah, there are a bunch of people who generate docs based on some prose + docstrings. 2018-02-23T21:30:55Z stacksmith joined #lisp 2018-02-23T21:34:10Z kajo quit (Ping timeout: 256 seconds) 2018-02-23T21:34:45Z les quit (Ping timeout: 256 seconds) 2018-02-23T21:34:54Z fikka joined #lisp 2018-02-23T21:35:23Z kajo joined #lisp 2018-02-23T21:35:42Z les joined #lisp 2018-02-23T21:37:35Z willmichael quit (Quit: Quit) 2018-02-23T21:37:53Z willmichael joined #lisp 2018-02-23T21:39:17Z _death: Shinmera: hmmm, has issues with package-inferred-systems 2018-02-23T21:39:29Z Shinmera: What's the issue? 2018-02-23T21:41:10Z _death: https://i.imgur.com/Hm5ucxh.png 2018-02-23T21:41:41Z Shinmera: hunh 2018-02-23T21:42:01Z Shinmera adds that to the list of bugs to fix soon 2018-02-23T21:42:24Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-23T21:42:57Z vlatkoB quit (Remote host closed the connection) 2018-02-23T21:45:54Z karswell joined #lisp 2018-02-23T21:50:57Z FreeBirdLjj joined #lisp 2018-02-23T21:54:05Z EvW quit (Ping timeout: 265 seconds) 2018-02-23T21:54:27Z mareskeg quit (Ping timeout: 240 seconds) 2018-02-23T21:55:53Z karswell quit (Ping timeout: 240 seconds) 2018-02-23T21:56:05Z klltkr joined #lisp 2018-02-23T21:56:33Z Patzy quit (Quit: leaving) 2018-02-23T21:56:52Z Patzy joined #lisp 2018-02-23T21:57:05Z dtornabene quit (Read error: Connection reset by peer) 2018-02-23T21:57:32Z dtornabene joined #lisp 2018-02-23T21:57:54Z svillemot quit (Quit: Reboot) 2018-02-23T21:58:08Z EvW joined #lisp 2018-02-23T21:59:33Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-23T22:00:20Z dyelar quit (Quit: Leaving.) 2018-02-23T22:00:51Z sebastien joined #lisp 2018-02-23T22:01:15Z sebastien is now known as Guest5723 2018-02-23T22:01:47Z Guest5723 left #lisp 2018-02-23T22:02:22Z damke joined #lisp 2018-02-23T22:02:32Z svillemot joined #lisp 2018-02-23T22:05:09Z damke_ quit (Ping timeout: 264 seconds) 2018-02-23T22:07:07Z FreeBirdLjj joined #lisp 2018-02-23T22:07:55Z phaul joined #lisp 2018-02-23T22:08:29Z damke_ joined #lisp 2018-02-23T22:08:46Z Achylles joined #lisp 2018-02-23T22:10:24Z phaul: few years back I watched a write yourself a scheme ( I think ) on youtube, which was very entertaining, all I remember that it was very pink, and lots of hello kitty etc and maybe it was done in c-lisp. I tried to google it but couldn;t find it. Does anybody have a link? 2018-02-23T22:10:33Z damke quit (Ping timeout: 264 seconds) 2018-02-23T22:12:26Z emaczen joined #lisp 2018-02-23T22:12:56Z emaczen: how do you get the docstrings for a method, function and class? 2018-02-23T22:13:04Z phaul: maybe it was in emacs lisp. can't tell now. But definately lots of pink and rainbow 2018-02-23T22:13:52Z whoman: https://stackoverflow.com/questions/5093513/how-to-see-docstrings-and-other-symbol-information-in-common-lisp-repl 2018-02-23T22:15:39Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2018-02-23T22:15:45Z DonVlad quit (Quit: WeeChat 1.4) 2018-02-23T22:15:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-23T22:16:04Z aeth: Well, that was strange. I had a type error in a macro. I changed the code. It worked, but wasn't what I wanted. I then changed it back to the original, and it worked. I guess C-c C-c doesn't always work if something in the same file is recompiled because the of compilation unit optimization stuff. 2018-02-23T22:16:43Z random-nick quit (Read error: Connection reset by peer) 2018-02-23T22:16:48Z damke_ joined #lisp 2018-02-23T22:17:23Z pjb: phaul: Have a look at Lisp in Small Pieces http://pagesperso-systeme.lip6.fr/Christian.Queinnec/WWW/LiSP.html http://pagesperso-systeme.lip6.fr/Christian.Queinnec/Books/LiSP-2ndEdition-2006Dec11.tgz 2018-02-23T22:17:38Z FreeBirdLjj joined #lisp 2018-02-23T22:22:41Z dtornabene_ joined #lisp 2018-02-23T22:25:52Z phaul: nope. but thanks anyways. It was a cool video I would watch it again. also I saw it many years ago probalby it's gone and lost for ever 2018-02-23T22:25:53Z dtornabene quit (Ping timeout: 240 seconds) 2018-02-23T22:26:35Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-23T22:29:30Z aeth: phaul: Did you try asking in #scheme ? 2018-02-23T22:29:57Z dtornabene_ quit (Ping timeout: 240 seconds) 2018-02-23T22:31:57Z phaul: no, but I can give that a go :) 2018-02-23T22:31:58Z FreeBirdLjj joined #lisp 2018-02-23T22:32:09Z damke_ quit (Ping timeout: 263 seconds) 2018-02-23T22:32:26Z pillton left #lisp 2018-02-23T22:32:30Z pillton joined #lisp 2018-02-23T22:34:08Z sjl quit (Quit: WeeChat 1.9) 2018-02-23T22:34:12Z _death: emaczen: (mapcar #'documentation (list (find-method #'class-name '() (list (find-class 'class))) #'car (find-class 'class)) '(t t t)) 2018-02-23T22:34:34Z Nouv joined #lisp 2018-02-23T22:35:02Z oleo joined #lisp 2018-02-23T22:35:16Z cgore joined #lisp 2018-02-23T22:36:50Z whoman: i wonder if he caught the link 2018-02-23T22:37:33Z Nouv: How does `eval` work at a low level? Where is the parsed function placed in memory? In the stack? 2018-02-23T22:37:50Z shifty joined #lisp 2018-02-23T22:38:09Z mishoo quit (Ping timeout: 264 seconds) 2018-02-23T22:41:06Z Bike: "parsed function"? 2018-02-23T22:41:10Z Bike: well, just try writing it 2018-02-23T22:42:20Z Bike: (defun eval (form) (typecase form (symbol (symbol-value form)) (cons (apply (first form) (mapcar #'eval (rest form)))) (t form))) handles function calls, self evaluating object,s and special variables 2018-02-23T22:42:32Z |3b|: however it wants... could be anywhere from looking at each form and directly calling a function to do whatever that form says, to compiling it to native code and running the result, to writing out a file, calling a C compiler on it, loading result as a shared object, and calling a function from that 2018-02-23T22:42:44Z mareskeg joined #lisp 2018-02-23T22:42:53Z klltkr quit (Ping timeout: 240 seconds) 2018-02-23T22:43:10Z Nouv: hm 2018-02-23T22:43:11Z |3b|: usually somewhere in between the first 2 options though 2018-02-23T22:43:35Z Nouv: The first would be interpreted right? 2018-02-23T22:43:43Z |3b|: sbcl for example usually compiles to native code, but directly evaluates some simple forms 2018-02-23T22:43:51Z Nouv: I suppose my question should be about the second 2018-02-23T22:44:11Z Nouv: Does sbcl also come with an assembler and linker or does it use as/ld? 2018-02-23T22:44:14Z |3b|: for direct native compilation, it is just normal data until you try to run it 2018-02-23T22:44:55Z |3b|: it is common to include something resembling "an assembler" in the compiler of implementations that generate native code 2018-02-23T22:45:06Z Nouv: hm 2018-02-23T22:45:07Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-23T22:45:11Z |3b|: (usually just as a bunch of functions in the image, same as the compiler though, not a separate program) 2018-02-23T22:45:20Z |3b|: and no "linker" needed, since it is all working in memory 2018-02-23T22:45:31Z Nouv: ah of course 2018-02-23T22:45:54Z Nouv: Possibly dumb question but 2018-02-23T22:45:57Z mareskeg quit (Client Quit) 2018-02-23T22:46:08Z pjb: Nouv: there's the VOP assembler. 2018-02-23T22:46:15Z willmichael quit (Ping timeout: 256 seconds) 2018-02-23T22:46:23Z |3b|: at the point where you want to go from "a piece of data on the heap" (the output of the compiler/assembler) to "running function", there might need to be some interaction with the processor/OS, for example changing page permissions or flushing caches 2018-02-23T22:46:23Z pillton quit (Quit: ERC (IRC client for Emacs 25.3.1)) 2018-02-23T22:46:24Z Nouv: Once it's assembled to native code is that just directly put into memory? 2018-02-23T22:46:32Z Nouv: hm 2018-02-23T22:46:46Z |3b|: it is just data at that point, it lives in memory like any other data :) 2018-02-23T22:47:09Z csaurus quit (Ping timeout: 264 seconds) 2018-02-23T22:47:10Z |3b|: assuming you are compiling something too large to fit in a register, which is generally pretty much anything :) 2018-02-23T22:47:19Z pjb: Nouv: https://www.pvk.ca/Blog/2014/03/15/sbcl-the-ultimate-assembly-code-breadboard/ 2018-02-23T22:47:25Z Nouv: ah of course 2018-02-23T22:47:44Z Nouv: pjb: I'll take a look at that, thank you 2018-02-23T22:47:49Z pillton joined #lisp 2018-02-23T22:48:01Z |3b|: parts of it might be on the stack during processing, like any other data, but generally the end result and most of the larger parts during processing will live in the heap 2018-02-23T22:48:12Z Nouv: My questions are because I want to understand how to write (and eventually actually write) a lisp compiler, just as a learning experience 2018-02-23T22:48:16Z LiamH quit (Quit: Leaving.) 2018-02-23T22:48:28Z pmc_: Nouv you might want to consider reading Chapters 4 and 5 of Structure and Interpretation of Computer Programs. 2018-02-23T22:48:31Z __rumbler31 quit (Ping timeout: 248 seconds) 2018-02-23T22:48:32Z zooey quit (Ping timeout: 255 seconds) 2018-02-23T22:48:34Z Nouv: I'm a CS student but can't take programming theory modules until next semester and I'm slightly impatient 2018-02-23T22:48:50Z Nouv: pmc_: I've seen SICP referred to quite a bit, I'll have to look at that too 2018-02-23T22:49:03Z pjb: Nouv: There's a library, there's the Internet. Read books! ;-) 2018-02-23T22:49:23Z zooey joined #lisp 2018-02-23T22:49:24Z Nouv: :) 2018-02-23T22:49:26Z Achylles quit (Read error: Connection reset by peer) 2018-02-23T22:50:06Z pjb: Nouv: and really the books you will study beyond your courses will be the ones you remember the best! Take your time to study as many as you want of them! 2018-02-23T22:54:11Z pmc_: Nouv, fyi, you don't need to read all of Chapter 4 of SICP just section 4.1. 2018-02-23T22:56:19Z Bike quit (Ping timeout: 260 seconds) 2018-02-23T22:58:01Z Nouv: pmc_: Looks promising from the headers, thanks :) 2018-02-23T22:58:26Z phaul: ok, I think I've found what i was looking for. all I can say is that never take off those beer googles. :D 2018-02-23T22:58:36Z phaul left #lisp 2018-02-23T22:58:56Z pmc_: Nouv: sure thing. If you don't know Scheme read Chapter 1 too. :) 2018-02-23T22:59:24Z Achylles joined #lisp 2018-02-23T23:03:32Z Nouv: I find this so interesting 2018-02-23T23:03:40Z Nouv: thanks for humoring my naive questions 2018-02-23T23:04:09Z Achylles quit (Read error: Connection reset by peer) 2018-02-23T23:04:22Z damke_ joined #lisp 2018-02-23T23:05:09Z willmichael joined #lisp 2018-02-23T23:06:03Z EvW quit (Remote host closed the connection) 2018-02-23T23:09:51Z Tobbi quit (Quit: Leaving) 2018-02-23T23:10:08Z Nouv: Does that mean every compiled lisp program (at least from sbcl and other lisps that support eval) has a mini compiler in it? 2018-02-23T23:11:28Z whoman: ^_^ 2018-02-23T23:11:33Z whoman: full 2018-02-23T23:11:46Z Nouv: :o 2018-02-23T23:11:59Z AxelAlex quit (Quit: AxelAlex) 2018-02-23T23:13:05Z aeth: Not every 2018-02-23T23:13:17Z aeth: I think commercial Lisps restrict it. 2018-02-23T23:13:56Z Nouv: Why would they do that? Isn't it required for macros, and macros are a fundamental part of lisp? 2018-02-23T23:13:59Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2018-02-23T23:15:04Z aeth: I think that they use a tree-shaker to provide exactly the subset that the program needs, and nothing more. And macro expansion is (usually?) done at compile time, so if the macro isn't *called* at runtime... they can probably tree shake that away in the actual compiled binaries of the program. 2018-02-23T23:15:30Z _death: clhs 3.2.2.2 2018-02-23T23:15:30Z specbot: Minimal Compilation: http://www.lispworks.com/reference/HyperSpec/Body/03_bbb.htm 2018-02-23T23:22:12Z rumbler31 quit (Remote host closed the connection) 2018-02-23T23:22:14Z giraffe joined #lisp 2018-02-23T23:22:39Z Achylles joined #lisp 2018-02-23T23:23:13Z |3b|: some people object to the extra size of carrying around a compiler when you don't need one, so some lisps let you remove it 2018-02-23T23:23:22Z Tobbi joined #lisp 2018-02-23T23:27:14Z itruslove joined #lisp 2018-02-23T23:30:22Z nefercheprure is now known as TMA 2018-02-23T23:33:24Z cgore` joined #lisp 2018-02-23T23:36:31Z cgore quit (Ping timeout: 248 seconds) 2018-02-23T23:37:07Z Nouv: Are there any compilers written in lisp that turn lisp into assembly? Any as in available somewhere like github? 2018-02-23T23:37:27Z cgore` quit (Ping timeout: 240 seconds) 2018-02-23T23:39:52Z Bike joined #lisp 2018-02-23T23:41:22Z EvW joined #lisp 2018-02-23T23:42:22Z pillton: Nouv: SBCL, CCL, CMUCL, LispWorks and AllegroCL all do. ECL outputs C code which is compiled and loaded in to the run time environment. 2018-02-23T23:43:23Z Bike: are you talking about the runtime? i think for runtime compilation ecl uses bytecode 2018-02-23T23:43:23Z Colleen: Bike: drmeister said 12 minutes, 14 seconds ago: - we figured out the problem frgo is experiencing - calling foreign clbind methods with more than three arguments (and probably functions with more than four arguments) has a problem. 2018-02-23T23:43:42Z Nouv: pillton: I'll check those out, thank you :) 2018-02-23T23:43:46Z Achylles quit (Remote host closed the connection) 2018-02-23T23:43:49Z FreeBirdLjj joined #lisp 2018-02-23T23:44:16Z Bike: nope, i spoke before checking the logs like a fucking fool 2018-02-23T23:44:27Z pillton: Bike: What? 2018-02-23T23:44:35Z Bike: nothing 2018-02-23T23:45:17Z pillton: Bike: Last I checked, an invocation of compile would generate C code. 2018-02-23T23:45:18Z rumbler31 joined #lisp 2018-02-23T23:45:23Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-23T23:45:25Z Bike: oh 2018-02-23T23:46:35Z Bike: https://common-lisp.net/project/ecl/static/manual/ch35s11.html os wjat o 2018-02-23T23:46:39Z Bike: is what i'm thinking of. 2018-02-23T23:47:03Z attila_lendvai joined #lisp 2018-02-23T23:47:03Z attila_lendvai quit (Changing host) 2018-02-23T23:47:03Z attila_lendvai joined #lisp 2018-02-23T23:49:43Z rumbler31 quit (Ping timeout: 256 seconds) 2018-02-23T23:50:56Z pillton: It is good that we have another environment with a compiler and an interpreter. 2018-02-23T23:51:15Z borei joined #lisp 2018-02-23T23:53:05Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-23T23:54:48Z Tobbi quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-23T23:54:51Z rumbler31 joined #lisp 2018-02-23T23:57:06Z borei: hi all 2018-02-23T23:57:18Z lonjil: hello borei 2018-02-23T23:58:18Z dtornabene joined #lisp 2018-02-23T23:58:19Z asarch quit (Quit: Leaving) 2018-02-23T23:59:01Z dtornabene quit (Remote host closed the connection) 2018-02-23T23:59:11Z dieggsy joined #lisp 2018-02-24T00:00:39Z FreeBirdLjj joined #lisp 2018-02-24T00:01:13Z kajo quit (Ping timeout: 240 seconds) 2018-02-24T00:02:43Z kajo joined #lisp 2018-02-24T00:07:03Z Cymew joined #lisp 2018-02-24T00:07:17Z python476 quit (Ping timeout: 256 seconds) 2018-02-24T00:09:03Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-24T00:11:31Z Cymew quit (Ping timeout: 252 seconds) 2018-02-24T00:12:27Z juan-reynoso quit (Ping timeout: 240 seconds) 2018-02-24T00:14:38Z borei: hmm, i have delimma. i have function, in some cases argument is just number, but in some cases - list of numbers. passing list of one number - will work but doesn't look good. on the other hand doing type parsing inside function - also not elegant solution. generic function and methods on top of it ? 2018-02-24T00:15:41Z attila_lendvai: you can use (defun foo (&rest args) ...) 2018-02-24T00:15:50Z pjb: borei: (defun foo (x) (let ((x (ensure-list x))) (process-list x))) 2018-02-24T00:15:57Z pagnol quit (Ping timeout: 240 seconds) 2018-02-24T00:16:12Z pjb: you find ensure-list in various libraries. 2018-02-24T00:17:06Z pjb: &rest is still limited by call-arguments-limit, which can be as low as 50. 2018-02-24T00:18:34Z borei: hmm, ensure-list - undefined. is it part of 'standard library' ? 2018-02-24T00:18:52Z attila_lendvai: google is your friend 2018-02-24T00:19:03Z borei: looking now 2018-02-24T00:19:21Z pjb: at least: alexandria:ensure-list com.informatimago.common-lisp.cesarum.list:ensure-list 2018-02-24T00:19:42Z attila_lendvai: if you want to wander that way, then get alexandria, preferably using quicklisp.org 2018-02-24T00:19:53Z FreeBirdLjj joined #lisp 2018-02-24T00:19:54Z borei: source code for it has 5 lines with comments 2018-02-24T00:20:13Z pjb: (defun ensure-list (x) (if (listp x) x (list x))) 2018-02-24T00:20:22Z borei: i think it worth to implement it 2018-02-24T00:20:25Z borei: yeah 2018-02-24T00:21:38Z pjb: Of course, you have the choice to write it in your program, or to depends on tens of unspecified libraries. 2018-02-24T00:24:51Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-24T00:25:25Z borei: does it make sense to create generic function and couple methods on top of it ? 2018-02-24T00:26:27Z pjb: (defgeneric ensure-list (x) (:method ((x cons)) x) (:method ((x null)) x) (:method ((x t)) (list x))) 2018-02-24T00:26:38Z pjb: what do you think? 2018-02-24T00:26:43Z borei: no no 2018-02-24T00:27:26Z clog quit (Ping timeout: 268 seconds) 2018-02-24T00:27:32Z pjb: Notice, you may want: (defgeneric ensure-list (x) (:method ((x cons)) x) (:method ((x null)) x) (:method ((x t)) (list x)) (:method ((x vector)) (coerce x 'list))) 2018-02-24T00:27:57Z pjb: and so on. So a generic function may be what you need. 2018-02-24T00:28:27Z pjb: (ensure-list "foo") --> (#\f #\o #\o) 2018-02-24T00:29:58Z FreeBirdLjj joined #lisp 2018-02-24T00:30:24Z borei: im thinking about genfun/method for my function, like 2018-02-24T00:31:03Z mfiano: (ensure-list "foo") --> ("foo") 2018-02-24T00:31:24Z borei: (defgeneric myfun (args)) --> (defmethod myfun ((fixnum arg)), (defmethod myfun ((cons arg)) ? 2018-02-24T00:31:56Z pjb: It's the same. 2018-02-24T00:32:16Z pjb: borei: one thing you have to consider with CLOS also, is that method dispatching can be done on multiple arguments. 2018-02-24T00:32:45Z pjb: (defgeneric f (x y)) (defmethod f ((x integer) (y string)) …) (defmethod ((x string) (y real)) …) etc. 2018-02-24T00:33:11Z pjb: Now the point is that you would gather together (perhaps in the same file), functions or methods that are logically related. 2018-02-24T00:33:32Z pjb: You don't have to put everything related to a class in the same file. Or everything related to a generic function in the same file. 2018-02-24T00:33:40Z pjb: It depends on the internal logic of your program. 2018-02-24T00:34:33Z pagnol joined #lisp 2018-02-24T00:34:54Z borei: ok, ic, i'll try either-or approaches to see which one looks better 2018-02-24T00:35:04Z pjb: Sometimes you just want to define a function with all its methods already defined. Using defgeneric with :method is a nice way to do it. 2018-02-24T00:35:24Z pjb: Other times, you want to keep the methods close to a class. A file per class with a defclass and all the defmethod in it. 2018-02-24T00:35:45Z pjb: Other times, you want to add a mechanism, so you will have a file with defmethod for all the classes in your system. 2018-02-24T00:35:50Z zolk3ri joined #lisp 2018-02-24T00:36:42Z pjb: The modularity can be organized according to different axes. 2018-02-24T00:38:03Z borei: yeah, im structuring library - that is why all such questions popped-up 2018-02-24T00:38:07Z pjb: If you realize that when you have to implement a user story, you must modify all the files in your project, then perhaps something is wrong. 2018-02-24T00:38:22Z pjb: Perhaps you should just add a new file gathering all the methods implementing this user story. 2018-02-24T00:39:13Z safe joined #lisp 2018-02-24T00:39:32Z Nouv quit (Remote host closed the connection) 2018-02-24T00:42:07Z smasta quit (Ping timeout: 248 seconds) 2018-02-24T00:42:25Z attila_lendvai quit (Ping timeout: 256 seconds) 2018-02-24T00:44:07Z borei: for &optional arguments can i specify type, something like (defmethod xyz ((x single-float)(y single-float) &optional (y single-float)) ? 2018-02-24T00:45:00Z borei: the &optional one is (z single-float) 2018-02-24T00:45:31Z pjb: nope. method dispatch is only on mandatory parameters. 2018-02-24T00:45:45Z pjb: borei: you can use check-type to verify it. 2018-02-24T00:46:10Z borei: yep 2018-02-24T00:46:15Z pjb: (defmethod xyz ((x single-float) (y single-float) &optional z) (check-type z (or null single-float))) 2018-02-24T00:46:16Z pierpa joined #lisp 2018-02-24T00:47:53Z borei: seems like for now i ran out of questions :-) 2018-02-24T00:48:00Z stacksmith: clhs 3.4.2 2018-02-24T00:48:01Z specbot: Generic Function Lambda Lists: http://www.lispworks.com/reference/HyperSpec/Body/03_db.htm 2018-02-24T00:48:03Z borei: thanks a lot ! 2018-02-24T01:00:27Z terpri quit (Ping timeout: 240 seconds) 2018-02-24T01:01:26Z damke joined #lisp 2018-02-24T01:02:39Z al-damiri quit (Quit: Connection closed for inactivity) 2018-02-24T01:03:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-24T01:04:27Z thodg quit (Ping timeout: 240 seconds) 2018-02-24T01:05:45Z milanj quit (Quit: This computer has gone to sleep) 2018-02-24T01:10:37Z emaczen: how do I get documentation strings from functions, methods and classes? 2018-02-24T01:11:36Z emaczen: I'm most interested in methods 2018-02-24T01:11:39Z pierpa: clhs documentation 2018-02-24T01:11:39Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_docume.htm 2018-02-24T01:11:39Z Bike: (documentation the-object t) 2018-02-24T01:11:50Z Bike: like (documentation (find-method ...) t) 2018-02-24T01:12:52Z whoman: emaczen: ??!?!? 2018-02-24T01:12:55Z whoman: https://stackoverflow.com/questions/5093513/how-to-see-docstrings-and-other-symbol-information-in-common-lisp-repl 2018-02-24T01:12:57Z whoman: i wonder if he caught the link 2018-02-24T01:13:06Z whoman: ^ old messages 2018-02-24T01:13:34Z whoman: doesnt symbol get it all ? 2018-02-24T01:13:48Z Bike: i don't know what that means 2018-02-24T01:13:57Z smasta joined #lisp 2018-02-24T01:14:05Z emaczen: Thanks Bike, I was confused because emacs doc made it look like documentation only for class slots 2018-02-24T01:15:50Z dieggsy quit (Read error: Connection reset by peer) 2018-02-24T01:17:06Z arescorpio joined #lisp 2018-02-24T01:18:30Z whoman: oh well 2018-02-24T01:18:37Z Patternmaster joined #lisp 2018-02-24T01:18:57Z smasta quit (Ping timeout: 264 seconds) 2018-02-24T01:19:15Z pagnol quit (Ping timeout: 256 seconds) 2018-02-24T01:41:35Z figurehe4d joined #lisp 2018-02-24T01:42:27Z EvW quit (Ping timeout: 252 seconds) 2018-02-24T01:43:56Z python476 joined #lisp 2018-02-24T01:48:01Z zolk3ri quit (Remote host closed the connection) 2018-02-24T01:48:49Z philosaur quit (Quit: philosaur) 2018-02-24T01:50:28Z philosaur joined #lisp 2018-02-24T01:58:46Z emaczen: How can I get a list of methods that have a particular class as a specializer? 2018-02-24T01:59:03Z emaczen: I don't see anything obvious in closer-mop 2018-02-24T01:59:05Z Bike: as a specializer in any position? 2018-02-24T01:59:10Z Bike: it's not a common operation 2018-02-24T01:59:11Z emaczen: Bike: yes 2018-02-24T01:59:35Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-24T01:59:38Z emaczen: Bike: Oh wait, I think I see it as a slot for a standard-class 2018-02-24T01:59:41Z Bike: (remove-if-not (lambda (method) (find class (method-specializers method))) methods), i think 2018-02-24T02:00:13Z FreeBirdLjj joined #lisp 2018-02-24T02:00:16Z emaczen: Bike: Yeah, but how do you get all the methods? 2018-02-24T02:00:26Z Bike: of a generic function? 2018-02-24T02:01:16Z emaczen: no just in general 2018-02-24T02:01:28Z emaczen: I need all methods that have as a specializer class x 2018-02-24T02:01:32Z Bike: oh, i see 2018-02-24T02:01:43Z Bike: specializer-direct-methods 2018-02-24T02:01:58Z emaczen: Bike: I just found in ccl, direct-methods is a slot for standard-class 2018-02-24T02:02:11Z Bike: specializer-direct-methods is the exported interface 2018-02-24T02:03:24Z emaczen: Bike: yep, it returns the same result 2018-02-24T02:04:27Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2018-02-24T02:09:57Z python476 quit (Ping timeout: 252 seconds) 2018-02-24T02:10:45Z erikc quit 2018-02-24T02:11:51Z karswell joined #lisp 2018-02-24T02:14:09Z fikka quit (Ping timeout: 264 seconds) 2018-02-24T02:14:35Z figurehe4d quit (Ping timeout: 240 seconds) 2018-02-24T02:16:46Z Oladon joined #lisp 2018-02-24T02:19:36Z chiyosaki joined #lisp 2018-02-24T02:20:18Z saki quit (Ping timeout: 248 seconds) 2018-02-24T02:21:42Z uuplusu joined #lisp 2018-02-24T02:22:42Z d4ryus1 joined #lisp 2018-02-24T02:24:51Z deng_cn1 joined #lisp 2018-02-24T02:26:09Z deng_cn quit (Ping timeout: 264 seconds) 2018-02-24T02:26:09Z deng_cn1 is now known as deng_cn 2018-02-24T02:26:26Z d4ryus quit (Ping timeout: 268 seconds) 2018-02-24T02:26:49Z clog joined #lisp 2018-02-24T02:31:30Z yaewa quit (Quit: Leaving...) 2018-02-24T02:32:10Z mlf quit (Ping timeout: 240 seconds) 2018-02-24T02:32:23Z mlf joined #lisp 2018-02-24T02:33:58Z dieggsy joined #lisp 2018-02-24T02:41:34Z fikka joined #lisp 2018-02-24T02:51:04Z __rumbler31 joined #lisp 2018-02-24T02:51:05Z goreye joined #lisp 2018-02-24T02:52:10Z goreye: Hi, I'm trying to do `(write-byte (char-code #\A) *standard-output*)` which works fine on SBCL but fails on SLIME. 2018-02-24T02:52:48Z goreye: Error is: The stream # has 2018-02-24T02:52:49Z goreye: no suitable method for STREAM-WRITE-BYTE, and so has fallen 2018-02-24T02:52:49Z goreye: through to this method. 2018-02-24T02:52:51Z Bike: standard output is probably a acharacter stream, so write byte is a problem 2018-02-24T02:53:24Z goreye: So is it different from the standard-output of sbcl? Some wrapper provided by Slime? 2018-02-24T02:53:33Z Bike: slime wraps, yes. 2018-02-24T02:54:35Z goreye: Any way I can test write-bytes on stdout? Though I'm writing the function for generic streams, but I'm testing it on standard output 2018-02-24T02:54:42Z goreye: Noob here, just in case :) 2018-02-24T02:55:33Z __rumbler31 quit (Ping timeout: 240 seconds) 2018-02-24T02:58:03Z terpri joined #lisp 2018-02-24T03:01:46Z damke_ joined #lisp 2018-02-24T03:01:58Z smasta joined #lisp 2018-02-24T03:03:57Z damke quit (Ping timeout: 264 seconds) 2018-02-24T03:06:57Z smasta quit (Ping timeout: 264 seconds) 2018-02-24T03:13:23Z fikka quit (Ping timeout: 252 seconds) 2018-02-24T03:13:49Z fdund joined #lisp 2018-02-24T03:25:43Z fikka joined #lisp 2018-02-24T03:27:13Z juan-reynoso joined #lisp 2018-02-24T03:27:23Z stacksmith: goreye: pls go to #clnoobs 2018-02-24T03:27:59Z arescorpio quit (Read error: No route to host) 2018-02-24T03:35:39Z nydel: at sdf.org pubnix we try to build sbcl for all users on netbsd8. if there is any special bsd unix instructions, the system op wants me to pass them on. thanks in advance if you know anything! 2018-02-24T03:39:09Z pjb quit (Remote host closed the connection) 2018-02-24T03:41:43Z pjb joined #lisp 2018-02-24T03:41:44Z deng_cn quit (Read error: Connection reset by peer) 2018-02-24T03:44:37Z pjb quit (Remote host closed the connection) 2018-02-24T03:48:53Z goreye quit (Ping timeout: 240 seconds) 2018-02-24T03:51:45Z orivej quit (Ping timeout: 265 seconds) 2018-02-24T03:53:24Z stacksmith quit (Ping timeout: 260 seconds) 2018-02-24T03:54:44Z emaczen: how do I find a generic-function given a name? 2018-02-24T03:55:08Z Bike: fdefinition 2018-02-24T03:56:11Z emaczen: Bike: strange that it is not find-generic-function or find-function 2018-02-24T03:56:18Z Bike: why would it be 2018-02-24T03:56:22Z Bike: generic functions are just functions 2018-02-24T03:56:33Z emaczen: because we have find-class and find-method 2018-02-24T03:56:46Z emaczen: I said "or" becuase I thought so 2018-02-24T03:56:50Z Bike: those names actually arenj't great because they're also setfs 2018-02-24T03:56:53Z Bike: well, find class is 2018-02-24T03:56:57Z Bike: find method is not 2018-02-24T03:58:53Z fikka quit (Ping timeout: 240 seconds) 2018-02-24T03:59:04Z deng_cn joined #lisp 2018-02-24T04:01:36Z fikka joined #lisp 2018-02-24T04:12:21Z deng_cn quit (Read error: Connection reset by peer) 2018-02-24T04:14:34Z deng_cn joined #lisp 2018-02-24T04:18:22Z schoppenhauer quit (Ping timeout: 260 seconds) 2018-02-24T04:20:06Z schoppenhauer joined #lisp 2018-02-24T04:21:19Z Karl_Dscc joined #lisp 2018-02-24T04:21:49Z fdund quit (Quit: .) 2018-02-24T04:22:00Z zooey quit (Remote host closed the connection) 2018-02-24T04:22:22Z zooey joined #lisp 2018-02-24T04:24:39Z sysfault joined #lisp 2018-02-24T04:24:50Z stacksmith joined #lisp 2018-02-24T04:25:34Z sysfault quit (Client Quit) 2018-02-24T04:26:22Z sysfault joined #lisp 2018-02-24T04:29:17Z stacksmith quit (Ping timeout: 252 seconds) 2018-02-24T04:35:31Z fikka quit (Ping timeout: 252 seconds) 2018-02-24T04:38:59Z jsn` joined #lisp 2018-02-24T04:39:06Z Guest16495: pjb, sjl, Shinmera: thank you for the answers about ctrl-c in cl-charms/curses development. `stty intr undef` was the magic i needed! 2018-02-24T04:41:49Z figurehe4d joined #lisp 2018-02-24T04:45:38Z fikka joined #lisp 2018-02-24T04:48:59Z KarlDscc joined #lisp 2018-02-24T04:49:33Z dieggsy quit (Ping timeout: 240 seconds) 2018-02-24T04:50:43Z smasta joined #lisp 2018-02-24T04:51:10Z fisxoj joined #lisp 2018-02-24T04:52:45Z Karl_Dscc quit (Ping timeout: 252 seconds) 2018-02-24T04:55:33Z smasta quit (Ping timeout: 264 seconds) 2018-02-24T04:57:48Z chiyosaki quit (Quit: chiyosaki) 2018-02-24T04:58:11Z saki joined #lisp 2018-02-24T05:01:09Z pmc_ quit (Quit: Leaving) 2018-02-24T05:01:13Z damke joined #lisp 2018-02-24T05:03:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-24T05:08:12Z beach: Good morning everyone! 2018-02-24T05:11:27Z saki quit (Ping timeout: 252 seconds) 2018-02-24T05:13:28Z jack_rabbit: 'morning! 2018-02-24T05:15:12Z KarlDscc quit (Remote host closed the connection) 2018-02-24T05:18:24Z dddddd quit (Remote host closed the connection) 2018-02-24T05:18:25Z fikka quit (Ping timeout: 252 seconds) 2018-02-24T05:19:52Z nydel: morning 2018-02-24T05:21:22Z jack_rabbit: It appears http://sbcl.org/ is giving 502... :/ 2018-02-24T05:22:17Z jack_rabbit: oh, hello nydel! 2018-02-24T05:22:36Z jack_rabbit: How did your work on that machine go? 2018-02-24T05:22:39Z juan-reynoso quit (Remote host closed the connection) 2018-02-24T05:23:50Z pierpa quit (Quit: Page closed) 2018-02-24T05:24:17Z smurfrobot joined #lisp 2018-02-24T05:28:35Z fikka joined #lisp 2018-02-24T05:29:09Z smurfrobot quit (Ping timeout: 264 seconds) 2018-02-24T05:32:12Z zooey quit (Ping timeout: 255 seconds) 2018-02-24T05:32:58Z zooey joined #lisp 2018-02-24T05:40:36Z smasta joined #lisp 2018-02-24T05:43:10Z zooey quit (Remote host closed the connection) 2018-02-24T05:43:28Z zooey joined #lisp 2018-02-24T05:46:16Z AxelAlex joined #lisp 2018-02-24T05:48:15Z mlf quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-24T05:56:39Z sysfault quit (Quit: Leaving) 2018-02-24T05:59:16Z BitPuffin joined #lisp 2018-02-24T06:01:18Z sysfault joined #lisp 2018-02-24T06:10:07Z learning joined #lisp 2018-02-24T06:10:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-24T06:16:27Z smokeink joined #lisp 2018-02-24T06:21:28Z epony quit (Quit: QUIT) 2018-02-24T06:26:24Z ebzzry_ quit (Ping timeout: 256 seconds) 2018-02-24T06:26:27Z fikka joined #lisp 2018-02-24T06:27:59Z epony joined #lisp 2018-02-24T06:28:33Z shifty quit (Ping timeout: 240 seconds) 2018-02-24T06:31:32Z saki joined #lisp 2018-02-24T06:33:10Z Arcaelyx_ joined #lisp 2018-02-24T06:33:23Z milanj joined #lisp 2018-02-24T06:33:43Z nydel: jack_rabbit: thanks for asking! we got 1.4.1 up on the meta-array which is a red-hat-like linux 2.2 kernel. all my programs work! 2018-02-24T06:34:00Z jack_rabbit: YES! 2018-02-24T06:34:06Z nydel: but the cluster (the main place - about 5 or 6 machines with a shared user filesystem) runs NetBSD8 2018-02-24T06:34:48Z nydel: in fact we're the only live beta of netbsd8. the developers are working on the kernel from 7 on our system. so i guess it is proving difficult to easily install SBCL on the bsd system for all users 2018-02-24T06:35:12Z nydel: i'm hoping to find some existing documentation on bsd-specific sbcl building or to begin creating such a thing as we go 2018-02-24T06:35:21Z Arcaelyx quit (Ping timeout: 276 seconds) 2018-02-24T06:35:39Z jack_rabbit: I know clisp is currently running there. Having an updated version of that might be easier? 2018-02-24T06:36:32Z jack_rabbit: The clisp there is (oddly) new enough that I was able to load asdf3 into it and actually compile stuff from quicklisp, which I was not able to do with the old SBCL on MA. 2018-02-24T06:36:41Z nydel: savvy jack_rabbit ! i guess clisp can be used to build sbcl. so that's exactly what we're trying, to update clisp (we have a version from 2010! woof.) then the sbcl hopefully will follow 2018-02-24T06:37:02Z jack_rabbit: Excellent! :D 2018-02-24T06:37:04Z nydel: there is a pkgsrc entry for sbcl 1.3.1 and that is plenty current enough for the general SDF population to be using. 2018-02-24T06:37:07Z nydel: :) 2018-02-24T06:37:19Z jack_rabbit: definitely. 2018-02-24T06:37:51Z jack_rabbit: Very good. I'm excited to play with it. 2018-02-24T06:38:19Z nydel: a package i used to rely on called cl-daemonize i guess is no longer listed in quicklisp repository. it's how i backgrounded my hunchentoot-behind-apache webserver (then my sdf website would fetch sdf.org:9903, an arbitrary port running my server) 2018-02-24T06:38:57Z jack_rabbit: nydel, I usually just nohup things. 2018-02-24T06:39:06Z jack_rabbit: I think that works on bsd. 2018-02-24T06:39:22Z nydel: i hadn't considered that. i'd get a cool log of happenings that way as well 2018-02-24T06:39:24Z nydel: thanks 2018-02-24T06:39:41Z jack_rabbit: Yes indeed. :) 2018-02-24T06:40:38Z jack_rabbit: nydel, You can try loading my little gopher client there. https://github.com/knusbaum/cl-gopher 2018-02-24T06:40:57Z nydel: oh absolutely, i've been meaning to try that out! 2018-02-24T06:41:44Z jack_rabbit: That one's different than the one I showed you before. That one is text based and the other is built on McClim, so it's graphical. 2018-02-24T06:43:04Z jack_rabbit: Although, actually, the main branch there won't work there, since I can't load iolib on the cluster. 2018-02-24T06:43:21Z jack_rabbit: My test branch 'iolib->usocket+flexi-streams' should work. 2018-02-24T06:43:40Z nydel: in an ideal world, a person simply does ./cl-gopher-start.sh from the command line yes? 2018-02-24T06:43:48Z nika joined #lisp 2018-02-24T06:44:02Z jack_rabbit: ideally, yes. 2018-02-24T06:44:14Z nydel: or would a lisp person load this up in a slime instance 2018-02-24T06:44:21Z jack_rabbit: This thing is super alpha, though. I haven't made much effort to make it portable yet. 2018-02-24T06:44:34Z jack_rabbit: A lisp person may well load it in slime. 2018-02-24T06:44:50Z jack_rabbit: however I haven't been able to get slime working with the current clim on the cluster. 2018-02-24T06:45:03Z jack_rabbit: s/clim/clisp/ 2018-02-24T06:45:35Z jack_rabbit: cl-gopher:text-browser is the function to start the interactive browser, though. 2018-02-24T06:45:40Z nydel: right away the lsh script gives "system cl-gopher not found" a quicklisp error ... huh 2018-02-24T06:46:05Z jack_rabbit: Yeah, you need to manually (load "/some/path/to/cl-gopher.asd") first. 2018-02-24T06:46:18Z jack_rabbit: Then you should be able to quickload it. 2018-02-24T06:46:26Z nydel: ah that's good 2018-02-24T06:46:31Z jack_rabbit: (provided you have loaded asdf3 and quicklisp. :) 2018-02-24T06:46:33Z nydel: i mean it's better than "what?" 2018-02-24T06:46:41Z jack_rabbit: haha 2018-02-24T06:47:04Z nydel: yes quicklisp is up to date and asdf3 & 2 ... let me get cl-gopher in my quicklisp local real quick 2018-02-24T06:49:01Z nydel: is placing the git repo in ~/quicklisp/local-projects/ the way to do this? 2018-02-24T06:49:23Z nydel: i've gotten so spoiled by quicklisp doing everything so easily hehe 2018-02-24T06:49:26Z jack_rabbit: Not sure. That might work! It doesn't matter where you place it if you manually load the .asd file. 2018-02-24T06:49:45Z nydel: right. i'll back off the scripts for a minute and just load it up 2018-02-24T06:49:46Z jack_rabbit: putting it in local-projects might make the manual load unnecessary. 2018-02-24T06:50:14Z vaporatorius__ joined #lisp 2018-02-24T06:51:06Z nydel: that was the idea. and the script progressed quite a ways before running into a very long foreign interface problem that i'm just now looking into 2018-02-24T06:51:47Z jack_rabbit: nydel, Yes! That's probably because you checked out the main branch. 2018-02-24T06:51:58Z jack_rabbit: coming from iolib? 2018-02-24T06:51:58Z nydel: it's to do with iolib and grovel, the ffi error 2018-02-24T06:52:19Z dundee joined #lisp 2018-02-24T06:52:26Z milanj quit (Quit: This computer has gone to sleep) 2018-02-24T06:52:27Z jack_rabbit: Yes. iolib requires libfixposix. Instead, check out the 'iolib->usocket+flexi-streams' branch. 2018-02-24T06:52:48Z jack_rabbit: (sorry about the horrible branch name, which requires quoting) 2018-02-24T06:53:05Z vap1 quit (Ping timeout: 240 seconds) 2018-02-24T06:53:10Z dundee: If I were to make a purely functional lisp, would it still be possible to read in code from imperative languages like C via macros? 2018-02-24T06:53:23Z phoe: dundee: what do you mean, "read in code"? 2018-02-24T06:53:44Z dundee: make a syntax for C and then compile it 2018-02-24T06:53:56Z phoe: functional paradigm is equivalent to the imperative one, everything computable in one is computable in the other and vice versa. 2018-02-24T06:54:19Z phoe: so you can write C-reading macros in either of them and compile them into something that you can execute. 2018-02-24T06:54:37Z nydel: i'm trying on my local machine (not part of SDF) in a slime. having put cl-gopher in quicklisp local-projects, i get a halt at iolib. so i must need to install iolib, with which i am not familiar. 2018-02-24T06:54:59Z nydel: this is a debian machine, should iolib be something i retrieve by hand, with a lisp, from linux repo? 2018-02-24T06:55:02Z phoe: so you can do even the blasphemy of grabbing a purely imperative language like C and compile it into a purely functional language like your hypothetical Lisp. 2018-02-24T06:55:14Z phoe: At a big cost, but you'll do it, sure thing. 2018-02-24T06:56:19Z Arcaelyx joined #lisp 2018-02-24T06:56:21Z zooey quit (Ping timeout: 255 seconds) 2018-02-24T06:56:25Z jack_rabbit: nydel, No, iolib is a common-lisp library. However, it depends on libfixposix, which you should be able to install with 'apt-get libfixposix' 2018-02-24T06:56:36Z zooey joined #lisp 2018-02-24T06:56:39Z jack_rabbit: nydel, alternatively, check out the other branch on my cl-gopher repo. 2018-02-24T06:57:05Z jack_rabbit: 'apt-get install libfixposix' even 2018-02-24T06:57:14Z dundee: phoe: but you can do all sorts of data mutation in C functions, for loops, and other control structures. I'm sure any sufficiently smart compiler could optimize a naive translation (see: GHC, Stalin Scheme), but would a set of naive translations consistently produce legal lisp? 2018-02-24T06:57:16Z rumbler31 quit (Remote host closed the connection) 2018-02-24T06:57:31Z nydel: do i read the other branch correctly as you're moving away from iolib to use usocket? 2018-02-24T06:57:42Z jack_rabbit: nydel, That's correct. 2018-02-24T06:57:55Z phoe: dundee: it doesn't matter. in imperative programmming, mutable state is contained everywhere; in functional programming, functional state is isolated and contained in function arguments. 2018-02-24T06:58:01Z jack_rabbit: sorry, I could have been clearer about that. 2018-02-24T06:58:24Z nydel: let's try that then first. i feel like since i haven't used iolib it is probably something i need to spend an hour or two getting learned on. 2018-02-24T06:58:25Z phoe: in imperative programming, you mutate this global state; in functional programming, you change the arguments passed from function to function. 2018-02-24T06:58:38Z jack_rabbit: nydel, sounds good! :) 2018-02-24T06:59:13Z phoe: functions are directly translatable to functional programming, loops can be transformed into recursion, other control structures, like switches, can be turned into pattern matching. 2018-02-24T06:59:37Z phoe: and right now I consider only the *possibility* - yes, it is possible. I do not consider whether it's *feasible*. 2018-02-24T06:59:45Z Arcaelyx_ quit (Ping timeout: 264 seconds) 2018-02-24T06:59:51Z phoe: and here is where the countless optimizations kick in. 2018-02-24T07:00:03Z jack_rabbit: Assignment can be captured via some closure magic, I believe. 2018-02-24T07:00:24Z phoe: jack_rabbit: or just returning a new state object from a function. 2018-02-24T07:00:30Z jack_rabbit: sure. 2018-02-24T07:00:36Z phoe: (assign state var new-value) ;=> new-state 2018-02-24T07:01:02Z phoe: and in new-state, a functional data structure, the alist or whatever now contains a mapping from var to new-value. 2018-02-24T07:01:15Z damke_ joined #lisp 2018-02-24T07:01:20Z phoe: state is equal to new-state, sans that assignment. 2018-02-24T07:01:27Z jack_rabbit: yes. 2018-02-24T07:01:34Z dundee: I suppose passing continuations from new state object returns are a way to consistently achieve what I'm thinking of. 2018-02-24T07:02:33Z vap1 joined #lisp 2018-02-24T07:02:48Z fisxoj quit (Quit: fisxoj) 2018-02-24T07:03:21Z damke quit (Ping timeout: 264 seconds) 2018-02-24T07:05:13Z vaporatorius__ quit (Ping timeout: 240 seconds) 2018-02-24T07:06:10Z Oladon quit (Quit: Leaving.) 2018-02-24T07:06:17Z nydel: jack_rabbit: i clone the other branch (and put it in quicklisp/local-projects for good measure) ... in a slime environment, should i asdf load cl-gopher.asd, or some other action e.g. evaluate cl-gopher.lisp & client.lisp etc? 2018-02-24T07:06:44Z jack_rabbit: If it's in local-projects, all you should need to do is (ql:quickload 'cl-gopher) 2018-02-24T07:07:02Z jack_rabbit: in fact, the lsh scripts may work. 2018-02-24T07:07:04Z nydel: ah of course whoops. let's try that 2018-02-24T07:07:24Z jack_rabbit: (if you wanted to do it that way instead. No guarantees though. :) ) 2018-02-24T07:08:58Z nydel: the same type of error (this is the newer branch not master) condition of type iolib/grovel:grovel::grovel-error ... which happens when apparnetly a call is made to g++ 2018-02-24T07:09:12Z jack_rabbit: hmmmm :/ 2018-02-24T07:09:19Z jack_rabbit: It shouldn't be trying to load iolib. 2018-02-24T07:09:37Z nydel: right? let me make sure i have the correct branch. 2018-02-24T07:10:01Z jack_rabbit: Check the .asd file and make sure it matches https://github.com/knusbaum/cl-gopher/blob/iolib-%3Eusocket%2Bflexi-streams/cl-gopher.asd 2018-02-24T07:10:35Z terpri quit (Ping timeout: 256 seconds) 2018-02-24T07:11:01Z nydel: oh here is the problem (my fault) - i am not sure how to clone this branch with git. i didn't read what i coppied, it suggest the main cranch 2018-02-24T07:11:43Z nydel: i looked it up i think i see, one moment 2018-02-24T07:12:34Z jack_rabbit: should just be git checkout 'iolib->usocket+flexi-streams' 2018-02-24T07:13:57Z nydel: jack_rabbit: right i had to do clone -b "io.... you get it. i got it, quicklisp loaded and evaluated it, all set! what do i run to get going (cl-gopher:.....)? 2018-02-24T07:14:23Z jack_rabbit: (cl-gopher:text-browser) 2018-02-24T07:14:47Z nydel: working! 2018-02-24T07:15:04Z nydel: browsing the sdf gopherspace in a slime repl, this is so damn cool! 2018-02-24T07:15:08Z jack_rabbit: sweet :) 2018-02-24T07:15:33Z dundee quit (Quit: Page closed) 2018-02-24T07:15:46Z jack_rabbit: Oh! and if you want to allow it to download files, you can add the keyword :allow-downloads (cl-gopher:text-browser :allow-downloads t) 2018-02-24T07:15:57Z jack_rabbit: right now it just dumps them in /tmp 2018-02-24T07:18:27Z jack_rabbit: There's currently no 'quit' option, so you just have to interrupt it with C-c C-c and return to toplevel to get out. 2018-02-24T07:18:28Z nydel: jack_rabbit: https://mastodon.sdf.org/web/statuses/99579111283838964 2018-02-24T07:18:57Z jack_rabbit: niiiiice. :) 2018-02-24T07:19:16Z phoe: ooooh 2018-02-24T07:20:39Z vlatkoB joined #lisp 2018-02-24T07:20:42Z nydel: this is great jack_rabbit i'm reading new phlog entries from today and not in a "hey this a fun novelty" way but in a "this is how i prefer to do this" way 2018-02-24T07:20:54Z nydel: great job! 2018-02-24T07:20:59Z jack_rabbit: That's awesome. :) 2018-02-24T07:21:00Z jack_rabbit: Thanks! 2018-02-24T07:21:50Z jack_rabbit: It still needs quite a bit of work. Honestly, the browser was mostly an afterthought. cl-gopher's main intention is to be a protocol library that I'm going to put into clim-gopher and my yet-to-be-named gopher server. 2018-02-24T07:23:24Z nydel: i haven't seen a good clim project in a while so i'm excited to try that. there (AFAIK) aren't a lot of good true gopher GUI browsers. there are proxies and extensions for firefox etc 2018-02-24T07:24:10Z jack_rabbit: It's available and working now, if you wanted to try it out. It does need iolib currently, but I could switch that over real quick. 2018-02-24T07:25:13Z nydel: i'm right now working on getting iolib working locally (and understanding what it is/does for myself) ... just give me a little bit to poke around, i feel like this is something i should know how/why it works 2018-02-24T07:25:33Z nydel: then hopefully we can get it on the meta-array and eventually the sdf cluster 2018-02-24T07:27:15Z jack_rabbit: I just switched it anyway, sorry. :) 2018-02-24T07:27:16Z SaganMan joined #lisp 2018-02-24T07:27:26Z jack_rabbit: I prefer having fewer native library dependencies. 2018-02-24T07:27:29Z mishoo joined #lisp 2018-02-24T07:28:51Z zooey quit (Remote host closed the connection) 2018-02-24T07:29:08Z zooey joined #lisp 2018-02-24T07:29:31Z LocaMocha joined #lisp 2018-02-24T07:29:46Z nydel: it's probably for the best especially for software that can work on multiuser systems without a lot of hassle 2018-02-24T07:31:13Z jack_rabbit: That's the hope. 2018-02-24T07:32:09Z nydel: the meta-array allows for x11 forwarding. i run 'links2 -g' on it often and sometimes firefox. tomorrow i will try to get your clim client running that way 2018-02-24T07:33:06Z nydel: oh the possibilities. if a commonlisp gopher server, you can have a multi-user repl or version control repo. what fun! 2018-02-24T07:33:21Z fikka quit (Ping timeout: 264 seconds) 2018-02-24T07:35:15Z jack_rabbit: nydel, Yeah! My server currently is translating news articles to plaintext, but the possibilities are large. 2018-02-24T07:35:55Z jack_rabbit: nydel, https://gopher.floodgap.com/gopher/gw.lite?gopher://fritterware.org:70/ 2018-02-24T07:38:57Z Bike quit (Quit: Lost terminal) 2018-02-24T07:40:19Z smasta quit (Ping timeout: 268 seconds) 2018-02-24T07:47:24Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-24T07:47:41Z smurfrobot joined #lisp 2018-02-24T07:57:02Z _whitelogger quit (Remote host closed the connection) 2018-02-24T07:58:17Z jsn` quit (Ping timeout: 252 seconds) 2018-02-24T07:59:15Z _whitelogger joined #lisp 2018-02-24T08:01:26Z smurfrobot quit (Remote host closed the connection) 2018-02-24T08:07:32Z fikka joined #lisp 2018-02-24T08:09:34Z nowhere_man quit (Remote host closed the connection) 2018-02-24T08:10:44Z nowhere_man joined #lisp 2018-02-24T08:12:57Z fikka quit (Ping timeout: 264 seconds) 2018-02-24T08:15:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-24T08:15:51Z smurfrobot joined #lisp 2018-02-24T08:17:31Z damke_ joined #lisp 2018-02-24T08:18:48Z shifty joined #lisp 2018-02-24T08:20:32Z smurfrobot quit (Remote host closed the connection) 2018-02-24T08:22:07Z DonVlad joined #lisp 2018-02-24T08:24:38Z quazimodo joined #lisp 2018-02-24T08:36:30Z saki quit (Remote host closed the connection) 2018-02-24T08:40:06Z kuneco quit (Ping timeout: 240 seconds) 2018-02-24T08:42:42Z fikka joined #lisp 2018-02-24T08:46:18Z saki joined #lisp 2018-02-24T08:48:34Z SaganMan quit (Ping timeout: 260 seconds) 2018-02-24T08:57:48Z rumbler31 joined #lisp 2018-02-24T09:00:17Z damke joined #lisp 2018-02-24T09:00:22Z phoe: What is the function to insert an element into a list at position N? 2018-02-24T09:00:26Z Tobbi joined #lisp 2018-02-24T09:00:50Z phoe: (insert-into (list :q :w :e :r :t) :a 2) ;=> (:Q :W :A :E :R :T) 2018-02-24T09:00:57Z phoe: Something that behaves like this. 2018-02-24T09:01:39Z phoe: Actually not a function but a macro, since this needs to take a place. 2018-02-24T09:01:54Z phoe: If we are inserting at position 0, then this macro needs to modify the original place. 2018-02-24T09:02:45Z rumbler31 quit (Ping timeout: 264 seconds) 2018-02-24T09:02:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-24T09:03:49Z phoe: Oh right, I want this operation to be destructive to avoid consing. 2018-02-24T09:04:16Z jack_rabbit: Never found one. I've been in need of one before, but ended up fudging a solution. 2018-02-24T09:04:27Z phoe: ...does it mean that I will need to write it 2018-02-24T09:04:50Z jack_rabbit: I can't say definitively, but all signs I've seen point to 'yes' 2018-02-24T09:06:06Z jack_rabbit: There must be a library that has this functionality... 2018-02-24T09:06:25Z phoe: Exactly my line of thoughts, which is why I come here and ask. 2018-02-24T09:06:43Z terpri joined #lisp 2018-02-24T09:06:46Z phoe: I'll wait a while more, maybe someone knows such a library. 2018-02-24T09:23:10Z kuneco joined #lisp 2018-02-24T09:23:33Z figurehe4d quit (Ping timeout: 240 seconds) 2018-02-24T09:27:38Z patrixl joined #lisp 2018-02-24T09:27:59Z patrixl quit (Quit: ERC (IRC client for Emacs 26.0.91)) 2018-02-24T09:29:03Z patrixl joined #lisp 2018-02-24T09:35:10Z heurist_ joined #lisp 2018-02-24T09:35:49Z fikka quit (Ping timeout: 252 seconds) 2018-02-24T09:36:47Z heurist`_ quit (Ping timeout: 256 seconds) 2018-02-24T09:37:37Z smurfrobot joined #lisp 2018-02-24T09:38:24Z smurfrobot quit (Remote host closed the connection) 2018-02-24T09:41:39Z karswell_ joined #lisp 2018-02-24T09:43:35Z karswell quit (Ping timeout: 240 seconds) 2018-02-24T09:46:13Z Chream_ joined #lisp 2018-02-24T09:47:51Z fikka joined #lisp 2018-02-24T09:48:37Z Shinmera: phoe: you can setf the cdr of the nthcdr. 2018-02-24T09:49:45Z phoe: Shinmera: unless I want to insert at position 0, at which point I must modify the place. 2018-02-24T09:49:50Z Shinmera: Sure. 2018-02-24T09:49:56Z Shinmera: My point is, it's quite trivial. 2018-02-24T09:50:03Z phoe: I want an abstraction that will take care of this for me. 2018-02-24T09:50:40Z phoe: Yep, but nonetheless SETF CDR NTHCDR CONS CDR NTHCDR is ugly to me. 2018-02-24T09:50:50Z phoe: Since that's more or less how that insertion would look like. 2018-02-24T09:50:55Z Shinmera: If you want efficient inserting at any place you might want to consider something that isn't a list anyway. Like a skiplist. 2018-02-24T09:51:06Z phoe: Shinmera: it does not have to be efficient. 2018-02-24T09:51:23Z phoe: And to avoid the NIH syndrome, I'm looking for someone who already encountered that problem and wrote an already existing library function. 2018-02-24T09:51:34Z Shinmera: I have and did, but not as part of a utils package. 2018-02-24T09:51:43Z phoe: Sure, I can push yet another macro to PHOE-TOOLBOX, but that won't be too elegant. 2018-02-24T09:51:59Z Shinmera: Anyway, it's somewhere in my libraries :^) 2018-02-24T09:53:45Z fikka quit (Ping timeout: 264 seconds) 2018-02-24T09:54:12Z jackdaniel: in case of single utilities NIH doesn't apply, because pulling whole library as a dependency for a single (side-) utility is more absurd than adding 10 lines of code 2018-02-24T09:54:17Z patrixl quit (Remote host closed the connection) 2018-02-24T09:54:46Z Chream_2 joined #lisp 2018-02-24T09:54:46Z Chream_ quit (Read error: Connection reset by peer) 2018-02-24T09:55:01Z deng_cn quit (Read error: Connection reset by peer) 2018-02-24T09:55:11Z Chream_ joined #lisp 2018-02-24T09:55:11Z Chream_2 quit (Read error: Connection reset by peer) 2018-02-24T09:55:51Z eudoxia joined #lisp 2018-02-24T09:56:03Z eudoxia quit (Client Quit) 2018-02-24T09:57:06Z deng_cn joined #lisp 2018-02-24T10:00:01Z phoe: jackdaniel: unless it's already in some commonly used library that I am likely to have already pulled in. 2018-02-24T10:00:16Z phoe: I duplicated ALEXANDRIA:MAKE-KEYWORD once because I had no idea it is there. 2018-02-24T10:01:38Z jackdaniel: that's why I've added `single' word 2018-02-24T10:04:15Z heurist`_` joined #lisp 2018-02-24T10:05:32Z heurist_ quit (Ping timeout: 252 seconds) 2018-02-24T10:07:29Z pjb joined #lisp 2018-02-24T10:20:47Z smokeink quit (Remote host closed the connection) 2018-02-24T10:25:54Z DonVlad quit (Quit: WeeChat 1.4) 2018-02-24T10:26:27Z DonVlad joined #lisp 2018-02-24T10:34:02Z patrixl joined #lisp 2018-02-24T10:34:15Z patrixl quit (Client Quit) 2018-02-24T10:34:27Z patrixl joined #lisp 2018-02-24T10:35:58Z attila_lendvai joined #lisp 2018-02-24T10:35:58Z attila_lendvai quit (Changing host) 2018-02-24T10:35:58Z attila_lendvai joined #lisp 2018-02-24T10:36:31Z DonVlad: https://hastebin.com/juwemivuwo.scala 2018-02-24T10:36:44Z DonVlad: Hey, can someone look over that ^ and help me out ? 2018-02-24T10:36:47Z DonVlad: Thanks 2018-02-24T10:36:58Z Shinmera: This channel is for Common Lisp only. 2018-02-24T10:37:00Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-24T10:37:16Z DonVlad: I know, hastebin is dumb and though that's scala 2018-02-24T10:37:22Z DonVlad: thought* 2018-02-24T10:38:21Z jackdaniel: I see some [] which are not valid common lisp as well as various indentation and naming problems 2018-02-24T10:38:39Z jackdaniel: if I had to guess, I'd say it is not Common Lisp either way (even if it is not scala) 2018-02-24T10:38:59Z DonVlad: Well I tried to copy as much as possible Common Lisp but still add my own unique features, but it's lisp... 2018-02-24T10:39:10Z DonVlad: why you say there are naming problems? 2018-02-24T10:39:14Z DonVlad: Can you point them out? 2018-02-24T10:39:27Z jackdaniel: (= anim:foo …) 2018-02-24T10:39:42Z jackdaniel: if it is a global variable, it should have earmuffs (agreed convention) 2018-02-24T10:39:43Z DonVlad: module:function 2018-02-24T10:39:57Z Shinmera: _makeFrame is doubly wrong 2018-02-24T10:40:14Z DonVlad: jackdaniel: earmuffs? 2018-02-24T10:40:15Z damke_ joined #lisp 2018-02-24T10:40:19Z DonVlad: Shinmera: why? 2018-02-24T10:40:24Z DonVlad: how do you name a private function? 2018-02-24T10:40:27Z jackdaniel: in common lisp modules are fairly different concept, what you mean is package 2018-02-24T10:40:39Z Shinmera: not with camel case that's for sure 2018-02-24T10:40:47Z jackdaniel: if something is an atom in non-functional position, then it is not a function (unless it is lisp-1, which Common Lisp is not) 2018-02-24T10:40:51Z Shinmera: and typically private functions are just not exported 2018-02-24T10:41:11Z pjb: They may be symbol-macros! 2018-02-24T10:41:35Z pjb: Since fn seems to be lambda, = is probably setf. 2018-02-24T10:41:41Z DonVlad: pjb: yep 2018-02-24T10:41:46Z pjb: So it's definitely NOT Common Lisp. 2018-02-24T10:41:48Z pjb: Try ##lisp 2018-02-24T10:41:57Z DonVlad: alright 2018-02-24T10:41:59Z DonVlad: thanks... 2018-02-24T10:42:45Z DonVlad: Shinmera: so in the end, how would you define a private function? 2018-02-24T10:43:03Z damke__ joined #lisp 2018-02-24T10:43:15Z Shinmera: Like any other function 2018-02-24T10:43:25Z Shinmera: I just wouldn't export it, like I said. 2018-02-24T10:43:33Z whoman: =/ 2018-02-24T10:43:52Z DonVlad left #lisp 2018-02-24T10:44:09Z damke quit (Ping timeout: 264 seconds) 2018-02-24T10:44:13Z jackdaniel: there is also %foo convention for internal/unsafe mechanisms 2018-02-24T10:44:19Z Shinmera: He's gone. 2018-02-24T10:45:36Z rumbler31 joined #lisp 2018-02-24T10:45:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-24T10:45:57Z rumbler31 quit (Read error: Connection reset by peer) 2018-02-24T10:46:41Z nowhereman_ joined #lisp 2018-02-24T10:47:35Z safe quit (Read error: Connection reset by peer) 2018-02-24T10:48:57Z nowhere_man quit (Ping timeout: 264 seconds) 2018-02-24T10:52:40Z attila_lendvai joined #lisp 2018-02-24T10:54:34Z pagnol joined #lisp 2018-02-24T10:59:20Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-24T10:59:30Z orivej joined #lisp 2018-02-24T11:01:06Z damke joined #lisp 2018-02-24T11:01:13Z oleo quit (Quit: Leaving) 2018-02-24T11:02:17Z attila_lendvai joined #lisp 2018-02-24T11:02:17Z attila_lendvai quit (Changing host) 2018-02-24T11:02:18Z attila_lendvai joined #lisp 2018-02-24T11:03:21Z damke__ quit (Ping timeout: 264 seconds) 2018-02-24T11:04:05Z pagnol quit (Quit: Ex-Chat) 2018-02-24T11:04:20Z pagnol joined #lisp 2018-02-24T11:21:51Z Karl_Dscc joined #lisp 2018-02-24T11:25:56Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-24T11:28:00Z attila_lendvai joined #lisp 2018-02-24T11:28:00Z attila_lendvai quit (Changing host) 2018-02-24T11:28:00Z attila_lendvai joined #lisp 2018-02-24T11:28:04Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-24T11:29:59Z attila_lendvai joined #lisp 2018-02-24T11:29:59Z attila_lendvai quit (Changing host) 2018-02-24T11:29:59Z attila_lendvai joined #lisp 2018-02-24T11:31:30Z varjag joined #lisp 2018-02-24T11:38:01Z papachan joined #lisp 2018-02-24T11:38:02Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-24T11:39:19Z attila_lendvai joined #lisp 2018-02-24T11:39:19Z attila_lendvai quit (Changing host) 2018-02-24T11:39:19Z attila_lendvai joined #lisp 2018-02-24T11:44:55Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-24T11:45:52Z attila_lendvai joined #lisp 2018-02-24T11:48:49Z orivej quit (Ping timeout: 256 seconds) 2018-02-24T11:52:05Z python476 joined #lisp 2018-02-24T11:52:21Z fe[nl]ix: jack_rabbit: what kind of cluster is that ? 2018-02-24T11:52:37Z saki quit (Remote host closed the connection) 2018-02-24T11:53:09Z jack_rabbit: fe[nl]ix, sdf.org 2018-02-24T11:53:59Z fe[nl]ix: what is it exactly ? 2018-02-24T11:54:00Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-24T11:54:03Z fe[nl]ix: nydel: I have a Debian repository with up-to-date libfixposix 2018-02-24T11:54:41Z fe[nl]ix: the one in the official Debian repository was uploaded in 2011 and never updated 2018-02-24T11:54:45Z attila_lendvai joined #lisp 2018-02-24T11:54:45Z attila_lendvai quit (Changing host) 2018-02-24T11:54:45Z attila_lendvai joined #lisp 2018-02-24T11:56:24Z smurfrobot joined #lisp 2018-02-24T11:59:29Z smurfrobot quit (Remote host closed the connection) 2018-02-24T11:59:49Z smurfrobot joined #lisp 2018-02-24T12:03:24Z ebzzry_ joined #lisp 2018-02-24T12:05:04Z nowhereman_ quit (Ping timeout: 252 seconds) 2018-02-24T12:05:07Z nowhere_man joined #lisp 2018-02-24T12:05:49Z scymtym quit (Ping timeout: 256 seconds) 2018-02-24T12:06:26Z trn quit (Read error: Connection reset by peer) 2018-02-24T12:07:52Z klltkr joined #lisp 2018-02-24T12:07:53Z hhdave joined #lisp 2018-02-24T12:07:53Z fikka joined #lisp 2018-02-24T12:11:42Z EvW joined #lisp 2018-02-24T12:12:19Z EvW quit (Client Quit) 2018-02-24T12:13:58Z smurfrobot quit (Remote host closed the connection) 2018-02-24T12:16:30Z jack_rabbit: fe[nl]ix, It's a public-access unix cluster. You can check out the website. 2018-02-24T12:16:36Z klltkr quit (Ping timeout: 268 seconds) 2018-02-24T12:16:39Z jack_rabbit: Pretty neat. Good community. 2018-02-24T12:18:30Z jack_rabbit: fe[nl]ix, http://sdf.org/?faq?BASICS?01 2018-02-24T12:19:21Z willmichael quit (Ping timeout: 252 seconds) 2018-02-24T12:25:17Z EvW joined #lisp 2018-02-24T12:26:34Z trn joined #lisp 2018-02-24T12:30:06Z shka_ joined #lisp 2018-02-24T12:30:15Z shka_: hi all 2018-02-24T12:30:55Z smurfrobot joined #lisp 2018-02-24T12:30:56Z shka_: is there standard or de facto standard function for comparing floating point numbers? 2018-02-24T12:31:30Z beach: Yes. 2018-02-24T12:31:33Z beach: clhs = 2018-02-24T12:31:33Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_eq_sle.htm 2018-02-24T12:31:34Z beach: clhs < 2018-02-24T12:31:35Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_eq_sle.htm 2018-02-24T12:31:37Z pjb: There are 6 of them. 2018-02-24T12:31:42Z saki joined #lisp 2018-02-24T12:32:01Z pjb: We get really strange questions… 2018-02-24T12:32:08Z shka_: beach: epsilon comparsion 2018-02-24T12:32:13Z quazimodo quit (Ping timeout: 240 seconds) 2018-02-24T12:32:19Z shka_: obviously 2018-02-24T12:32:45Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-24T12:33:34Z shka_: i assume that this means: NO 2018-02-24T12:33:38Z _death: correct 2018-02-24T12:33:53Z pjb: shka_: notice however decode-float 2018-02-24T12:33:54Z pjb: clhs decode-float 2018-02-24T12:33:54Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_dec_fl.htm 2018-02-24T12:34:29Z pjb: et al. 2018-02-24T12:34:37Z shka_: pjb: didn't think about that! 2018-02-24T12:35:09Z attila_lendvai joined #lisp 2018-02-24T12:35:09Z attila_lendvai quit (Changing host) 2018-02-24T12:35:09Z attila_lendvai joined #lisp 2018-02-24T12:35:27Z beach: shka_: Instead of (= a b) you can do (< (abs (- a b)) epsilon) 2018-02-24T12:35:41Z willmichael joined #lisp 2018-02-24T12:36:05Z shka_: i know that, it would be silly though if I was doing this while alexandria already has function for that 2018-02-24T12:36:31Z shka_: anyway, thanks for assistance! 2018-02-24T12:36:45Z pjb: the only problem is that you want epsilon to depend on the magnitudes of a and b. 2018-02-24T12:37:52Z shka_: pjb: true, but i just need to compare floats in unit test, so I will just that since i know precision beforehand 2018-02-24T12:38:35Z shka_: anyway, thanks all, have a good day! 2018-02-24T12:42:57Z willmichael quit (Ping timeout: 264 seconds) 2018-02-24T12:43:47Z oleo joined #lisp 2018-02-24T12:46:33Z willmichael joined #lisp 2018-02-24T12:46:38Z smurfrobot quit (Remote host closed the connection) 2018-02-24T12:51:25Z fe[nl]ix: jack_rabbit: that site really doesn't make it obvious the OS os NetBSD :D 2018-02-24T12:51:35Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-24T12:53:05Z jack_rabbit: fe[nl]ix, what do you mean? 2018-02-24T12:54:06Z attila_lendvai joined #lisp 2018-02-24T12:54:08Z fe[nl]ix: that main page should say that the OS they're offering is NetBSD 2018-02-24T12:54:14Z scymtym joined #lisp 2018-02-24T12:54:33Z fe[nl]ix: I had to go down several pages until I found a cursory mention of it 2018-02-24T12:56:40Z fikka quit (Ping timeout: 268 seconds) 2018-02-24T13:00:41Z smurfrobot joined #lisp 2018-02-24T13:04:39Z dim: SBCL through buildapp gives me Fatal SIMPLE-ERROR: Compilation failed: PGLOADER.COPY also uses the following packages: (PGLOADER.PGSQL) ; CCL says nothing about it, and SBCL in SLIME loads pgloader just fine 2018-02-24T13:04:43Z dim: I'm all little lost here 2018-02-24T13:04:56Z phoe: dim: this errors happen when you redefine the PGLOADER.COPY package. 2018-02-24T13:05:05Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-24T13:05:19Z scymtym_ joined #lisp 2018-02-24T13:05:24Z phoe: In the new definition, you do not use the PGLOADER.SQL package, but it was used in the previous definition. 2018-02-24T13:05:34Z hhdave quit (Quit: hhdave) 2018-02-24T13:05:45Z damke quit (Ping timeout: 264 seconds) 2018-02-24T13:05:50Z phoe: Search for duplicate DEFPACKAGE PGLOADER.COPY in your code. 2018-02-24T13:06:05Z phoe: You probably do *not* want duplicate package definitions, anyway. 2018-02-24T13:07:08Z dim: yeah, thanks, having a look 2018-02-24T13:07:27Z dim: oh shit, got it. 2018-02-24T13:07:29Z damke joined #lisp 2018-02-24T13:07:33Z phoe: what was it? 2018-02-24T13:07:55Z dim: I have a source type that's named after the PostgreSQL COPY format, and also a CL implementation of the COPY protocol with error handling 2018-02-24T13:08:09Z dim: both in a separate package, in theory / in my mind 2018-02-24T13:08:17Z dim: but both packages are named pgloader.copy 2018-02-24T13:08:21Z dim: oops? 2018-02-24T13:09:01Z phoe: yes, oops. 2018-02-24T13:09:11Z phoe: that's a package name conflict. 2018-02-24T13:09:17Z phoe: (: 2018-02-24T13:09:28Z dim: naming, off by ones, etc 2018-02-24T13:09:35Z scymtym quit (Ping timeout: 252 seconds) 2018-02-24T13:09:58Z dim: at least sbcl saw it 2018-02-24T13:10:10Z phoe: dim: you would also see it 2018-02-24T13:10:28Z phoe: if you loaded the packages in a proper order or something. 2018-02-24T13:12:19Z dim: https://github.com/dimitri/pgloader/blob/master/src/package.lisp --- improvements ideas welcome of course 2018-02-24T13:13:18Z phoe: lines 508 and 583 are obviously clashing 2018-02-24T13:13:30Z phoe: try compiling this file twice in a row. 2018-02-24T13:13:37Z papachan: in lisp, what this means? (modulus (! (1- (length seq))) 2018-02-24T13:13:47Z phoe: papachan: I have no idea what ! is. 2018-02-24T13:13:48Z papachan: i have never seen this ! before 2018-02-24T13:13:59Z phoe: papachan: where have you found it? 2018-02-24T13:14:10Z Shinmera: probably factorial 2018-02-24T13:14:16Z Shinmera: no idea what modulus is supposed to do though 2018-02-24T13:14:19Z phoe: ! is not standard Common Lisp, definitely. 2018-02-24T13:14:24Z phoe: neither is MODULUS. 2018-02-24T13:15:20Z papachan: ah i found where is coming from 2018-02-24T13:17:23Z cpt_nemo quit (Remote host closed the connection) 2018-02-24T13:17:45Z FreeBirdLjj joined #lisp 2018-02-24T13:17:51Z papachan: Shinmera: yeah it compute a factorial 2018-02-24T13:19:27Z cpt_nemo joined #lisp 2018-02-24T13:23:11Z uuplusu quit (Read error: Connection reset by peer) 2018-02-24T13:23:17Z uuplusu_ joined #lisp 2018-02-24T13:24:33Z uuplusu joined #lisp 2018-02-24T13:28:15Z borodust: hmm, i generally should be able to load systems via asdf while being in other packages rather than :cl-user, right? 2018-02-24T13:28:34Z uuplusu_ quit (Ping timeout: 256 seconds) 2018-02-24T13:28:37Z beach: Sure. 2018-02-24T13:29:46Z borodust: on sbcl 1.4.0 i'm getting rather weird behavior: if i'm in package that doesn't import anything (not even :cl), asdf fails to load some files that contains macros and at the top of the file i use 'in-package 2018-02-24T13:30:08Z borodust: when i change 'in-package to 'cl:in-package (fully qualified symbol name) it works correctly 2018-02-24T13:30:14Z beach: Of course. 2018-02-24T13:30:44Z beach: If you don't :USE the COMMON-LISP package, it won't find the symbol IN-PACKAGE. 2018-02-24T13:31:16Z borodust: so, generally, speaking, i always should use cl:in-package rather than in-package, correct? 2018-02-24T13:31:24Z beach: I always do that myself. 2018-02-24T13:31:30Z Bike joined #lisp 2018-02-24T13:31:30Z beach: So, yes, I recommend it. 2018-02-24T13:31:51Z borodust: i thought asdf handles that case so we don't need to use fully qualified names :/ 2018-02-24T13:32:47Z beach: ASDF just calls COMPILE. 2018-02-24T13:33:00Z beach: er, COMPILE-FILE. 2018-02-24T13:33:18Z pjb: papachan: in lisp you can interpret a form, only knowing whether the symbols are macros or functions! 2018-02-24T13:33:25Z Shinmera: beach: If only that were all it did. 2018-02-24T13:33:38Z beach: Heh. 2018-02-24T13:34:22Z pjb: papachan: if all your first symbols are fbound to functions, then (modulus (! (1- (length seq)))) means call the function LENGTH in the value of the variable SEQ, then call the function 1- on the result, then call the function ! on the result, then call the function modulus on the result. 2018-02-24T13:34:43Z pjb: papachan: but if one of those symbols is bound to a macro, then we can only interpret the subexpressions depending on the macros! 2018-02-24T13:38:05Z borodust: shit... i only have this word for that situation D: 2018-02-24T13:38:26Z papachan: pjb: thank you for your explanation. very welcome ! 2018-02-24T13:38:48Z borodust: but alright, i guess i'll just prefix all first 'in-package in sources :/ 2018-02-24T13:39:04Z pjb: papachan: now, what function is called depend, and can be mostly determined only at run-time. 2018-02-24T13:39:16Z pjb: papachan: if length is CL:LENGTH, then it's the length function defined in the hyperspec. 2018-02-24T13:39:23Z pjb: papachan: same for 1-. 2018-02-24T13:39:37Z papachan: exactly 2018-02-24T13:39:50Z pjb: papachan: otherwise, if a function with the same name is defined in the same compilation unit (basically the same file), then it can be this exact same function. (perhaps even inlined). 2018-02-24T13:40:02Z pjb: papachan: otherwise, it can be any function fbound at run-time. 2018-02-24T13:40:32Z pjb: for functions in the same compilation unit, it is assuming it is not declaimed notinline. If declaimed notinline, then it's determined at run-time. 2018-02-24T13:41:28Z parjanya quit (Ping timeout: 256 seconds) 2018-02-24T13:41:39Z fikka joined #lisp 2018-02-24T13:41:48Z Nouv joined #lisp 2018-02-24T13:42:19Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-24T13:43:52Z knicklux joined #lisp 2018-02-24T13:44:10Z rme: o/ 2018-02-24T13:44:41Z beach: Hello rme. Are you in Bordeaux now? 2018-02-24T13:45:09Z rme: Yes, I am. 2018-02-24T13:45:28Z phoe: Uh oh. Common Lisp meeting in Bordeaux in 3... 2... 1... 2018-02-24T13:45:39Z rme: it could happen! 2018-02-24T13:46:14Z beach: I'll be available starting Tuesday. 2018-02-24T13:46:40Z fluxit quit (Quit: ...) 2018-02-24T13:47:21Z dim: hehe, I was supposed to spend some days in the Bordeaux area this week… it's a 3h ride train away… 2018-02-24T13:47:42Z willmichael quit (Ping timeout: 256 seconds) 2018-02-24T13:47:45Z rme: come on down! 2018-02-24T13:48:05Z willmichael joined #lisp 2018-02-24T13:49:37Z dim: well, how long are you staying there? 2018-02-24T13:49:54Z beach: rme: Are you here by yourself? 2018-02-24T13:49:56Z rme: I'm leaving on March the 6th. 2018-02-24T13:50:17Z rme: beach: yes, just by myself. 2018-02-24T13:50:53Z uuplusu_ joined #lisp 2018-02-24T13:51:09Z dddddd joined #lisp 2018-02-24T13:51:25Z beach: rme: My favorite coauthor is very likely coming to my house for lunch on Wednesday. Would you care to join us? 2018-02-24T13:51:39Z rme: Thank you; I would love to. 2018-02-24T13:51:40Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-24T13:52:11Z beach: Great! 2018-02-24T13:52:34Z beach: How do you get around? 2018-02-24T13:52:34Z Arcaelyx joined #lisp 2018-02-24T13:53:02Z attila_lendvai joined #lisp 2018-02-24T13:53:05Z rme: I have a tram/bus pass. 2018-02-24T13:53:13Z beach: OK. 2018-02-24T13:53:36Z beach: I'll give you directions by email maybe? 2018-02-24T13:53:50Z beach: Where are you staying? 2018-02-24T13:54:05Z beach: Hmm, maybe you told me. 2018-02-24T13:54:21Z beach: Near the train station? 2018-02-24T13:54:29Z rme: I think I still have your address from last time. I'm by the train station. 2018-02-24T13:54:37Z uuplusu quit (Ping timeout: 256 seconds) 2018-02-24T13:54:52Z beach: OK. We'll figure it out. There is still time. 2018-02-24T13:55:38Z pagnol quit (Ping timeout: 264 seconds) 2018-02-24T13:56:21Z beach: We typically eat soon after 12, but you can come early if you would like to hang out. 2018-02-24T13:56:48Z AX31_A13X joined #lisp 2018-02-24T13:57:08Z rme: Great. I'll see you there at noon or a bit before. Thanks again. 2018-02-24T13:57:20Z beach: Sure. See you. 2018-02-24T13:58:33Z fikka quit (Ping timeout: 240 seconds) 2018-02-24T13:58:49Z nullman` joined #lisp 2018-02-24T13:59:00Z nullman quit (Ping timeout: 264 seconds) 2018-02-24T13:59:10Z AxelAlex quit (Ping timeout: 264 seconds) 2018-02-24T14:00:41Z hvxgr joined #lisp 2018-02-24T14:00:42Z Nouv quit (Remote host closed the connection) 2018-02-24T14:00:54Z flak joined #lisp 2018-02-24T14:01:07Z Nouv joined #lisp 2018-02-24T14:02:28Z arbv_ joined #lisp 2018-02-24T14:02:58Z djinni`_ joined #lisp 2018-02-24T14:04:17Z d4ryus2 joined #lisp 2018-02-24T14:04:20Z angelo|2 joined #lisp 2018-02-24T14:05:08Z attila_lendvai1 joined #lisp 2018-02-24T14:05:08Z omilu_ joined #lisp 2018-02-24T14:05:08Z attila_lendvai quit (Disconnected by services) 2018-02-24T14:05:08Z attila_lendvai1 quit (Changing host) 2018-02-24T14:05:08Z attila_lendvai1 joined #lisp 2018-02-24T14:06:57Z Tordek_ joined #lisp 2018-02-24T14:07:15Z damke_ joined #lisp 2018-02-24T14:07:25Z papachan_ joined #lisp 2018-02-24T14:08:52Z Patternm1ster joined #lisp 2018-02-24T14:08:52Z attila_lendvai1 quit (Read error: Connection reset by peer) 2018-02-24T14:09:00Z ``Erik_ joined #lisp 2018-02-24T14:09:28Z chiyosaki joined #lisp 2018-02-24T14:09:37Z MochaLoca joined #lisp 2018-02-24T14:09:58Z hvxgr_ quit (Ping timeout: 264 seconds) 2018-02-24T14:09:59Z saki quit (Ping timeout: 264 seconds) 2018-02-24T14:09:59Z arbv quit (Ping timeout: 264 seconds) 2018-02-24T14:09:59Z djinni` quit (Ping timeout: 264 seconds) 2018-02-24T14:10:00Z arbv_ is now known as arbv 2018-02-24T14:10:00Z Patternmaster quit (Ping timeout: 264 seconds) 2018-02-24T14:10:00Z antismap quit (Ping timeout: 264 seconds) 2018-02-24T14:10:00Z omilu quit (Ping timeout: 264 seconds) 2018-02-24T14:10:01Z BitPuffin quit (Ping timeout: 264 seconds) 2018-02-24T14:10:01Z schoppenhauer quit (Ping timeout: 264 seconds) 2018-02-24T14:10:01Z d4ryus1 quit (Ping timeout: 264 seconds) 2018-02-24T14:10:01Z angelo quit (Ping timeout: 264 seconds) 2018-02-24T14:10:01Z Murii quit (Ping timeout: 264 seconds) 2018-02-24T14:10:12Z troydm1 joined #lisp 2018-02-24T14:10:14Z lansiir joined #lisp 2018-02-24T14:10:27Z rippa quit (Ping timeout: 264 seconds) 2018-02-24T14:10:27Z damke quit (Ping timeout: 264 seconds) 2018-02-24T14:10:27Z LocaMocha quit (Ping timeout: 264 seconds) 2018-02-24T14:10:28Z SamSkulls quit (Ping timeout: 264 seconds) 2018-02-24T14:10:28Z troydm quit (Ping timeout: 264 seconds) 2018-02-24T14:10:28Z Karl_Dscc quit (Ping timeout: 264 seconds) 2018-02-24T14:10:29Z oldtopman quit (Ping timeout: 264 seconds) 2018-02-24T14:10:29Z papachan quit (Ping timeout: 264 seconds) 2018-02-24T14:10:29Z Tordek quit (Ping timeout: 264 seconds) 2018-02-24T14:10:29Z ``Erik quit (Ping timeout: 264 seconds) 2018-02-24T14:10:32Z lansiir quit (Changing host) 2018-02-24T14:10:33Z lansiir joined #lisp 2018-02-24T14:10:34Z Murii joined #lisp 2018-02-24T14:10:35Z antismap joined #lisp 2018-02-24T14:10:48Z attila_lendvai joined #lisp 2018-02-24T14:10:49Z attila_lendvai quit (Changing host) 2018-02-24T14:10:49Z attila_lendvai joined #lisp 2018-02-24T14:10:53Z EvW quit (Ping timeout: 240 seconds) 2018-02-24T14:11:21Z fikka joined #lisp 2018-02-24T14:12:01Z jmercouris joined #lisp 2018-02-24T14:13:10Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-24T14:13:47Z attila_lendvai joined #lisp 2018-02-24T14:13:54Z dmiles quit (Ping timeout: 256 seconds) 2018-02-24T14:15:21Z schoppenhauer joined #lisp 2018-02-24T14:18:50Z papachan_: I just wish i would be at Bordeaux today to attend CL Meeting :p 2018-02-24T14:19:08Z papachan_: i hope there will be a lot of cool people there 2018-02-24T14:19:30Z rme: I'm not that cool, so that's one down. 2018-02-24T14:19:39Z edgar-rft joined #lisp 2018-02-24T14:20:14Z beach: Same here. 2018-02-24T14:20:32Z beach: My favorite coauthor is not that cool either. 2018-02-24T14:20:47Z beach: papachan_: I think you'll have to wait until ELS. 2018-02-24T14:21:07Z papachan_: beach: but ELS its at spain? 2018-02-24T14:21:30Z beach: It is in Marbella in Spain, yes. But there will be lots more and lots cooler people there. 2018-02-24T14:21:53Z papachan_: so you will be there? in may? 2018-02-24T14:22:07Z beach: If so, I would have missed ELS. :) 2018-02-24T14:22:12Z beach: ELS is mid April. 2018-02-24T14:22:36Z beach: But yeah, I have tickets and hotel reservations. 2018-02-24T14:22:46Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-24T14:22:49Z papachan_: :) great 2018-02-24T14:24:17Z papachan_: have to go see you later ... 2018-02-24T14:24:20Z papachan_ quit (Quit: WeeChat 2.0.1) 2018-02-24T14:28:53Z dmiles joined #lisp 2018-02-24T14:29:32Z flip214: phoe: again, this SETF depends on the value *package* when it is called, not _where_ it is called from. 2018-02-24T14:30:40Z flip214: during runtime *package* won't tell you which function/package/system/library etc. the caller comes from. 2018-02-24T14:31:11Z flip214: you could use TRIVIAL-BACKTRACE and look at the package of the function symbol in the parent frame, though. 2018-02-24T14:31:38Z edgar-rft left #lisp 2018-02-24T14:34:00Z edgar-rft joined #lisp 2018-02-24T14:35:34Z edgar--rft joined #lisp 2018-02-24T14:35:48Z edgar--rft quit (Client Quit) 2018-02-24T14:35:48Z edgar-rft quit (Client Quit) 2018-02-24T14:36:06Z edgar-rft joined #lisp 2018-02-24T14:36:07Z phoe: flip214: again, I wasn't serious at all. (: 2018-02-24T14:36:28Z flip214: yeah, I understood that. 2018-02-24T14:38:02Z jmercouris: I read that "set" might be deprecated 2018-02-24T14:38:13Z jmercouris: in that case, is there community favor to replace setf with the set keyword 2018-02-24T14:38:17Z jmercouris: or would that just cause confusion? 2018-02-24T14:38:24Z Shinmera: what? 2018-02-24T14:38:56Z jmercouris: maybe the post I read was wrong 2018-02-24T14:39:16Z flip214: hmmm, T-B even provides local variables.... cool 2018-02-24T14:39:16Z beach: jmercouris: You can't change the standard. 2018-02-24T14:39:26Z jmercouris: https://stackoverflow.com/a/869693/1699398 2018-02-24T14:39:39Z edgar-rft quit (Client Quit) 2018-02-24T14:39:43Z Shinmera: flip214: trivial-backtrace only provides a string though. Better use dissect. 2018-02-24T14:39:44Z phoe: jmercouris: it wouldn't be Common Lisp then. 2018-02-24T14:39:44Z jmercouris: beach: The standard will never ever change in the future? 2018-02-24T14:39:57Z edgar-rft joined #lisp 2018-02-24T14:39:58Z flip214: clhs set 2018-02-24T14:39:58Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_set.htm 2018-02-24T14:39:59Z phoe: jmercouris: it might. 2018-02-24T14:40:03Z Shinmera: It's incredibly unlikely that it ever will. 2018-02-24T14:40:13Z flip214: set symbol value => value 2018-02-24T14:40:17Z rme: set does a special thing. 2018-02-24T14:40:26Z phoe: As long as a) someone writes a new standard, b) it gains enough popularity and adoption. 2018-02-24T14:40:28Z flip214: set changes the contents of the value cell of symbol to the given value. 2018-02-24T14:40:35Z jmercouris: so is common lisp tied to a standard? 2018-02-24T14:40:36Z phoe: And a) is trivial compared to b). 2018-02-24T14:40:37Z jmercouris: that is 2018-02-24T14:40:46Z jmercouris: if we were to release a new standard, we could not call it common lisp? 2018-02-24T14:40:49Z phoe: jmercouris: Common Lisp *is* a standard. 2018-02-24T14:40:56Z flip214: jmercouris: you could ask CL21 to use CL21:SET. 2018-02-24T14:41:00Z rme: some suggest always using setf and never setq. maybe that is what you are thinking of. 2018-02-24T14:41:01Z phoe: A standard called ANSI Common Lisp. 2018-02-24T14:41:17Z jmercouris: ANSI C has changed with time, right? 2018-02-24T14:41:29Z phoe: jmercouris: yep, there were several revisions of the standard. 2018-02-24T14:41:37Z jmercouris: So why might ANSI common lisp not change with time? 2018-02-24T14:41:42Z Shinmera: Because of the money 2018-02-24T14:41:42Z phoe: No one cares enough to do it. 2018-02-24T14:41:50Z phoe: No one has the money to spend on it. 2018-02-24T14:41:59Z phoe: No one has the time to organize it. 2018-02-24T14:41:59Z jmercouris: ok so it is purely a money problem 2018-02-24T14:42:00Z Shinmera: And even if so, no one cares to implement it 2018-02-24T14:42:07Z phoe: ^ 2018-02-24T14:42:07Z beach: jmercouris: Money and time. 2018-02-24T14:42:10Z phoe: And people and will. 2018-02-24T14:42:13Z jmercouris: Right 2018-02-24T14:42:15Z jmercouris: ok 2018-02-24T14:42:19Z phoe: The existing standard is simply good enough for a lot of Lispers. 2018-02-24T14:42:25Z Shinmera: CL happened because several big players decided they /wanted/ to collaborate and implement a common lisp 2018-02-24T14:42:45Z jmercouris: Are Common Lisp companies today relatively more poor, or more wealthy than in the past? 2018-02-24T14:42:49Z phoe: The language defined by it is extensible enough to not need new standards. Usually new standards happen when some new syntax is needed. 2018-02-24T14:43:00Z jmercouris: I'm leaning towards more poor since it seems there would not be momentum or money to redefine the standard 2018-02-24T14:43:04Z phoe: In Lisp, syntax changes are a part of the language. 2018-02-24T14:43:24Z phoe: jmercouris: Or they just don't want to, since CL is good enough for them. 2018-02-24T14:43:26Z jmercouris: phoe: Yeah, definitely, I remember the first time I asked about this beach explained it so 2018-02-24T14:43:39Z phoe: "good enough" being the key here. 2018-02-24T14:43:54Z phoe: Previously, you had several major Lisps, and they were incompatible with each other. 2018-02-24T14:44:06Z phoe: So there was need for a Lisp that was Common. 2018-02-24T14:44:17Z jmercouris: and now we have lots of lisp packages that are incompatible with different implementations :D 2018-02-24T14:44:32Z jmercouris: is this becuase of edge cases, or incomplete implementations, or because of implementation specific features? 2018-02-24T14:44:35Z phoe: that's the problem of packages and not the standard 2018-02-24T14:44:44Z phoe: implementation-defined features, most often. 2018-02-24T14:45:03Z phoe: not all implementations have atomic compare-and-swaps for example. 2018-02-24T14:45:15Z phoe: which are required for lockless concurrency. 2018-02-24T14:45:23Z jmercouris: so basically, the standard should probably be expanded, but it is too expensive to do so? 2018-02-24T14:45:27Z phoe: s/concurrency/parallelism/ 2018-02-24T14:45:51Z phoe: jmercouris: more or less, with a wide meaning of "expensive". 2018-02-24T14:45:53Z Shinmera: Why do we gotta have this damn conversation every fucking month 2018-02-24T14:46:11Z phoe: Shinmera: people come and go, and all people who encounter Lisp have two questions, eventually 2018-02-24T14:46:15Z phoe: 1) why the syntax is so fucking weird 2018-02-24T14:46:22Z phoe: 2) why the standard was not updated since 1994 2018-02-24T14:46:37Z Shinmera: I for one never asked this question 2018-02-24T14:46:46Z Shinmera: Neither of them actually 2018-02-24T14:46:46Z jmercouris: perhaps you read about it 2018-02-24T14:46:50Z phoe: well, s/everyone/everyone enough/ 2018-02-24T14:46:53Z jmercouris: before you had a chance to ask it 2018-02-24T14:47:29Z Shinmera: More people could, too. 2018-02-24T14:47:37Z Shinmera: It's been done to death and beyond. 2018-02-24T14:47:37Z jmercouris: if you are annoyed by the repetitiveness of questions, why not make an extension to your chatbot that persists this conversation and reproduces it when it gets brought up again 2018-02-24T14:47:49Z Shinmera: Because it wouldn't help. 2018-02-24T14:48:08Z jmercouris: IRC is a place for discussion, not documentation 2018-02-24T14:48:12Z jmercouris: I think you are mistaken 2018-02-24T14:48:20Z jmercouris: it is a "CHAT RELAY" not "ARCHIVE RELAY" 2018-02-24T14:49:02Z Shinmera: Look man I've done this dance. People aren't happy with the answers we give them. It always devolves into an endless, tedious argument about nothing that wastes everyone's time. 2018-02-24T14:49:13Z Shinmera: An automated answer would not help. 2018-02-24T14:49:23Z jmercouris: Now you are actually changing your argument though 2018-02-24T14:49:36Z jmercouris: I did accept the answer, and I understood it 2018-02-24T14:50:43Z phoe: someone write a blog post related to 2) that describes everything that could be described 2018-02-24T14:51:33Z jmercouris: phoe: what do you mean? 2018-02-24T14:51:34Z fe[nl]ix: nydel: you can use this script to setup the libfixposix repository and install it: https://github.com/sionescu/iolib/blob/master/install-repo.bash 2018-02-24T14:51:35Z jmercouris: Ah, your earler point above 2018-02-24T14:55:33Z loke: Could anyone try to git clone maxima from this addres for me? It hangs when I try and I want to know if it's just me: 2018-02-24T14:55:34Z loke: https://git.code.sf.net/p/maxima/code 2018-02-24T14:57:13Z nowhereman_ joined #lisp 2018-02-24T14:58:18Z easye: loke: sf.net was "upgrading servers" in the past couple days from what I ambiently inferred. 2018-02-24T14:58:38Z loke: easye: Yeah. I couldn't reach the main web page yesterday 2018-02-24T14:58:46Z loke: It cam eback up now, so what's why I'm trying to sync 2018-02-24T14:59:04Z easye: I can't resolve sf.net from common-lisp.net (Amsterdam, NL) 2018-02-24T14:59:15Z loke: I see 2018-02-24T14:59:31Z loke: maxima.sf.net resolves though 2018-02-24T14:59:33Z nowhere_man quit (Ping timeout: 240 seconds) 2018-02-24T14:59:42Z easye: err, I can resolve, not your respository. https connection fails. 2018-02-24T14:59:49Z loke: Ah yes 2018-02-24T14:59:51Z loke: So same problem as me 2018-02-24T14:59:57Z easye: So, confirmed. 2018-02-24T15:00:01Z easye: Sorry. 2018-02-24T15:00:13Z loke: sf is really not very good 2018-02-24T15:00:43Z easye: Not this decade, anyways. 2018-02-24T15:00:53Z loke: yeah 2018-02-24T15:01:03Z loke: I still have one project there. 2018-02-24T15:01:04Z loke: I should really move it out 2018-02-24T15:01:13Z loke: I haven't committed anything to it since the lates 90's though :-) 2018-02-24T15:01:18Z easye: I usually stash things on two repos (github.com and bitbucket.org these days) 2018-02-24T15:01:46Z easye still updates the MacPorts math/maxima/Portfile every time he updates lang/sbcl 2018-02-24T15:02:15Z easye: So, something is still working. 2018-02-24T15:02:16Z loke: I consider my workstations (usually 3 differnt machines) to be my backups, so I only use a single remote repository (usually github, but also a personal server as well as Keybase) 2018-02-24T15:02:33Z loke: easye: What's the url you're using? 2018-02-24T15:02:55Z easye: loke: what you posted 2018-02-24T15:03:02Z loke: ah I see 2018-02-24T15:03:54Z easye: --> 2018-02-24 15:03:32 ERROR 404: Not Found. 2018-02-24T15:04:23Z uuplusu_ quit (Remote host closed the connection) 2018-02-24T15:04:35Z damke joined #lisp 2018-02-24T15:05:53Z damke_ quit (Ping timeout: 260 seconds) 2018-02-24T15:06:39Z edgar-rft quit (Quit: Don't Cry for Me, Argentina...) 2018-02-24T15:09:46Z heurist__ joined #lisp 2018-02-24T15:11:29Z heurist`_` quit (Ping timeout: 248 seconds) 2018-02-24T15:11:45Z comborico1611 joined #lisp 2018-02-24T15:11:46Z asarch joined #lisp 2018-02-24T15:13:59Z raynold quit (Quit: Connection closed for inactivity) 2018-02-24T15:20:51Z Chream_ quit (Ping timeout: 252 seconds) 2018-02-24T15:22:09Z Chream_ joined #lisp 2018-02-24T15:22:23Z borodust: lets say i have a macro that generates some defstruct 2018-02-24T15:22:34Z borodust: is there a way to force all those symbols generated to be in a certain package? is switching in and out of a package with in-package the only solution? 2018-02-24T15:23:10Z Bike: defstruct makes symbols based on the value of *package* when the defstruct is expanded 2018-02-24T15:23:11Z borodust: those symbols generated by :include are most pesky ones 2018-02-24T15:23:16Z Bike: so basically, yes 2018-02-24T15:23:21Z Bike: :include generates symbols? 2018-02-24T15:23:42Z borodust: yup, when you include it takes all parent slots and generates accessors for them :| 2018-02-24T15:23:46Z mareskeg joined #lisp 2018-02-24T15:23:47Z patrixl quit (Ping timeout: 252 seconds) 2018-02-24T15:23:53Z Bike: oh, that. right. 2018-02-24T15:24:13Z borodust: those the only symbols i don't have control over, basically 2018-02-24T15:24:15Z Chream_ quit (Read error: Connection reset by peer) 2018-02-24T15:25:07Z Shinmera: You can copy the fdefinition over to your preferred symbol and fmakunbound the old ones. 2018-02-24T15:25:33Z borodust: yeah, although now i need to know all parents and their slots 2018-02-24T15:26:05Z borodust: doable, but sounds a bit mundane :/ 2018-02-24T15:26:30Z Bike: mundane is okay 2018-02-24T15:26:44Z Bike: welcome to defstruct, though. it's not a great interface 2018-02-24T15:27:09Z Chream_ joined #lisp 2018-02-24T15:27:28Z comborico1611 quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2018-02-24T15:31:58Z pagnol joined #lisp 2018-02-24T15:33:05Z learning quit (Remote host closed the connection) 2018-02-24T15:34:47Z learning joined #lisp 2018-02-24T15:36:23Z random-nick joined #lisp 2018-02-24T15:38:05Z pagnol quit (Ping timeout: 240 seconds) 2018-02-24T15:39:03Z pagnol joined #lisp 2018-02-24T15:42:45Z heurist joined #lisp 2018-02-24T15:44:33Z heurist__ quit (Ping timeout: 256 seconds) 2018-02-24T15:50:21Z attila_lendvai joined #lisp 2018-02-24T15:50:21Z attila_lendvai quit (Changing host) 2018-02-24T15:50:21Z attila_lendvai joined #lisp 2018-02-24T15:50:21Z Arcaelyx_ joined #lisp 2018-02-24T15:51:36Z dieggsy joined #lisp 2018-02-24T15:51:39Z Arcaelyx quit (Ping timeout: 252 seconds) 2018-02-24T15:53:01Z mareskeg quit (Quit: mareskeg) 2018-02-24T15:54:51Z dtornabene joined #lisp 2018-02-24T15:55:30Z chiyosaki quit (Ping timeout: 268 seconds) 2018-02-24T15:55:35Z pjb: borodust: you're a filthy liar! https://codeshare.io/GqQ7Jz 2018-02-24T16:00:09Z borodust: pjb: am i D: 2018-02-24T16:00:26Z borodust: pjb: not sure what example shows me 2018-02-24T16:00:28Z pjb: It shows you that you perfectly control where defstruct makes symbols, based on the value of *package*, including the :include generated symbols, as Bike said. 2018-02-24T16:00:29Z pjb: So you have control over them. 2018-02-24T16:00:29Z borodust: that's what i asked :) if in-package is the only solution or not 2018-02-24T16:00:32Z borodust: but generating in-package form in the macro is quite bad 2018-02-24T16:00:43Z pjb: And won't work. 2018-02-24T16:00:53Z Chream_ quit (Read error: Connection reset by peer) 2018-02-24T16:00:58Z borodust: all the more :) 2018-02-24T16:01:01Z Chream_ joined #lisp 2018-02-24T16:01:06Z fourier joined #lisp 2018-02-24T16:01:29Z Chream_2 joined #lisp 2018-02-24T16:02:04Z pjb: borodust: if you fine control on the symbols, use defclass. 2018-02-24T16:02:09Z pjb: +want 2018-02-24T16:02:21Z Blkt quit (Remote host closed the connection) 2018-02-24T16:02:21Z fe[nl]ix quit (Read error: Connection reset by peer) 2018-02-24T16:02:35Z Blkt joined #lisp 2018-02-24T16:02:38Z borodust: pjb: i'm working on a legacy software 2018-02-24T16:02:40Z fe[nl]ix joined #lisp 2018-02-24T16:02:40Z ChanServ has set mode +o fe[nl]ix 2018-02-24T16:03:03Z borodust: turning everything into class is possible, but i prefere less radical ways if possible :) 2018-02-24T16:03:27Z borodust: if you are interested, here's the form in question: https://github.com/rpav/cl-autowrap/blob/master/autowrap/sffi.lisp#L1015-L1022 2018-02-24T16:05:27Z borodust: but i guess i'll probably just go with classes there 2018-02-24T16:05:30Z Chream_ quit (Ping timeout: 260 seconds) 2018-02-24T16:08:13Z jmercouris quit (Ping timeout: 240 seconds) 2018-02-24T16:12:02Z borodust: at the moment it pollutes (internally) whatever package it was loaded from 2018-02-24T16:12:06Z borodust: while not crucial it bothers me a bit 2018-02-24T16:13:18Z fikka quit (Ping timeout: 252 seconds) 2018-02-24T16:15:13Z shifty quit (Ping timeout: 240 seconds) 2018-02-24T16:18:51Z Chream_ joined #lisp 2018-02-24T16:18:51Z Chream_2 quit (Read error: Connection reset by peer) 2018-02-24T16:18:53Z pagnol quit (Ping timeout: 240 seconds) 2018-02-24T16:19:17Z Chream_2 joined #lisp 2018-02-24T16:19:17Z Chream_ quit (Read error: Connection reset by peer) 2018-02-24T16:21:32Z hel-io joined #lisp 2018-02-24T16:21:51Z FreeBirdLjj joined #lisp 2018-02-24T16:26:42Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-24T16:27:41Z borodust: oh, heh, adding in-package form helped (not gonna use this approach anyway, just an experiment) 2018-02-24T16:28:45Z FreeBirdLjj joined #lisp 2018-02-24T16:29:02Z wigust joined #lisp 2018-02-24T16:29:28Z rumbler31 joined #lisp 2018-02-24T16:32:16Z random-nick quit (Remote host closed the connection) 2018-02-24T16:32:31Z jmercouris joined #lisp 2018-02-24T16:33:05Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-24T16:34:22Z borodust: actually, i would, but that would be inserted and inverted in the different place, sorry ;p 2018-02-24T16:34:25Z saki joined #lisp 2018-02-24T16:36:35Z random-nick joined #lisp 2018-02-24T16:37:00Z fikka joined #lisp 2018-02-24T16:39:24Z nowhere_man joined #lisp 2018-02-24T16:40:09Z Oladon joined #lisp 2018-02-24T16:40:42Z Nouv: Is there a specific guide I should use to learn sbcl lisp or is it just common lisp? 2018-02-24T16:41:53Z FreeBirdLjj joined #lisp 2018-02-24T16:42:07Z loke: Nouv: All CL's are pretty much the same in terms of what they support. They all implement the same satndard. 2018-02-24T16:42:09Z Nouv: okay, thank you :) 2018-02-24T16:43:21Z nowhereman_ quit (Ping timeout: 252 seconds) 2018-02-24T16:45:10Z heurist` joined #lisp 2018-02-24T16:45:29Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-24T16:47:03Z heurist quit (Ping timeout: 248 seconds) 2018-02-24T16:47:45Z oleo quit (Ping timeout: 252 seconds) 2018-02-24T16:48:09Z fourier: Nouv: there are some differences between implementation - compilation time, included features/additional APIs which are not in standard etc; sbcl though looks the most popular implementation nowadays 2018-02-24T16:50:15Z Nouv: Is there anywhere I can see all of the functions I can use? 2018-02-24T16:50:41Z whoman: how do you learn stuff.. ? 2018-02-24T16:50:56Z whoman: like how did you learn irc or computers 2018-02-24T16:51:14Z oleo joined #lisp 2018-02-24T16:52:19Z Nouv: I don't know what to search for though, like common lisp api doesn't show anything relevant, sbcl documentation shows me mostly differences between sbcl and the standard 2018-02-24T16:52:35Z Chream_ joined #lisp 2018-02-24T16:52:46Z phoe: Nouv: Practical Common Lisp is a good book of choice. 2018-02-24T16:52:52Z phoe: ...for learning CL, that is. 2018-02-24T16:53:20Z phoe: If you open CLHS, there are dictionary pages that list all symbols relevant to that dictionary's topic. 2018-02-24T16:53:27Z phoe: Such as http://clhs.lisp.se/Body/c_arrays.htm <- all symbols related to arrays. 2018-02-24T16:54:02Z whoman: Nouv: true.. what about 'common lisp tutorials'? i found that gigamonkeys helped me the most. 2018-02-24T16:54:09Z Nouv: Ahh CLHS looks like what I'm looking for, thank you phoe 2018-02-24T16:54:36Z whoman: oh! thatls practical common lisp =) http://gigamonkeys.com/book/ 2018-02-24T16:55:07Z whoman: emacs and slime has good ways of inspecting stuff as well, if you use those 2018-02-24T16:55:13Z whoman: for eg. it does CLHS lookup 2018-02-24T16:55:16Z Chream_2 quit (Ping timeout: 256 seconds) 2018-02-24T16:55:37Z jstypo quit (Read error: Connection reset by peer) 2018-02-24T16:55:41Z FreeBirdLjj joined #lisp 2018-02-24T16:56:00Z fourier: alternatively you can use LispWorks Personal IDE, its free with limitations 2018-02-24T16:59:47Z saki quit (Ping timeout: 245 seconds) 2018-02-24T17:00:54Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-24T17:01:01Z gko_ quit (Quit: ZNC - http://znc.in) 2018-02-24T17:01:02Z damke_ joined #lisp 2018-02-24T17:01:11Z jsn` joined #lisp 2018-02-24T17:02:32Z gko joined #lisp 2018-02-24T17:03:42Z damke quit (Ping timeout: 260 seconds) 2018-02-24T17:11:29Z FreeBirdLjj joined #lisp 2018-02-24T17:11:32Z rumbler31: Nouv: when you are in your repl, (apropos "thing") will show you all symbols, functions, and things with that name 2018-02-24T17:11:50Z rumbler31: so if you want to explore a library or your own code, you can discover what has been loaded into the image 2018-02-24T17:12:29Z lnostdal joined #lisp 2018-02-24T17:12:48Z jstypo joined #lisp 2018-02-24T17:15:17Z axg joined #lisp 2018-02-24T17:15:53Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-24T17:19:41Z edgar-rft joined #lisp 2018-02-24T17:22:57Z attila_lendvai quit (Quit: Leaving.) 2018-02-24T17:23:25Z FreeBirdLjj joined #lisp 2018-02-24T17:25:31Z jmercouris quit (Ping timeout: 252 seconds) 2018-02-24T17:27:42Z FreeBirdLjj quit (Ping timeout: 245 seconds) 2018-02-24T17:27:46Z milanj joined #lisp 2018-02-24T17:37:12Z Chream_2 joined #lisp 2018-02-24T17:37:12Z Chream_ quit (Read error: Connection reset by peer) 2018-02-24T17:44:18Z koisoke: olette->oletteko ehk 2018-02-24T17:44:26Z koisoke: sorry wrong window 2018-02-24T17:46:51Z willmichael quit (Ping timeout: 256 seconds) 2018-02-24T17:47:30Z smurfrobot joined #lisp 2018-02-24T17:48:39Z willmichael joined #lisp 2018-02-24T17:50:48Z hel-io quit (Ping timeout: 256 seconds) 2018-02-24T17:51:57Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-24T17:52:32Z hel-io joined #lisp 2018-02-24T17:52:36Z smurfrobot joined #lisp 2018-02-24T17:57:32Z smurfrobot quit (Remote host closed the connection) 2018-02-24T18:00:14Z Chream_2 quit (Ping timeout: 245 seconds) 2018-02-24T18:00:16Z jmercouris joined #lisp 2018-02-24T18:00:20Z jmercouris: I got Lisp and Objective C to talk over over sockets! Yay! 2018-02-24T18:03:56Z saki joined #lisp 2018-02-24T18:09:05Z edgar-rft quit (Quit: Don't Cry for Me, Argentina...) 2018-02-24T18:09:29Z FreeBirdLjj joined #lisp 2018-02-24T18:09:58Z deba5e12 quit (Quit: WeeChat 1.9.1) 2018-02-24T18:10:10Z deba5e12 joined #lisp 2018-02-24T18:11:28Z smasta joined #lisp 2018-02-24T18:13:28Z mlf joined #lisp 2018-02-24T18:14:23Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-24T18:14:41Z scymtym_ quit (Ping timeout: 252 seconds) 2018-02-24T18:19:46Z FreeBirdLjj joined #lisp 2018-02-24T18:23:28Z q-u-a-n1 joined #lisp 2018-02-24T18:23:58Z FreeBirdLjj quit (Ping timeout: 245 seconds) 2018-02-24T18:24:30Z nika quit (Quit: Leaving...) 2018-02-24T18:29:38Z stacksmith joined #lisp 2018-02-24T18:33:20Z lnostdal quit (Remote host closed the connection) 2018-02-24T18:36:24Z random-nick quit (Remote host closed the connection) 2018-02-24T18:36:24Z willmichael quit (Read error: Connection reset by peer) 2018-02-24T18:37:13Z jmercouris quit (Ping timeout: 240 seconds) 2018-02-24T18:37:49Z Fare joined #lisp 2018-02-24T18:38:30Z willmichael joined #lisp 2018-02-24T18:39:05Z learning quit (Remote host closed the connection) 2018-02-24T18:41:51Z smasta quit (Ping timeout: 260 seconds) 2018-02-24T18:42:57Z Xal quit (Ping timeout: 256 seconds) 2018-02-24T18:43:24Z Xach: Shinmera: your export of FORMATTER causes clashes in cepl, because it has (:use :cl :documentation-utils) and there's a clash with formatter. Do you feel like this is something to fix on the cepl side? 2018-02-24T18:43:31Z whoman: jme 2018-02-24T18:43:35Z whoman: where did he go! 2018-02-24T18:44:08Z Shinmera: Xach: Arguably it was never meant for :use-ing, but I can see either way. 2018-02-24T18:44:17Z Shinmera: I'll talk to Baggers when he shows up next. 2018-02-24T18:44:33Z FreeBirdLjj joined #lisp 2018-02-24T18:44:52Z Xal joined #lisp 2018-02-24T18:45:04Z random-nick joined #lisp 2018-02-24T18:49:05Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-24T18:51:15Z smasta joined #lisp 2018-02-24T18:51:57Z learning joined #lisp 2018-02-24T18:52:10Z dtornabene quit (Quit: Leaving) 2018-02-24T18:52:48Z fourier quit (Ping timeout: 248 seconds) 2018-02-24T18:59:26Z FreeBirdLjj joined #lisp 2018-02-24T19:00:42Z Karl_Dscc joined #lisp 2018-02-24T19:01:30Z funnel quit (Ping timeout: 256 seconds) 2018-02-24T19:01:47Z terpri quit (Ping timeout: 256 seconds) 2018-02-24T19:01:48Z damke joined #lisp 2018-02-24T19:03:07Z funnel joined #lisp 2018-02-24T19:03:58Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-24T19:04:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-24T19:05:41Z raynold joined #lisp 2018-02-24T19:05:59Z saki quit (Ping timeout: 252 seconds) 2018-02-24T19:07:08Z FreeBirdLjj joined #lisp 2018-02-24T19:07:14Z saki joined #lisp 2018-02-24T19:09:53Z Xach: stylewarning: fyi: https://bitbucket.org/tarballs_are_good/algebraic-data-library/issues/1/undefined-function-nul-problem 2018-02-24T19:10:10Z stylewarning: i've been meaning to get to that but this ELS paper is sucking up all my time 2018-02-24T19:11:28Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-24T19:11:35Z Xach: ok 2018-02-24T19:11:40Z whoman: who is com-informatigo ? 2018-02-24T19:11:44Z Shinmera: pjb 2018-02-24T19:12:10Z jmarciano joined #lisp 2018-02-24T19:12:10Z whoman: ah thought so but wasnt sure , thanks =) 2018-02-24T19:12:35Z knicklux quit (Ping timeout: 252 seconds) 2018-02-24T19:14:31Z learning quit (Remote host closed the connection) 2018-02-24T19:14:58Z learning joined #lisp 2018-02-24T19:18:53Z Nouv quit (Remote host closed the connection) 2018-02-24T19:19:04Z FreeBirdLjj joined #lisp 2018-02-24T19:20:58Z EvW joined #lisp 2018-02-24T19:21:02Z fikka quit (Ping timeout: 245 seconds) 2018-02-24T19:21:43Z erikc joined #lisp 2018-02-24T19:23:07Z FreeBirdLjj quit (Ping timeout: 245 seconds) 2018-02-24T19:23:33Z AX31_A13X quit (Quit: AX31_A13X) 2018-02-24T19:24:31Z fourier joined #lisp 2018-02-24T19:25:13Z knicklux joined #lisp 2018-02-24T19:25:44Z Xach: Hmm 2018-02-24T19:26:04Z Xach: i wonder if it would be advisable to have poison pill symbols exported from packages not meant to be inherited 2018-02-24T19:26:17Z phoe: poison pill symbols? 2018-02-24T19:26:32Z phoe: such as foo:+dont-use-this-package+ ? 2018-02-24T19:29:47Z Xach: no, like foo:car foo:cdr or similar. something likely to clash by default. 2018-02-24T19:30:21Z Bike: if you shadow it you can't write in that package without a redefinition tho. better pick something more useless... /// say 2018-02-24T19:32:16Z Xach: the three slashes of no inheritance 2018-02-24T19:37:15Z fourier quit (Ping timeout: 260 seconds) 2018-02-24T19:37:42Z stacksmith: Greetings. Is there a clever idiom for not expanding a symbol if its value is null inside a quasiquote, but skipping it altogether? Or do I need to abandon quasiquote and build a list by hand? 2018-02-24T19:38:01Z Bike: ,@(when whatever (list whatever)) 2018-02-24T19:38:18Z stacksmith: That does not leave a null? 2018-02-24T19:38:23Z Bike: nah 2018-02-24T19:38:28Z Bike: it splices 2018-02-24T19:38:30Z FreeBirdLjj joined #lisp 2018-02-24T19:38:43Z stacksmith: Great. Thanks Bike:. 2018-02-24T19:38:44Z Bike: `(a ,@(when whatever (list whatever)) b) = (append '(a) (when whatever (list whatever)) '(b)) 2018-02-24T19:39:41Z phoe: stacksmith: the variant of this idiom that I use is generally ,@(when foo `(,foo)) 2018-02-24T19:40:01Z phoe: inside a backquote, if foo is null, it will disappear; otherwise, it'll be spliced into the list. 2018-02-24T19:40:32Z phoe: you can add your own conditionals by replacing FOO with (BAR-P FOO) for any BAR-P of your liking. 2018-02-24T19:41:13Z stacksmith: phoe: very helpful, thanks. 2018-02-24T19:41:48Z whoman: i hear that Dylan is also multiple-dispatch 2018-02-24T19:42:42Z FreeBirdLjj quit (Ping timeout: 245 seconds) 2018-02-24T19:43:04Z Fare quit (Ping timeout: 260 seconds) 2018-02-24T19:43:46Z krwq joined #lisp 2018-02-24T19:45:30Z disumu joined #lisp 2018-02-24T19:47:00Z drmeister: What latex fonts/emphasis are acceptable for software names like SLIME, Clasp, SBCL, Jupyter for ELS submissions? 2018-02-24T19:47:30Z phoe: drmeister: I never saw them emphasized in the submissions that I saw. 2018-02-24T19:48:49Z phoe: I only was advised by beach to annotate them with hyperlinks to websites that annotate these softwares. 2018-02-24T19:49:00Z phoe: Like, SBCL[1], and on the bottom, [1] https://sbcl.org 2018-02-24T19:49:13Z phoe: And this only for the first occurrence of each. 2018-02-24T19:50:37Z Yemeni-Dark joined #lisp 2018-02-24T19:51:42Z Yemeni-Dark: https://www.youtube.com/watch?v=pUmD4RbVktc 2018-02-24T19:52:29Z FreeBirdLjj joined #lisp 2018-02-24T19:52:43Z Vicfred joined #lisp 2018-02-24T19:52:48Z fikka joined #lisp 2018-02-24T19:53:15Z omilu_ quit (Remote host closed the connection) 2018-02-24T19:54:34Z phoe: Yemeni-Dark: wtf? 2018-02-24T19:54:51Z phoe: this is not related to Lisp in the slightest. 2018-02-24T19:55:10Z aeth: Every channel should have a YouTube title bot. 2018-02-24T19:55:37Z aeth: It's otherwise impossible to tell the content of a YouTube link before clicking, which is a huge problem. 2018-02-24T19:55:57Z scymtym joined #lisp 2018-02-24T19:56:02Z whoman: phoe your red flag should go up when someone unfamiliar joins and instantly posts a youtube link 2018-02-24T19:56:16Z phoe: whoman: it did. 2018-02-24T19:56:43Z Yemeni-Dark: sorry 2018-02-24T19:56:45Z pjb: whoman: /whois pjb 2018-02-24T19:56:52Z whoman: unbeknownst to others, hence my response. 2018-02-24T19:57:05Z pjb: Right, freenode doesn't show the email :-( 2018-02-24T19:57:12Z pjb: mailto:pjb@informatimago.com 2018-02-24T19:57:19Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-24T19:57:45Z fikka quit (Ping timeout: 252 seconds) 2018-02-24T19:57:45Z whoman: pjb: thanks =) its not really i thing i would do, to /whois everyone 2018-02-24T19:57:51Z pjb: Internet pre-web was the golden period of the Internet. 2018-02-24T19:58:04Z whoman: pjb: just wanted to ask, whats your most 'proud' code on your repo? i want to browse and be inspired, vicariously 2018-02-24T19:58:06Z smurfrobot joined #lisp 2018-02-24T19:58:15Z aeth: pjb: Internet pre-Facebook was the golden period of the Internet 2018-02-24T19:58:41Z whoman: aeth: oh so was the time of plato, aristotle, ... wearing togas and chiseling some pillars 2018-02-24T19:58:47Z pjb: whoman: well, there are several parts. It would depend on what you're looking for. You may have a look at the cl-stepper. 2018-02-24T19:58:51Z phoe: aeth: Internet pre-neural network interface was the golden period of the Internet 2018-02-24T19:58:56Z phoe shushes 2018-02-24T19:59:05Z whoman: pjb: just some nice heavy duty solid lisp code 2018-02-24T19:59:49Z pjb: Yeah, when you start receiving advertisements in your dreams, it really deteriorates from then. 2018-02-24T20:00:05Z pjb: All my lisp code is heavy dury :-) 2018-02-24T20:00:11Z pjb: duty 2018-02-24T20:00:14Z whoman: pjb: ok, cool =) 2018-02-24T20:00:18Z whoman: heh. duty 2018-02-24T20:01:07Z pjb: have also a look at com.informatimago.clext.pipe 2018-02-24T20:01:36Z whoman: heh i was at queueueue, close ~ 2018-02-24T20:01:43Z pfdietz: They differ in stuff that isn't in the standard, though. 2018-02-24T20:01:57Z pfdietz: Wait, I needed to scroll this window. 2018-02-24T20:02:05Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-24T20:02:55Z whoman: hm whats all this code for anyway, pjb is it just libs of all your stuff for things ? 2018-02-24T20:03:34Z pjb: Yes, it's all library. 2018-02-24T20:03:49Z fikka joined #lisp 2018-02-24T20:03:53Z pjb: You have small programs in com.informatimago.small-cl-pgms.* 2018-02-24T20:04:24Z whoman: i was asking umm is this your util libs. i know its all library 2018-02-24T20:04:36Z pjb: Yes, it is. 2018-02-24T20:04:41Z whoman: because of namespace com.informatimago.* 2018-02-24T20:04:43Z whoman: okay =) 2018-02-24T20:06:37Z whoman: theres a lot of stuff in here. c++ parser , pipes, ... 2018-02-24T20:06:54Z whoman: i dont know what to think right now. got to meditate 2018-02-24T20:07:12Z q-u-a-n1 quit (Remote host closed the connection) 2018-02-24T20:08:32Z fikka quit (Ping timeout: 245 seconds) 2018-02-24T20:09:13Z edgar-rft joined #lisp 2018-02-24T20:09:26Z scymtym quit (Remote host closed the connection) 2018-02-24T20:09:42Z scymtym joined #lisp 2018-02-24T20:10:29Z aeth: Heavy duty? Meanwhile, I don't even have a presentable file in my code. I'll have nice, clean code for the first 1/3 or 1/2 and then messy ugly hacks written years ago in the bottom half. 2018-02-24T20:12:24Z FreeBirdLjj joined #lisp 2018-02-24T20:13:09Z dieggsy quit (Remote host closed the connection) 2018-02-24T20:13:57Z fikka joined #lisp 2018-02-24T20:15:38Z comborico1611 joined #lisp 2018-02-24T20:15:43Z edgar-rft quit (Remote host closed the connection) 2018-02-24T20:16:06Z edgar-rft joined #lisp 2018-02-24T20:16:45Z stacksmith quit (Ping timeout: 252 seconds) 2018-02-24T20:17:17Z FreeBirdLjj quit (Ping timeout: 245 seconds) 2018-02-24T20:17:21Z asarch quit (Quit: Leaving) 2018-02-24T20:20:16Z whoman: first ? bottom half.. ? 2018-02-24T20:23:58Z asarch joined #lisp 2018-02-24T20:25:03Z fikka quit (Ping timeout: 256 seconds) 2018-02-24T20:25:33Z EvW quit (Ping timeout: 252 seconds) 2018-02-24T20:29:19Z comborico1611: Is a property list considered a hash table? If not, what feature is it missing to make it so? 2018-02-24T20:29:34Z orivej joined #lisp 2018-02-24T20:29:40Z Bike: hashing 2018-02-24T20:30:27Z comborico1611: I suppose I never got that far into hashes, then. I was only aware of the keyword-value relationship, not anything other than that. Thank you. 2018-02-24T20:30:48Z aeth: whoman: ((foo = 1/3) or (foo = 1/2)) and ((1 - foo) = 1/2) => (foo = 1/2); no logical contradiction. 2018-02-24T20:31:20Z phoe: comborico1611: no, it is not. 2018-02-24T20:31:27Z phoe: a plist is a list, a hash-table is a hash-table. 2018-02-24T20:31:32Z phoe: they are of different types. 2018-02-24T20:31:51Z phoe: and have different underlying mechanics. 2018-02-24T20:32:05Z random-nick quit (Ping timeout: 260 seconds) 2018-02-24T20:32:42Z khisanth_ quit (Ping timeout: 260 seconds) 2018-02-24T20:32:45Z _death: both are associative data structures 2018-02-24T20:32:45Z aeth: There are three things that roughly do the same thing. plist, alist, and hash-table. plists and alists are very similar (just different ways of handling the same concept in a list form), but hash-tables are a proper data structure of their own, not made up of conses like the list-based ones. 2018-02-24T20:33:02Z aeth: And, yeah, the concept is "associative data structure" 2018-02-24T20:34:12Z comborico1611: Very good. Thank you. 2018-02-24T20:34:19Z Shinmera: aeth: Colleen can do title lookup for URLs automatically, but I don't know if this channel would like that. 2018-02-24T20:34:59Z _death: doubt it's a good idea.. many of the links are clhs links where the title is also provided 2018-02-24T20:35:27Z _death: or pastes, and who cares about titles there 2018-02-24T20:35:34Z aeth: alists are ((key-1 . value-1) (key-2 . value-2) ...) and plists are (:key-1 value-1 :key-2 value-2 ...) and hash tables use some unknown, implementation-specific data format that is probably more efficient for large number of items. How large that number of items is varies. It could be 5 or so. It could be dozens. It depends on the implementation. 2018-02-24T20:36:31Z whoman: aeth: ah ok =) 2018-02-24T20:36:33Z aeth: It might also depend on the access pattern. Maybe alists or plists will always be more efficient than hash-tables' maphash if you're just iterating over them. You'd have to benchmark. 2018-02-24T20:37:56Z dessm joined #lisp 2018-02-24T20:38:27Z aeth: Shinmera: I agree with _death. Although it could still be useful just for places with ambiguous URLs like YouTube. There are lots of on-topic Lisp videos on YouTube that I wouldn't click on because I simply don't know what that video is. 2018-02-24T20:40:54Z jmarciano quit (Read error: Connection reset by peer) 2018-02-24T20:41:15Z jmarciano joined #lisp 2018-02-24T20:45:48Z khisanth_ joined #lisp 2018-02-24T20:48:14Z fikka joined #lisp 2018-02-24T20:55:44Z fisxoj joined #lisp 2018-02-24T21:02:17Z dim: mmm, seems that cl-csv doesn't accept NIL as the *quote* char anymore 2018-02-24T21:02:18Z dim: it was pretty useful to implement fields not enclosed in pgloader 2018-02-24T21:03:41Z parjanya joined #lisp 2018-02-24T21:03:45Z asarch quit (Quit: Leaving) 2018-02-24T21:03:47Z terpri joined #lisp 2018-02-24T21:04:12Z damke_ joined #lisp 2018-02-24T21:06:21Z damke quit (Ping timeout: 264 seconds) 2018-02-24T21:07:44Z edgar-rft quit (Quit: Don't Cry for Me, Argentina...) 2018-02-24T21:08:18Z random-nick joined #lisp 2018-02-24T21:09:27Z mareskeg joined #lisp 2018-02-24T21:11:18Z nowhere_man quit (Quit: Konversation terminated!) 2018-02-24T21:13:42Z nowhere_man joined #lisp 2018-02-24T21:14:53Z Xal left #lisp 2018-02-24T21:15:27Z mishoo quit (Ping timeout: 240 seconds) 2018-02-24T21:18:14Z asarch joined #lisp 2018-02-24T21:22:01Z fikka quit (Ping timeout: 252 seconds) 2018-02-24T21:22:26Z Oladon quit (Quit: Leaving.) 2018-02-24T21:26:12Z zooey quit (Ping timeout: 255 seconds) 2018-02-24T21:27:56Z zooey joined #lisp 2018-02-24T21:28:00Z fikka joined #lisp 2018-02-24T21:29:49Z Karl_Dscc quit (Remote host closed the connection) 2018-02-24T21:30:48Z asarch quit (Quit: Leaving) 2018-02-24T21:31:06Z fourier joined #lisp 2018-02-24T21:32:40Z Yemeni-Dark quit (Ping timeout: 252 seconds) 2018-02-24T21:32:50Z Karl_Dscc joined #lisp 2018-02-24T21:34:41Z Karl_Dscc quit (Remote host closed the connection) 2018-02-24T21:37:27Z Baggers joined #lisp 2018-02-24T21:38:29Z stacksmith joined #lisp 2018-02-24T21:39:16Z shka_ quit (Ping timeout: 252 seconds) 2018-02-24T21:40:19Z ramus quit (Ping timeout: 260 seconds) 2018-02-24T21:41:33Z ramus joined #lisp 2018-02-24T21:44:28Z arbv quit (Ping timeout: 240 seconds) 2018-02-24T21:45:11Z arbv joined #lisp 2018-02-24T21:45:13Z hel-io quit (Remote host closed the connection) 2018-02-24T21:45:28Z learning quit (Remote host closed the connection) 2018-02-24T21:45:31Z hel-io joined #lisp 2018-02-24T21:45:50Z python476 quit (Read error: Connection reset by peer) 2018-02-24T21:46:00Z hel-io quit (Remote host closed the connection) 2018-02-24T21:46:04Z borei: hi all 2018-02-24T21:46:13Z python476 joined #lisp 2018-02-24T21:46:17Z phoe: hei borei 2018-02-24T21:46:22Z hel-io joined #lisp 2018-02-24T21:47:20Z vlatkoB quit (Remote host closed the connection) 2018-02-24T21:47:43Z borei: if i want to force compiler to use integer of fixed size will it be correct form - (integer 0 16) - im expecting that var will be unsigend integer with max 2^^16 -1 ? 2018-02-24T21:47:47Z hel-io_ joined #lisp 2018-02-24T21:48:00Z shifty joined #lisp 2018-02-24T21:48:21Z Bike: no, that means an integer between 0 and 16 2018-02-24T21:48:25Z Bike: you want (unsigned-byte 16) 2018-02-24T21:48:57Z jsn` quit (Ping timeout: 245 seconds) 2018-02-24T21:50:03Z dim: cl-csv read table is pretty flexible, that's nice 2018-02-24T21:50:16Z borei: tks ! 2018-02-24T21:50:33Z dim: it's possible to provide one's own read table, with some tweaking, and implement the *quote* nil behaviour from before 2018-02-24T21:50:33Z hel-io quit (Ping timeout: 240 seconds) 2018-02-24T21:54:38Z FreeBirdLjj joined #lisp 2018-02-24T21:55:37Z arbv quit (Ping timeout: 245 seconds) 2018-02-24T21:57:20Z learning joined #lisp 2018-02-24T21:57:56Z EvW1 joined #lisp 2018-02-24T21:58:14Z mishoo joined #lisp 2018-02-24T21:58:15Z arbv joined #lisp 2018-02-24T21:59:35Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-24T21:59:56Z Pixel_Outlaw joined #lisp 2018-02-24T22:01:58Z Baggers left #lisp 2018-02-24T22:03:43Z dim: (or (find-symbol "MAKE-DEFAULT-CSV-READER" pkg) (find-symbol "MAKE-DEFAULT-CSV-DISPATCH-TABLE" pkg)) ; I don't much like having to do that 2018-02-24T22:03:50Z dim: but well I guess that's part of the game? 2018-02-24T22:04:53Z jsn` joined #lisp 2018-02-24T22:05:39Z shifty quit (Ping timeout: 252 seconds) 2018-02-24T22:08:30Z whoman: hmm, doesnt seem right, dim 2018-02-24T22:08:47Z FreeBirdLjj joined #lisp 2018-02-24T22:09:05Z dim: it gets worse, there's an &key parameter that changed too 2018-02-24T22:09:39Z dim: so I need to either call (cl-csv:read-csv stream :table ...) or (cl-csv:read-csv stream :csv-reader ...), so now I have that test too 2018-02-24T22:10:14Z whoman: =/ hm is that for different versions of the library ? 2018-02-24T22:10:38Z dim: yeah 2018-02-24T22:10:49Z dim: latest from QL and current git 2018-02-24T22:11:27Z jsn`` joined #lisp 2018-02-24T22:11:48Z whoman: why support both? if current supercedes 2018-02-24T22:12:57Z dim: because I don't know when current git is going to make it to QL, and I'm already bitten by the problem in my dev environment (which I could fix, but) and I don't want pgloader users to have to deal with anything like that 2018-02-24T22:13:52Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-24T22:15:37Z jsn` quit (Ping timeout: 245 seconds) 2018-02-24T22:18:01Z jsn`` quit (Ping timeout: 240 seconds) 2018-02-24T22:18:15Z fourier quit (Ping timeout: 240 seconds) 2018-02-24T22:18:42Z jsn`` joined #lisp 2018-02-24T22:20:01Z FreeBirdLjj joined #lisp 2018-02-24T22:23:49Z whoman: dim: ahh true, hmm 2018-02-24T22:24:27Z elderK joined #lisp 2018-02-24T22:24:27Z elderK quit (Changing host) 2018-02-24T22:24:27Z elderK joined #lisp 2018-02-24T22:24:27Z mishoo quit (Ping timeout: 240 seconds) 2018-02-24T22:24:35Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-24T22:26:28Z learning quit (Remote host closed the connection) 2018-02-24T22:27:52Z FreeBirdLjj joined #lisp 2018-02-24T22:30:21Z learning joined #lisp 2018-02-24T22:32:17Z FreeBirdLjj quit (Ping timeout: 245 seconds) 2018-02-24T22:37:49Z disumu left #lisp 2018-02-24T22:38:39Z FreeBirdLjj joined #lisp 2018-02-24T22:40:26Z jibanes quit (Ping timeout: 240 seconds) 2018-02-24T22:41:26Z jibanes joined #lisp 2018-02-24T22:48:19Z fisxoj quit (Quit: fisxoj) 2018-02-24T22:48:26Z FreeBirdLjj quit (Ping timeout: 245 seconds) 2018-02-24T22:48:27Z z3t0 joined #lisp 2018-02-24T22:55:01Z sysfault quit (Quit: Leaving) 2018-02-24T22:56:26Z zolk3ri joined #lisp 2018-02-24T22:57:15Z z3t0 quit (Remote host closed the connection) 2018-02-24T22:57:40Z z3t0 joined #lisp 2018-02-24T22:59:11Z axg quit (Ping timeout: 256 seconds) 2018-02-24T22:59:37Z dim: well it seems like cl-csv newer releases are breaking pgloader 2018-02-24T22:59:52Z dim: not at the API level, I could fix that, at the csv parsing facilities 2018-02-24T23:00:22Z edgar-rft joined #lisp 2018-02-24T23:00:30Z dim: maybe pgloader users are asking too much flexibility, but what used to work doesn't anymore... I think I'll sleep on that and see about reporting issues tomorrow 2018-02-24T23:00:36Z damke joined #lisp 2018-02-24T23:02:00Z z3t0_ joined #lisp 2018-02-24T23:02:07Z z3t0 quit (Ping timeout: 252 seconds) 2018-02-24T23:02:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-24T23:03:02Z whoman: pg? dim rest well, i hope it works out =) 2018-02-24T23:05:32Z whoman: i guess emacs lisp has multimethods as well. https://github.com/VincentToups/emacs-utils/blob/master/multi-methods.el 2018-02-24T23:06:12Z z3t0_ quit (Client Quit) 2018-02-24T23:08:12Z figurehe4d joined #lisp 2018-02-24T23:12:50Z krwq: is it possible to open file for :io, read/write some bytes and then truncate the rest of the file? 2018-02-24T23:13:22Z Xach: krwq: not in a standard way 2018-02-24T23:13:52Z krwq: Xach: any way to resize the stream? I assume setting the file-position doesn't change the stream size as well, right? 2018-02-24T23:14:00Z krwq: is there any library which could do that? 2018-02-24T23:14:25Z pjb: It's not even a POSIX operation! But a unix specific one. 2018-02-24T23:14:43Z Xach: krwq: I don't know, sorry. 2018-02-24T23:14:48Z pjb: The portable way to do it, is to copy the data. 2018-02-24T23:15:08Z krwq: Xach: all right, thanks 2018-02-24T23:15:57Z krwq: pjb: the thing is when you implement fuse operations it removes flags truncate flag and instead calls open, truncate 2018-02-24T23:16:16Z krwq: removes `truncate` flag* 2018-02-24T23:16:35Z krwq: so trying to implement the truncate part 2018-02-24T23:17:00Z krwq: I was gonna do everything on streams but not sure if I can use streams anymore 2018-02-24T23:18:18Z pillton: From chls 25.1.4.1: "An integer indicating the year A.D. However, if this integer is between 0 and 99, the ``obvious'' year is used; more precisely, that year is assumed that is equal to the integer modulo 100 and within fifty years of the current year (inclusive backwards and exclusive forwards). Thus, in the year 1978, year 28 is 1928 but year 27 is 2027. (Functions that return time in this format always return a full year number.) " 2018-02-24T23:18:25Z pillton: Weird. 2018-02-24T23:19:06Z stacksmith quit (Quit: stacksmith) 2018-02-24T23:19:22Z stacksmith joined #lisp 2018-02-24T23:20:53Z krwq: actually i can just recreate the node but kinda annoying on both fuse and CL that they make me do such weird workarounds 2018-02-24T23:22:27Z mareskeg quit (Quit: mareskeg) 2018-02-24T23:38:08Z djuber quit (Remote host closed the connection) 2018-02-24T23:39:58Z pierpa joined #lisp 2018-02-24T23:41:39Z random-nick quit (Ping timeout: 260 seconds) 2018-02-24T23:42:28Z hhdave joined #lisp 2018-02-24T23:48:21Z FreeBirdLjj joined #lisp 2018-02-24T23:48:38Z patrixl joined #lisp 2018-02-24T23:52:20Z smasta quit (Ping timeout: 240 seconds) 2018-02-24T23:52:58Z comborico joined #lisp 2018-02-24T23:53:03Z comborico1611 quit (Ping timeout: 256 seconds) 2018-02-24T23:53:07Z FreeBirdLjj quit (Ping timeout: 245 seconds) 2018-02-24T23:53:51Z wxie joined #lisp 2018-02-24T23:55:22Z willmichael quit (Read error: Connection reset by peer) 2018-02-24T23:55:44Z FreeBirdLjj joined #lisp 2018-02-24T23:55:44Z willmichael joined #lisp 2018-02-24T23:56:13Z hel-io_ quit (Remote host closed the connection) 2018-02-24T23:56:25Z thallia quit (Ping timeout: 256 seconds) 2018-02-24T23:56:33Z hel-io joined #lisp 2018-02-24T23:56:39Z smasta joined #lisp 2018-02-24T23:56:53Z EvW1 quit (Ping timeout: 240 seconds) 2018-02-24T23:56:59Z hel-io quit (Remote host closed the connection) 2018-02-24T23:57:19Z hel-io joined #lisp 2018-02-24T23:57:26Z thallia joined #lisp 2018-02-24T23:57:45Z hel-io quit (Remote host closed the connection) 2018-02-24T23:58:14Z hel-io joined #lisp 2018-02-24T23:58:15Z edgar-rft quit (Remote host closed the connection) 2018-02-24T23:58:15Z krwq quit (Ping timeout: 256 seconds) 2018-02-24T23:58:32Z hel-io quit (Remote host closed the connection) 2018-02-24T23:58:33Z edgar-rft joined #lisp 2018-02-24T23:59:09Z hel-io joined #lisp 2018-02-24T23:59:15Z marusich quit (Ping timeout: 256 seconds) 2018-02-24T23:59:37Z edgar-rft quit (Client Quit) 2018-02-25T00:00:00Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-25T00:01:09Z marusich joined #lisp 2018-02-25T00:01:14Z hhdave quit (Quit: hhdave) 2018-02-25T00:03:57Z smasta quit (Ping timeout: 245 seconds) 2018-02-25T00:03:58Z willmichael quit (Read error: Connection reset by peer) 2018-02-25T00:04:29Z hel-io quit (Ping timeout: 252 seconds) 2018-02-25T00:06:41Z FreeBirdLjj joined #lisp 2018-02-25T00:06:46Z willmichael joined #lisp 2018-02-25T00:09:18Z sysfault joined #lisp 2018-02-25T00:10:20Z willmichael quit (Read error: Connection reset by peer) 2018-02-25T00:11:05Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-25T00:11:58Z sysfault quit (Client Quit) 2018-02-25T00:14:21Z stacksmith quit (Ping timeout: 252 seconds) 2018-02-25T00:15:45Z sysfault joined #lisp 2018-02-25T00:17:36Z heurist`_ joined #lisp 2018-02-25T00:18:49Z rumbler31 quit (Remote host closed the connection) 2018-02-25T00:19:51Z heurist` quit (Ping timeout: 252 seconds) 2018-02-25T00:21:03Z FreeBirdLjj joined #lisp 2018-02-25T00:22:23Z comborico quit (Quit: Konversation terminated!) 2018-02-25T00:22:31Z wxie quit (Remote host closed the connection) 2018-02-25T00:24:05Z willmichael joined #lisp 2018-02-25T00:25:37Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-25T00:27:36Z MochaLoca is now known as Sauvin 2018-02-25T00:27:43Z FreeBirdLjj joined #lisp 2018-02-25T00:30:28Z Tordek_ is now known as Tordek 2018-02-25T00:31:02Z nowhereman_ joined #lisp 2018-02-25T00:31:13Z nowhere_man quit (Ping timeout: 240 seconds) 2018-02-25T00:32:01Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-25T00:32:46Z moei joined #lisp 2018-02-25T00:36:12Z wigust- joined #lisp 2018-02-25T00:38:40Z cmatei quit (Ping timeout: 240 seconds) 2018-02-25T00:38:55Z wigust quit (Ping timeout: 256 seconds) 2018-02-25T00:40:07Z moriarty joined #lisp 2018-02-25T00:40:21Z hel-io joined #lisp 2018-02-25T00:41:22Z moriarty left #lisp 2018-02-25T00:41:55Z dieggsy joined #lisp 2018-02-25T00:42:26Z cmatei joined #lisp 2018-02-25T00:43:11Z FreeBirdLjj joined #lisp 2018-02-25T00:43:15Z stylewarning: I'm beginning to think I'd love X.Y to be an alias for (X-Y X) 2018-02-25T00:43:56Z whoman: why not? can it be done ? oh wait i thought this was #prolog 2018-02-25T00:44:05Z stylewarning: (: 2018-02-25T00:46:46Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2018-02-25T00:46:55Z borei: trying to create method with type specializer (simple-array single-float *) - compiler is not happy 2018-02-25T00:47:19Z stylewarning: borei: methods take class names, not types 2018-02-25T00:47:27Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-25T00:48:17Z stylewarning: borei: you can do non-portable and brittle things like specializing on your implementation's classes for those objects, like in SBCL, SB-KERNEL::SIMPLE-ARRAY-SINGLE-FLOAT 2018-02-25T00:55:38Z fouric: ...would anyone happen to know if there exists a concise description of *how* Mezzano works, and if so, where it is? 2018-02-25T00:55:45Z borei: ok, using just `simple-array` - should be ok then? 2018-02-25T00:55:56Z fouric: I'm willing to read the code if necessary, but there's a *lot* of it, and if a shortcut exists, I would love to take it 2018-02-25T00:56:04Z Bike: no, simple-array is not necessarily a class either. 2018-02-25T00:56:52Z borei: hmm 2018-02-25T00:59:36Z FreeBirdLjj joined #lisp 2018-02-25T01:00:31Z borei: OOP in Common List, page 83 2018-02-25T01:00:51Z borei: mapping of CLOS types to common lisp types 2018-02-25T01:00:56Z borei: now im confused 2018-02-25T01:01:31Z Bike: well basically a class is a pretty strict delineation of objects. 2018-02-25T01:01:49Z Bike: but implementations have a lot of freedom in deciding what a simple array is. 2018-02-25T01:02:28Z damke_ joined #lisp 2018-02-25T01:05:09Z damke quit (Ping timeout: 264 seconds) 2018-02-25T01:07:25Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-25T01:08:09Z uuplusu joined #lisp 2018-02-25T01:08:32Z Pixel_Outlaw quit (Quit: Leaving) 2018-02-25T01:08:45Z uuplusu_ joined #lisp 2018-02-25T01:10:31Z uuplusu__ joined #lisp 2018-02-25T01:10:53Z saki quit (Ping timeout: 240 seconds) 2018-02-25T01:11:34Z aeth: You want specialization-store if you want dispatch on array types. https://github.com/markcox80/specialization-store/ 2018-02-25T01:11:47Z froggey: fouric: not that I know of 2018-02-25T01:12:22Z saki joined #lisp 2018-02-25T01:12:24Z uuplusu quit (Ping timeout: 252 seconds) 2018-02-25T01:12:24Z froggey: my very concise description: it compiles everything to native code. the runtime is written in a way that doesn't require any extra support 2018-02-25T01:13:32Z hel-io quit (Ping timeout: 245 seconds) 2018-02-25T01:13:53Z uuplusu_ quit (Ping timeout: 240 seconds) 2018-02-25T01:16:34Z hel-io joined #lisp 2018-02-25T01:23:51Z Oladon joined #lisp 2018-02-25T01:24:40Z mlf quit (Ping timeout: 240 seconds) 2018-02-25T01:24:50Z Zhivago: Although, really, you never want to dispatch on type. 2018-02-25T01:25:15Z Zhivago: If you do, it means that you're probably conflating semantics in some terrible fashion. 2018-02-25T01:26:00Z smasta joined #lisp 2018-02-25T01:26:36Z mlf joined #lisp 2018-02-25T01:26:57Z willmichael quit (Ping timeout: 252 seconds) 2018-02-25T01:34:06Z jsn``` joined #lisp 2018-02-25T01:34:47Z jsn`` quit (Ping timeout: 245 seconds) 2018-02-25T01:35:31Z nydel: thanks fe[nl]ix (link to script) i try this now. 2018-02-25T01:35:52Z hel-io quit 2018-02-25T01:36:06Z aeth: Zhivago: Depends. If you're doing linear algebra stuff you have (simple-array single-float (3))s that you might want to treat differently than other things. 2018-02-25T01:36:22Z aeth: But it basically just makes sense for specialized arrays of numbers. 2018-02-25T01:37:17Z fikka quit (Ping timeout: 245 seconds) 2018-02-25T01:41:13Z jsn```` joined #lisp 2018-02-25T01:41:31Z FreeBirdLjj joined #lisp 2018-02-25T01:42:17Z jsn``` quit (Ping timeout: 245 seconds) 2018-02-25T01:44:35Z Arcaelyx_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-25T01:45:15Z zolk3ri quit (Quit: leaving) 2018-02-25T01:46:45Z wxie joined #lisp 2018-02-25T01:50:05Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-25T01:51:27Z smasta quit (Ping timeout: 248 seconds) 2018-02-25T01:51:31Z fisxoj joined #lisp 2018-02-25T01:55:45Z FreeBirdLjj joined #lisp 2018-02-25T01:59:23Z arescorpio joined #lisp 2018-02-25T01:59:36Z wxie quit (Quit: Bye.) 2018-02-25T01:59:49Z erikc quit 2018-02-25T02:00:33Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-25T02:05:20Z smasta joined #lisp 2018-02-25T02:05:33Z fikka joined #lisp 2018-02-25T02:11:47Z mikecheck joined #lisp 2018-02-25T02:11:53Z FreeBirdLjj joined #lisp 2018-02-25T02:13:05Z jstypo quit (Ping timeout: 240 seconds) 2018-02-25T02:20:00Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-25T02:22:07Z Vicfred quit (Quit: Leaving) 2018-02-25T02:22:42Z d4ryus3 joined #lisp 2018-02-25T02:22:47Z Tobbi quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-25T02:25:22Z FreeBirdLjj joined #lisp 2018-02-25T02:25:41Z d4ryus2 quit (Ping timeout: 252 seconds) 2018-02-25T02:25:54Z jmarcian` joined #lisp 2018-02-25T02:26:51Z jstypo joined #lisp 2018-02-25T02:29:39Z jmarciano quit (Ping timeout: 252 seconds) 2018-02-25T02:29:53Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-25T02:37:14Z fikka quit (Ping timeout: 240 seconds) 2018-02-25T02:41:16Z dieggsy quit (Quit: ERC (IRC client for Emacs 27.0.50)) 2018-02-25T02:41:51Z fikka joined #lisp 2018-02-25T02:44:03Z fouric: lol ty froggey 2018-02-25T02:44:32Z fouric: (that actually does help a bit) 2018-02-25T02:46:23Z erikc joined #lisp 2018-02-25T02:50:41Z vultyre joined #lisp 2018-02-25T02:57:58Z karswell_ quit (Ping timeout: 260 seconds) 2018-02-25T03:00:47Z Mutex7 joined #lisp 2018-02-25T03:01:08Z damke joined #lisp 2018-02-25T03:03:28Z orivej quit (Ping timeout: 256 seconds) 2018-02-25T03:03:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-25T03:05:03Z ebzzry_ quit (Read error: Connection reset by peer) 2018-02-25T03:08:39Z ebzzry_ joined #lisp 2018-02-25T03:11:25Z SaganMan joined #lisp 2018-02-25T03:14:26Z sfa joined #lisp 2018-02-25T03:17:45Z erikc quit 2018-02-25T03:22:17Z patrixl quit (Quit: ERC (IRC client for Emacs 26.0.91)) 2018-02-25T03:23:47Z FreeBirdLjj joined #lisp 2018-02-25T03:24:17Z python476 quit (Ping timeout: 252 seconds) 2018-02-25T03:27:08Z chat__ quit (Ping timeout: 255 seconds) 2018-02-25T03:27:52Z chat joined #lisp 2018-02-25T03:28:17Z chat is now known as Guest25308 2018-02-25T03:28:32Z FreeBirdLjj quit (Ping timeout: 245 seconds) 2018-02-25T03:29:47Z oxo1o1o1o joined #lisp 2018-02-25T03:30:17Z jsn```` left #lisp 2018-02-25T03:35:10Z FreeBirdLjj joined #lisp 2018-02-25T03:43:51Z learning quit (Remote host closed the connection) 2018-02-25T03:43:58Z FreeBirdLjj quit (Ping timeout: 245 seconds) 2018-02-25T03:49:49Z AxelAlex joined #lisp 2018-02-25T03:50:09Z fikka quit (Ping timeout: 260 seconds) 2018-02-25T03:50:34Z tkhoa2711 joined #lisp 2018-02-25T03:57:03Z FreeBirdLjj joined #lisp 2018-02-25T03:57:30Z arescorpio quit (Excess Flood) 2018-02-25T04:00:33Z pjb quit (Ping timeout: 256 seconds) 2018-02-25T04:00:56Z tkhoa2711 quit (Quit: tkhoa2711) 2018-02-25T04:01:27Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-25T04:02:58Z Karl_Dscc joined #lisp 2018-02-25T04:03:25Z sfa quit (Read error: Connection reset by peer) 2018-02-25T04:04:06Z arqueiro joined #lisp 2018-02-25T04:06:46Z FreeBirdLjj joined #lisp 2018-02-25T04:11:02Z damke_ joined #lisp 2018-02-25T04:12:17Z FreeBirdLjj quit (Ping timeout: 245 seconds) 2018-02-25T04:13:33Z damke quit (Ping timeout: 264 seconds) 2018-02-25T04:14:02Z mikecheck left #lisp 2018-02-25T04:16:43Z fikka joined #lisp 2018-02-25T04:16:43Z schoppenhauer quit (Ping timeout: 252 seconds) 2018-02-25T04:16:49Z beach: Good morning everyone! 2018-02-25T04:18:51Z schoppenhauer joined #lisp 2018-02-25T04:21:43Z nowhere_man joined #lisp 2018-02-25T04:22:55Z FreeBirdLjj joined #lisp 2018-02-25T04:25:01Z nowhereman_ quit (Ping timeout: 256 seconds) 2018-02-25T04:26:22Z learning joined #lisp 2018-02-25T04:26:50Z pjb joined #lisp 2018-02-25T04:27:12Z Karl_Dscc quit (Remote host closed the connection) 2018-02-25T04:27:43Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-25T04:31:16Z Naergon quit (Ping timeout: 256 seconds) 2018-02-25T04:33:08Z FreeBirdLjj joined #lisp 2018-02-25T04:36:53Z smasta quit (Ping timeout: 252 seconds) 2018-02-25T04:37:35Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-25T04:45:34Z FreeBirdLjj joined #lisp 2018-02-25T04:49:14Z fikka quit (Ping timeout: 240 seconds) 2018-02-25T04:50:12Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-25T04:57:17Z fikka joined #lisp 2018-02-25T05:00:30Z FreeBirdLjj joined #lisp 2018-02-25T05:03:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-25T05:05:45Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-25T05:10:59Z arqueiro left #lisp 2018-02-25T05:15:52Z saki quit (Remote host closed the connection) 2018-02-25T05:19:57Z tkhoa2711 joined #lisp 2018-02-25T05:20:16Z tkhoa2711 quit (Client Quit) 2018-02-25T05:20:35Z vultyre quit (Quit: Leaving) 2018-02-25T05:20:37Z axg joined #lisp 2018-02-25T05:24:27Z saki joined #lisp 2018-02-25T05:27:15Z compro joined #lisp 2018-02-25T05:30:53Z fikka quit (Ping timeout: 240 seconds) 2018-02-25T05:32:16Z fikka joined #lisp 2018-02-25T05:33:37Z whoman: good morning 2018-02-25T05:33:48Z beach: Hello whoman. 2018-02-25T05:34:09Z axg quit (Ping timeout: 256 seconds) 2018-02-25T05:35:11Z wxie joined #lisp 2018-02-25T05:38:57Z wxie quit (Client Quit) 2018-02-25T05:43:31Z SaganMan: Morning beach 2018-02-25T05:43:41Z Oladon quit (Quit: Leaving.) 2018-02-25T05:50:19Z SaganMan quit (Quit: later) 2018-02-25T05:52:43Z smokeink joined #lisp 2018-02-25T06:05:23Z fikka quit (Ping timeout: 248 seconds) 2018-02-25T06:06:01Z pjb quit (Remote host closed the connection) 2018-02-25T06:08:36Z dessm quit (Remote host closed the connection) 2018-02-25T06:09:48Z Oladon joined #lisp 2018-02-25T06:12:54Z fikka joined #lisp 2018-02-25T06:15:54Z pierpa quit (Quit: Page closed) 2018-02-25T06:19:24Z damke_ joined #lisp 2018-02-25T06:22:53Z learning quit (Remote host closed the connection) 2018-02-25T06:23:27Z saki quit (Ping timeout: 248 seconds) 2018-02-25T06:26:24Z mrm joined #lisp 2018-02-25T06:27:39Z smurfrobot joined #lisp 2018-02-25T06:28:33Z fikka quit (Ping timeout: 240 seconds) 2018-02-25T06:37:55Z krwq joined #lisp 2018-02-25T06:43:50Z sfa joined #lisp 2018-02-25T06:46:37Z fikka joined #lisp 2018-02-25T06:51:13Z fikka quit (Ping timeout: 240 seconds) 2018-02-25T06:51:48Z damke joined #lisp 2018-02-25T06:53:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-25T06:59:04Z sfa quit (Quit: leaving) 2018-02-25T07:00:08Z damke_ joined #lisp 2018-02-25T07:00:33Z saki joined #lisp 2018-02-25T07:03:21Z damke quit (Ping timeout: 264 seconds) 2018-02-25T07:07:29Z fikka joined #lisp 2018-02-25T07:16:09Z vlatkoB joined #lisp 2018-02-25T07:20:27Z Bike quit (Quit: Lost terminal) 2018-02-25T07:21:27Z fourier joined #lisp 2018-02-25T07:23:24Z Arcaelyx joined #lisp 2018-02-25T07:23:58Z shka_ joined #lisp 2018-02-25T07:26:52Z fourier quit (Ping timeout: 245 seconds) 2018-02-25T07:35:32Z elderK quit (Quit: WeeChat 1.9) 2018-02-25T07:40:13Z fisxoj quit (Quit: fisxoj) 2018-02-25T07:41:06Z uuplusu__ quit (Remote host closed the connection) 2018-02-25T07:42:18Z Oladon quit (Quit: Leaving.) 2018-02-25T07:51:59Z figurehe4d quit (Remote host closed the connection) 2018-02-25T07:55:45Z FreeBirdLjj joined #lisp 2018-02-25T07:56:04Z mishoo joined #lisp 2018-02-25T07:56:18Z fourier joined #lisp 2018-02-25T07:59:26Z fikka quit (Ping timeout: 245 seconds) 2018-02-25T08:07:14Z phoe: On SBCL, how can I identify the thread that takes up 100% of my CPU if I have several worker threads? 2018-02-25T08:09:04Z st_iron: top -H 2018-02-25T08:09:19Z st_iron: or ps with -T 2018-02-25T08:09:33Z phoe: Yes, sure, but that will not give me the thread name assigned to it by BORDEAUX-THREADS, will it? 2018-02-25T08:09:48Z st_iron: i am not sure 2018-02-25T08:09:48Z phoe: Or by SBCL. 2018-02-25T08:10:02Z st_iron: probably htop has a feature that gives the thread names 2018-02-25T08:10:10Z phoe: I can see the thread in top or htop, no problem, but I want to identify *which* one it was, and what it was doing. 2018-02-25T08:10:19Z st_iron: oh, sorry then 2018-02-25T08:10:53Z st_iron: i misunderstood the question 2018-02-25T08:11:25Z shka_: phoe: i don't think there is a way to do it… 2018-02-25T08:12:45Z uuplusu joined #lisp 2018-02-25T08:12:58Z smurfrobot quit (Remote host closed the connection) 2018-02-25T08:13:28Z fourier: phoe: add logging and thread id to the worker thread 2018-02-25T08:14:26Z fourier: in c/c++/java etc ides you can just hit pause in debugger and investigate what your threads are doing. not sure how can you do it in CL other than logging 2018-02-25T08:14:28Z beach: It's an interesting point though. Any sophisticated Common Lisp debugger must be able to help in such situations. 2018-02-25T08:14:38Z phoe: fourier: I already have this. 2018-02-25T08:14:53Z phoe: I have a hash-table from thread objects to descriptions of the tasks that they are doing now. 2018-02-25T08:15:06Z python476 joined #lisp 2018-02-25T08:15:08Z phoe: But I have no way to figure out which task is stuck in a loop. 2018-02-25T08:15:27Z rumbler31 joined #lisp 2018-02-25T08:15:30Z shka_: phoe: KILL AM ALL!!! 2018-02-25T08:15:53Z phoe: shka_: this is silly. 2018-02-25T08:15:56Z shka_: it is 2018-02-25T08:16:13Z uuplusu quit (Ping timeout: 240 seconds) 2018-02-25T08:16:30Z shka_: but it should work to determine which one hang 2018-02-25T08:16:39Z shka_: if you do it one by one, that's it 2018-02-25T08:17:07Z phoe: Yes, of course, at the cost of  destroying what they were doing. 2018-02-25T08:17:19Z fourier: beach: the cl debuggers haven't evolved with the whole envirenmont these years. 2018-02-25T08:17:28Z phoe: I do not want to do this on production servers. 2018-02-25T08:19:28Z uuplusu joined #lisp 2018-02-25T08:19:47Z rumbler31 quit (Ping timeout: 245 seconds) 2018-02-25T08:19:49Z beach: fourier: I know. It is even fair to say that no free Common Lisp system even has a debugger worthy of that name. 2018-02-25T08:20:16Z jackdaniel: fwiw you may debug ecl with gdb which is a canonical debugger ,) 2018-02-25T08:20:56Z beach: Good point. Not ideal of course. 2018-02-25T08:20:57Z fourier: jackdaniel: yep gdb is a thing :)) 2018-02-25T08:21:53Z jackdaniel: abcl could be probably debugged with generic JVM tools too 2018-02-25T08:21:58Z jackdaniel: but I don't know that as a fact 2018-02-25T08:22:25Z shka_: phoe: well, perhaps you should try attach with GDB then 2018-02-25T08:22:45Z shka_: sbcl uses native threads, so they should show up 2018-02-25T08:22:58Z phoe: I will most likely get some thread IDs internal to the operating system. 2018-02-25T08:23:03Z phoe: So I get some OS IDs. 2018-02-25T08:23:10Z phoe: I need to map these to thread objects. 2018-02-25T08:23:22Z shka_: ok, sbcl should have way to do so 2018-02-25T08:23:26Z fourier: I find the general debugging in CL troublesome process. due to the nature of different rules like (if condition statement1 statement2) its not easy to add logging real quick - since I would have to add progn as well. also general unavailability of the nice stepper is a problem - the same with (break) - I have to modify my code and insteart progn there as well 2018-02-25T08:24:30Z fourier: the only nice debugging tool which fit the bill I found is Stepper in LW - and it was one of the reasons I've purchased it since it made my life so much easier 2018-02-25T08:26:09Z shka_: phoe: can't find anything in manual, though 2018-02-25T08:26:27Z smokeink: fourier: how is the stepper in LW different from the one in slime ? 2018-02-25T08:26:49Z fourier: dont know since I dont use slime anymore for active development.. 2018-02-25T08:27:42Z fourier: if you can record a simple debugging session with it and place on youtube/animated gif/etc I can take a look and tell the difference/similarities 2018-02-25T08:27:49Z smokeink: well I tried both and they're quite the same, in my experience 2018-02-25T08:27:51Z saki quit (Read error: Connection reset by peer) 2018-02-25T08:27:59Z smokeink: ok 2018-02-25T08:29:48Z jackdaniel: can anyone successfully call (ql:quickload 'clml) ;? I have a problem with loading package on sbcl 2018-02-25T08:31:05Z smokeink: System "clml.data.r-datasets-package" not found 2018-02-25T08:31:36Z shka_: jackdaniel: what is your heap size? 2018-02-25T08:32:28Z jackdaniel: I have the same as you smokeink, thanks 2018-02-25T08:32:50Z shka_: it loads for me 2018-02-25T08:32:58Z jackdaniel: I don't see why heap size would influence package finding(?) 2018-02-25T08:33:04Z jackdaniel: shka_: do you have newest ql dist? 2018-02-25T08:33:15Z jackdaniel: s/package/system/ 2018-02-25T08:33:16Z shka_: yup 2018-02-25T08:33:29Z jackdaniel: hm 2018-02-25T08:34:38Z shka_: but maybe it was cached 2018-02-25T08:34:38Z phoe: I could theoretically make a function that repeatedly calls (interrupt-thread thread #'break) on all thread objects, also printing them out for me. And I can watch when the CPU goes down. 2018-02-25T08:35:07Z phoe: Like, calls #'BREAK consecutively on the next thread when I continue in the current one. 2018-02-25T08:35:09Z smokeink: fourier: here are some gifs http://malisper.me/debugging-lisp-part-1-recompilation/ "When Tom tries to calculate the tenth Fibonacci with this code, a debugger window pops up because an error was signaled." ... 2018-02-25T08:35:10Z jackdaniel: OK, I get it – clml depends on some system which is internal to it, but this system is not declared in ql dist 2018-02-25T08:35:28Z jackdaniel: so the problem arises if you quickload clml without having it downloaded first 2018-02-25T08:35:55Z jackdaniel: it may be solved by quickloading clml.utils first (then tgz is downloaded and missing system is found) 2018-02-25T08:36:24Z shka_: interesting 2018-02-25T08:36:33Z saki joined #lisp 2018-02-25T08:37:10Z shka_: it loads for me 2018-02-25T08:37:19Z shka_: even after nuking cache 2018-02-25T08:37:21Z fourier: smokeink: I see. this is exactly what I dont like as I said - I want to have a "break" at any statement, and insterting manually (break) doesn't cut it - since it would force me to add progn for single-expression statements 2018-02-25T08:37:25Z jackdaniel: as I said, you probably had it already downloaded in ql 2018-02-25T08:37:39Z jackdaniel: I'm not talking about cache but sources in quicklisp/dists/quicklisp directory 2018-02-25T08:37:43Z shka_: maybe 2018-02-25T08:38:01Z fourier: while in LW I can just set breakpoint at any statement and then it will be hit the stepper will be popped out 2018-02-25T08:38:04Z shka_: it was a while since the last time used clml 2018-02-25T08:38:19Z smokeink: fourier: oh you're right, LW can set breakpoints on any sexp one wants 2018-02-25T08:39:36Z smokeink: I was thinking of coding a reader macro called bp! or something, that can be inserted anywhere and that does the progn wrapping and everything automatically 2018-02-25T08:40:00Z fourier: LW also has a process browser to see which threads are running, so in general its IDE really helps with debugging 2018-02-25T08:41:04Z phoe: fourier: #! is free for grabbing and looks like a good choice 2018-02-25T08:41:20Z phoe: ...for a breakpoint reader macro, that is 2018-02-25T08:41:30Z smokeink: cool 2018-02-25T08:41:40Z phoe: wait, not fourier 2018-02-25T08:41:42Z phoe: smokeink: 2018-02-25T08:43:29Z Mutex7 quit (Remote host closed the connection) 2018-02-25T08:43:31Z smokeink: and one can set a breakpoint keybinding in emacs and have this 'set breakpoint' functionality similar to the one in lispworks. Next, we need the view threads functionality . Doesn't slime have something for threads? slime is not useful for this particular threads issue you're experiencing now phoe? 2018-02-25T08:43:50Z smurfrobot joined #lisp 2018-02-25T08:44:03Z phoe: smokeink: I don't know 2018-02-25T08:44:24Z phoe: I can use (bt:all-threads) to get a list of all thread objects currently running. 2018-02-25T08:44:38Z phoe: But I have no interactive means of measuring which one is taking up CPU. 2018-02-25T08:44:51Z phoe: HTOP shows thread IDs, but I have no mapping from thread IDs to thread objects. 2018-02-25T08:45:39Z phoe: Hm. One second though. 2018-02-25T08:45:52Z phoe: What is the way of getting current PID on SBCL? 2018-02-25T08:46:02Z phoe: I wonder if this will differ when ran from different threads. 2018-02-25T08:46:18Z jmarcian` quit (Read error: No route to host) 2018-02-25T08:47:18Z jmarcian` joined #lisp 2018-02-25T08:47:45Z fikka joined #lisp 2018-02-25T08:48:31Z smurfrobot quit (Ping timeout: 245 seconds) 2018-02-25T08:49:48Z fourier: should be something like native thread id 2018-02-25T08:49:49Z phoe: On Linux, it seems that each thread gets its own PID. 2018-02-25T08:50:30Z phoe: This is my hope. 2018-02-25T08:50:57Z phoe: If I get mapping from PIDs to thread objects, I'm home. 2018-02-25T08:53:16Z smokeink: sb-thread:*current-thread* <- what are os-thread and primitive-thread slots in this structure ? 2018-02-25T08:53:23Z fourier: as soon as you able to get native pid from thread object, all you would need to do is to iterate over all thread objects to find the proper thread object 2018-02-25T08:53:55Z phoe: fourier: correct, (find pid (bt:all-threads) :key #'thread-pid) 2018-02-25T08:54:02Z phoe: All is missing is this #'THREAD-PID function. 2018-02-25T08:54:33Z phoe: smokeink: I have no idea. This is already SBCL internals. 2018-02-25T08:54:37Z damke joined #lisp 2018-02-25T08:54:58Z smokeink: perhaps one of them is the thread's id 2018-02-25T08:55:14Z fourier: ^ 2018-02-25T08:55:45Z phoe: nope. 2018-02-25T08:55:57Z phoe: run (describe sb-thread:*current-thread*) 2018-02-25T08:56:11Z phoe: these two values are some huge integers. 2018-02-25T08:56:33Z phoe: neither of them is the PID. 2018-02-25T08:56:40Z phoe: OS-THREAD = 140737353870208 2018-02-25T08:56:41Z phoe: PRIMITIVE-THREAD = 140737339621376 2018-02-25T08:56:56Z phoe: where my SBCL's PID is 31962. 2018-02-25T08:57:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-25T08:57:29Z random-nick joined #lisp 2018-02-25T08:58:10Z fourier: looks more like handles than integers 2018-02-25T08:58:17Z smokeink: I'm not sure PID is the same thing as thread-id 2018-02-25T08:58:35Z smokeink: http://ask.xmodulo.com/view-threads-process-linux.html check out this "Show custom thread names" htop screenshot 2018-02-25T08:59:25Z damke_ joined #lisp 2018-02-25T09:00:47Z smokeink: maybe the thread names set by sbcl are viewable in htop 2018-02-25T09:00:51Z fourier: sbcl have thread-name 2018-02-25T09:01:23Z fourier: no i dont think so, pthreads doesnt seem to have thread names, I guess these names are sbcl-only 2018-02-25T09:01:35Z fourier: or no it has 2018-02-25T09:01:43Z phoe: I can't see it on my machine. 2018-02-25T09:01:47Z phoe: All are named "sbcl". 2018-02-25T09:02:09Z damke quit (Ping timeout: 264 seconds) 2018-02-25T09:12:02Z smokeink: yeah same here... hmm what's this https://github.com/sile/taomp-sbcl/blob/master/thread-id.lisp 2018-02-25T09:13:57Z smokeink: I think it's not the OS thread id that it gets /\ 2018-02-25T09:14:00Z phoe: this is silly. 2018-02-25T09:14:12Z phoe: it calculates the position of the thread object on the list of all threads. 2018-02-25T09:14:30Z phoe: and the list of all threads can change at any time, even before the list-all-threads function returns. 2018-02-25T09:14:44Z smokeink: yes.. 2018-02-25T09:14:54Z phoe: and process can get killed. 2018-02-25T09:15:00Z phoe: so the ID you get from this can change over time. 2018-02-25T09:15:08Z phoe: s/process/threads/ 2018-02-25T09:16:06Z smokeink: https://www.linux.org.ru/forum/development/11998951 2018-02-25T09:17:25Z smokeink: (defun get-thread-handle 2018-02-25T09:20:36Z phoe: (sb-unix:unix-getpid) does not work as I'd like it to. 2018-02-25T09:20:37Z phoe: It returns the main process ID, not the thread's. 2018-02-25T09:20:44Z smokeink: try (sb-posix::getppid) 2018-02-25T09:21:27Z smokeink: it returns a different value, but no idea what it actually represents 2018-02-25T09:21:30Z stnutt_ quit (Ping timeout: 276 seconds) 2018-02-25T09:21:30Z p_l quit (Ping timeout: 276 seconds) 2018-02-25T09:21:52Z phoe: smokeink: not on my machine. 2018-02-25T09:21:55Z smokeink: oh it's the parent id, in my case the emacs 2018-02-25T09:22:18Z scymtym quit (Ping timeout: 245 seconds) 2018-02-25T09:23:04Z p_l joined #lisp 2018-02-25T09:23:38Z stnutt joined #lisp 2018-02-25T09:27:14Z quazimodo joined #lisp 2018-02-25T09:31:17Z patrixl joined #lisp 2018-02-25T09:32:53Z fikka quit (Ping timeout: 240 seconds) 2018-02-25T09:34:47Z AntiSpamMeta quit (*.net *.split) 2018-02-25T09:34:47Z TMA quit (*.net *.split) 2018-02-25T09:34:48Z earl-ducaine_ quit (*.net *.split) 2018-02-25T09:34:48Z l1x quit (*.net *.split) 2018-02-25T09:34:48Z shoogz quit (*.net *.split) 2018-02-25T09:34:48Z ja-barr quit (*.net *.split) 2018-02-25T09:34:48Z emaczen quit (*.net *.split) 2018-02-25T09:34:48Z beach quit (*.net *.split) 2018-02-25T09:34:48Z jdz quit (*.net *.split) 2018-02-25T09:34:49Z cpape quit (*.net *.split) 2018-02-25T09:34:49Z zkat quit (*.net *.split) 2018-02-25T09:34:49Z devlaf quit (*.net *.split) 2018-02-25T09:34:49Z thinkpad quit (*.net *.split) 2018-02-25T09:34:49Z mathrick quit (*.net *.split) 2018-02-25T09:34:49Z kark quit (*.net *.split) 2018-02-25T09:34:49Z antoszka quit (*.net *.split) 2018-02-25T09:34:49Z dotc quit (*.net *.split) 2018-02-25T09:34:50Z tkd quit (*.net *.split) 2018-02-25T09:34:50Z libreman quit (*.net *.split) 2018-02-25T09:34:50Z convexferret quit (*.net *.split) 2018-02-25T09:34:51Z __main__ quit (*.net *.split) 2018-02-25T09:34:51Z alms_clozure quit (*.net *.split) 2018-02-25T09:34:52Z gz_ quit (*.net *.split) 2018-02-25T09:34:52Z HDurer quit (*.net *.split) 2018-02-25T09:34:52Z azahi quit (*.net *.split) 2018-02-25T09:34:52Z leo_song_ quit (*.net *.split) 2018-02-25T09:34:52Z GGMethos quit (*.net *.split) 2018-02-25T09:34:52Z abbe quit (*.net *.split) 2018-02-25T09:34:52Z stux|RC-- quit (*.net *.split) 2018-02-25T09:34:52Z bkst quit (*.net *.split) 2018-02-25T09:34:52Z jasom quit (*.net *.split) 2018-02-25T09:34:53Z argoneus quit (*.net *.split) 2018-02-25T09:34:53Z shenghi quit (*.net *.split) 2018-02-25T09:34:53Z PyroLagus quit (*.net *.split) 2018-02-25T09:34:53Z esthlos quit (*.net *.split) 2018-02-25T09:35:41Z GGMethos joined #lisp 2018-02-25T09:39:21Z emaczen joined #lisp 2018-02-25T09:39:21Z AntiSpamMeta joined #lisp 2018-02-25T09:39:21Z TMA joined #lisp 2018-02-25T09:39:21Z earl-ducaine_ joined #lisp 2018-02-25T09:39:21Z l1x joined #lisp 2018-02-25T09:39:21Z shoogz joined #lisp 2018-02-25T09:39:21Z ja-barr joined #lisp 2018-02-25T09:39:21Z beach joined #lisp 2018-02-25T09:39:21Z jdz joined #lisp 2018-02-25T09:39:21Z cpape joined #lisp 2018-02-25T09:39:21Z zkat joined #lisp 2018-02-25T09:39:21Z devlaf joined #lisp 2018-02-25T09:39:21Z thinkpad joined #lisp 2018-02-25T09:39:21Z mathrick joined #lisp 2018-02-25T09:39:21Z kark joined #lisp 2018-02-25T09:39:21Z antoszka joined #lisp 2018-02-25T09:39:21Z dotc joined #lisp 2018-02-25T09:39:21Z tkd joined #lisp 2018-02-25T09:39:21Z libreman joined #lisp 2018-02-25T09:39:21Z convexferret joined #lisp 2018-02-25T09:39:21Z __main__ joined #lisp 2018-02-25T09:39:21Z alms_clozure joined #lisp 2018-02-25T09:39:21Z gz_ joined #lisp 2018-02-25T09:39:21Z HDurer joined #lisp 2018-02-25T09:39:21Z leo_song_ joined #lisp 2018-02-25T09:39:21Z abbe joined #lisp 2018-02-25T09:39:21Z stux|RC-- joined #lisp 2018-02-25T09:39:21Z bkst joined #lisp 2018-02-25T09:39:21Z jasom joined #lisp 2018-02-25T09:39:21Z argoneus joined #lisp 2018-02-25T09:39:21Z shenghi joined #lisp 2018-02-25T09:39:21Z PyroLagus joined #lisp 2018-02-25T09:39:21Z esthlos joined #lisp 2018-02-25T09:40:27Z patrixl quit (Remote host closed the connection) 2018-02-25T09:40:29Z luis quit (Ping timeout: 240 seconds) 2018-02-25T09:40:46Z dmiles quit (Ping timeout: 240 seconds) 2018-02-25T09:41:27Z azahi joined #lisp 2018-02-25T09:41:46Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-25T09:41:49Z saki quit (Ping timeout: 245 seconds) 2018-02-25T09:42:23Z saki joined #lisp 2018-02-25T09:43:19Z greaser|q quit (Read error: Connection reset by peer) 2018-02-25T09:43:45Z luis joined #lisp 2018-02-25T09:44:41Z smokeink: phoe: I think a solution is to syscall from within sbcl https://stackoverflow.com/questions/19350212/which-linux-syscall-is-used-to-get-a-threads-id using (sb-unix::syscal 2018-02-25T09:46:23Z phoe: I was looking at GETTID before, yes. 2018-02-25T09:47:00Z greaser|q joined #lisp 2018-02-25T09:47:00Z smokeink: but I haven't figured out yet how to do that... the syscall examples here are all for Win32api https://searchcode.com/file/5603613/src/code/unix.lisp 2018-02-25T09:47:09Z phoe: smokeink: https://github.com/sbcl/sbcl/blob/master/src/code/unix.lisp#L443 2018-02-25T09:47:27Z FreeBirdLjj joined #lisp 2018-02-25T09:47:28Z BitPuffin joined #lisp 2018-02-25T09:47:28Z phoe: But what if the TID is one of the crazy numbers we've seen in the thread structure? 2018-02-25T09:47:50Z phoe: I'll pause this question for now. I'll just break all threads until I see a decrease in CPU usage. 2018-02-25T09:49:13Z smokeink: I think the TID should be one of the numbers in the TID column this output: ps -To pid,tid -p `pidof sbcl` 2018-02-25T09:50:12Z smokeink: if not, then it should still be possible to obtain a mapping from the 'crazy number' to the number used by the OS 2018-02-25T09:52:20Z dmiles joined #lisp 2018-02-25T09:55:13Z damke joined #lisp 2018-02-25T09:56:04Z smokeink: (sb-alien:alien-funcall (sb-alien:extern-alien "getpid" (function sb-alien:unsigned)) ) ; getting close 2018-02-25T09:56:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-25T09:57:58Z krwq quit (Remote host closed the connection) 2018-02-25T09:58:28Z shoogz quit (Max SendQ exceeded) 2018-02-25T09:58:28Z stux|RC-- quit (Max SendQ exceeded) 2018-02-25T09:58:51Z stux|RC-only joined #lisp 2018-02-25T10:00:21Z shoogz joined #lisp 2018-02-25T10:00:29Z mlf quit (Read error: Connection reset by peer) 2018-02-25T10:00:39Z azahi quit (Ping timeout: 245 seconds) 2018-02-25T10:01:37Z azahi joined #lisp 2018-02-25T10:06:49Z smokeink: phoe: try this: (sb-alien:alien-funcall (sb-alien:extern-alien "syscall" (function sb-alien:unsigned int )) 224) 2018-02-25T10:11:01Z Tobbi joined #lisp 2018-02-25T10:15:30Z phoe: smokeink: returns 0xFFFFFFFFFFFFFFFF 2018-02-25T10:16:00Z smokeink: okay, then you must be using a different system. On my system it works perfectly. Find the gettid syscall code for your system and replace that 224 with it 2018-02-25T10:16:34Z phoe: I have a usual debian sid 2018-02-25T10:17:58Z smokeink: try 186 2018-02-25T10:19:24Z phoe: smokeink: that does the job, yes. 2018-02-25T10:22:37Z phoe: smokeink: https://gist.github.com/phoe/6eefaee33a8ae1ef924547221ee64597 2018-02-25T10:25:00Z phoe: smokeink: thanks! 2018-02-25T10:25:04Z smokeink: my pleasure 2018-02-25T10:25:13Z phoe: Except now I have a question. 2018-02-25T10:25:17Z phoe: I have a way to get a thread's ID, from *inside* that thread. 2018-02-25T10:25:33Z phoe: Therefore I will have to interrupt that thread to execute the syscall. 2018-02-25T10:25:35Z phoe: Is it safe? 2018-02-25T10:27:35Z smokeink: I have no idea.. :) but I think under the hood syscalls are always happening from within the thread 2018-02-25T10:27:36Z compro` joined #lisp 2018-02-25T10:27:50Z uuplusu quit (Remote host closed the connection) 2018-02-25T10:27:57Z damke quit (Ping timeout: 264 seconds) 2018-02-25T10:27:57Z uuplusu joined #lisp 2018-02-25T10:27:58Z smokeink: I might be wrong, though 2018-02-25T10:30:35Z compro quit (Ping timeout: 248 seconds) 2018-02-25T10:30:40Z smokeink: why do you have to interrupt the thread ? 2018-02-25T10:30:50Z phoe: How am I going to execute the syscall then? 2018-02-25T10:30:51Z phoe: I have a thread that takes up 100% of the CPU. 2018-02-25T10:31:19Z phoe: I need its PID. 2018-02-25T10:31:22Z phoe: I can't execute the syscall from outside the thread because it will give me the PID of the thread that executed the syscall. 2018-02-25T10:31:22Z phoe: That syscall can't be executed "on another thread's behalf". 2018-02-25T10:31:41Z phoe: Unless we patch SBCL, so it executes that syscall on thread creation and puts its return value inside a new slot in the THREAD structure. 2018-02-25T10:31:44Z damke joined #lisp 2018-02-25T10:31:56Z phoe: Which in turn generates issues for multiplatform support, because either it'll be Linux only and therefore ugly, or we do the same for all other platforms that it supports. 2018-02-25T10:32:01Z smokeink: can you patch the running thread ? and tell it to push its id and its thread-object into some list ? 2018-02-25T10:32:10Z phoe: Patch the running thread? How? 2018-02-25T10:35:59Z phoe: It's called interrupting it. 2018-02-25T10:36:00Z smokeink: I don't know whether it's possible, just thinking.. 2018-02-25T10:36:03Z compro` quit (Ping timeout: 252 seconds) 2018-02-25T10:36:03Z phoe: Sure thing that it can push it somewhere and then resume what it was doing. 2018-02-25T10:36:33Z phoe: Except I don't know if it's safe. 2018-02-25T10:36:36Z compro` joined #lisp 2018-02-25T10:36:44Z pjb joined #lisp 2018-02-25T10:37:06Z smokeink: just a random thought: is that thread making the machine run slow? Is it possible to change the priority of a thread and observe whether the machine got faster or not? if so, maybe playing with priorities is a way to find which of the threads is the culprit 2018-02-25T10:37:08Z phoe: If I go this way, I can (interrupt-thread thread #'break) and see if the CPU usage goes down from 100% to 0%. 2018-02-25T10:37:08Z phoe: That is safe enough to do. 2018-02-25T10:39:36Z disumu joined #lisp 2018-02-25T10:43:17Z josemanuel joined #lisp 2018-02-25T10:44:09Z damke quit (Ping timeout: 264 seconds) 2018-02-25T10:45:16Z d4ryus3 is now known as d4ryus 2018-02-25T10:45:54Z smokeink: phoe: maybe 2018-02-25T10:46:27Z damke joined #lisp 2018-02-25T10:47:30Z phoe: smokeink: that's what the SBCL manual tells me, anyway. 2018-02-25T10:48:05Z fikka joined #lisp 2018-02-25T10:49:39Z disumu quit (Remote host closed the connection) 2018-02-25T10:50:37Z smurfrobot joined #lisp 2018-02-25T10:54:53Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-25T10:55:06Z compro` quit (Quit: ERC (IRC client for Emacs 25.3.1)) 2018-02-25T10:55:56Z compro joined #lisp 2018-02-25T11:00:06Z damke quit (Read error: Connection reset by peer) 2018-02-25T11:00:51Z damke joined #lisp 2018-02-25T11:01:18Z makomo joined #lisp 2018-02-25T11:03:25Z learning joined #lisp 2018-02-25T11:03:31Z learning quit (Remote host closed the connection) 2018-02-25T11:07:27Z phoe: smokeink: https://bugs.launchpad.net/sbcl/+bug/1751562 2018-02-25T11:09:21Z isBEKaml joined #lisp 2018-02-25T11:16:27Z smokeink: https://stackoverflow.com/questions/28948415/get-thread-id-in-sbcl/48972801#48972801 2018-02-25T11:16:38Z willmichael joined #lisp 2018-02-25T11:17:36Z phoe: smokeink: yep. 2018-02-25T11:23:25Z fikka quit (Ping timeout: 260 seconds) 2018-02-25T11:28:50Z nullman` quit (Remote host closed the connection) 2018-02-25T11:28:51Z nullman joined #lisp 2018-02-25T11:34:30Z learning joined #lisp 2018-02-25T11:34:37Z fikka joined #lisp 2018-02-25T11:38:11Z compro quit (Remote host closed the connection) 2018-02-25T11:38:33Z compro joined #lisp 2018-02-25T11:40:22Z Arcaelyx_ joined #lisp 2018-02-25T11:42:57Z Arcaelyx quit (Ping timeout: 252 seconds) 2018-02-25T11:44:08Z uuplusu_ joined #lisp 2018-02-25T11:46:02Z fikka quit (Ping timeout: 245 seconds) 2018-02-25T11:47:42Z uuplusu quit (Ping timeout: 245 seconds) 2018-02-25T11:48:51Z shka_: looking for small package with sha1 2018-02-25T11:49:00Z shka_: ironclad has it, but it is rather large 2018-02-25T11:49:22Z smokeink: check if it's possible to steal sha1 from it 2018-02-25T11:49:48Z shka_: or use other hash function 2018-02-25T11:49:55Z shka_: for instance city-hash 2018-02-25T11:50:08Z phoe: shka_: why do you want to avoid ironclad? 2018-02-25T11:50:27Z shka_: phoe: because it is large, and i just want hash function 2018-02-25T11:50:28Z smokeink: phoe: that wine/ntdll/server.c get_unix_tid() code is nice. I updated the stackoverflow answer with a get-thread-id that works on windows 2018-02-25T11:50:31Z Xach: phoe: ironclad's functions are deeply interlinked into a framework. hard to isolate just what you need. 2018-02-25T11:50:40Z Xach: phoe: that's why i didn't use it. 2018-02-25T11:52:28Z Xach: shka_: http://www.obrezan.com/lisp/sha1/sha1.lisp and others are available 2018-02-25T11:52:38Z shka_: neat! 2018-02-25T11:52:42Z shka_: Xach: thanks! 2018-02-25T11:53:22Z fikka joined #lisp 2018-02-25T11:54:00Z phoe: Xach: yes, I see. 2018-02-25T11:54:14Z phoe: smokeink: woah, really!? it will also work on windows? let me see 2018-02-25T11:54:35Z phoe: hmmm 2018-02-25T11:54:36Z phoe: interesting 2018-02-25T12:00:07Z smokeink: phoe: turns out that for Windows a 1 liner is also possible: (sb-alien:alien-funcall (sb-alien:extern-alien "GetCurrentThreadId" (function sb-alien:unsigned))) 2018-02-25T12:00:25Z varjag joined #lisp 2018-02-25T12:00:33Z fikka quit (Ping timeout: 240 seconds) 2018-02-25T12:00:47Z phoe: smokeink: please put it in the SO answer as well! 2018-02-25T12:01:18Z scymtym joined #lisp 2018-02-25T12:02:22Z compro` joined #lisp 2018-02-25T12:02:37Z papachan joined #lisp 2018-02-25T12:04:14Z compro quit (Ping timeout: 260 seconds) 2018-02-25T12:04:37Z fikka joined #lisp 2018-02-25T12:08:57Z uuplusu_ quit (Remote host closed the connection) 2018-02-25T12:10:34Z uuplusu joined #lisp 2018-02-25T12:11:21Z attila_lendvai joined #lisp 2018-02-25T12:11:21Z attila_lendvai quit (Changing host) 2018-02-25T12:11:21Z attila_lendvai joined #lisp 2018-02-25T12:12:54Z scymtym_ joined #lisp 2018-02-25T12:13:37Z Patternm1ster quit (Quit: leaving) 2018-02-25T12:13:49Z Patternmaster joined #lisp 2018-02-25T12:16:29Z Arcaelyx_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-25T12:17:03Z scymtym quit (Ping timeout: 252 seconds) 2018-02-25T12:17:59Z Baggers joined #lisp 2018-02-25T12:18:36Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-25T12:19:45Z orivej joined #lisp 2018-02-25T12:22:35Z FreeBirdLjj joined #lisp 2018-02-25T12:22:47Z uuplusu quit (Remote host closed the connection) 2018-02-25T12:23:47Z oruppert joined #lisp 2018-02-25T12:25:35Z oruppert left #lisp 2018-02-25T12:35:39Z oruppert joined #lisp 2018-02-25T12:35:45Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-25T12:36:47Z oruppert: Is it possible to automatically show the docstring for functions in slime? 2018-02-25T12:37:06Z Xach: oruppert: I don't think there's a bulit-in feature for that. 2018-02-25T12:37:58Z oruppert: Xach: thanks 2018-02-25T12:38:23Z phoe: oruppert: the best thing I know is (documentation 'foo 'function). 2018-02-25T12:38:30Z phoe: but that's Lisp and not slime. 2018-02-25T12:38:36Z uuplusu joined #lisp 2018-02-25T12:39:54Z FreeBirdLjj joined #lisp 2018-02-25T12:41:06Z scymtym_: C-c C-d d describes the object at point. for symbols, the description usually includes the docstring. this is not automatic, of course. C-c C-d ? lists a bunch of useful functions 2018-02-25T12:41:35Z heurist`_ quit (Ping timeout: 240 seconds) 2018-02-25T12:43:55Z oruppert: It would be nice to see not only the argument list in the emacs message area, but also the first line of the docstring. 2018-02-25T12:44:08Z compro`` joined #lisp 2018-02-25T12:45:33Z compro` quit (Ping timeout: 240 seconds) 2018-02-25T12:46:36Z fourier: it would be long then 2018-02-25T12:47:30Z phoe: (subseq docstring 0 80) perhaps if the first line is longer than 80 chars 2018-02-25T12:47:31Z oruppert: fourier: arglist one line and first line of docstring one line 2018-02-25T12:47:38Z Shinmera: Things like auto-complete and company can give you the docstring in a popup 2018-02-25T12:48:04Z Bike joined #lisp 2018-02-25T12:48:15Z Amplituhedron joined #lisp 2018-02-25T12:48:23Z nowhereman_ joined #lisp 2018-02-25T12:48:57Z nowhere_man quit (Ping timeout: 252 seconds) 2018-02-25T12:49:16Z saki quit (Read error: Connection reset by peer) 2018-02-25T12:49:41Z fikka quit (Ping timeout: 252 seconds) 2018-02-25T12:51:02Z raynold quit (Quit: Connection closed for inactivity) 2018-02-25T12:53:55Z attila_lendvai quit (Quit: Leaving.) 2018-02-25T12:55:06Z shka_: Shinmera: hey, have you seen my message on github? 2018-02-25T12:55:11Z Shinmera: Yes 2018-02-25T12:55:18Z shka_: ok, cool 2018-02-25T12:55:24Z Shinmera: I get email notifications 2018-02-25T12:55:25Z makomo quit (Quit: WeeChat 1.9.1) 2018-02-25T12:55:31Z uuplusu quit (Remote host closed the connection) 2018-02-25T12:55:36Z shka_: just wanted to make sure :-) 2018-02-25T12:55:50Z makomo joined #lisp 2018-02-25T12:55:51Z makomo quit (Client Quit) 2018-02-25T12:56:11Z oruppert: It seams i can implement this by myself. Thanks for the hints. 2018-02-25T12:56:24Z makomo joined #lisp 2018-02-25T12:57:54Z saki joined #lisp 2018-02-25T12:59:51Z JenElizabeth joined #lisp 2018-02-25T13:00:07Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-25T13:01:02Z oruppert left #lisp 2018-02-25T13:03:13Z quazimodo quit (Ping timeout: 240 seconds) 2018-02-25T13:04:24Z FreeBirdLjj joined #lisp 2018-02-25T13:04:48Z solyd joined #lisp 2018-02-25T13:08:50Z heurist`_ joined #lisp 2018-02-25T13:09:18Z smurfrobot joined #lisp 2018-02-25T13:13:06Z smokeink: Let's say I have this fib function that breaks when the parameter n equals 2 , https://stackoverflow.com/questions/27889989/stepping-in-sbcl-from-within-the-debugger?rq=1 How to proceed to STEPPING , right after the (break) , without using slime's Return From Frame" (R) and manually typing (fib 2) ? You probably can't, depending on the Common Lisp implementation you are using. 2018-02-25T13:13:16Z smokeink: beach: with sbcl and slime, one can just press s after the break took place :) and it will go into stepping mode 2018-02-25T13:17:06Z rumbler31 joined #lisp 2018-02-25T13:19:04Z quazimodo joined #lisp 2018-02-25T13:20:58Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-25T13:21:27Z fourier quit (Ping timeout: 245 seconds) 2018-02-25T13:21:52Z rumbler31 quit (Ping timeout: 245 seconds) 2018-02-25T13:25:45Z beach: smokeink: Excellent! 2018-02-25T13:25:55Z FreeBirdLjj joined #lisp 2018-02-25T13:26:27Z ym quit (Remote host closed the connection) 2018-02-25T13:26:36Z Baggers: Is there a reliable way to check if a potential type specifier is valid? I have no use for this just curious. Closest I got was this horrible thing (handler-case (nth-value 1 (subtypep x nil)) (error ())) where x is the specifier 2018-02-25T13:26:54Z Bike: No. 2018-02-25T13:26:54Z Colleen: Bike: Shinmera said 4 hours, 42 minutes ago: The CCS stuff is not just metadata. It should be visible in the document. The ccsxml should be in the header https://github.com/Shinmera/talks/blob/master/els2018-glsl-oop/paper.tex#L31-L59 and after the abstract should be \printccsdesc https://github.com/Shinmera/talks/blob/master/els2018-glsl-oop/paper.tex#L85 2018-02-25T13:27:45Z Baggers: Bike: thanks 2018-02-25T13:27:51Z willmichael quit (Read error: Connection reset by peer) 2018-02-25T13:28:07Z willmichael joined #lisp 2018-02-25T13:28:51Z shifty joined #lisp 2018-02-25T13:30:23Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2018-02-25T13:32:43Z saki quit (Quit: saki) 2018-02-25T13:33:20Z Karl_Dscc joined #lisp 2018-02-25T13:33:58Z fikka joined #lisp 2018-02-25T13:34:23Z FreeBirdLjj joined #lisp 2018-02-25T13:34:41Z le4fy quit (Ping timeout: 256 seconds) 2018-02-25T13:37:32Z shoogz left #lisp 2018-02-25T13:38:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-25T13:39:10Z saki joined #lisp 2018-02-25T13:40:32Z smurfrobot quit (Remote host closed the connection) 2018-02-25T13:42:33Z parjanya quit (Ping timeout: 240 seconds) 2018-02-25T13:44:56Z FreeBirdLjj quit (Read error: Connection reset by peer) 2018-02-25T13:45:13Z FreeBirdLjj joined #lisp 2018-02-25T13:47:29Z makomo quit (Ping timeout: 260 seconds) 2018-02-25T13:48:43Z Patternmaster quit (Ping timeout: 252 seconds) 2018-02-25T13:50:46Z Xach: Baggers: did you update cepl re formatter issue? I wasn't sure on which end it got fixed... 2018-02-25T13:51:53Z Shinmera: Xach: maybe both. https://github.com/Shinmera/documentation-utils/issues/4#issuecomment-368309280 2018-02-25T13:52:55Z Baggers: Xach: yeah it should be fixed 2018-02-25T13:53:53Z burton` joined #lisp 2018-02-25T13:54:06Z Baggers: Xach: that and the alexandria related one 2018-02-25T13:54:44Z burton`: If I have a (handler-case .... (error (e) (print e))) form, how do I get the actual error string from the condition 'e', rather than a non-readable representation of the error? 2018-02-25T13:54:58Z Bike: write-to-string 2018-02-25T13:55:03Z Bike: maybe with :pretty t or something 2018-02-25T13:55:14Z loke: (format nil "~a" condition) 2018-02-25T13:55:16Z Bike: there's no "error string" in general, just a procedure to make a string 2018-02-25T13:55:51Z burton`: with write-to-string I still get "#" 2018-02-25T13:56:11Z burton`: I'm thinking there's a more specific error message 'inside' the error object 2018-02-25T13:57:00Z burton`: ah, found it 2018-02-25T13:57:07Z burton`: thanks for your help 2018-02-25T14:07:24Z compro`` quit (Quit: ERC (IRC client for Emacs 25.3.1)) 2018-02-25T14:07:57Z compro joined #lisp 2018-02-25T14:10:58Z pjb: or princ-to-string 2018-02-25T14:12:28Z Patternmaster joined #lisp 2018-02-25T14:21:53Z wigust- quit (Ping timeout: 240 seconds) 2018-02-25T14:26:50Z wladz_ quit (Ping timeout: 255 seconds) 2018-02-25T14:27:52Z wladz joined #lisp 2018-02-25T14:30:00Z bms_ joined #lisp 2018-02-25T14:31:17Z papachan quit (Quit: WeeChat 2.0.1) 2018-02-25T14:31:25Z le4fy joined #lisp 2018-02-25T14:31:46Z asarch joined #lisp 2018-02-25T14:32:09Z bms_ quit (Client Quit) 2018-02-25T14:38:23Z smokeink quit (Quit: Leaving) 2018-02-25T14:42:17Z oxo1o1o1o quit (Ping timeout: 245 seconds) 2018-02-25T14:43:11Z makomo joined #lisp 2018-02-25T14:46:39Z fikka joined #lisp 2018-02-25T14:46:40Z Naergon joined #lisp 2018-02-25T14:48:29Z hel-io joined #lisp 2018-02-25T14:51:27Z fikka quit (Ping timeout: 245 seconds) 2018-02-25T14:52:12Z asarch: I found this: https://en.wikipedia.org/wiki/Greenspun%27s_tenth_rule 2018-02-25T14:52:27Z saki quit (Ping timeout: 240 seconds) 2018-02-25T14:59:06Z fikka joined #lisp 2018-02-25T14:59:38Z nopf joined #lisp 2018-02-25T15:00:51Z milanj quit (Quit: This computer has gone to sleep) 2018-02-25T15:04:01Z omilu joined #lisp 2018-02-25T15:04:44Z phoe: asarch: this is a valid finding 2018-02-25T15:04:55Z ym joined #lisp 2018-02-25T15:05:43Z Amplituhedron quit (Ping timeout: 252 seconds) 2018-02-25T15:06:58Z saki joined #lisp 2018-02-25T15:07:32Z EvW joined #lisp 2018-02-25T15:09:04Z mareskeg joined #lisp 2018-02-25T15:10:36Z shifty quit (Ping timeout: 245 seconds) 2018-02-25T15:11:40Z fe[nl]ix: nydel: did the script work ? 2018-02-25T15:23:22Z fikka quit (Quit: leaving) 2018-02-25T15:23:42Z fikka joined #lisp 2018-02-25T15:23:57Z nowhereman_ quit (Ping timeout: 245 seconds) 2018-02-25T15:23:59Z nowhere_man joined #lisp 2018-02-25T15:42:44Z python476 quit (Read error: Connection reset by peer) 2018-02-25T15:43:43Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-25T15:44:13Z JenElizabeth quit (Ping timeout: 252 seconds) 2018-02-25T15:48:48Z damke_ joined #lisp 2018-02-25T15:49:41Z smurfrobot joined #lisp 2018-02-25T15:50:34Z jmercouris joined #lisp 2018-02-25T15:50:45Z damke quit (Ping timeout: 264 seconds) 2018-02-25T15:52:33Z EvW quit (Ping timeout: 240 seconds) 2018-02-25T15:54:49Z rippa joined #lisp 2018-02-25T15:54:53Z flak quit (Ping timeout: 240 seconds) 2018-02-25T15:56:44Z jmercouris: I saw that post on reddit about Lush, and it had me thinking, are there any usable shells written in lisp? 2018-02-25T15:57:25Z random-nick: there's eshell, but that's emacs lisp 2018-02-25T15:57:50Z jmercouris: right of course 2018-02-25T15:57:54Z jmercouris: I meant something not tied to emacs though 2018-02-25T15:58:34Z Shinmera: I recall hearing of multiple such projects, but they never really took off because Lisp is a bit verbose for scripting. 2018-02-25T15:58:54Z Shinmera: Can't recall names, though. 2018-02-25T15:59:19Z beach: I recall at least one written in Scheme. 2018-02-25T15:59:26Z beach: scsh or something like that. 2018-02-25T16:00:28Z jmercouris: Shinmera: Can you expand what you mean by it being verbose? 2018-02-25T16:00:50Z Shinmera: Uh, it takes a lot of characters to do a thing. 2018-02-25T16:01:12Z jmercouris: Huh? I'm still not following you 2018-02-25T16:01:17Z jmercouris: Lisp doesn't seem very verbose 2018-02-25T16:01:37Z random-nick: it's a lot more verbose than bash 2018-02-25T16:02:06Z jmercouris: I guess it's all relative, I was never good at shell scripting, so I've not had this "succinct" experience 2018-02-25T16:02:08Z beach: (with-unix-commands-linked-together-with-pipes "ls" "more") 2018-02-25T16:02:28Z jmercouris: You could ship the shell with a set of macros that make operations like that easier 2018-02-25T16:02:54Z Shinmera: Sure. But at some point you'd just be writing bash again (or your variant of it). 2018-02-25T16:03:34Z beach: jmercouris: Oh, you want the syntax to be just like sh or bash, but you want it written in Common Lisp? 2018-02-25T16:03:35Z jmercouris: What I think would be cool though would be that your "shell scripts" could be written in lisp 2018-02-25T16:03:46Z jmercouris: but at the repl you could use the "succinct" syntax 2018-02-25T16:03:58Z jmercouris: beach: yeah, something like that, so you can still use Lisp 2018-02-25T16:04:00Z Shinmera: Well you can already. Many implementations support the shebang header. 2018-02-25T16:04:10Z trittweiler joined #lisp 2018-02-25T16:04:14Z Xach: jmercouris: rob warnock wrote about his "OPFR" syntax on comp.lang.lisp from time to time. it was interesting to me. 2018-02-25T16:04:32Z Xach: https://www.xach.com/rpw3/articles/search?q=opfr 2018-02-25T16:04:54Z jmercouris: #!/bin/sbcl and it'll work? 2018-02-25T16:05:02Z phoe: jmercouris: SBCL works like this, I think 2018-02-25T16:05:04Z jmercouris: or whatever the path to your implementation is 2018-02-25T16:05:05Z python476 joined #lisp 2018-02-25T16:05:12Z Shinmera: Yes 2018-02-25T16:05:23Z jmercouris: how is this achieved? 2018-02-25T16:06:00Z Shinmera: You can put #!/whatever/dude at the top of a file and the shell will call that executable with the file. 2018-02-25T16:06:19Z jmercouris: Ah, so it is not up to the implementation to support that 2018-02-25T16:06:27Z jmercouris: but the implementation must be able to be piped to? 2018-02-25T16:06:30Z Shinmera: Well the implementation needs to know not to choke on the shebang 2018-02-25T16:06:36Z jmercouris: ok 2018-02-25T16:06:54Z phoe: Shinmera: a funny corner case 2018-02-25T16:06:56Z jmercouris: ok so it will literally invoke /bin/sbcl path/to/file/invoked 2018-02-25T16:07:02Z phoe: what if I implement a #! reader macro? 2018-02-25T16:07:28Z Shinmera: I'm quite sure the shebang will be processed before your file reaches the reader. 2018-02-25T16:07:53Z saki quit (Ping timeout: 240 seconds) 2018-02-25T16:08:06Z jmercouris: Xach: interesting, thanks for sharing 2018-02-25T16:08:55Z erikc joined #lisp 2018-02-25T16:11:43Z python476 quit (Ping timeout: 252 seconds) 2018-02-25T16:11:55Z smurfrobot quit (Remote host closed the connection) 2018-02-25T16:12:00Z saki joined #lisp 2018-02-25T16:13:24Z EvW joined #lisp 2018-02-25T16:14:14Z FreeBirdLjj joined #lisp 2018-02-25T16:15:30Z solyd quit (Ping timeout: 256 seconds) 2018-02-25T16:15:53Z jkjjkjkjkjkj joined #lisp 2018-02-25T16:16:01Z jstypo quit (Ping timeout: 248 seconds) 2018-02-25T16:17:05Z jstypo joined #lisp 2018-02-25T16:18:24Z milanj joined #lisp 2018-02-25T16:26:56Z saki quit (Quit: saki) 2018-02-25T16:26:59Z smurfrobot joined #lisp 2018-02-25T16:27:19Z saki joined #lisp 2018-02-25T16:28:17Z heurist`_ quit (Ping timeout: 248 seconds) 2018-02-25T16:29:40Z python476 joined #lisp 2018-02-25T16:31:35Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-25T16:31:51Z lnostdal joined #lisp 2018-02-25T16:32:37Z fisxoj joined #lisp 2018-02-25T16:36:03Z FreeBirdLjj joined #lisp 2018-02-25T16:41:22Z fisxoj quit (Quit: fisxoj) 2018-02-25T16:44:27Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-25T16:48:38Z dim: https://gist.github.com/posener/73ffd326d88483df6b1cb66e8ed1e0bd is about Writing Scripts with Go and contains some info about the #! Linux tricks that we might be able to re-use for CL 2018-02-25T16:48:59Z FreeBirdLjj joined #lisp 2018-02-25T16:50:31Z dim: that's not the document I thought this was 2018-02-25T16:50:37Z dim: google-fu is failing me today it seems 2018-02-25T16:51:22Z dim: https://blog.cloudflare.com/using-go-as-a-scripting-language-in-linux/ 2018-02-25T16:51:53Z fikka quit (Ping timeout: 240 seconds) 2018-02-25T16:52:51Z dim: they play with binfmt_misc to have /usr/local/bin/gorun take care of #! scripts that are *.go 2018-02-25T16:52:58Z fikka joined #lisp 2018-02-25T16:53:09Z dim: I guess we could do something for *.lisp in the same vein 2018-02-25T16:53:23Z Xach: rob warnock has a nice trampoline for lisp stuff for shells 2018-02-25T16:53:28Z Xach: I've used it a bit 2018-02-25T16:53:30Z dim: isn't roswell already doing that btw? 2018-02-25T16:54:46Z smurfrobot quit (Remote host closed the connection) 2018-02-25T16:54:59Z EvW quit (Ping timeout: 252 seconds) 2018-02-25T16:55:21Z heurist`_ joined #lisp 2018-02-25T16:55:22Z Xach: ah yes 2018-02-25T16:55:28Z Xach: https://www.xach.com/rpw3/articles/ne2cnUA7sqeQe7ndXTWc-w@speakeasy.net.html 2018-02-25T16:55:44Z jstypo quit (Read error: Connection reset by peer) 2018-02-25T16:55:51Z dieggsy joined #lisp 2018-02-25T16:57:55Z trittweiler quit (Ping timeout: 252 seconds) 2018-02-25T17:00:28Z damke joined #lisp 2018-02-25T17:00:31Z raynold joined #lisp 2018-02-25T17:01:17Z dim: 14 years old recipe... 2018-02-25T17:02:39Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-25T17:03:12Z dim: why not just create a binary? 2018-02-25T17:03:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-25T17:05:50Z hel-io quit 2018-02-25T17:06:21Z FreeBirdLjj joined #lisp 2018-02-25T17:08:07Z EvW joined #lisp 2018-02-25T17:11:51Z jstypo joined #lisp 2018-02-25T17:13:15Z cmatei quit (Remote host closed the connection) 2018-02-25T17:13:26Z papachan joined #lisp 2018-02-25T17:15:02Z Xach: dim: It's not to illustrate an ideal situation, but a tool in the toolbox that may come in handy 2018-02-25T17:15:52Z Xach: It's pretty lightweight and doesn't rely on your lisp supporting shebang or anything. 2018-02-25T17:16:38Z Xach: I had a variation that took advantage of # starting a shell comment and #| starting a multi-line CL comment...something like (short paste a-coming) 2018-02-25T17:16:47Z Xach: ":" 2018-02-25T17:16:50Z Xach: #| 2018-02-25T17:17:05Z cmatei joined #lisp 2018-02-25T17:17:05Z Xach: exec sbcl --load 2018-02-25T17:17:07Z Xach: |# 2018-02-25T17:17:12Z Xach: (lisp code here) 2018-02-25T17:17:27Z Xach: lisp didn't see the shell part, and vice versa 2018-02-25T17:18:12Z rumbler31 joined #lisp 2018-02-25T17:18:36Z Oladon joined #lisp 2018-02-25T17:22:33Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-25T17:23:07Z rumbler31 quit (Ping timeout: 245 seconds) 2018-02-25T17:23:32Z FreeBirdLjj joined #lisp 2018-02-25T17:24:08Z Arcaelyx joined #lisp 2018-02-25T17:27:59Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2018-02-25T17:31:53Z FreeBirdLjj joined #lisp 2018-02-25T17:44:33Z fikka quit (Ping timeout: 240 seconds) 2018-02-25T17:44:35Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-25T17:47:15Z shka_: i have lparallel question 2018-02-25T17:47:21Z phoe: shka_: ask it 2018-02-25T17:47:46Z shka_: is it possible to deadlock lparallel by calling pmap inside pmap? 2018-02-25T17:48:01Z phoe: shka_: seemingly yes 2018-02-25T17:48:10Z shka_: you don't know, don't you? 2018-02-25T17:48:18Z phoe: I can imagine how it is possible to deadlock them 2018-02-25T17:48:21Z phoe: PMAP is blocking 2018-02-25T17:48:29Z phoe: so your workers will be blocked, waiting for PMAP to complete 2018-02-25T17:48:31Z willmichael quit (Ping timeout: 252 seconds) 2018-02-25T17:48:37Z phoe: but PMAP will never complete because all workers are blocked 2018-02-25T17:48:49Z shka_: yes, that' why i am asking 2018-02-25T17:48:59Z FreeBirdLjj joined #lisp 2018-02-25T17:49:06Z willmichael joined #lisp 2018-02-25T17:49:34Z shka_: but on the other hand, since pmap blocks thread, it can designate it's home thread for computation 2018-02-25T17:49:57Z shka_: this way, it will never deadlock, unless you explicitly put it in future 2018-02-25T17:50:19Z shka_: phoe: do you understand? 2018-02-25T17:50:34Z solyd joined #lisp 2018-02-25T17:50:49Z phoe: shka_: yep. 2018-02-25T17:51:06Z shka_: sigh 2018-02-25T17:51:11Z shka_: i guess i check the source code 2018-02-25T17:51:14Z phoe: from what I understand, PMAP should never be put in code that the workers are executing. 2018-02-25T17:51:28Z phoe: or calls to any other PFOO, for the matter. 2018-02-25T17:52:37Z axg joined #lisp 2018-02-25T17:53:06Z willmichael quit (Ping timeout: 245 seconds) 2018-02-25T17:53:11Z papachan quit (Quit: WeeChat 2.0.1) 2018-02-25T17:54:20Z shka_: phoe: you are not mistaken, but it is not in docs 2018-02-25T17:54:31Z fikka joined #lisp 2018-02-25T17:55:00Z phoe: shka_: you can theoretically put calls to parallel functions in there, as long as you redefine *KERNEL* to something else 2018-02-25T17:55:05Z willmichael joined #lisp 2018-02-25T17:55:12Z phoe: which kind of misses the point 2018-02-25T17:55:20Z shka_: that's kinda defeats the point 2018-02-25T17:56:02Z phoe: it's like creating a thread that waits for itself to join 2018-02-25T17:56:11Z shka_: well, in future we trust! 2018-02-25T17:57:10Z kolko joined #lisp 2018-02-25T17:57:21Z mlf joined #lisp 2018-02-25T17:59:44Z shka_: having said that, i can't do this for everything 2018-02-25T18:00:04Z shka_: but should not matter 2018-02-25T18:02:02Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-25T18:03:08Z terpri quit (Remote host closed the connection) 2018-02-25T18:06:11Z FreeBirdLjj joined #lisp 2018-02-25T18:07:26Z mareskeg quit (Read error: Connection reset by peer) 2018-02-25T18:07:40Z solyd quit (Quit: solyd) 2018-02-25T18:07:52Z mareskeg joined #lisp 2018-02-25T18:08:13Z PinealGlandOptic joined #lisp 2018-02-25T18:10:10Z mareskeg quit (Client Quit) 2018-02-25T18:10:19Z smasta joined #lisp 2018-02-25T18:12:41Z AxelAlex quit (Quit: AxelAlex) 2018-02-25T18:15:05Z kolko quit (Quit: ZNC - http://znc.in) 2018-02-25T18:15:31Z kolko joined #lisp 2018-02-25T18:16:14Z willmichael quit (Read error: Connection reset by peer) 2018-02-25T18:18:47Z Karl_Dscc quit (Remote host closed the connection) 2018-02-25T18:19:47Z dieggsy quit (Ping timeout: 245 seconds) 2018-02-25T18:22:15Z scymtym_ quit (Ping timeout: 252 seconds) 2018-02-25T18:22:32Z krwq joined #lisp 2018-02-25T18:25:33Z terpri joined #lisp 2018-02-25T18:28:07Z kolko quit (Ping timeout: 252 seconds) 2018-02-25T18:30:26Z kolko joined #lisp 2018-02-25T18:33:13Z smurfrobot joined #lisp 2018-02-25T18:34:23Z fourier joined #lisp 2018-02-25T18:36:27Z smasta quit (Ping timeout: 245 seconds) 2018-02-25T18:37:39Z smurfrobot quit (Ping timeout: 252 seconds) 2018-02-25T18:40:12Z scymtym joined #lisp 2018-02-25T18:43:41Z dtornabene joined #lisp 2018-02-25T18:43:53Z EvW quit (Ping timeout: 240 seconds) 2018-02-25T18:44:59Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-25T18:49:02Z FreeBirdLjj joined #lisp 2018-02-25T18:49:09Z willmichael joined #lisp 2018-02-25T18:49:35Z axg quit (Quit: leaving) 2018-02-25T18:52:49Z stacksmith joined #lisp 2018-02-25T18:53:07Z FreeBirdLjj quit (Ping timeout: 245 seconds) 2018-02-25T18:55:15Z kolko quit (Ping timeout: 252 seconds) 2018-02-25T18:58:26Z igemnace joined #lisp 2018-02-25T19:01:40Z FreeBirdLjj joined #lisp 2018-02-25T19:01:51Z fourier quit (Ping timeout: 252 seconds) 2018-02-25T19:03:42Z damke_ joined #lisp 2018-02-25T19:06:21Z damke quit (Ping timeout: 264 seconds) 2018-02-25T19:08:26Z willmichael quit (Read error: Connection reset by peer) 2018-02-25T19:08:27Z Naergon quit (Ping timeout: 240 seconds) 2018-02-25T19:08:40Z willmichael joined #lisp 2018-02-25T19:08:50Z smasta joined #lisp 2018-02-25T19:16:17Z ninegrid quit (Quit: leaving) 2018-02-25T19:23:35Z rumbler31 joined #lisp 2018-02-25T19:23:47Z lnostdal quit (Ping timeout: 255 seconds) 2018-02-25T19:26:11Z EvW1 joined #lisp 2018-02-25T19:27:09Z milanj quit (Quit: This computer has gone to sleep) 2018-02-25T19:27:56Z FreeBirdLjj quit (Ping timeout: 276 seconds) 2018-02-25T19:30:34Z milanj joined #lisp 2018-02-25T19:31:34Z FreeBirdLjj joined #lisp 2018-02-25T19:32:37Z smurfrobot joined #lisp 2018-02-25T19:35:38Z Jesin joined #lisp 2018-02-25T19:35:53Z fourier joined #lisp 2018-02-25T19:35:58Z msb joined #lisp 2018-02-25T19:36:52Z smurfrobot quit (Ping timeout: 245 seconds) 2018-02-25T19:37:03Z makomo quit (Ping timeout: 252 seconds) 2018-02-25T19:37:55Z parjanya joined #lisp 2018-02-25T19:40:11Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-25T19:40:43Z Kundry_Wag joined #lisp 2018-02-25T19:44:26Z FreeBirdLjj joined #lisp 2018-02-25T19:48:12Z smurfrobot joined #lisp 2018-02-25T19:48:15Z hel-io joined #lisp 2018-02-25T19:48:56Z willmichael quit (Ping timeout: 245 seconds) 2018-02-25T19:49:44Z Arcaelyx_ joined #lisp 2018-02-25T19:52:17Z Arcaelyx quit (Ping timeout: 245 seconds) 2018-02-25T19:53:09Z krwq: what's the most generic specialization for strings in defgeneric? I've tried using just `string` but it seems that when element is #<(SIMPLE-ARRAY CHARACTER (3)) {10099D919F}> this doesn't worl 2018-02-25T19:53:57Z fikka quit (Ping timeout: 245 seconds) 2018-02-25T19:57:34Z willmichael joined #lisp 2018-02-25T19:58:50Z phoe: krwq: (stringp (make-array 10 :element-type 'character)) ;=> T 2018-02-25T19:58:55Z phoe: I have no idea what's going on 2018-02-25T19:58:57Z random-nick quit (Ping timeout: 248 seconds) 2018-02-25T19:59:25Z krwq: phoe: I'll try restarting lisp - I think something weird happened 2018-02-25T19:59:34Z krwq: maybe some symbol got interned in the wrong package 2018-02-25T20:00:33Z comborico1611 joined #lisp 2018-02-25T20:01:47Z FreeBirdLjj quit (Read error: Connection timed out) 2018-02-25T20:04:11Z makomo joined #lisp 2018-02-25T20:04:59Z krwq: I legitimately don't know wtf 2018-02-25T20:05:06Z krwq: it's not about string though 2018-02-25T20:06:11Z krwq: I'm seeing method specialization with the exact types compiler claims it cannot find 2018-02-25T20:06:24Z krwq: probably something stupid 2018-02-25T20:07:10Z krwq: is there a way to force errors when generic functions are created implicitly when defmethod is used? 2018-02-25T20:08:18Z Bike: not in any way that's not overcomplicated, i don't think. 2018-02-25T20:08:19Z Kundry_Wag_ joined #lisp 2018-02-25T20:08:54Z krwq: omg i know, I got (foo) instead of foo and couldn't see the brackets on the error 2018-02-25T20:08:58Z fourier: fe[nl]ix: I've fixed that you've requested in osicat pull requests(there are 2 from me), but there is something strange on travis - sbcl unable to install.. I guess 2018-02-25T20:09:20Z Kundry_W_ joined #lisp 2018-02-25T20:09:31Z FreeBirdLjj joined #lisp 2018-02-25T20:10:02Z smurfrobot quit (Remote host closed the connection) 2018-02-25T20:10:38Z smurfrobot joined #lisp 2018-02-25T20:11:53Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-02-25T20:12:53Z Kundry_Wag_ quit (Ping timeout: 240 seconds) 2018-02-25T20:13:53Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-25T20:14:49Z smurfrobot quit (Ping timeout: 252 seconds) 2018-02-25T20:18:28Z dieggsy joined #lisp 2018-02-25T20:18:53Z smurfrobot joined #lisp 2018-02-25T20:19:59Z Karl_Dscc joined #lisp 2018-02-25T20:22:37Z fikka joined #lisp 2018-02-25T20:23:34Z smurfrobot quit (Ping timeout: 260 seconds) 2018-02-25T20:23:49Z random-nick joined #lisp 2018-02-25T20:28:15Z mishoo quit (Ping timeout: 248 seconds) 2018-02-25T20:29:04Z Chream_ joined #lisp 2018-02-25T20:30:52Z comborico1611: I've got some newb questions in the other channel, if anyone is up for it. 2018-02-25T20:31:57Z krwq quit (Remote host closed the connection) 2018-02-25T20:32:09Z Kundry_Wag joined #lisp 2018-02-25T20:35:22Z Kundry_Wag_ joined #lisp 2018-02-25T20:35:33Z Kundry_W_ quit (Ping timeout: 240 seconds) 2018-02-25T20:35:44Z FreeBirdLjj joined #lisp 2018-02-25T20:35:56Z mishoo joined #lisp 2018-02-25T20:36:37Z sthalik quit (Read error: Connection reset by peer) 2018-02-25T20:38:17Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-02-25T20:38:21Z sthalik joined #lisp 2018-02-25T20:40:05Z smurfrobot joined #lisp 2018-02-25T20:41:39Z vlatkoB quit (Remote host closed the connection) 2018-02-25T20:42:37Z Chream_2 joined #lisp 2018-02-25T20:42:37Z Chream_ quit (Read error: Connection reset by peer) 2018-02-25T20:43:03Z AxelAlex joined #lisp 2018-02-25T20:44:46Z Kundry_Wag_ quit (Remote host closed the connection) 2018-02-25T20:44:47Z smurfrobot quit (Ping timeout: 245 seconds) 2018-02-25T20:45:23Z Kundry_Wag joined #lisp 2018-02-25T20:47:42Z AxelAlex quit (Ping timeout: 245 seconds) 2018-02-25T20:47:44Z aindilis joined #lisp 2018-02-25T20:49:02Z AxelAlex joined #lisp 2018-02-25T20:49:31Z phoe: comborico1611: sure, I'm there. 2018-02-25T20:49:39Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-02-25T20:55:33Z fikka quit (Ping timeout: 256 seconds) 2018-02-25T20:56:31Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-25T21:00:53Z FreeBirdLjj joined #lisp 2018-02-25T21:00:55Z smurfrobot joined #lisp 2018-02-25T21:02:42Z aindilis quit (Remote host closed the connection) 2018-02-25T21:03:11Z fikka joined #lisp 2018-02-25T21:04:11Z damke joined #lisp 2018-02-25T21:05:05Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-25T21:05:47Z aindilis joined #lisp 2018-02-25T21:06:29Z AxelAlex quit (Remote host closed the connection) 2018-02-25T21:06:42Z AxelAlex joined #lisp 2018-02-25T21:06:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-25T21:09:40Z random-nick quit (Read error: Connection reset by peer) 2018-02-25T21:09:54Z AxelAlex quit (Remote host closed the connection) 2018-02-25T21:10:12Z AxelAlex joined #lisp 2018-02-25T21:10:49Z AxelAlex quit (Client Quit) 2018-02-25T21:14:09Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-25T21:15:13Z willmichael quit (Ping timeout: 248 seconds) 2018-02-25T21:15:36Z willmichael joined #lisp 2018-02-25T21:16:35Z willmichael quit (Read error: Connection reset by peer) 2018-02-25T21:16:48Z willmichael joined #lisp 2018-02-25T21:18:16Z FreeBirdLjj joined #lisp 2018-02-25T21:18:23Z borei quit (Quit: Leaving.) 2018-02-25T21:20:41Z Oladon quit (Quit: Leaving.) 2018-02-25T21:23:10Z knicklux quit (Quit: Leaving) 2018-02-25T21:25:53Z nowhere_man quit (Ping timeout: 240 seconds) 2018-02-25T21:26:11Z nowhere_man joined #lisp 2018-02-25T21:31:07Z asarch quit (Quit: Leaving) 2018-02-25T21:32:54Z smurfrobot joined #lisp 2018-02-25T21:35:40Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-25T21:36:02Z fikka quit (Ping timeout: 245 seconds) 2018-02-25T21:37:27Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-25T21:38:49Z smurfrobot joined #lisp 2018-02-25T21:39:50Z FreeBirdLjj joined #lisp 2018-02-25T21:43:05Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-25T21:43:43Z fikka joined #lisp 2018-02-25T21:44:05Z mishoo quit (Ping timeout: 240 seconds) 2018-02-25T21:50:47Z igemnace quit (Quit: WeeChat 2.0.1) 2018-02-25T21:51:59Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-25T21:52:02Z ninegrid joined #lisp 2018-02-25T21:53:56Z mareskeg joined #lisp 2018-02-25T21:56:45Z fourier quit (Ping timeout: 252 seconds) 2018-02-25T22:07:42Z mareskeg quit (Quit: mareskeg) 2018-02-25T22:07:56Z Kundry_Wag joined #lisp 2018-02-25T22:08:33Z Chream_2 quit (Ping timeout: 240 seconds) 2018-02-25T22:09:11Z Chream_ joined #lisp 2018-02-25T22:10:58Z hel-io quit 2018-02-25T22:11:38Z Oladon joined #lisp 2018-02-25T22:13:52Z FreeBirdLjj joined #lisp 2018-02-25T22:15:47Z Chream_ quit (Read error: Connection reset by peer) 2018-02-25T22:20:17Z mareskeg joined #lisp 2018-02-25T22:23:46Z Chream_ joined #lisp 2018-02-25T22:24:00Z Kundry_Wag quit (Remote host closed the connection) 2018-02-25T22:24:01Z mishoo joined #lisp 2018-02-25T22:24:36Z Kundry_Wag joined #lisp 2018-02-25T22:27:14Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-25T22:27:59Z mareskeg quit (Quit: mareskeg) 2018-02-25T22:28:53Z willmichael quit (Ping timeout: 240 seconds) 2018-02-25T22:28:53Z mareskeg joined #lisp 2018-02-25T22:28:57Z Kundry_Wag quit (Ping timeout: 245 seconds) 2018-02-25T22:30:57Z FreeBirdLjj joined #lisp 2018-02-25T22:31:32Z willmichael joined #lisp 2018-02-25T22:32:30Z mareskeg quit (Client Quit) 2018-02-25T22:32:44Z mareskeg joined #lisp 2018-02-25T22:35:33Z jmercouris quit (Ping timeout: 240 seconds) 2018-02-25T22:37:57Z comborico1611 quit (Quit: Konversation terminated!) 2018-02-25T22:40:30Z dvdmuckle quit (Quit: Bouncer Surgery) 2018-02-25T22:41:51Z dvdmuckle joined #lisp 2018-02-25T22:43:05Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-25T22:43:44Z FreeBirdLjj joined #lisp 2018-02-25T22:45:58Z Karl_Dscc quit (Remote host closed the connection) 2018-02-25T22:47:46Z Rawriful joined #lisp 2018-02-25T22:49:16Z Mutex7 joined #lisp 2018-02-25T22:49:41Z Jesin quit (Quit: Leaving) 2018-02-25T22:50:14Z erikc quit 2018-02-25T22:50:31Z mareskeg quit (Quit: mareskeg) 2018-02-25T22:50:56Z Baggers quit (Remote host closed the connection) 2018-02-25T22:55:03Z mishoo quit (Ping timeout: 252 seconds) 2018-02-25T22:57:11Z Jesin joined #lisp 2018-02-25T23:00:52Z damke_ joined #lisp 2018-02-25T23:02:25Z EvW1 quit (Remote host closed the connection) 2018-02-25T23:02:35Z EvW joined #lisp 2018-02-25T23:03:21Z damke quit (Ping timeout: 264 seconds) 2018-02-25T23:04:33Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-25T23:06:52Z isBEKaml quit (Quit: leaving) 2018-02-25T23:08:17Z manualcrank quit (Ping timeout: 248 seconds) 2018-02-25T23:08:57Z FreeBirdLjj joined #lisp 2018-02-25T23:10:19Z serviteur joined #lisp 2018-02-25T23:12:06Z serviteur quit (Remote host closed the connection) 2018-02-25T23:14:57Z shka_ quit (Ping timeout: 256 seconds) 2018-02-25T23:15:37Z josemanuel quit (Quit: leaving) 2018-02-25T23:16:27Z jmarcian` quit (Ping timeout: 245 seconds) 2018-02-25T23:24:36Z shifty joined #lisp 2018-02-25T23:26:44Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-25T23:30:38Z FreeBirdLjj joined #lisp 2018-02-25T23:30:41Z Kaisyu joined #lisp 2018-02-25T23:34:47Z stacksmith quit (Ping timeout: 256 seconds) 2018-02-25T23:38:51Z lnostdal joined #lisp 2018-02-25T23:39:42Z smurfrobot joined #lisp 2018-02-25T23:39:46Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-25T23:39:53Z fikka quit (Ping timeout: 240 seconds) 2018-02-25T23:43:20Z FreeBirdLjj joined #lisp 2018-02-25T23:44:33Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-25T23:46:18Z groovy2shoes quit (Quit: moritura te salutat) 2018-02-25T23:48:05Z sabrac quit (Quit: Konversation terminated!) 2018-02-25T23:49:51Z smurfrobot joined #lisp 2018-02-25T23:52:01Z fikka joined #lisp 2018-02-25T23:52:46Z comborico1611 joined #lisp 2018-02-25T23:54:27Z smurfrobot quit (Ping timeout: 252 seconds) 2018-02-25T23:56:12Z oxo1o1o1o joined #lisp 2018-02-25T23:56:33Z fikka quit (Ping timeout: 240 seconds) 2018-02-25T23:56:40Z smurfrobot joined #lisp 2018-02-25T23:56:49Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-25T23:58:04Z oxo1o1o1o quit (Client Quit) 2018-02-26T00:01:03Z smurfrobot quit (Ping timeout: 252 seconds) 2018-02-26T00:01:41Z stacksmith joined #lisp 2018-02-26T00:02:13Z dtornabene quit (Ping timeout: 240 seconds) 2018-02-26T00:03:56Z troydm1 quit (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset) 2018-02-26T00:07:17Z fikka joined #lisp 2018-02-26T00:08:16Z comborico1611 quit (Quit: Konversation terminated!) 2018-02-26T00:13:34Z Kundry_Wag joined #lisp 2018-02-26T00:14:32Z smurfrobot joined #lisp 2018-02-26T00:17:00Z attila_lendvai joined #lisp 2018-02-26T00:19:17Z smurfrob_ joined #lisp 2018-02-26T00:21:48Z FreeBirdLjj joined #lisp 2018-02-26T00:23:25Z smurfrobot quit (Ping timeout: 252 seconds) 2018-02-26T00:23:52Z BitPuffin quit (Remote host closed the connection) 2018-02-26T00:29:14Z troydm joined #lisp 2018-02-26T00:29:34Z Kundry_Wag_ joined #lisp 2018-02-26T00:32:11Z Kundry_W_ joined #lisp 2018-02-26T00:32:47Z aindilis` joined #lisp 2018-02-26T00:32:57Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-02-26T00:34:07Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-26T00:34:09Z aindilis quit (Ping timeout: 248 seconds) 2018-02-26T00:34:56Z FreeBirdLjj joined #lisp 2018-02-26T00:35:46Z Kundry_W_ quit (Remote host closed the connection) 2018-02-26T00:35:53Z Kundry_Wag_ quit (Ping timeout: 252 seconds) 2018-02-26T00:37:39Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2018-02-26T00:38:15Z fikka quit (Ping timeout: 256 seconds) 2018-02-26T00:39:39Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-26T00:40:43Z smurfrob_ quit (Remote host closed the connection) 2018-02-26T00:41:16Z smurfrobot joined #lisp 2018-02-26T00:45:12Z smasta quit (Ping timeout: 245 seconds) 2018-02-26T00:45:37Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-26T00:47:39Z FreeBirdLjj joined #lisp 2018-02-26T00:47:48Z Tobbi quit (Quit: Leaving) 2018-02-26T00:48:24Z smokeink joined #lisp 2018-02-26T00:54:47Z willmichael quit (Ping timeout: 245 seconds) 2018-02-26T00:55:10Z willmichael joined #lisp 2018-02-26T00:56:22Z smurfrobot joined #lisp 2018-02-26T00:56:35Z smasta joined #lisp 2018-02-26T00:58:02Z Kundry_Wag joined #lisp 2018-02-26T00:59:04Z learning quit (Remote host closed the connection) 2018-02-26T00:59:18Z mareskeg joined #lisp 2018-02-26T01:00:49Z smurfrobot quit (Ping timeout: 252 seconds) 2018-02-26T01:02:00Z learning joined #lisp 2018-02-26T01:02:02Z mareskeg quit (Client Quit) 2018-02-26T01:02:39Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-02-26T01:04:18Z smurfrobot joined #lisp 2018-02-26T01:04:50Z pierpa joined #lisp 2018-02-26T01:04:59Z fikka joined #lisp 2018-02-26T01:05:09Z damke_ quit (Ping timeout: 264 seconds) 2018-02-26T01:06:48Z learning quit (Remote host closed the connection) 2018-02-26T01:06:51Z mareskeg joined #lisp 2018-02-26T01:07:10Z damke_ joined #lisp 2018-02-26T01:08:49Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-26T01:08:53Z smurfrobot quit (Ping timeout: 252 seconds) 2018-02-26T01:10:20Z Rawriful quit (Quit: WeeChat 1.4) 2018-02-26T01:12:27Z Kundry_Wag joined #lisp 2018-02-26T01:12:59Z FreeBirdLjj joined #lisp 2018-02-26T01:13:32Z jstypo quit (Ping timeout: 245 seconds) 2018-02-26T01:14:24Z mareskeg quit (Quit: mareskeg) 2018-02-26T01:15:14Z emaczen quit (Read error: Connection reset by peer) 2018-02-26T01:15:31Z emaczen joined #lisp 2018-02-26T01:17:41Z smasta quit (Ping timeout: 245 seconds) 2018-02-26T01:17:42Z attila_lendvai quit (Ping timeout: 245 seconds) 2018-02-26T01:19:29Z mareskeg joined #lisp 2018-02-26T01:19:54Z smasta joined #lisp 2018-02-26T01:20:07Z aindilis` quit (Remote host closed the connection) 2018-02-26T01:20:12Z jason_m joined #lisp 2018-02-26T01:20:41Z igemnace joined #lisp 2018-02-26T01:21:35Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-26T01:22:31Z jonh left #lisp 2018-02-26T01:22:54Z Kundry_Wag_ joined #lisp 2018-02-26T01:23:11Z EvW quit (Ping timeout: 252 seconds) 2018-02-26T01:24:16Z mareskeg quit (Client Quit) 2018-02-26T01:24:52Z mareskeg joined #lisp 2018-02-26T01:25:27Z tessier_ quit (Remote host closed the connection) 2018-02-26T01:25:33Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-26T01:25:37Z FreeBirdLjj joined #lisp 2018-02-26T01:25:43Z tessier joined #lisp 2018-02-26T01:27:26Z kark quit (Ping timeout: 256 seconds) 2018-02-26T01:27:48Z borei joined #lisp 2018-02-26T01:27:58Z borei: hi all 2018-02-26T01:28:03Z borei: quick question 2018-02-26T01:28:20Z borei: i have several methods on top of generic function 2018-02-26T01:28:33Z borei: how to disassemble particular method ? 2018-02-26T01:28:33Z jstypo joined #lisp 2018-02-26T01:28:59Z Bike: I guess (disassemble (mop:method-function (find-method ...))) 2018-02-26T01:29:05Z Bike: but i'd probably just throw the method body in a lambda and disassemble that. 2018-02-26T01:29:15Z kark joined #lisp 2018-02-26T01:30:00Z borei: thanks Bike ! 2018-02-26T01:32:00Z spacepluk quit (Ping timeout: 268 seconds) 2018-02-26T01:33:40Z shifty quit (Ping timeout: 256 seconds) 2018-02-26T01:34:14Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-26T01:34:57Z aindilis joined #lisp 2018-02-26T01:35:34Z spacepluk joined #lisp 2018-02-26T01:38:34Z FreeBirdLjj joined #lisp 2018-02-26T01:39:08Z Mutex7 quit (Remote host closed the connection) 2018-02-26T01:46:17Z Kundry_Wag_ quit (Ping timeout: 252 seconds) 2018-02-26T01:52:53Z smasta quit (Ping timeout: 240 seconds) 2018-02-26T01:54:55Z mareskeg quit (Read error: Connection reset by peer) 2018-02-26T01:55:09Z mareskeg joined #lisp 2018-02-26T01:55:34Z smasta joined #lisp 2018-02-26T01:56:44Z Kundry_Wag joined #lisp 2018-02-26T01:57:50Z learning joined #lisp 2018-02-26T01:58:29Z mareskeg quit (Client Quit) 2018-02-26T02:01:33Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-26T02:05:45Z wigust joined #lisp 2018-02-26T02:06:26Z jason_m quit (Ping timeout: 245 seconds) 2018-02-26T02:06:42Z quotation joined #lisp 2018-02-26T02:10:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-26T02:11:45Z Kundry_Wag_ joined #lisp 2018-02-26T02:11:56Z jkjjkjkjkjkj left #lisp 2018-02-26T02:14:47Z Kundry_Wag quit (Ping timeout: 245 seconds) 2018-02-26T02:15:41Z zmt00 quit (Quit: Leaving) 2018-02-26T02:16:04Z zmt00 joined #lisp 2018-02-26T02:18:14Z fikka joined #lisp 2018-02-26T02:20:56Z d4ryus1 joined #lisp 2018-02-26T02:21:52Z fisxoj joined #lisp 2018-02-26T02:23:31Z asarch joined #lisp 2018-02-26T02:24:13Z d4ryus quit (Ping timeout: 256 seconds) 2018-02-26T02:29:11Z Kundry_Wag_ quit (Ping timeout: 252 seconds) 2018-02-26T02:29:41Z Oladon quit (Quit: Leaving.) 2018-02-26T02:31:44Z mareskeg joined #lisp 2018-02-26T02:39:34Z Kundry_Wag joined #lisp 2018-02-26T02:42:22Z Kundry_Wag_ joined #lisp 2018-02-26T02:42:31Z Oladon joined #lisp 2018-02-26T02:44:14Z dieggsy quit (Quit: ERC (IRC client for Emacs 27.0.50)) 2018-02-26T02:45:15Z SaganMan joined #lisp 2018-02-26T02:45:37Z Kundry_Wag quit (Ping timeout: 245 seconds) 2018-02-26T02:48:06Z smurfrobot joined #lisp 2018-02-26T02:51:01Z parjanya quit (Read error: Connection reset by peer) 2018-02-26T03:00:12Z smasta quit (Ping timeout: 245 seconds) 2018-02-26T03:01:03Z damke joined #lisp 2018-02-26T03:01:10Z ioa_ joined #lisp 2018-02-26T03:01:11Z mrottenkolber quit (Read error: Connection reset by peer) 2018-02-26T03:01:18Z ioa quit (Read error: Connection reset by peer) 2018-02-26T03:01:40Z mrottenkolber joined #lisp 2018-02-26T03:01:58Z smasta joined #lisp 2018-02-26T03:02:04Z mrottenkolber is now known as Guest66484 2018-02-26T03:03:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-26T03:03:49Z Kundry_Wag joined #lisp 2018-02-26T03:06:35Z Kundry_Wag_ quit (Ping timeout: 252 seconds) 2018-02-26T03:10:33Z aindilis quit (Ping timeout: 240 seconds) 2018-02-26T03:11:52Z Kundry_Wag quit (Ping timeout: 245 seconds) 2018-02-26T03:15:08Z shifty joined #lisp 2018-02-26T03:18:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-26T03:19:58Z rumbler31 quit (Read error: Connection reset by peer) 2018-02-26T03:20:34Z rumbler31 joined #lisp 2018-02-26T03:22:34Z Kundry_Wag joined #lisp 2018-02-26T03:24:56Z arescorpio joined #lisp 2018-02-26T03:27:40Z fikka joined #lisp 2018-02-26T03:34:47Z jstypo quit (Ping timeout: 245 seconds) 2018-02-26T03:35:32Z energizer joined #lisp 2018-02-26T03:36:11Z groovy2shoes joined #lisp 2018-02-26T03:39:06Z parjanya joined #lisp 2018-02-26T03:39:55Z parjanya quit (Remote host closed the connection) 2018-02-26T03:40:24Z parjanya joined #lisp 2018-02-26T03:41:41Z Kundry_Wag_ joined #lisp 2018-02-26T03:44:53Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-26T03:48:28Z Kundry_Wag joined #lisp 2018-02-26T03:50:37Z makomo quit (Ping timeout: 245 seconds) 2018-02-26T03:50:55Z fourroot joined #lisp 2018-02-26T03:50:57Z python476 quit (Ping timeout: 252 seconds) 2018-02-26T03:50:57Z fourroot: why is this 0.000002 + 0.000003 == 0.000005 not true when evaluated by a machine? 2018-02-26T03:51:21Z Zhivago: Floating point values represent intervals. They may not align as you expect. 2018-02-26T03:51:31Z nowhereman_ joined #lisp 2018-02-26T03:51:53Z Kundry_Wag_ quit (Ping timeout: 240 seconds) 2018-02-26T03:52:38Z Zhivago: Above, you are printing one edge of that interval at some precision and assuming that it corresponds with the identity of the inteval, which is not true. 2018-02-26T03:53:31Z pjb quit (Ping timeout: 252 seconds) 2018-02-26T03:53:53Z nowhere_man quit (Ping timeout: 252 seconds) 2018-02-26T03:54:54Z pjb joined #lisp 2018-02-26T03:55:05Z fourroot: Thank you so much 2018-02-26T03:55:37Z Kundry_Wag quit (Ping timeout: 245 seconds) 2018-02-26T03:55:47Z Zhivago: You are welcome. 2018-02-26T03:57:29Z fisxoj quit (Quit: fisxoj) 2018-02-26T03:58:26Z asarch quit (Quit: Leaving) 2018-02-26T03:59:11Z pierpa: try (decode-float 0.00002), (decode-float 0.00003), etc, then check references to understand what the results mean. 2018-02-26T04:01:27Z fikka quit (Ping timeout: 245 seconds) 2018-02-26T04:02:10Z dddddd quit (Remote host closed the connection) 2018-02-26T04:08:43Z dieggsy joined #lisp 2018-02-26T04:09:24Z fikka joined #lisp 2018-02-26T04:12:11Z SaganMan quit (Quit: WeeChat 1.6) 2018-02-26T04:12:45Z beach: Good morning everyone! 2018-02-26T04:13:51Z pillton: Good morning beach. 2018-02-26T04:15:37Z beach: fourroot: It is not that floating-point arithmetic is inexact. It isn't. At least not with IEEE floating point numbers. But, for a decimal fraction like the ones you give as examples, there is no exact binary floating point value for them, so you typically get the closest available one. 2018-02-26T04:15:47Z mareskeg quit (Quit: mareskeg) 2018-02-26T04:16:25Z schoppenhauer quit (Ping timeout: 256 seconds) 2018-02-26T04:18:09Z Kundry_Wag joined #lisp 2018-02-26T04:18:11Z schoppenhauer joined #lisp 2018-02-26T04:19:54Z Kundry_Wag_ joined #lisp 2018-02-26T04:20:53Z deng_cn quit (Read error: Connection reset by peer) 2018-02-26T04:21:45Z kark quit (Ping timeout: 252 seconds) 2018-02-26T04:22:29Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-02-26T04:22:44Z deng_cn joined #lisp 2018-02-26T04:22:49Z smasta quit (Ping timeout: 268 seconds) 2018-02-26T04:23:58Z igemnace quit (Quit: WeeChat 2.0.1) 2018-02-26T04:24:03Z smasta joined #lisp 2018-02-26T04:24:11Z kark joined #lisp 2018-02-26T04:24:51Z figurehe4d joined #lisp 2018-02-26T04:28:59Z Kundry_Wag joined #lisp 2018-02-26T04:30:41Z Chream_ quit (Read error: Connection reset by peer) 2018-02-26T04:31:08Z Chream_ joined #lisp 2018-02-26T04:32:13Z Kundry_Wag_ quit (Ping timeout: 240 seconds) 2018-02-26T04:33:59Z arescorpio quit (Excess Flood) 2018-02-26T04:36:19Z quotation quit (Quit: Connection closed for inactivity) 2018-02-26T04:41:11Z fikka quit (Ping timeout: 252 seconds) 2018-02-26T04:43:00Z Kevslinger quit (Quit: Connection closed for inactivity) 2018-02-26T04:48:26Z fikka joined #lisp 2018-02-26T04:50:13Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-26T04:50:45Z deng_cn quit (Read error: Connection reset by peer) 2018-02-26T04:52:56Z deng_cn joined #lisp 2018-02-26T04:55:05Z quazimodo quit (Ping timeout: 240 seconds) 2018-02-26T04:56:10Z quazimodo joined #lisp 2018-02-26T04:56:46Z igemnace joined #lisp 2018-02-26T05:00:11Z damke_ joined #lisp 2018-02-26T05:02:01Z safe joined #lisp 2018-02-26T05:02:09Z damke quit (Ping timeout: 264 seconds) 2018-02-26T05:04:47Z Chream_ quit (Ping timeout: 245 seconds) 2018-02-26T05:07:13Z smasta quit (Ping timeout: 240 seconds) 2018-02-26T05:11:23Z Digit joined #lisp 2018-02-26T05:12:22Z smokeink quit (Read error: Connection reset by peer) 2018-02-26T05:13:26Z sshirokov joined #lisp 2018-02-26T05:13:31Z pierpa quit (Quit: Page closed) 2018-02-26T05:14:05Z smokeink joined #lisp 2018-02-26T05:14:20Z damke_ quit (Read error: Connection reset by peer) 2018-02-26T05:15:42Z damke_ joined #lisp 2018-02-26T05:15:42Z saki quit (Remote host closed the connection) 2018-02-26T05:16:23Z energizer: How do I turn '(+ 1 2) into 4 ? 2018-02-26T05:16:53Z stacksmith: type in 4 2018-02-26T05:17:04Z Bike: what a question 2018-02-26T05:17:15Z energizer: ahahah 2018-02-26T05:17:24Z Bike quit (Quit: Lost terminal) 2018-02-26T05:17:40Z energizer: How do i turn '(+ 2 2) into 4? 2018-02-26T05:18:27Z stacksmith: energizer: you don't 2018-02-26T05:18:38Z energizer: stacksmith: why not? 2018-02-26T05:19:38Z stacksmith: Your question makes no sense. '(+ 2 2) is a list. You could compile it, make a function, and run it - is that what you mean? 2018-02-26T05:20:34Z smasta joined #lisp 2018-02-26T05:20:35Z stacksmith: If you want to evaluate it, try (eval '(+ 2 2)). 2018-02-26T05:21:37Z energizer: stacksmith: yeah i think eval is what i wanted 2018-02-26T05:22:00Z Kundry_Wag joined #lisp 2018-02-26T05:22:15Z fikka quit (Ping timeout: 252 seconds) 2018-02-26T05:22:43Z Digit: hi. (presumably) quick question, why does (- 9000 (* (round 9000 100) 99.99)) return 0.9003906, instead of just 0.9? ( same behaviour with s/round/floor|truncate|ceiling/ ) ~ poking around in ghci (which i'm similarly incompetent in), and i get the likes of "9000-8999.1" giving 0.8999999999996362. !? why's this madness not corrected? or is it correct, and i'm the one who's gone mad? srsly tho, there's a word for this, right? (to 2018-02-26T05:22:43Z Digit: help me past my search fails) 2018-02-26T05:23:48Z energizer: thanks 2018-02-26T05:23:59Z stacksmith: floats don't always have an exact representation, so you get the nearest one. It is not a Lisp issue. 2018-02-26T05:24:41Z smokeink: Digit: https://www.youtube.com/watch?v=pQs_wx8eoQ8 2018-02-26T05:26:37Z beach: Wow, second time today about floats. 2018-02-26T05:27:13Z fikka joined #lisp 2018-02-26T05:28:05Z stacksmith quit (Ping timeout: 240 seconds) 2018-02-26T05:30:31Z beach: It is interesting that people discover this problem only when they start using Common Lisp, having used floating point numbers with other languages for many years, without knowing how they work. This is very scary to me, because who knows how many professional developers have made software that is relied upon, but that is buggy? 2018-02-26T05:30:32Z smokeink: https://stackoverflow.com/a/9646755/4799756 https://github.com/npatrick04/fixed 2018-02-26T05:31:02Z marusich quit (Quit: Leaving) 2018-02-26T05:32:33Z Zhivago: Hard to imagine, since the same problems exist pretty much everywhere else, also. 2018-02-26T05:32:47Z beach: Yes, that's what I mean. 2018-02-26T05:33:02Z beach: Most people never get to use Common Lisp, so they never discover the problem like this. 2018-02-26T05:33:20Z Zhivago: But these problems exist everywhere else, also. 2018-02-26T05:33:32Z Zhivago: So you'll discover them in C, python, java, etc. 2018-02-26T05:33:34Z beach: Other than in software development? 2018-02-26T05:34:25Z saki joined #lisp 2018-02-26T05:34:25Z beach: My point is that people seem not to notice those problems with other languages, presumably because of the way those numbers are printed, with a limited precision. 2018-02-26T05:34:34Z beach: I see it over and over again. 2018-02-26T05:35:19Z beach: So, while, as I pointed out, the problems exists everywhere, it goes unnoticed even by professional developers using floating-point numbers in the software they write. 2018-02-26T05:37:35Z beach: smokeink: That's a good video acutally. 2018-02-26T05:43:33Z energizer quit (Ping timeout: 240 seconds) 2018-02-26T05:44:55Z igemnace quit (Remote host closed the connection) 2018-02-26T05:46:15Z aeth: Other languages tend to default to double-float instead of single-float. The issues with floating point are more obvious in single-float. 2018-02-26T05:48:20Z smurfrobot quit (Remote host closed the connection) 2018-02-26T05:49:24Z aeth: (Combine that *with* rounding when printing, of course. The example still fails with double float, just more decimal points down.) 2018-02-26T05:50:51Z orivej quit (Ping timeout: 252 seconds) 2018-02-26T05:53:54Z EvW joined #lisp 2018-02-26T05:55:15Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-02-26T05:58:11Z EvW quit (Ping timeout: 252 seconds) 2018-02-26T06:00:53Z igemnace joined #lisp 2018-02-26T06:02:17Z shka_ joined #lisp 2018-02-26T06:02:50Z chiyosaki joined #lisp 2018-02-26T06:04:33Z fikka quit (Ping timeout: 240 seconds) 2018-02-26T06:04:46Z parjanya: is sbcl.org responsive at all? 2018-02-26T06:05:13Z saki quit (Ping timeout: 240 seconds) 2018-02-26T06:05:29Z oleo quit (Quit: Leaving) 2018-02-26T06:09:14Z Digit: Thankyou all, very helpful, got my ball rolling again. :) 2018-02-26T06:09:47Z smasta quit (Ping timeout: 245 seconds) 2018-02-26T06:12:12Z learning quit (Remote host closed the connection) 2018-02-26T06:13:04Z fikka joined #lisp 2018-02-26T06:13:05Z smasta joined #lisp 2018-02-26T06:15:04Z fourroot: why does index starts from zero 2018-02-26T06:16:10Z Zhivago: Zero is the additive identity. 2018-02-26T06:17:33Z fikka quit (Ping timeout: 240 seconds) 2018-02-26T06:20:28Z aeth: If you think in terms of counting cells: | 1 | 2 | 3 | 4 | 5 | (first, second, third, etc.), but if you think in terms of *offsets* from the start: | 0 | 1 | 2 | 3 | 4 | (i.e. add 0 to get to the first one, add 1 to get to the second, etc.) 2018-02-26T06:20:48Z Kundry_Wag joined #lisp 2018-02-26T06:20:53Z krwq joined #lisp 2018-02-26T06:21:02Z aeth: Most languages choose to think in offsets 2018-02-26T06:22:19Z Zhivago: Now imagine that you're transforming from two dimensional to one dimensional coordinates. 2018-02-26T06:22:40Z Zhivago: If you're based on the additive identity, you can just say y * w + x. 2018-02-26T06:23:01Z Zhivago: If you're based on some crazy number like 1 ... 2018-02-26T06:25:29Z Karl_Dscc joined #lisp 2018-02-26T06:29:21Z shifty quit (Ping timeout: 248 seconds) 2018-02-26T06:29:55Z learning joined #lisp 2018-02-26T06:32:31Z fikka joined #lisp 2018-02-26T06:32:35Z aeth: https://en.wikipedia.org/wiki/Zero-based_numbering 2018-02-26T06:34:07Z learning quit (Ping timeout: 248 seconds) 2018-02-26T06:35:36Z aeth: It raises an interesting point with how do you deal with empty ranges? 2018-02-26T06:36:08Z fourroot quit (Read error: Connection reset by peer) 2018-02-26T06:36:19Z shka_: … like literally everyone else? 2018-02-26T06:36:31Z fourroot joined #lisp 2018-02-26T06:39:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-26T06:41:02Z damke_ joined #lisp 2018-02-26T06:41:26Z aeth: To translate what I think the article is saying into CL terms, compare the 1-based (let ((end 10)) (loop for i from 1 to end collect i)) to the 0-based (let ((end 10)) (loop for i from 0 below end collect i)) and they seem fairly equivalent, but how do you get an empty one? You set end to 0. Going "from 0 below 0" seems more intuitive than going "from 1 to 0". 2018-02-26T06:44:50Z aeth: i.e. dealing with the range "start <= i < end" instead of "start <= i <= end" makes more sense when it's empty 2018-02-26T06:45:11Z chiyosaki quit (Quit: chiyosaki) 2018-02-26T06:45:46Z krwq: does anyone know how do you define array of structs with cffi (argument to a function) 2018-02-26T06:45:55Z krwq: fixed size 2018-02-26T06:48:28Z stylewarning: beach: Submitted 2 1/2 papers! 2018-02-26T06:48:40Z energizer joined #lisp 2018-02-26T06:48:56Z stylewarning: beach: The other 1/2 hopefully I'll be granted an additional evening to add to. :) 2018-02-26T06:53:07Z Kundry_Wag quit (Ping timeout: 245 seconds) 2018-02-26T06:55:11Z Zhivago: Just describe the end of the range in terms of the start of the following partition -- e.g., 1~3 contains 1 and 2. Now 1~1 contains nothing. 2018-02-26T06:56:07Z igemnace quit (Ping timeout: 252 seconds) 2018-02-26T06:57:44Z fourroot quit (Read error: Connection reset by peer) 2018-02-26T06:57:52Z fourroot1 joined #lisp 2018-02-26T06:59:44Z beach: stylewarning: Congratulations. 2018-02-26T07:00:05Z beach: stylewarning: It is probably still Sunday in some time zone. 2018-02-26T07:00:34Z stylewarning: Maybe. It's 11 PM here and I need to sleep soon. (: 2018-02-26T07:00:44Z damke joined #lisp 2018-02-26T07:00:57Z mishoo joined #lisp 2018-02-26T07:02:15Z smokeink quit (Remote host closed the connection) 2018-02-26T07:02:53Z saki joined #lisp 2018-02-26T07:03:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-26T07:04:26Z Oladon quit (Quit: Leaving.) 2018-02-26T07:04:30Z Mutex7 joined #lisp 2018-02-26T07:06:51Z phoe: 11 PM is still Sunday enough. (: 2018-02-26T07:07:44Z krwq: trying to define following c function with cffi: int utimens(const char *, const struct timespec tv[2]); - I've tried defining tv[2] as a struct with two fields but defcfun doesn't let me use (:struct mytype) as a type 2018-02-26T07:08:15Z fikka quit (Ping timeout: 248 seconds) 2018-02-26T07:08:28Z krwq: I think C in this case is not using pointer since the size is known 2018-02-26T07:09:12Z phoe: krwq: I am not *too* sure but I remember this might be a CFFI limitation that doesn't let you address struct arrays directly but only indirectly via a pointer. 2018-02-26T07:09:34Z phoe: But then again, I have no concrete knowledge to back myself up with. 2018-02-26T07:10:21Z krwq: phoe: do you think splitting args in some way would be equivalent? what i mean that they end up on the stack either way - I'd rather avoid such hacks but on the other hand don't want to write C-wrapper for that 2018-02-26T07:11:13Z phoe: krwq: I'd avoid hacks completely when interacting with the C layer. But that's just my paranoia. 2018-02-26T07:12:48Z stylewarning: krwq: fwiw, there's this: https://www.quicklisp.org/beta/UNOFFICIAL/docs/fsbv/doc/index.html 2018-02-26T07:12:58Z Karl_Dscc quit (Remote host closed the connection) 2018-02-26T07:13:17Z stylewarning: I think it was merged into CFFI. I ran into it when trying to deal with complex numbers. 2018-02-26T07:13:25Z damke_ joined #lisp 2018-02-26T07:13:35Z flip214: fourroot1: Dijkstra's article explains it, http://www.cs.utexas.edu/users/EWD/ewd08xx/EWD831.PDF 2018-02-26T07:13:43Z krwq: phoe: I'm interacting with linux driver so don't have much choice 2018-02-26T07:13:50Z krwq: stylewarning: thank you, will try it 2018-02-26T07:14:09Z krwq: i agree that cffi is kinda painful 2018-02-26T07:14:58Z phoe: krwq: I have noticed that. Good luck! 2018-02-26T07:15:21Z damke quit (Ping timeout: 264 seconds) 2018-02-26T07:15:53Z scymtym quit (Ping timeout: 240 seconds) 2018-02-26T07:16:43Z krwq: phoe: thanks :) 2018-02-26T07:18:11Z flamebeard joined #lisp 2018-02-26T07:18:19Z Arcaelyx_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-26T07:19:12Z igemnace joined #lisp 2018-02-26T07:22:01Z Kundry_Wag joined #lisp 2018-02-26T07:24:58Z Kundry_Wag_ joined #lisp 2018-02-26T07:26:37Z Kundry_W_ joined #lisp 2018-02-26T07:28:07Z Kundry_Wag quit (Ping timeout: 245 seconds) 2018-02-26T07:30:05Z lnostdal quit (Ping timeout: 255 seconds) 2018-02-26T07:30:13Z Kundry_Wag_ quit (Ping timeout: 252 seconds) 2018-02-26T07:31:06Z smurfrobot joined #lisp 2018-02-26T07:32:18Z vlatkoB joined #lisp 2018-02-26T07:36:27Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-26T07:39:06Z safe quit (Read error: Connection reset by peer) 2018-02-26T07:40:47Z fourroot1 left #lisp 2018-02-26T07:43:02Z smurfrobot joined #lisp 2018-02-26T07:43:16Z smurfrobot quit (Remote host closed the connection) 2018-02-26T07:43:32Z smurfrobot joined #lisp 2018-02-26T07:44:22Z dieggsy quit (Ping timeout: 245 seconds) 2018-02-26T07:44:33Z quazimodo quit (Ping timeout: 240 seconds) 2018-02-26T07:45:07Z shka_ quit (Quit: Konversation terminated!) 2018-02-26T07:45:23Z shka_ joined #lisp 2018-02-26T07:46:24Z krwq: actually seems like c passes foo[2] as a pointer and not as sizeof(foo) * 2 bytes which makes it easier in my case 2018-02-26T07:46:45Z angavrilov joined #lisp 2018-02-26T07:49:57Z SAL9000 quit (Quit: ZNC - http://znc.in) 2018-02-26T07:50:16Z SAL9000 joined #lisp 2018-02-26T07:55:09Z Kundry_W_ quit (Ping timeout: 252 seconds) 2018-02-26T07:58:57Z shka_ quit (Ping timeout: 245 seconds) 2018-02-26T08:02:18Z heurist`_ quit (Read error: Connection reset by peer) 2018-02-26T08:02:53Z energizer quit (Disconnected by services) 2018-02-26T08:03:01Z energizer joined #lisp 2018-02-26T08:03:24Z fikka joined #lisp 2018-02-26T08:03:46Z heurist`_ joined #lisp 2018-02-26T08:07:57Z easye quit (Remote host closed the connection) 2018-02-26T08:08:26Z fikka quit (Ping timeout: 276 seconds) 2018-02-26T08:10:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-26T08:10:48Z smurfrobot quit (Remote host closed the connection) 2018-02-26T08:11:14Z leedleLoo joined #lisp 2018-02-26T08:11:15Z leedleLoo left #lisp 2018-02-26T08:11:17Z leedleLoo joined #lisp 2018-02-26T08:11:29Z minion quit (Read error: No route to host) 2018-02-26T08:12:08Z specbot quit (Read error: Connection reset by peer) 2018-02-26T08:12:20Z minion joined #lisp 2018-02-26T08:12:23Z specbot joined #lisp 2018-02-26T08:12:41Z damke_ joined #lisp 2018-02-26T08:13:36Z p_l: krwq: pretty sure arrays are always passed by reference in C 2018-02-26T08:13:55Z leedleLoo: Hi, I was wondering how read-line is buffered. When the read-line function is called, is only one line read from the stream, or are potentially multiple lines read and stored (up to 4096 bytes, for example)? 2018-02-26T08:18:32Z smasta quit (Ping timeout: 245 seconds) 2018-02-26T08:19:07Z fikka joined #lisp 2018-02-26T08:19:17Z krwq: p_l: i see that now - I previously thought that when you have fixed size arrays they are treated as large struct (n*sizeof(struct)) but seems that's not the case 2018-02-26T08:19:28Z jackdaniel: leedleLoo: read-line always reads one line 2018-02-26T08:20:09Z p_l: krwq: given that arrays are the only place pointer arithmetic is allowed in C... ;-) 2018-02-26T08:20:30Z jackdaniel: leedleLoo: if you are interested in bigger reads, take a look at library alexandria 2018-02-26T08:20:38Z jackdaniel: and function alexandria:read-stream-content-into-string 2018-02-26T08:20:57Z jackdaniel: (and this function indeed has `buffer-size' argument) 2018-02-26T08:22:28Z Kundry_Wag joined #lisp 2018-02-26T08:23:37Z krwq: is there any way to check if defgeneric has specialization given its arguments? 2018-02-26T08:24:01Z leedleLoo: jackdaniel: Thanks, that function is actually similar to what I was going to do: use read-sequence and then pass into read-line 2018-02-26T08:24:02Z fikka quit (Ping timeout: 276 seconds) 2018-02-26T08:24:18Z krwq: or do you just handle specific condition 2018-02-26T08:25:41Z varjag joined #lisp 2018-02-26T08:27:13Z p_l: krwq: I think MOP has something for that 2018-02-26T08:28:07Z krwq: p_l: will take a look, thanks 2018-02-26T08:29:04Z leedleLoo: krwq: To define an array of structs, I think you'll have to pass in a pointer and the number of elements in that pointer: int utimens(const char *c, const struct timespec *tv, int n) 2018-02-26T08:29:52Z krwq: leedleLoo: that's what I did already, I didn't realize that C was passing pointers for fixed-size arrays 2018-02-26T08:31:42Z greaser|q quit (Changing host) 2018-02-26T08:31:42Z greaser|q joined #lisp 2018-02-26T08:31:47Z schweers` quit (Ping timeout: 265 seconds) 2018-02-26T08:32:21Z greaser|q is now known as GreaseMonkey 2018-02-26T08:33:22Z mlf quit (Read error: Connection reset by peer) 2018-02-26T08:34:01Z schweers` joined #lisp 2018-02-26T08:34:36Z orivej joined #lisp 2018-02-26T08:36:01Z krwq quit (Remote host closed the connection) 2018-02-26T08:38:58Z fikka joined #lisp 2018-02-26T08:39:47Z figurehe4d quit (Ping timeout: 245 seconds) 2018-02-26T08:41:45Z leedleLoo left #lisp 2018-02-26T08:43:07Z jackdaniel: if you hadn't left I'd tell you, that usually you may pass array as a pointer and vice versa, but it is not conforming C code 2018-02-26T08:43:22Z jackdaniel: and breaks in least expected moments 2018-02-26T08:43:26Z Kundry_Wag_ joined #lisp 2018-02-26T08:43:30Z Chream_ joined #lisp 2018-02-26T08:44:19Z d4ryus1 is now known as d4ryus 2018-02-26T08:47:16Z scymtym joined #lisp 2018-02-26T08:47:26Z Kundry_Wag quit (Ping timeout: 276 seconds) 2018-02-26T08:47:35Z wigust quit (Ping timeout: 252 seconds) 2018-02-26T08:47:37Z Cymew joined #lisp 2018-02-26T08:55:37Z Kundry_Wag_ quit (Ping timeout: 245 seconds) 2018-02-26T08:57:10Z hajovonta joined #lisp 2018-02-26T09:00:39Z smasta joined #lisp 2018-02-26T09:00:45Z damke_ quit (Read error: Connection reset by peer) 2018-02-26T09:01:11Z damke_ joined #lisp 2018-02-26T09:03:11Z figurehe4d joined #lisp 2018-02-26T09:03:40Z xantoz quit (Ping timeout: 240 seconds) 2018-02-26T09:05:04Z smurfrobot joined #lisp 2018-02-26T09:06:15Z figurehe4d quit (Remote host closed the connection) 2018-02-26T09:06:42Z figurehe4d joined #lisp 2018-02-26T09:06:59Z xantoz joined #lisp 2018-02-26T09:09:54Z dim: C is funny that way 2018-02-26T09:10:27Z hhdave joined #lisp 2018-02-26T09:10:53Z dim: I think they call it “flexibility”, used to say it's a very good portability feature of the standard, all those non-conforming areas, and now they brag about optimisation opportunities 2018-02-26T09:11:28Z dim: well I'm back to having to write C so I shouldn't dismiss it that way I guess… 2018-02-26T09:11:59Z Shinmera: You can use something and discredit it at the same time 2018-02-26T09:12:23Z kini quit (Quit: No Ping reply in 180 seconds.) 2018-02-26T09:12:33Z smasta quit (Ping timeout: 248 seconds) 2018-02-26T09:13:50Z fiddlerwoaroof quit (Ping timeout: 265 seconds) 2018-02-26T09:14:49Z flip214: dim: only if you use(d) something you can really discuss pro and contra. Else you're just repeating hear-say. 2018-02-26T09:15:20Z dim: then let me just say that C is not my favorite programming language ;-) 2018-02-26T09:16:48Z rme: Let me tell about this language called Pascal... 2018-02-26T09:17:24Z kini joined #lisp 2018-02-26T09:18:15Z mishoo_ joined #lisp 2018-02-26T09:18:20Z Chream_ quit (Read error: Connection reset by peer) 2018-02-26T09:18:28Z Chream_ joined #lisp 2018-02-26T09:18:55Z Chream_2 joined #lisp 2018-02-26T09:18:55Z Chream_ quit (Read error: Connection reset by peer) 2018-02-26T09:19:20Z dim: Turbo Pascal was pretty cool in the 90s, I don't think I realized that at the time 2018-02-26T09:19:46Z easye joined #lisp 2018-02-26T09:19:53Z mishoo quit (Ping timeout: 240 seconds) 2018-02-26T09:20:33Z rme: I was making a joke by alluding to an old paper Brian Kernighan wrote, titled "Why Pascal is not my favorite programming language". 2018-02-26T09:21:55Z Kundry_Wag joined #lisp 2018-02-26T09:25:26Z dim: oh sorry, missed it :/ 2018-02-26T09:25:50Z Chream_ joined #lisp 2018-02-26T09:25:50Z Chream_2 quit (Read error: Connection reset by peer) 2018-02-26T09:26:22Z Chream_2 joined #lisp 2018-02-26T09:26:22Z Chream_ quit (Read error: Connection reset by peer) 2018-02-26T09:26:25Z dim: and I picked the “not my favorite” phrase because I knew it was charged with some history, only I don't know nearly enough about it 2018-02-26T09:28:16Z Mutex7 quit (Remote host closed the connection) 2018-02-26T09:29:27Z pillton quit (Remote host closed the connection) 2018-02-26T09:30:33Z rme: obscure nerdy in-jokes are my specialty 2018-02-26T09:34:20Z _cosmonaut_ joined #lisp 2018-02-26T09:42:44Z Chream_ joined #lisp 2018-02-26T09:42:44Z Chream_2 quit (Read error: Connection reset by peer) 2018-02-26T09:43:04Z Chream_ quit (Read error: Connection reset by peer) 2018-02-26T09:43:11Z Chream_ joined #lisp 2018-02-26T09:46:02Z dim: hehe 2018-02-26T09:46:33Z heisig joined #lisp 2018-02-26T09:50:32Z _cosmonaut_ quit (Quit: Leaving.) 2018-02-26T09:50:51Z _cosmonaut_ joined #lisp 2018-02-26T09:54:19Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-02-26T09:55:51Z saki quit (Ping timeout: 256 seconds) 2018-02-26T09:56:32Z hajovonta: hi all 2018-02-26T09:57:29Z fiddlerwoaroof joined #lisp 2018-02-26T09:57:33Z orivej quit (Ping timeout: 256 seconds) 2018-02-26T10:00:48Z milanj quit (Quit: This computer has gone to sleep) 2018-02-26T10:02:33Z saki joined #lisp 2018-02-26T10:05:22Z compro quit (Ping timeout: 256 seconds) 2018-02-26T10:08:33Z fikka quit (Ping timeout: 240 seconds) 2018-02-26T10:12:17Z python476 joined #lisp 2018-02-26T10:14:55Z Chream_2 joined #lisp 2018-02-26T10:15:05Z Chream_ quit (Read error: Connection reset by peer) 2018-02-26T10:15:45Z Chream_ joined #lisp 2018-02-26T10:15:45Z Chream_2 quit (Read error: Connection reset by peer) 2018-02-26T10:16:56Z angavrilov quit (Remote host closed the connection) 2018-02-26T10:18:35Z m00natic joined #lisp 2018-02-26T10:19:34Z Kundry_Wag joined #lisp 2018-02-26T10:24:26Z fikka joined #lisp 2018-02-26T10:25:06Z Kundry_Wag_ joined #lisp 2018-02-26T10:26:06Z Kundry_W_ joined #lisp 2018-02-26T10:26:30Z aindilis joined #lisp 2018-02-26T10:26:59Z shifty joined #lisp 2018-02-26T10:27:07Z Kundry_W_ quit (Remote host closed the connection) 2018-02-26T10:27:23Z Kundry_W_ joined #lisp 2018-02-26T10:28:33Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-26T10:29:33Z Kundry_Wag_ quit (Ping timeout: 240 seconds) 2018-02-26T10:30:45Z compro joined #lisp 2018-02-26T10:35:06Z Kundry_W_ quit (Remote host closed the connection) 2018-02-26T10:48:05Z shrdlu68 joined #lisp 2018-02-26T10:52:43Z quazimodo joined #lisp 2018-02-26T10:53:05Z Mandus_ quit (Ping timeout: 240 seconds) 2018-02-26T10:56:53Z parjanya quit (Ping timeout: 240 seconds) 2018-02-26T10:58:37Z attila_lendvai joined #lisp 2018-02-26T11:01:31Z damke joined #lisp 2018-02-26T11:03:45Z borodust: Xach: sorry for bothering: a couple of libraries are fail to build for a few days straight because the system i mentioned later in a comment is still not added. Are there any problems with this particular system (`cl-muth`)? 2018-02-26T11:03:49Z Chream_2 joined #lisp 2018-02-26T11:04:19Z makomo joined #lisp 2018-02-26T11:04:23Z borodust: Xach: link to the failing build: http://report.quicklisp.org/2018-02-26/failure-report/cl-flow.html#cl-flow_tests 2018-02-26T11:04:27Z saki quit (Ping timeout: 240 seconds) 2018-02-26T11:04:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-26T11:05:01Z borodust: Xach: link to the comment https://github.com/quicklisp/quicklisp-projects/issues/1445#issuecomment-367437114 2018-02-26T11:05:26Z Mandus joined #lisp 2018-02-26T11:06:11Z Chream_ quit (Ping timeout: 252 seconds) 2018-02-26T11:13:25Z saki joined #lisp 2018-02-26T11:13:59Z EvW joined #lisp 2018-02-26T11:14:13Z pjb: energizer: to turn '(+ 2 2) into 4, you would type: C-a C-M-k 4 2018-02-26T11:14:34Z pjb: there's no point in waiting run-time… 2018-02-26T11:14:48Z aindilis quit (Read error: Connection reset by peer) 2018-02-26T11:15:27Z wigust joined #lisp 2018-02-26T11:15:32Z energizer: pjb: hahaha 2018-02-26T11:15:56Z energizer: :) 2018-02-26T11:16:03Z pjb: jackdaniel: read-line doesn't always read a line: when it reaches end-of-file, it may read a partial-line (a line without a newline), or nothing, returning the eof-value. 2018-02-26T11:16:07Z pjb: or signaling an error. 2018-02-26T11:16:56Z pjb: Very few CL functions are specified to always return something! (In general, they can make non-local exits, in case of errors or otherwise). 2018-02-26T11:17:46Z jackdaniel: reads as in "performs read, which may fail or whatever, but it doesn't try to read a character, or to read multiple number of lines". given context I think that above answer was perfectly fine 2018-02-26T11:17:58Z jackdaniel: like saying: mapcar maps a function over a list (or lists) 2018-02-26T11:18:05Z pok quit (Ping timeout: 240 seconds) 2018-02-26T11:18:22Z jackdaniel: without adding, that if you put integer in place of a function it will signal an error. if you put vector in place of a list it will signal an error. etc 2018-02-26T11:18:28Z Kundry_Wag joined #lisp 2018-02-26T11:19:13Z pok joined #lisp 2018-02-26T11:19:14Z pjb: Yes, but I would like programmers to be more unbiased vs. the various possibilities. We have to take into account all the cases. 2018-02-26T11:19:35Z pjb: less biased if you prefer. 2018-02-26T11:19:45Z loke: pjb: Java did that when they introduced checked exceptions. 2018-02-26T11:19:52Z loke: pbj: But everybody hated that. 2018-02-26T11:20:03Z Kundry_Wag_ joined #lisp 2018-02-26T11:20:14Z pjb: Perhaps slime could help there. 2018-02-26T11:20:30Z jackdaniel: pjb: mentioning all the cases (including irrevelant ones) just clouds the message and makes it not understandable, so I strongly disagree 2018-02-26T11:20:59Z pjb: Notice that in CL, there are no exception! 2018-02-26T11:21:03Z pjb: They are conditions. 2018-02-26T11:21:10Z pjb: All cases must be considered! 2018-02-26T11:21:34Z loke: I like checked exceptions, and I feel that cases where they programmer is not in control _should_ be documented. I.e. READ failing is something the developer always have to take into consideration. There is no way you can program in such a way as to not have to deal with it. 2018-02-26T11:21:45Z jackdaniel: you do not consider the very special case of explaning things: the reason why you do explain 2018-02-26T11:22:19Z pjb: jackdaniel: yes, pedagogically. But then avoid words such as "always". Say "usually". 2018-02-26T11:22:55Z jackdaniel: then please avoid "must", say "in my opinion should" 2018-02-26T11:23:05Z pjb: ok :-) 2018-02-26T11:23:32Z Kundry_Wag quit (Ping timeout: 245 seconds) 2018-02-26T11:23:34Z Kundry_W_ joined #lisp 2018-02-26T11:25:59Z energizer quit (Ping timeout: 252 seconds) 2018-02-26T11:26:27Z Kundry_Wag_ quit (Ping timeout: 245 seconds) 2018-02-26T11:26:51Z Kundry_Wag joined #lisp 2018-02-26T11:28:28Z Kundry_Wag_ joined #lisp 2018-02-26T11:29:47Z Kundry_W_ quit (Ping timeout: 245 seconds) 2018-02-26T11:30:25Z jmercouris joined #lisp 2018-02-26T11:30:27Z Kundry_W_ joined #lisp 2018-02-26T11:32:32Z Kundry_Wag quit (Ping timeout: 276 seconds) 2018-02-26T11:32:53Z dim: ah, what it takes to be civilized… 2018-02-26T11:33:55Z Murii quit (Remote host closed the connection) 2018-02-26T11:34:00Z Kundry_Wag_ quit (Ping timeout: 265 seconds) 2018-02-26T11:34:14Z nowhere_man joined #lisp 2018-02-26T11:34:23Z nowhereman_ quit (Ping timeout: 248 seconds) 2018-02-26T11:34:38Z Murii joined #lisp 2018-02-26T11:36:43Z pjb: unix (and then posix) is not civilised. Multics tried to. But unix recognized that there were "The facts of life." 2018-02-26T11:37:26Z pjb: Result: unix is everywhere (even in MS-Windows). 2018-02-26T11:41:28Z Xach: borodust: Just haven't gotten to it yet. 2018-02-26T11:43:35Z borodust: Xach: ah, understood 2018-02-26T11:43:58Z borodust: sorry, i have no idea how inclusion process is organized :/ 2018-02-26T11:52:33Z EvW quit (Ping timeout: 240 seconds) 2018-02-26T11:52:41Z Kundry_W_ quit (Ping timeout: 276 seconds) 2018-02-26T11:52:55Z fittestbits left #lisp 2018-02-26T11:58:19Z shka joined #lisp 2018-02-26T11:58:34Z shka: hello 2018-02-26T11:58:36Z shka: Value (:POSTMODERN) can not be converted to an SQL literal. 2018-02-26T11:58:47Z shka: anybody encountered something like this? 2018-02-26T11:59:00Z shka: in postmodern, that's it, during query 2018-02-26T12:00:13Z wigust quit (Ping timeout: 240 seconds) 2018-02-26T12:01:05Z compro quit (Ping timeout: 256 seconds) 2018-02-26T12:01:48Z compro joined #lisp 2018-02-26T12:06:17Z erlosshex joined #lisp 2018-02-26T12:08:15Z erlosshex quit (Quit: WeeChat 2.0.1) 2018-02-26T12:11:02Z aindilis joined #lisp 2018-02-26T12:13:05Z saki quit (Ping timeout: 240 seconds) 2018-02-26T12:16:07Z milanj joined #lisp 2018-02-26T12:17:35Z makomo quit (Ping timeout: 248 seconds) 2018-02-26T12:18:49Z igemnace quit (Quit: WeeChat 2.0.1) 2018-02-26T12:20:12Z Kundry_Wag joined #lisp 2018-02-26T12:20:51Z erlosshex joined #lisp 2018-02-26T12:25:06Z Xach: shka: Is there a broader context? 2018-02-26T12:27:40Z erlosshex quit (Quit: WeeChat 2.0.1) 2018-02-26T12:30:14Z saki joined #lisp 2018-02-26T12:33:34Z shka: Xach: out of the blue, s-sql compiler started spewing out seemingly invalid sql code 2018-02-26T12:33:49Z Xach: shka: what does the original s-sql look like? 2018-02-26T12:34:03Z erlosshex joined #lisp 2018-02-26T12:34:21Z shka: (print (postmodern:sql-compile `(:order-by (:select * :from "pac_paths") epi_id stay_begin_dt))) 2018-02-26T12:34:35Z shka: -> "((SELECT * FROM E'pac_paths') ORDER BY epi_id, stay_begin_dt)" 2018-02-26T12:35:22Z Kundry_Wag_ joined #lisp 2018-02-26T12:35:24Z erlosshex quit (Quit: WeeChat 2.0.1) 2018-02-26T12:36:54Z Kundry_W_ joined #lisp 2018-02-26T12:37:03Z nullniverse joined #lisp 2018-02-26T12:37:07Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-26T12:38:11Z Xach: shka: so a (:POSTMODERN) is coming from nowhere? 2018-02-26T12:38:41Z erlosshex joined #lisp 2018-02-26T12:38:56Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-26T12:39:06Z shka: it was 2018-02-26T12:39:18Z Xach: for that input s-sql expression? 2018-02-26T12:39:31Z shka: yup 2018-02-26T12:39:58Z attila_lendvai joined #lisp 2018-02-26T12:40:10Z Kundry_Wag joined #lisp 2018-02-26T12:40:17Z Tobbi joined #lisp 2018-02-26T12:40:20Z shka: and after restarting sbcl it began bothering me with symbol that names MY package 2018-02-26T12:40:37Z Kundry_Wag_ quit (Ping timeout: 245 seconds) 2018-02-26T12:40:37Z shka: no time to dig into right now, i will just pass string since this works 2018-02-26T12:40:50Z dim: what about having .sql files in your repository instead? I find it way easier to manage 2018-02-26T12:40:51Z jmercouris quit (Read error: Connection reset by peer) 2018-02-26T12:41:24Z dim: you could even go as far as https://github.com/krisajenkins/yesql ; certainly there's something to that effect in CL? 2018-02-26T12:41:54Z Xach: I find I like to use html templates rather than constructing it from cl-who or similar... 2018-02-26T12:42:02Z Xach: I wonder if I'd feel the same about sql. 2018-02-26T12:42:02Z dim: https://github.com/TBRSS/cl-yesql seems to be it? 2018-02-26T12:42:09Z Xach: dim: Is that the same kind of idea? (i haven't used yesql) 2018-02-26T12:42:12Z dim: Xach: SQL is a programming language 2018-02-26T12:42:21Z dim: a declarative one, that's true, still 2018-02-26T12:42:32Z Xach: I guess I should read about yesql 2018-02-26T12:42:33Z dim: don't mangle it as if it were just strings/data 2018-02-26T12:42:43Z shka: dim: is that related to something i wrote? 2018-02-26T12:43:02Z jmercouris joined #lisp 2018-02-26T12:43:09Z dim: shka: you're using s-sql, that's enough to get me started on my rant 2018-02-26T12:43:21Z dim: well it's a rant that fills in a couple chapters in my book ;-) 2018-02-26T12:43:36Z Kundry_W_ quit (Ping timeout: 265 seconds) 2018-02-26T12:43:37Z jackdaniel: shka: I think it's the same if someone would cripple cl to accept infix syntax 2018-02-26T12:43:40Z jackdaniel: list(1, 2, 3) 2018-02-26T12:43:45Z Xach: Ok, so it does seem as though yesql is similar to html templating. 2018-02-26T12:43:46Z jackdaniel: and transplited it to (list 1 2 3) 2018-02-26T12:44:04Z jackdaniel: you wouldn't be happy to read such crippled code ;) 2018-02-26T12:45:03Z dim: Xach: yes and no, you shouldn't find any loop constructs and such, it should feel like writing a CL function in SQL, not like preparing a textual data 2018-02-26T12:45:16Z Xach: dim: ok 2018-02-26T12:45:18Z dim: the good parts about s-sql is that it makes the SQL looks like a lisp program 2018-02-26T12:45:32Z dim: and then of course you can write macros to generate your code and things 2018-02-26T12:45:58Z dim: anyway 2018-02-26T12:46:29Z fe[nl]ix: exactly 2018-02-26T12:46:34Z shka: ok, cool i have work to do, and all i need is literally ONE line of SQL 2018-02-26T12:47:01Z mercourisj joined #lisp 2018-02-26T12:47:16Z fe[nl]ix: the readme of yesql makes me think the author never had to programmatically build a query from fragments 2018-02-26T12:47:30Z dim: shka: yeah I'm not offering practical-now advice, just… consider that SQL is code and that long term you might like to have .sql files in your source tree, that make things easier 2018-02-26T12:47:46Z shka: dim: not always 2018-02-26T12:48:05Z shka: no solution fits all 2018-02-26T12:48:07Z dim: fe[nl]ix: I'm highly dubious of building a query from fragments being something you need rather than something you've been used to 2018-02-26T12:48:37Z raynold quit (Quit: Connection closed for inactivity) 2018-02-26T12:48:55Z dim: shka: I think we agree, or should I use other wording than “consider”, ”you might like to”? 2018-02-26T12:49:13Z jmercouris quit (Ping timeout: 240 seconds) 2018-02-26T12:49:43Z fe[nl]ix: dim: I've had to do that quite often, e.g. adding joins and filters based on a user query 2018-02-26T12:50:07Z dim: it's a classic yeah, but I see it as an anti-pattern :/ 2018-02-26T12:50:15Z fe[nl]ix: why ? 2018-02-26T12:51:12Z dim: when you have say 3 lisp functions that does almost the same thing but not quite and you want to sometimes inject variations/filtering in the inner-loops, would you have a macro that generates the variants at run-time? 2018-02-26T12:51:25Z shka: dim: besides some people like to write bad code, and should be allowed to do so if it makes them happy ;-) 2018-02-26T12:51:51Z dim: sure, and I'm free to offer sub-par advice I guess then? ;-) 2018-02-26T12:52:13Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-26T12:52:31Z dim: fe[nl]ix: on more practical grounds, when things don't run like intended in production and you need to fix one of the queries, but not the others, it's a big problem where it should be a simple patch to the .sql file 2018-02-26T12:52:43Z fe[nl]ix: dim: if the runtime greatly dominates the compile times, yes definitely 2018-02-26T12:53:09Z dim: having been dev & dba a lot in previous jobs, building query from string pieces in the code is something I loathe nowadays, it's only going to cause maintenance problems down the road 2018-02-26T12:53:42Z fe[nl]ix: the were cases at the Lisp conferences where the presenter spoke highly of being able to turn an HTTP query into a lambda to cl:compile then funcall 2018-02-26T12:54:35Z fe[nl]ix: dim: and 3 functions is very little, I've had cases where 5 tables would have lead to a total of 31 join combinations 2018-02-26T12:54:36Z pierpa joined #lisp 2018-02-26T12:54:59Z fe[nl]ix: excluding the case of no table selected 2018-02-26T12:55:24Z dim: it smells bad design to me, either the UI, the model or the code 2018-02-26T12:55:37Z dim: most often, the model is wrong, sometimes, the UI is stupid 2018-02-26T12:56:06Z dim: “but it is generic and we allow the user to search for anything anywhere, we can't know what he'll be interested into” --- yeah, you didn't do your job 2018-02-26T12:56:33Z fe[nl]ix: I suppose that is a matter of taste 2018-02-26T12:56:42Z dim: anyway, it's just my opinions for having had to deal with that as not be allowed to tinker with the code, and then see developers trying to fit my SQL fixes/improvements back into their code 2018-02-26T12:56:50Z Chream_ joined #lisp 2018-02-26T12:56:51Z Chream_2 quit (Read error: Connection reset by peer) 2018-02-26T12:56:59Z ckonstanski joined #lisp 2018-02-26T12:57:02Z dim: and refactoring huge portions, or refusing to fix production problems because it would be too much of a change, all for just a SQL query 2018-02-26T12:57:17Z fe[nl]ix: as a user, I'd hate to use an application that is unnecessarily constrained just because the programmers want an easy life 2018-02-26T12:57:32Z dim: I'm saying any of you guys fall into that misthinking, but SQL is code and needs patching to ensure good production behavior, just as the rest of the code 2018-02-26T12:57:48Z erlosshex quit (Quit: WeeChat 2.0.1) 2018-02-26T12:58:10Z fe[nl]ix: it depends on the environment :) 2018-02-26T12:58:44Z fe[nl]ix: where I work, once a backend is goes GA, the data model basically never gets changed 2018-02-26T12:59:02Z fe[nl]ix: and if it's successful it gets rewritten from scratch every 5 years or so 2018-02-26T12:59:42Z dim: well that might be because SQL isn't considered a first class citizen by developers 2018-02-26T12:59:50Z dim: chicken an eggs and things 2018-02-26T13:00:07Z dim: I'm failing to find a nice humouristic illustration of the point I was trying to make, blah 2018-02-26T13:01:35Z terpri quit (Ping timeout: 240 seconds) 2018-02-26T13:02:20Z jdz: I agree with dim, coming from Rails and Django, where they use fancy SQL-building DSLs, which I've always found lacking. Mostly because of the inability to use nice SQL features. 2018-02-26T13:02:24Z jdz: Like recursive queries. 2018-02-26T13:03:12Z jdz: So now I'm in the "write SQL, provide parameters" camp. 2018-02-26T13:03:40Z fe[nl]ix: try to avoid taking sides 2018-02-26T13:04:15Z jdz: Avoid labelling people. 2018-02-26T13:07:21Z dim: well I'd like to offer opinions rather than build trenches :/ 2018-02-26T13:07:56Z pierpa quit (Remote host closed the connection) 2018-02-26T13:08:43Z BitPuffin joined #lisp 2018-02-26T13:09:35Z kobain joined #lisp 2018-02-26T13:11:54Z jdz: I tried to offer another point of experience. 2018-02-26T13:13:45Z Kundry_Wag joined #lisp 2018-02-26T13:15:05Z Kundry_Wag_ joined #lisp 2018-02-26T13:15:22Z EvW1 joined #lisp 2018-02-26T13:15:28Z jackdaniel: I've came only to fight, what's the topic? :-) 2018-02-26T13:15:44Z dim: you can't fight in here! it's the war room! 2018-02-26T13:16:11Z learning joined #lisp 2018-02-26T13:17:02Z thodg joined #lisp 2018-02-26T13:18:09Z Xach: Working with Lisp has made me appreciate the "living system" model of SQL servers more. 2018-02-26T13:18:26Z Xach: They both provide for the careful management and evolution of data and functions. 2018-02-26T13:19:03Z Xach: Also, I would like a more query-oriented way to get data from the running Lisp system. 2018-02-26T13:19:08Z Kundry_Wag quit (Ping timeout: 276 seconds) 2018-02-26T13:19:45Z Xach: system data, that is, like "show me all functions with both &key and and &optional" or "all packages without a docstring" and things like that. 2018-02-26T13:20:08Z Xach: I know there are ways to get that info "manually", but it would be interesting to me to have a more uniform query system/syntax. 2018-02-26T13:20:44Z dim: IIUC that's something that prolog has been quite good about? 2018-02-26T13:21:04Z dim: I mean mixing a database and query system into other programming model(s) 2018-02-26T13:21:53Z EvW1 quit (Ping timeout: 240 seconds) 2018-02-26T13:23:07Z Kundry_Wag joined #lisp 2018-02-26T13:23:09Z damke quit (Ping timeout: 264 seconds) 2018-02-26T13:24:17Z Kundry_W_ joined #lisp 2018-02-26T13:24:27Z AeroNotix: Xach: is it possible to wrap the def* type forms with something that creates a database of what you need? 2018-02-26T13:24:32Z AeroNotix: would be an interesting little package 2018-02-26T13:25:53Z thinkpad quit (Quit: lawl) 2018-02-26T13:26:27Z Kundry_Wag_ quit (Ping timeout: 245 seconds) 2018-02-26T13:27:29Z raynold joined #lisp 2018-02-26T13:28:04Z Xach: AeroNotix: most systems already keep that data around anyway. that's how slime gets its arglist info 2018-02-26T13:28:14Z Kundry_Wag quit (Ping timeout: 276 seconds) 2018-02-26T13:28:26Z Jesin quit (Quit: Leaving) 2018-02-26T13:29:53Z Kundry_Wag joined #lisp 2018-02-26T13:30:21Z makomo joined #lisp 2018-02-26T13:31:16Z p_l: Xach: I think it's something that is really missing from *Common* Lisp, all the extra details on introspection or detailed organization of memory that were provided in systems it derived from 2018-02-26T13:31:46Z Xach: p_l: my general feeling about "missing" features is "well, they had to stop somewhere" 2018-02-26T13:32:03Z Kundry_Wag_ joined #lisp 2018-02-26T13:32:19Z vibs29 left #lisp 2018-02-26T13:32:28Z p_l: on one hand, yes, on another there are some cases where IMO they concentrated too much on "we have enough pages as it is" 2018-02-26T13:32:29Z thinkpad joined #lisp 2018-02-26T13:32:44Z Shinmera: I'm not sure I feel the lack of information about memory to be a mistake. 2018-02-26T13:32:54Z p_l: Depends how it is done 2018-02-26T13:32:56Z shka: there are more missy things 2018-02-26T13:33:00Z vibs29 joined #lisp 2018-02-26T13:33:02Z shka: Shinmera: hello there 2018-02-26T13:33:21Z shka: any thoughts on documentation queries? 2018-02-26T13:33:33Z Kundry_W_ quit (Ping timeout: 240 seconds) 2018-02-26T13:33:41Z Shinmera: My thought is I don't really know what you mean by it. Do you mean retrieving the original documentation forms? 2018-02-26T13:33:47Z shka: yup 2018-02-26T13:33:48Z Shinmera: *expressions 2018-02-26T13:33:52Z shka: exactly 2018-02-26T13:34:05Z Shinmera: Okey. In that case you could just store them however you like in your custom formatter, no? 2018-02-26T13:34:20Z shka: yup 2018-02-26T13:34:39Z Shinmera: Alright, so why does that need to be in documentation-utils itself? 2018-02-26T13:34:51Z shka: should i close this issue or you wanna this feature in documentation-utils? 2018-02-26T13:34:53Z Kevslinger joined #lisp 2018-02-26T13:35:03Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-02-26T13:35:34Z Shinmera: So far I'm leaning towards not wanting it as it seems like storing the original format isn't needed for a lot of cases, and those where it is letting them handle their own storage seems smarter as they can decide exactly how to do it. 2018-02-26T13:35:50Z shka: ok, that's reasonable 2018-02-26T13:36:28Z Shinmera: I can see an angle where primitive formatters might want to just store the original expression, but that seems like a small case that possibly just hinders most cases. 2018-02-26T13:36:29Z Kundry_Wag joined #lisp 2018-02-26T13:37:17Z fikka quit (Ping timeout: 245 seconds) 2018-02-26T13:37:21Z mercourisj quit (Remote host closed the connection) 2018-02-26T13:37:33Z Kundry_W_ joined #lisp 2018-02-26T13:37:39Z jmercouris joined #lisp 2018-02-26T13:38:13Z shka: sure 2018-02-26T13:38:18Z shka: thanks for answer 2018-02-26T13:38:23Z shka: i will close this issue 2018-02-26T13:39:24Z shka: Shinmera: have a nice day :-) 2018-02-26T13:39:27Z Kundry_Wag_ quit (Ping timeout: 252 seconds) 2018-02-26T13:39:28Z Shinmera: Same to you! 2018-02-26T13:39:42Z Kundry_Wag_ joined #lisp 2018-02-26T13:41:17Z aindilis quit (Ping timeout: 252 seconds) 2018-02-26T13:41:53Z Kundry___ joined #lisp 2018-02-26T13:41:53Z Kundry_Wag quit (Ping timeout: 276 seconds) 2018-02-26T13:42:42Z Kundry_W_ quit (Ping timeout: 245 seconds) 2018-02-26T13:44:57Z Kundry_Wag_ quit (Ping timeout: 252 seconds) 2018-02-26T13:46:15Z smokeink joined #lisp 2018-02-26T13:46:47Z Kundry___ quit (Ping timeout: 252 seconds) 2018-02-26T13:49:32Z Bike joined #lisp 2018-02-26T13:54:12Z ksool joined #lisp 2018-02-26T13:54:37Z damke joined #lisp 2018-02-26T13:55:58Z Nouv joined #lisp 2018-02-26T13:56:19Z saki quit (Ping timeout: 268 seconds) 2018-02-26T14:00:56Z damke_ joined #lisp 2018-02-26T14:01:56Z makomo_ joined #lisp 2018-02-26T14:03:22Z saki joined #lisp 2018-02-26T14:03:57Z damke quit (Ping timeout: 264 seconds) 2018-02-26T14:04:37Z makomo quit (Ping timeout: 256 seconds) 2018-02-26T14:05:11Z zooey quit (Ping timeout: 255 seconds) 2018-02-26T14:07:24Z fikka joined #lisp 2018-02-26T14:08:15Z damke__ joined #lisp 2018-02-26T14:08:35Z quazimodo quit (Ping timeout: 256 seconds) 2018-02-26T14:09:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-26T14:11:44Z zooey joined #lisp 2018-02-26T14:11:53Z fikka quit (Ping timeout: 240 seconds) 2018-02-26T14:12:22Z fikka joined #lisp 2018-02-26T14:14:17Z smokeink quit (Ping timeout: 252 seconds) 2018-02-26T14:16:03Z smasta joined #lisp 2018-02-26T14:16:11Z Murii: what does 'aref' stand for when using with vectors? 2018-02-26T14:16:20Z Xach: Murii: array reference. 2018-02-26T14:16:29Z Murii: but it's a vector :O 2018-02-26T14:16:49Z Shinmera: vectors are arrays. 2018-02-26T14:16:50Z Xach: A foolish consistency is the hobgoblin of little minds. 2018-02-26T14:17:07Z Kundry_Wag joined #lisp 2018-02-26T14:17:07Z Murii: Shinmera, in a way you can consider it 2018-02-26T14:17:20Z Shinmera: No, it's literally defined that way. 2018-02-26T14:17:21Z Murii: Anyway, how can I get the length of a vector? 2018-02-26T14:17:29Z Shinmera: by using LENGTH 2018-02-26T14:17:56Z Xach: And also with array-dimensions! But that's more oblique. 2018-02-26T14:19:11Z damke joined #lisp 2018-02-26T14:19:13Z Murii: Shinmera, LENGTH also works on lists right? 2018-02-26T14:19:28Z Shinmera: it works on sequences. lists and vectors are sequences. 2018-02-26T14:19:33Z damke__ quit (Ping timeout: 264 seconds) 2018-02-26T14:20:32Z jackdaniel: fun fact - strings are vectors (hence sequences) too 2018-02-26T14:20:53Z damke_ joined #lisp 2018-02-26T14:21:10Z Murii: jackdaniel, well they are in any language 2018-02-26T14:21:18Z Kundry_Wag_ joined #lisp 2018-02-26T14:21:23Z jackdaniel: are they? 2018-02-26T14:21:26Z pjb: Murii: nope. 2018-02-26T14:21:33Z saki quit (Ping timeout: 240 seconds) 2018-02-26T14:21:37Z pjb: Murii: eg. in scheme, strings are not vectors. 2018-02-26T14:22:19Z pjb: Murii: also, if your language supports unicode, it may not be the best choice to make strings vectors. 2018-02-26T14:23:01Z jackdaniel: technically string is a set of symbols from a specified alphabet, no vector required 2018-02-26T14:23:12Z jackdaniel: tfu, not set 2018-02-26T14:23:13Z jackdaniel: sequence 2018-02-26T14:23:18Z pjb: Since the properties of unicode strings are so strange, vectors of glyfs, vectors of code-points, or vectors of characters are all inconvenient. Some argue that even having characters is inconvenient, when you use unicode. 2018-02-26T14:23:32Z damke quit (Ping timeout: 245 seconds) 2018-02-26T14:23:38Z jackdaniel: ("tfu" means in polish "bleh", not some kind of "fu" derivative) 2018-02-26T14:23:59Z Kundry_W_ joined #lisp 2018-02-26T14:24:02Z saki joined #lisp 2018-02-26T14:24:22Z Kundry_Wag quit (Ping timeout: 245 seconds) 2018-02-26T14:25:29Z learning quit (Remote host closed the connection) 2018-02-26T14:25:36Z FreeBirdLjj joined #lisp 2018-02-26T14:25:56Z dddddd joined #lisp 2018-02-26T14:26:18Z warweasle joined #lisp 2018-02-26T14:27:42Z Kundry_Wag_ quit (Ping timeout: 245 seconds) 2018-02-26T14:27:55Z Kundry_Wag joined #lisp 2018-02-26T14:27:55Z Chream_ quit (Read error: Connection reset by peer) 2018-02-26T14:27:58Z Chream_2 joined #lisp 2018-02-26T14:28:29Z Chream_ joined #lisp 2018-02-26T14:28:29Z Chream_2 quit (Read error: Connection reset by peer) 2018-02-26T14:28:33Z makomo_ quit (Quit: WeeChat 1.9.1) 2018-02-26T14:28:53Z makomo joined #lisp 2018-02-26T14:30:45Z ski joined #lisp 2018-02-26T14:31:23Z LiamH joined #lisp 2018-02-26T14:31:56Z Kundry_W_ quit (Ping timeout: 276 seconds) 2018-02-26T14:34:49Z Kundry_Wag_ joined #lisp 2018-02-26T14:34:50Z ckonstanski quit (Remote host closed the connection) 2018-02-26T14:37:03Z Kundry_W_ joined #lisp 2018-02-26T14:38:04Z Kundry___ joined #lisp 2018-02-26T14:38:07Z Kundry_Wag quit (Ping timeout: 245 seconds) 2018-02-26T14:38:35Z saki quit (Ping timeout: 240 seconds) 2018-02-26T14:40:12Z Kundry_Wag_ quit (Ping timeout: 245 seconds) 2018-02-26T14:41:59Z Kundry_Wag joined #lisp 2018-02-26T14:42:20Z Kundry_W_ quit (Ping timeout: 276 seconds) 2018-02-26T14:42:22Z oleo joined #lisp 2018-02-26T14:44:00Z Nouv quit (Remote host closed the connection) 2018-02-26T14:44:51Z fikka quit (Ping timeout: 256 seconds) 2018-02-26T14:44:54Z asarch joined #lisp 2018-02-26T14:45:13Z Kundry___ quit (Ping timeout: 240 seconds) 2018-02-26T14:46:26Z __rumbler31 joined #lisp 2018-02-26T14:47:33Z Jesin joined #lisp 2018-02-26T14:48:08Z kobain quit (Ping timeout: 256 seconds) 2018-02-26T14:50:13Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-02-26T14:50:41Z fluxit joined #lisp 2018-02-26T14:50:57Z comborico1611 joined #lisp 2018-02-26T14:52:31Z sbenitezb joined #lisp 2018-02-26T14:53:15Z sbenitezb quit (Client Quit) 2018-02-26T14:53:59Z fikka joined #lisp 2018-02-26T14:56:53Z jmercouris quit (Ping timeout: 240 seconds) 2018-02-26T14:57:20Z kobain joined #lisp 2018-02-26T14:58:10Z terpri joined #lisp 2018-02-26T14:59:14Z Chream_ quit (Ping timeout: 276 seconds) 2018-02-26T14:59:44Z saki joined #lisp 2018-02-26T15:00:25Z fluxit quit (Max SendQ exceeded) 2018-02-26T15:00:35Z fluxit joined #lisp 2018-02-26T15:01:19Z fikka quit (Ping timeout: 248 seconds) 2018-02-26T15:03:05Z rumbler31 quit (Remote host closed the connection) 2018-02-26T15:03:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-26T15:03:34Z hajovonta: pjb: why? a sequence is just a predefined order for the elements 2018-02-26T15:03:45Z hajovonta: and a string is a predefined order for the characters. 2018-02-26T15:04:06Z Shinmera: not... really. 2018-02-26T15:04:27Z Shinmera: things get ~weird~ when you consider unicode. 2018-02-26T15:05:04Z hajovonta: the representation of the characters is a different matter 2018-02-26T15:05:12Z hajovonta: this is my - naive - thought :) 2018-02-26T15:05:14Z fikka joined #lisp 2018-02-26T15:06:08Z Bike: with unicode it's nontrivial to decide what the elements of a string are. 2018-02-26T15:07:19Z TMA: hajovonta: if you restrict yourself to English the intuition is fine. but for more complex languages you soon run full speed into a wall with it 2018-02-26T15:07:21Z jmercouris joined #lisp 2018-02-26T15:08:15Z hajovonta: why? I can't imagine an example 2018-02-26T15:09:21Z Cymew quit (Remote host closed the connection) 2018-02-26T15:09:48Z Shinmera: Often times a unicode string will be taken as a vector of code points. Unicode allows you to compose characters through multiple individual code points, where the order does not necessarily matter. Thus, as a representation of a "character string" different vectors represent the same thing, but are no longer identical. 2018-02-26T15:10:13Z TMA: because the properties of sequences no longer hold -- if you concatenate sequences you would probably assume that the resulting length will be the sum of lengths 2018-02-26T15:10:39Z dlowe: docstrings - word wrapped or not? 2018-02-26T15:10:59Z Shinmera: dlowe: I do summary not word wrapped, rest word wrapped. 2018-02-26T15:11:13Z Shinmera: Or rather, summary single line, rest word wrapped. 2018-02-26T15:12:01Z hajovonta: we have several strange characters in our language (Hungarian) like á, é, í, ú, and ö, ő, ü, ű 2018-02-26T15:12:35Z hajovonta: but, when I write "árvíz" and concatenate "tükör" then "árvíztükör" is a sequence of 10 characters 2018-02-26T15:12:48Z hajovonta: is that not always so? 2018-02-26T15:12:50Z Shinmera: No 2018-02-26T15:13:16Z Shinmera: Unicode has code points for just the ticks, so you could write a+tick, as two code points, which would be a string of length 2 in most implementations. 2018-02-26T15:13:24Z Cymew joined #lisp 2018-02-26T15:13:27Z Shinmera: even though it's one character. 2018-02-26T15:13:40Z hajovonta: ok, so it's an implementation thing that causes the problems 2018-02-26T15:13:45Z TMA: hajovonta: say that you concatenate 'hajov' and 'onta' in a CV sylabic script ... the first has 3 characters (ha-jo-v) the second has 3 (o-n-ta) ; but the concatenation has 5 not 6 (ha-jo-vo-n-ta) 2018-02-26T15:14:06Z chiyosaki joined #lisp 2018-02-26T15:14:08Z saki quit (Ping timeout: 248 seconds) 2018-02-26T15:14:17Z Shinmera: hajovonta: Not really. There's just different ways of looking at the same thing. 2018-02-26T15:15:22Z hajovonta: but it doesn't matter how many code points make up a character. We can just count the characters, can't we? 2018-02-26T15:15:58Z hajovonta: or is it problematic to get to the character count from the code points ? 2018-02-26T15:16:31Z Shinmera: Well for instance looking up a single character in a string becomes O(n) 2018-02-26T15:17:21Z Kundry_Wag joined #lisp 2018-02-26T15:17:40Z Kaisyu quit (Quit: Updating details, brb) 2018-02-26T15:17:52Z Kaisyu joined #lisp 2018-02-26T15:17:58Z TMA: hajovonta: why yes. sometimes. in other times what constitutes a character is hard to tell. ... IIRC, in Spanish ll is a single character though two codepoints. ch is a single character in Czech 2018-02-26T15:18:15Z Chream_ joined #lisp 2018-02-26T15:18:15Z dlowe: the notion of a "character" may be antiquated at this point. 2018-02-26T15:18:17Z Cymew quit (Ping timeout: 256 seconds) 2018-02-26T15:18:19Z Kundry_Wag_ joined #lisp 2018-02-26T15:18:31Z learning joined #lisp 2018-02-26T15:18:38Z hajovonta: yes, we also have double-character characters, like gy, ny, ty, dz, ... 2018-02-26T15:19:07Z hajovonta: but we don't have keys for those on Hungarian layout keyboards. 2018-02-26T15:19:15Z hajovonta: we use two keypresses. 2018-02-26T15:19:24Z Kundry_W_ joined #lisp 2018-02-26T15:19:35Z TMA: hajovonta: so when you see the string "chill", you do not know how many characters you have 2018-02-26T15:20:20Z TMA: hajovonta: it's 5 code points but some indeterminate number of characters 2018-02-26T15:20:21Z papachan joined #lisp 2018-02-26T15:20:35Z dlowe: generally, when you want to know the "length" of the string, you want to know a) how many bytes does it take up or b) how many pixels will it take to render this string, both of which have satisfactory answers. 2018-02-26T15:21:28Z dlowe: A perverse mind might want to know it in order to find the maximum valid index of a character. 2018-02-26T15:21:29Z TMA: counting characters does not help in determining either 2018-02-26T15:21:41Z hajovonta: dlowe: I'm usually not interested in any of the two answers :) 2018-02-26T15:21:53Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-26T15:22:02Z dlowe: so why do you need the length of a string then? 2018-02-26T15:22:42Z fikka quit (Ping timeout: 245 seconds) 2018-02-26T15:23:03Z hajovonta: 15:23:02 - jackdaniel: technically string is a sequence of symbols from a specified alphabet, no vector required 2018-02-26T15:23:06Z Kundry_Wag_ quit (Ping timeout: 265 seconds) 2018-02-26T15:23:22Z Kundry_Wag joined #lisp 2018-02-26T15:23:34Z hajovonta: I was just asking why can't a string be a sequence of characters 2018-02-26T15:24:04Z hajovonta: based on jackdaniel's definition, a string is a sequence of symbols from a specified alphabet 2018-02-26T15:24:08Z jackdaniel: characters are symbols of "text" alphabet, and that's what usually languages implement 2018-02-26T15:24:16Z pjb: hajovonta: unicode strings are decomposed in glyps, that are defined by a sequence of code-points of variable length. 2018-02-26T15:24:29Z hajovonta: I agree that the number of characters can be different when using different alphabets 2018-02-26T15:24:30Z dlowe: well, in CL a string is exactly that - a requence (vector) of characters 2018-02-26T15:24:46Z pjb: hajovonta: the notion of string as a sequence of character would imply that a character is an object of variable length. 2018-02-26T15:25:09Z hajovonta: pjb: yes, but that's an implementation problem 2018-02-26T15:25:26Z pjb: hajovonta: no implementation implement characters this way, because it makes for very complex objects, compared to the usual single byte for C char, or 32-bit word for unicode code-point. 2018-02-26T15:25:29Z jackdaniel: pjb: code-points of variable length may constitute one alphabet element 2018-02-26T15:25:33Z hajovonta: I think the "sequence of characters" as a theoretical definition is pretty good 2018-02-26T15:25:38Z pjb: code-points are of fixed length. 2018-02-26T15:25:38Z Kundry_Wag_ joined #lisp 2018-02-26T15:25:51Z pjb: It's glyphs that are made of a variable number of combining code-points. 2018-02-26T15:26:22Z jackdaniel: (what I meant, that one glyph is element of the alphabet, not its code-points, so it is irrevelant to the definition) 2018-02-26T15:26:29Z pjb: There's also the problem of normalization, such as the various unicode representation of á, or the problem of ligatures. 2018-02-26T15:26:39Z Kundry___ joined #lisp 2018-02-26T15:26:50Z jackdaniel: so I think that was very in point, that it is implementation detail 2018-02-26T15:26:53Z Kundry_W_ quit (Ping timeout: 252 seconds) 2018-02-26T15:26:58Z pjb: jackdaniel: ok, you're implementor. I dare you to implement ecl characters as variable-length sequences of code points… 2018-02-26T15:27:21Z _cosmonaut_ quit (Ping timeout: 256 seconds) 2018-02-26T15:27:24Z pjb: This is probably what I'd do if I was a CL implementor, but I'm not yet. 2018-02-26T15:27:36Z jackdaniel: again - irrevelant to hajovonta's question :( 2018-02-26T15:27:38Z Kundry_W_ joined #lisp 2018-02-26T15:27:39Z pjb: But I'd make sure to read the unicode standard through, first. 2018-02-26T15:28:02Z jackdaniel: happily they were implemented that way before I took over 2018-02-26T15:28:13Z pjb: So basically, implementations store strings as vectors of code-points instead. 2018-02-26T15:28:14Z saki joined #lisp 2018-02-26T15:28:21Z pjb: But code-points are not characters! 2018-02-26T15:28:33Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-26T15:28:33Z damke_ joined #lisp 2018-02-26T15:28:45Z hajovonta: a character is a symbol _in a given alphabet_ 2018-02-26T15:28:49Z chiyosaki quit (Ping timeout: 268 seconds) 2018-02-26T15:29:00Z pjb: hajovonta: by the way, even without going full unicode, just with ascii, you have the distinction between characters or ASCII control codes. 2018-02-26T15:29:14Z Kundry_Wag joined #lisp 2018-02-26T15:29:14Z jackdaniel: yes, and when you say (nth *string* 18) it won't take 18-th code-point, but 18-th character 2018-02-26T15:29:34Z pjb: hajovonta: usually implementations make strings vectors of characters, with virtual characters corresponding to ascii control codes, which has no meaning. 2018-02-26T15:29:55Z pjb: hajovonta: who said this given alphabet is finite? 2018-02-26T15:29:57Z _cosmonaut_ joined #lisp 2018-02-26T15:30:21Z Kundry_Wag_ quit (Ping timeout: 265 seconds) 2018-02-26T15:30:39Z jackdaniel: right, the only important thing is that the sequence is finite, alphabet may have infinite number of possible symbols 2018-02-26T15:30:43Z pjb: hajovonta: so far, even with unicode, it's finite (and way bigger than 2^21), but just let the user combine the code-points without limiting the number of combinaisons, and you get an infinite number of characters! 2018-02-26T15:30:49Z Kundry_Wag_ joined #lisp 2018-02-26T15:31:17Z Kundry___ quit (Ping timeout: 252 seconds) 2018-02-26T15:31:21Z ninegrid quit (Quit: leaving) 2018-02-26T15:31:28Z pjb: hajovonta: in any case, your question is irrelevant: it could indeed (and should IMO) be done that way, but it is not done in practice by implementations! 2018-02-26T15:32:09Z TMA: स्कृ 2018-02-26T15:32:10Z dlowe: I believe there's an O(1) access guarantee for CHAR. 2018-02-26T15:32:58Z csaurus joined #lisp 2018-02-26T15:33:00Z hajovonta: pjb: I don't see how it is a problem to have an infinite number of characters... 2018-02-26T15:33:15Z Kundry_W_ quit (Ping timeout: 265 seconds) 2018-02-26T15:33:15Z hajovonta: pjb: yes, we agree 2018-02-26T15:33:20Z dlowe: which makes it impossible to both support the notion of a unicode character and the CL spec. 2018-02-26T15:33:20Z orivej joined #lisp 2018-02-26T15:34:13Z hajovonta: dlowe: I think it's possible, but it's impractical. (?) 2018-02-26T15:34:22Z Kundry_Wag quit (Ping timeout: 245 seconds) 2018-02-26T15:34:43Z pjb: hajovonta: (length (concatenate 'string "árvíz" "tükör")) -> 14 ; !!! 2018-02-26T15:35:29Z pjb: dlowe: AFAIK, characters can be more complex than a fixnum. 2018-02-26T15:35:46Z hajovonta: CL-USER> (length (concatenate 'string "árvíz" "tükör")) 2018-02-26T15:35:46Z hajovonta: 10 2018-02-26T15:35:57Z pjb: hajovonta: you see the problem. 2018-02-26T15:36:05Z dlowe: pjb: sure, but you'll need some way to access them without decomposing them on the fly. 2018-02-26T15:36:19Z dlowe: you could do it with a seperate decomposing index vector, I guess. 2018-02-26T15:36:33Z pjb: No, don't store code-points, store characters! 2018-02-26T15:36:52Z wigust joined #lisp 2018-02-26T15:36:54Z pjb: CL says vector of character, not vector of code-points or codes… 2018-02-26T15:37:17Z pjb: The problem is more in the lisp reader, that now has to convert and normalize unicode. 2018-02-26T15:37:25Z hajovonta: but a character can be anything, like "djshfkjdhskh". In a hypothetical alphabet, this can be one character. 2018-02-26T15:37:37Z pjb: well, not the reader properly, the external-format handling… 2018-02-26T15:37:50Z pjb: hajovonta: well, unicode has rules. 2018-02-26T15:38:11Z pjb: basically, IIRC, you can have up to ten combining code-points following a non-combining code-points. 2018-02-26T15:38:50Z pjb: So you could consider using bigints to encode them, after normalization. 2018-02-26T15:39:32Z pjb: This would have the advantage, that you could represent most common characters as fixnums. 2018-02-26T15:39:38Z Kundry_Wag joined #lisp 2018-02-26T15:41:02Z saki quit (Ping timeout: 245 seconds) 2018-02-26T15:41:27Z wigust quit (Ping timeout: 240 seconds) 2018-02-26T15:41:53Z ninegrid joined #lisp 2018-02-26T15:42:03Z saki joined #lisp 2018-02-26T15:43:23Z Kundry_Wag_ quit (Ping timeout: 252 seconds) 2018-02-26T15:43:40Z Kundry_Wag_ joined #lisp 2018-02-26T15:44:30Z nowhere_man quit (Remote host closed the connection) 2018-02-26T15:44:40Z Kundry_W_ joined #lisp 2018-02-26T15:45:33Z nowhere_man joined #lisp 2018-02-26T15:46:15Z Kundry___ joined #lisp 2018-02-26T15:47:16Z Kundry_Wag quit (Ping timeout: 265 seconds) 2018-02-26T15:48:07Z Kundry_Wag_ quit (Ping timeout: 245 seconds) 2018-02-26T15:49:47Z Kundry_W_ quit (Ping timeout: 245 seconds) 2018-02-26T15:50:33Z Kundry___ quit (Ping timeout: 240 seconds) 2018-02-26T15:51:09Z ioa_ left #lisp 2018-02-26T15:51:24Z ioa_ joined #lisp 2018-02-26T15:51:32Z fikka joined #lisp 2018-02-26T15:55:08Z saki quit (Ping timeout: 276 seconds) 2018-02-26T15:56:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-26T15:56:51Z saki joined #lisp 2018-02-26T15:57:05Z damke joined #lisp 2018-02-26T16:01:13Z jmercouris quit (Ping timeout: 240 seconds) 2018-02-26T16:01:13Z khisanth_ quit (Ping timeout: 240 seconds) 2018-02-26T16:03:39Z saki quit (Ping timeout: 260 seconds) 2018-02-26T16:04:22Z saki joined #lisp 2018-02-26T16:10:33Z parjanya joined #lisp 2018-02-26T16:14:07Z wigust joined #lisp 2018-02-26T16:14:58Z khisanth_ joined #lisp 2018-02-26T16:15:35Z emaczen quit (Read error: Connection reset by peer) 2018-02-26T16:16:08Z safe joined #lisp 2018-02-26T16:17:26Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-26T16:17:27Z Kundry_Wag_ joined #lisp 2018-02-26T16:17:42Z attila_lendvai joined #lisp 2018-02-26T16:18:29Z rumbler31 joined #lisp 2018-02-26T16:18:29Z rumbler31 quit (Remote host closed the connection) 2018-02-26T16:21:08Z slondr joined #lisp 2018-02-26T16:21:29Z slondr: () 2018-02-26T16:22:06Z al-damiri joined #lisp 2018-02-26T16:22:27Z Kundry_Wag joined #lisp 2018-02-26T16:22:53Z smasta quit (Ping timeout: 256 seconds) 2018-02-26T16:25:17Z emaczen joined #lisp 2018-02-26T16:25:55Z Kundry_Wag_ quit (Ping timeout: 252 seconds) 2018-02-26T16:27:16Z slondr quit (Remote host closed the connection) 2018-02-26T16:27:42Z Kundry_Wag_ joined #lisp 2018-02-26T16:28:23Z Jesin quit (Quit: Leaving) 2018-02-26T16:30:37Z Kundry_Wag quit (Ping timeout: 245 seconds) 2018-02-26T16:30:45Z flip214: pjb: fixnums are awfully large... even the 32bit character on 64bit machines hurts, if you need to store some larger text body 2018-02-26T16:32:00Z hajovonta quit (Quit: hajovonta) 2018-02-26T16:32:14Z heisig quit (Quit: Leaving) 2018-02-26T16:32:31Z foom: Yea, there's really no point in storing text as a vector of characters. 2018-02-26T16:32:48Z rumbler31 joined #lisp 2018-02-26T16:33:00Z foom: That's a bogus representation, only used for historical reasons. 2018-02-26T16:34:18Z Kundry_Wag joined #lisp 2018-02-26T16:35:10Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-26T16:35:54Z Kundry_W_ joined #lisp 2018-02-26T16:35:59Z pjb: Yes, there's foom's argument. 2018-02-26T16:36:10Z pjb: If you have large anything, you need to consider your own data structures and algorithms. 2018-02-26T16:36:12Z flamebeard quit (Quit: Leaving) 2018-02-26T16:36:28Z pjb: And indeed, the sequence of character representation of large body of text is not often the best one. 2018-02-26T16:36:32Z Shinmera: You can either be flexible or efficient. 2018-02-26T16:36:52Z pjb: See for example, lisp source code: it's read and not represented as strings, but instead as sexps! 2018-02-26T16:36:56Z Kundry_Wag_ quit (Ping timeout: 256 seconds) 2018-02-26T16:37:22Z foom: The problem is that it's not the best representation for a small body of text either, except where "best" is defined as "works within existing standard". 2018-02-26T16:37:29Z pjb: If you had to read wikipedia, probably you'd start by storing words instead of characters… And they perhaps you'd even try to store relationships infered from the sentences… 2018-02-26T16:37:41Z rumbler31 quit (Ping timeout: 245 seconds) 2018-02-26T16:38:51Z foom: What you really want is to store the text as utf8, and provide APIs to iterate over encoded bytes, codepoints, grapheme clusters, words, etc. 2018-02-26T16:39:46Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-26T16:40:43Z Kundry_Wag joined #lisp 2018-02-26T16:41:00Z smasta joined #lisp 2018-02-26T16:42:26Z Kundry_Wag_ joined #lisp 2018-02-26T16:43:26Z Kundry___ joined #lisp 2018-02-26T16:44:10Z m00natic quit (Remote host closed the connection) 2018-02-26T16:44:18Z Kundry_W_ quit (Ping timeout: 256 seconds) 2018-02-26T16:44:28Z Kundry_W_ joined #lisp 2018-02-26T16:44:44Z slondr joined #lisp 2018-02-26T16:46:00Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-26T16:47:08Z Kundry_Wag_ quit (Ping timeout: 256 seconds) 2018-02-26T16:48:17Z Kundry___ quit (Ping timeout: 252 seconds) 2018-02-26T16:48:58Z fdund joined #lisp 2018-02-26T16:49:47Z Kundry_W_ quit (Ping timeout: 245 seconds) 2018-02-26T16:51:19Z aindilis joined #lisp 2018-02-26T16:52:56Z rumbler31 joined #lisp 2018-02-26T16:55:01Z klltkr joined #lisp 2018-02-26T16:58:07Z rumbler31 quit (Ping timeout: 248 seconds) 2018-02-26T16:58:46Z himmAllRight quit (Remote host closed the connection) 2018-02-26T16:58:52Z whaack quit (Quit: ZNC - http://znc.in) 2018-02-26T16:59:33Z saki quit (Remote host closed the connection) 2018-02-26T16:59:33Z schweers` quit (Ping timeout: 240 seconds) 2018-02-26T16:59:36Z slondr quit (Ping timeout: 256 seconds) 2018-02-26T17:00:44Z jmercouris joined #lisp 2018-02-26T17:01:29Z damke_ joined #lisp 2018-02-26T17:03:21Z damke quit (Ping timeout: 264 seconds) 2018-02-26T17:03:29Z rumbler31 joined #lisp 2018-02-26T17:04:25Z nullniverse quit (Remote host closed the connection) 2018-02-26T17:07:09Z himmAllRight joined #lisp 2018-02-26T17:07:57Z rumbler31 quit (Ping timeout: 240 seconds) 2018-02-26T17:09:58Z saki joined #lisp 2018-02-26T17:12:28Z Karl_Dscc joined #lisp 2018-02-26T17:21:52Z Kundry_Wag joined #lisp 2018-02-26T17:22:42Z Kundry_Wag_ joined #lisp 2018-02-26T17:23:57Z Arcaelyx joined #lisp 2018-02-26T17:26:27Z Kundry_Wag quit (Ping timeout: 245 seconds) 2018-02-26T17:30:07Z Kundry_Wag joined #lisp 2018-02-26T17:30:13Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-26T17:30:25Z hhdave quit (Quit: hhdave) 2018-02-26T17:32:10Z attila_lendvai joined #lisp 2018-02-26T17:32:10Z attila_lendvai quit (Changing host) 2018-02-26T17:32:10Z attila_lendvai joined #lisp 2018-02-26T17:33:07Z Kundry_Wag_ quit (Ping timeout: 265 seconds) 2018-02-26T17:33:42Z mareskeg joined #lisp 2018-02-26T17:34:17Z comborico1611 quit (Ping timeout: 256 seconds) 2018-02-26T17:35:37Z warweasle quit (Ping timeout: 245 seconds) 2018-02-26T17:36:23Z Kundry_Wag_ joined #lisp 2018-02-26T17:36:53Z smasta quit (Ping timeout: 240 seconds) 2018-02-26T17:37:23Z learning quit (Remote host closed the connection) 2018-02-26T17:38:05Z smasta joined #lisp 2018-02-26T17:39:22Z Kundry_Wag quit (Ping timeout: 245 seconds) 2018-02-26T17:39:47Z Kundry_Wag joined #lisp 2018-02-26T17:42:42Z Kundry_Wag_ quit (Ping timeout: 245 seconds) 2018-02-26T17:43:33Z omilu quit (Ping timeout: 240 seconds) 2018-02-26T17:44:18Z mlf joined #lisp 2018-02-26T17:46:57Z klltkr quit (Quit: Lost terminal) 2018-02-26T17:51:16Z fdund quit (Quit: .) 2018-02-26T17:51:26Z breakfast1 joined #lisp 2018-02-26T17:52:53Z attila_lendvai quit (Ping timeout: 240 seconds) 2018-02-26T17:52:57Z saki quit (Ping timeout: 240 seconds) 2018-02-26T17:55:12Z Kundry_Wag quit (Ping timeout: 245 seconds) 2018-02-26T17:56:39Z saki joined #lisp 2018-02-26T17:57:58Z sjl joined #lisp 2018-02-26T17:58:42Z PMS joined #lisp 2018-02-26T17:58:45Z stacksmith joined #lisp 2018-02-26T17:58:56Z mareskeg quit (Quit: mareskeg) 2018-02-26T18:00:27Z _cosmonaut_ quit (Ping timeout: 240 seconds) 2018-02-26T18:01:17Z warweasle joined #lisp 2018-02-26T18:02:16Z borei quit (Quit: Leaving.) 2018-02-26T18:02:28Z attila_lendvai joined #lisp 2018-02-26T18:02:28Z attila_lendvai quit (Changing host) 2018-02-26T18:02:28Z attila_lendvai joined #lisp 2018-02-26T18:03:25Z breakfast1 left #lisp 2018-02-26T18:07:02Z saki quit (Remote host closed the connection) 2018-02-26T18:07:18Z learning joined #lisp 2018-02-26T18:07:21Z saki joined #lisp 2018-02-26T18:08:24Z shka_ joined #lisp 2018-02-26T18:11:27Z saki quit (Ping timeout: 245 seconds) 2018-02-26T18:12:15Z fikka quit (Ping timeout: 256 seconds) 2018-02-26T18:14:17Z saki joined #lisp 2018-02-26T18:14:17Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-26T18:15:31Z attila_lendvai joined #lisp 2018-02-26T18:19:15Z varjag joined #lisp 2018-02-26T18:22:12Z Kundry_Wag joined #lisp 2018-02-26T18:23:44Z Kundry_Wag_ joined #lisp 2018-02-26T18:26:04Z Kundry_W_ joined #lisp 2018-02-26T18:27:13Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-26T18:28:57Z Kundry_Wag_ quit (Ping timeout: 245 seconds) 2018-02-26T18:33:29Z drewc joined #lisp 2018-02-26T18:34:54Z Baggers joined #lisp 2018-02-26T18:35:28Z milanj_ joined #lisp 2018-02-26T18:38:07Z milanj quit (Ping timeout: 245 seconds) 2018-02-26T18:38:35Z fikka joined #lisp 2018-02-26T18:38:42Z Kundry_Wag joined #lisp 2018-02-26T18:40:17Z Chream_2 joined #lisp 2018-02-26T18:40:53Z Chream_ quit (Ping timeout: 240 seconds) 2018-02-26T18:41:33Z Kundry_W_ quit (Ping timeout: 240 seconds) 2018-02-26T18:42:17Z smasta quit (Ping timeout: 245 seconds) 2018-02-26T18:43:31Z mason left #lisp 2018-02-26T18:48:26Z deng_cn quit (Read error: Connection reset by peer) 2018-02-26T18:49:02Z ninegrid quit (Quit: Lost terminal) 2018-02-26T18:50:54Z deng_cn joined #lisp 2018-02-26T18:52:52Z jmercouris quit (Ping timeout: 265 seconds) 2018-02-26T18:53:36Z Achylles joined #lisp 2018-02-26T18:55:09Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-02-26T18:56:39Z smasta joined #lisp 2018-02-26T18:59:23Z learning quit (Remote host closed the connection) 2018-02-26T19:01:15Z damke joined #lisp 2018-02-26T19:03:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-26T19:05:37Z fikka quit (Ping timeout: 245 seconds) 2018-02-26T19:13:13Z nowhereman joined #lisp 2018-02-26T19:13:36Z nowhereman is now known as Guest94287 2018-02-26T19:14:49Z comborico1611 joined #lisp 2018-02-26T19:15:05Z energizer joined #lisp 2018-02-26T19:16:25Z nowhere_man quit (Ping timeout: 252 seconds) 2018-02-26T19:17:35Z shifty quit (Ping timeout: 240 seconds) 2018-02-26T19:19:06Z Kundry_Wag joined #lisp 2018-02-26T19:25:22Z fikka joined #lisp 2018-02-26T19:26:41Z saki quit (Ping timeout: 252 seconds) 2018-02-26T19:27:56Z saki joined #lisp 2018-02-26T19:29:32Z pierpa joined #lisp 2018-02-26T19:30:21Z Sauvin quit (Ping timeout: 252 seconds) 2018-02-26T19:30:27Z fikka quit (Ping timeout: 256 seconds) 2018-02-26T19:39:24Z kobain quit (Ping timeout: 256 seconds) 2018-02-26T19:40:20Z Kundry_Wag_ joined #lisp 2018-02-26T19:43:33Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-02-26T19:44:21Z Kundry_Wag joined #lisp 2018-02-26T19:46:27Z willmichael quit (Ping timeout: 245 seconds) 2018-02-26T19:47:19Z fikka joined #lisp 2018-02-26T19:47:33Z Kundry_Wag_ quit (Ping timeout: 240 seconds) 2018-02-26T19:48:11Z willmichael joined #lisp 2018-02-26T19:50:44Z willmichael quit (Read error: Connection reset by peer) 2018-02-26T19:52:23Z Kundry_Wag quit (Ping timeout: 276 seconds) 2018-02-26T19:56:13Z smasta quit (Ping timeout: 240 seconds) 2018-02-26T19:59:14Z smasta joined #lisp 2018-02-26T19:59:34Z milanj_ quit (Quit: This computer has gone to sleep) 2018-02-26T20:01:12Z trocado joined #lisp 2018-02-26T20:02:20Z josemanuel joined #lisp 2018-02-26T20:03:18Z willmichael joined #lisp 2018-02-26T20:04:15Z makomo quit (Ping timeout: 248 seconds) 2018-02-26T20:06:12Z Xach: Ahh, time to build with the sbcl prerelease and see what breaks! 2018-02-26T20:06:42Z smurfrobot quit (Remote host closed the connection) 2018-02-26T20:06:44Z fe[nl]ix: luis: around ? 2018-02-26T20:08:27Z smasta quit (Ping timeout: 240 seconds) 2018-02-26T20:10:07Z Cymew joined #lisp 2018-02-26T20:13:52Z Kundry_Wag joined #lisp 2018-02-26T20:14:13Z Cymew quit (Ping timeout: 240 seconds) 2018-02-26T20:15:05Z trocado quit (Ping timeout: 240 seconds) 2018-02-26T20:15:40Z disumu joined #lisp 2018-02-26T20:18:45Z fikka quit (Ping timeout: 252 seconds) 2018-02-26T20:19:44Z fikka joined #lisp 2018-02-26T20:21:10Z Kundry_Wag_ joined #lisp 2018-02-26T20:24:15Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-02-26T20:25:55Z Kundry_Wag joined #lisp 2018-02-26T20:27:19Z fikka quit (Ping timeout: 260 seconds) 2018-02-26T20:28:13Z willmichael quit (Ping timeout: 240 seconds) 2018-02-26T20:29:47Z eeproks joined #lisp 2018-02-26T20:29:50Z Kundry_Wag_ quit (Ping timeout: 256 seconds) 2018-02-26T20:31:15Z makomo joined #lisp 2018-02-26T20:31:46Z Kundry_Wag_ joined #lisp 2018-02-26T20:32:20Z ckonstanski joined #lisp 2018-02-26T20:34:03Z Kundry_W_ joined #lisp 2018-02-26T20:34:17Z fikka joined #lisp 2018-02-26T20:34:53Z saki quit (Ping timeout: 240 seconds) 2018-02-26T20:35:24Z nullman quit (Remote host closed the connection) 2018-02-26T20:35:30Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-26T20:35:37Z nullman joined #lisp 2018-02-26T20:36:04Z Achylles quit (Ping timeout: 256 seconds) 2018-02-26T20:37:12Z Kundry_Wag_ quit (Ping timeout: 256 seconds) 2018-02-26T20:37:24Z milanj joined #lisp 2018-02-26T20:37:30Z serviteur joined #lisp 2018-02-26T20:38:38Z Kundry_Wag joined #lisp 2018-02-26T20:42:13Z Kundry_W_ quit (Ping timeout: 240 seconds) 2018-02-26T20:43:14Z saki joined #lisp 2018-02-26T20:45:09Z scymtym quit (Ping timeout: 252 seconds) 2018-02-26T20:46:45Z willmichael joined #lisp 2018-02-26T20:46:59Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-02-26T20:47:16Z Kaisyu quit (Quit: Connection closed for inactivity) 2018-02-26T20:47:33Z ckonstanski quit (Quit: bye) 2018-02-26T20:48:19Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-26T20:49:14Z ckonstanski joined #lisp 2018-02-26T20:51:27Z attila_lendvai joined #lisp 2018-02-26T20:52:28Z fittestbits joined #lisp 2018-02-26T20:53:00Z smurfrobot joined #lisp 2018-02-26T20:54:38Z emaczen: Is there a common condition for not being able to find a package? 2018-02-26T20:55:00Z phoe: clhs package-error 2018-02-26T20:55:00Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/e_pkg_er.htm 2018-02-26T20:57:16Z saki quit (Remote host closed the connection) 2018-02-26T20:58:47Z PMS quit (Quit: • IRcap • 8.72 •) 2018-02-26T20:59:14Z ninegrid joined #lisp 2018-02-26T20:59:34Z ninegrid is now known as infoe 2018-02-26T20:59:36Z infoe is now known as ninegrid 2018-02-26T21:00:16Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-26T21:00:18Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-02-26T21:01:13Z vap1 quit (Ping timeout: 240 seconds) 2018-02-26T21:01:25Z saki joined #lisp 2018-02-26T21:01:31Z Achylles joined #lisp 2018-02-26T21:02:26Z attila_lendvai joined #lisp 2018-02-26T21:02:32Z damke_ joined #lisp 2018-02-26T21:03:29Z Colleen quit (Ping timeout: 260 seconds) 2018-02-26T21:04:32Z drewc quit (Ping timeout: 276 seconds) 2018-02-26T21:04:33Z damke quit (Ping timeout: 264 seconds) 2018-02-26T21:05:05Z ym quit (Ping timeout: 256 seconds) 2018-02-26T21:06:07Z ym joined #lisp 2018-02-26T21:07:42Z Colleen joined #lisp 2018-02-26T21:08:55Z smasta joined #lisp 2018-02-26T21:10:01Z pierpa: Peter Norvig just made a pdf of PAIP available for free. No more excuses for not studying it. 2018-02-26T21:11:22Z Mutex7 joined #lisp 2018-02-26T21:11:37Z smurfrobot quit (Remote host closed the connection) 2018-02-26T21:12:11Z _death: awesome 2018-02-26T21:12:33Z dieggsy joined #lisp 2018-02-26T21:13:19Z sjl: nice, where at? 2018-02-26T21:13:19Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-26T21:13:20Z _death: https://github.com/norvig/paip-lisp 2018-02-26T21:13:30Z pierpa: there :) 2018-02-26T21:13:52Z sjl: I already have it from the ACM archive, but really nice that it's free for everyone now 2018-02-26T21:14:18Z stacksmith: Posted 10 minutes ago. That's what I call being 'in the loop'. 2018-02-26T21:14:24Z Rawriful joined #lisp 2018-02-26T21:14:51Z pierpa: I call it being subscribed to the repository :) 2018-02-26T21:15:13Z Xach: Wowww! 2018-02-26T21:15:13Z shka_ quit (Ping timeout: 248 seconds) 2018-02-26T21:15:17Z Xach: That is fantastico 2018-02-26T21:15:25Z pierpa: He says: "The .txt version has a lot of errors; I got it from the default Save as other / ...Text menu item in Acrobat. An automated tool could rejoin the lines that end in hyphens, and perhaps find missing spaces, as in programmingpractices and anunfortunate. Other errors would require significant human labor to clean up." 2018-02-26T21:15:29Z attila_lendvai joined #lisp 2018-02-26T21:16:51Z Xach: pierpa: it never occurred to me to subscribe to the repo; why would it ever change? but that's awesome. 2018-02-26T21:17:06Z stacksmith: ditto. 2018-02-26T21:17:12Z pierpa: yes, I subscribed just in case 2018-02-26T21:18:13Z _death: pdf doesn't look as nice as the book ;).. but good to have it searchable 2018-02-26T21:19:31Z pierpa: maybe it's a defect that can be fixed? bad fonts? 2018-02-26T21:19:36Z mareskeg joined #lisp 2018-02-26T21:19:36Z Xach: Hmm 2018-02-26T21:19:51Z vlatkoB quit (Remote host closed the connection) 2018-02-26T21:20:24Z vaporatorius joined #lisp 2018-02-26T21:20:24Z vaporatorius quit (Changing host) 2018-02-26T21:20:24Z vaporatorius joined #lisp 2018-02-26T21:20:48Z Kundry_Wag joined #lisp 2018-02-26T21:21:30Z vap1 joined #lisp 2018-02-26T21:21:43Z sjl: looks like it's partially OCR'ed from a scan, and the scanned words replaced with text in some font 2018-02-26T21:25:48Z nonlinear joined #lisp 2018-02-26T21:27:08Z dmiles quit (Ping timeout: 255 seconds) 2018-02-26T21:29:11Z pierpa: what about setting up a group of volunteers for fixing the .txt? split the file in small chunks, distribute the chunks to volunteers, etc... 2018-02-26T21:29:43Z scymtym joined #lisp 2018-02-26T21:31:04Z Xach: That would be pretty cool. 2018-02-26T21:32:27Z jmercouris joined #lisp 2018-02-26T21:33:02Z _death: good thing it has page feeds.. so you can have one-page-per-day thing 2018-02-26T21:33:24Z Denommus joined #lisp 2018-02-26T21:34:22Z dmiles joined #lisp 2018-02-26T21:36:35Z ebzzry_ quit (Ping timeout: 240 seconds) 2018-02-26T21:37:00Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-26T21:39:12Z attila_lendvai joined #lisp 2018-02-26T21:39:12Z attila_lendvai quit (Changing host) 2018-02-26T21:39:12Z attila_lendvai joined #lisp 2018-02-26T21:40:30Z eeproks quit (Quit: leaving) 2018-02-26T21:40:40Z Kundry_Wag_ joined #lisp 2018-02-26T21:43:05Z ckonstanski quit (Quit: bye) 2018-02-26T21:43:18Z pierpa: "Elsevier has reverted the copyright on the book to the author (me, Peter Norvig), so we are now free to do with it what we want. Robert Smith, @tarballs-are-good, is interested in putting in some work towards this end." 2018-02-26T21:43:57Z Kundry_Wag quit (Ping timeout: 245 seconds) 2018-02-26T21:44:45Z ckonstanski joined #lisp 2018-02-26T21:45:04Z sukaeto joined #lisp 2018-02-26T21:45:36Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-26T21:45:37Z Xach: Awesome! 2018-02-26T21:47:16Z attila_lendvai joined #lisp 2018-02-26T21:47:21Z rme: that is so good 2018-02-26T21:49:11Z Xach: pierpa: Where's that text? 2018-02-26T21:49:34Z pierpa: github issues 2018-02-26T21:50:00Z Xach: Cool. 2018-02-26T21:50:31Z pierpa: https://github.com/norvig/paip-lisp/issues/3 2018-02-26T21:52:02Z chiyosaki joined #lisp 2018-02-26T21:52:31Z saki quit (Ping timeout: 248 seconds) 2018-02-26T21:52:41Z Xach: Hmm, it feels like the sbcl prerelease is slower than the previous release. 2018-02-26T21:54:16Z Kundry_Wag_ quit (Ping timeout: 256 seconds) 2018-02-26T21:55:31Z rippa quit (Ping timeout: 256 seconds) 2018-02-26T21:56:39Z mishoo_: heh, found that exact PDF years ago (via thepiratebay, iirc). typographical quality isn't great :-/ but the content is gold 2018-02-26T21:56:53Z scymtym: Xach: anything in particular? 2018-02-26T21:57:23Z Xach: scymtym: just a feel. when it finishes i'll have a better idea of whether the feeling is correct. 2018-02-26T21:57:51Z pierpa: sjl: the copy you have from ACM is better quality? 2018-02-26T21:58:06Z sjl: pierpa: yes, let me compare a page 2018-02-26T21:58:16Z pierpa: hmmm 2018-02-26T22:00:54Z sjl: https://imgur.com/a/POWHI 2018-02-26T22:01:20Z phoe: has anyone compared the PDFs available from libgen? 2018-02-26T22:01:45Z mishoo_: sjl: the left side is evidently better 2018-02-26T22:01:45Z chiyosaki quit (Ping timeout: 256 seconds) 2018-02-26T22:02:10Z _death: you can "save as text" and have some probabilistic code to merge ;) 2018-02-26T22:02:29Z saki joined #lisp 2018-02-26T22:03:42Z sjl: the ACM's is a scan of the book. It's OCRed and searchable/copyable, but they didn't actually replace the image of the scan with text like the version in the repo 2018-02-26T22:03:52Z sjl: mishoo_: yeah, the left side is the ACM scan 2018-02-26T22:04:12Z pierpa: yes, clearly better 2018-02-26T22:04:15Z sjl: the ACM version also have a table of contents in the PDF 2018-02-26T22:04:16Z mishoo_: oh, as in, bitmap... :-/ 2018-02-26T22:09:15Z scymtym: Xach: ok, please let us know if anything shows up 2018-02-26T22:16:16Z Kundry_Wag joined #lisp 2018-02-26T22:17:33Z Achylles quit (Ping timeout: 252 seconds) 2018-02-26T22:19:51Z deng_cn quit (Read error: Connection reset by peer) 2018-02-26T22:22:27Z deng_cn joined #lisp 2018-02-26T22:22:48Z kobain joined #lisp 2018-02-26T22:24:21Z pagnol joined #lisp 2018-02-26T22:26:55Z heurist`_ quit (Ping timeout: 268 seconds) 2018-02-26T22:28:03Z Kundry_Wag_ joined #lisp 2018-02-26T22:29:47Z saki quit (Remote host closed the connection) 2018-02-26T22:30:54Z comborico1611 quit (Quit: Konversation terminated!) 2018-02-26T22:31:14Z Baggers quit (Remote host closed the connection) 2018-02-26T22:31:20Z csaurus quit (Ping timeout: 265 seconds) 2018-02-26T22:31:29Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-02-26T22:34:21Z pillton joined #lisp 2018-02-26T22:34:37Z Kundry_Wag joined #lisp 2018-02-26T22:34:46Z serviteur quit (Quit: ERC (IRC client for Emacs 25.3.1)) 2018-02-26T22:35:18Z mareskeg quit (Quit: mareskeg) 2018-02-26T22:36:37Z Xach: I miss boinkmarks. 2018-02-26T22:37:13Z Kundry_Wag_ quit (Ping timeout: 240 seconds) 2018-02-26T22:39:02Z mareskeg joined #lisp 2018-02-26T22:41:13Z LiamH quit (Quit: Leaving.) 2018-02-26T22:43:00Z Kundry_Wag_ joined #lisp 2018-02-26T22:43:47Z AeroNotix: has anyone ever made a reader macro to emulate erlang's binary pattern matching? 2018-02-26T22:44:01Z AntiSpamMeta quit (Read error: Connection reset by peer) 2018-02-26T22:44:15Z AntiSpamMeta joined #lisp 2018-02-26T22:45:13Z shrdlu68 quit (Ping timeout: 240 seconds) 2018-02-26T22:45:33Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-26T22:46:07Z mareskeg quit (Quit: mareskeg) 2018-02-26T22:46:55Z Xach quit (Ping timeout: 248 seconds) 2018-02-26T22:47:03Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-26T22:48:24Z Xach joined #lisp 2018-02-26T22:49:01Z attila_lendvai joined #lisp 2018-02-26T22:49:22Z Kundry_Wag_ quit (Ping timeout: 245 seconds) 2018-02-26T22:50:39Z Bike quit (Ping timeout: 260 seconds) 2018-02-26T22:51:23Z learning joined #lisp 2018-02-26T22:52:27Z orivej quit (Ping timeout: 240 seconds) 2018-02-26T22:53:20Z heurist`_ joined #lisp 2018-02-26T22:54:22Z Xach: That's palatino, isn't it? 2018-02-26T22:54:35Z varjag quit (Ping timeout: 252 seconds) 2018-02-26T22:56:29Z Karl_Dscc quit (Remote host closed the connection) 2018-02-26T22:56:52Z __rumbler31 quit (Ping timeout: 245 seconds) 2018-02-26T22:57:35Z AeroNotix: Xach: what's palatino? 2018-02-26T23:00:01Z pjb: a font. 2018-02-26T23:00:28Z pjb: AeroNotix: https://en.wikipedia.org/wiki/Palatino 2018-02-26T23:00:55Z pjb: You should know: https://www.dafont.com/aero2.font 2018-02-26T23:02:07Z varjag joined #lisp 2018-02-26T23:05:15Z AeroNotix: pjb: is that the fast and the furious font? 2018-02-26T23:05:17Z AeroNotix: the aero2 one 2018-02-26T23:05:26Z AeroNotix: palatino is very nice 2018-02-26T23:05:58Z damke joined #lisp 2018-02-26T23:06:49Z pjb: I'm not sure; there's http://www.allmoviefonts.com 2018-02-26T23:07:09Z varjag quit (Ping timeout: 260 seconds) 2018-02-26T23:07:09Z pjb: http://www.allmoviefonts.com/?s=furious 2018-02-26T23:08:09Z damke_ quit (Ping timeout: 264 seconds) 2018-02-26T23:14:13Z disumu left #lisp 2018-02-26T23:14:24Z python476 quit (Ping timeout: 268 seconds) 2018-02-26T23:15:31Z AeroNotix: thx 2018-02-26T23:16:28Z Achylles joined #lisp 2018-02-26T23:16:40Z compro quit (Remote host closed the connection) 2018-02-26T23:17:02Z compro joined #lisp 2018-02-26T23:20:15Z deng_cn quit (Read error: Connection reset by peer) 2018-02-26T23:22:08Z jasom: if # is a non-terminating macro character why does sbcl print :foo#bar as :|FOO#BAR| and slime higlight :foo#bar as different words? 2018-02-26T23:23:28Z pjb: Because it's not terminating, it doesn't terminate the foo#bar token. 2018-02-26T23:23:34Z openthesky joined #lisp 2018-02-26T23:24:02Z jasom: pjb: my question is why sbcl puts spurious || around it and slime highlights it incorrectly. I agree it doesn't terminate the token 2018-02-26T23:24:05Z Kundry_Wag joined #lisp 2018-02-26T23:24:08Z pjb: If it was terminating, say, like ', then in foo'bar the quote terminates the foo token, and then a further read will read 'bar ( (quote bar) ). 2018-02-26T23:24:18Z Shinmera: Slime highlights a bunch of things incorrectly. 2018-02-26T23:24:24Z Shinmera: So it's just buggy. 2018-02-26T23:24:31Z pjb: jasom: the printing is in part implementation dependent, and in part directed by the *print-…* variables. 2018-02-26T23:24:46Z pjb: check *print-readably* and *print-escape* in particular. 2018-02-26T23:25:03Z jasom: pjb: I'm not saying sbcl is doing something wrong, but the fact that it chooses to escape tokens with # in them make me wonder if I ought to do so in my code 2018-02-26T23:25:32Z comborico1611 joined #lisp 2018-02-26T23:26:40Z pjb: clall -r '(prin1-to-string (read-from-string ":foo#bar"))' 2018-02-26T23:26:40Z pjb: Armed Bear Common Lisp --> ":FOO#BAR" 2018-02-26T23:26:40Z pjb: Clozure Common Lisp --> ":FOO\\#BAR" 2018-02-26T23:26:45Z pjb: CLISP --> ":FOO#BAR" 2018-02-26T23:26:45Z pjb: ECL --> ":|FOO#BAR|" 2018-02-26T23:26:45Z pjb: SBCL --> ":|FOO#BAR|" 2018-02-26T23:26:45Z pjb: 2018-02-26T23:26:57Z aeth: It's probably just being safe because reader macros use # 2018-02-26T23:27:05Z aeth: I guess? 2018-02-26T23:27:17Z pjb: Yes. 2018-02-26T23:27:21Z Shinmera: jasom: 22.1.3.3 seems to imply that it's allowed to do this, even if there's no strict need to. 2018-02-26T23:27:21Z Achylles quit (Read error: Connection reset by peer) 2018-02-26T23:27:30Z jasom: Shinmera: I agree 2018-02-26T23:27:40Z pjb: You can (setf *print-escape* nil) 2018-02-26T23:27:45Z Duns_Scrotus quit (Excess Flood) 2018-02-26T23:27:57Z Duns_Scrotus joined #lisp 2018-02-26T23:28:02Z pjb: well, it doesn't seem to change. 2018-02-26T23:28:06Z jasom: pjb: I know how print-escape works. I was merely expressing a concern that the sbcl devs know something I don't with regard to internal # in symbol names 2018-02-26T23:28:22Z Kaisyu joined #lisp 2018-02-26T23:28:54Z pjb: jasom: theorically, they would have to check in the read table whether a character is a terminating macro character or not. Instead if you systematically escape, you can print faster! 2018-02-26T23:28:54Z jasom: pjb: PRINT and friends bind *print-escape* 2018-02-26T23:29:31Z pjb: right. we have to use write-to-string. 2018-02-26T23:29:35Z Chream_2 quit (Ping timeout: 240 seconds) 2018-02-26T23:30:08Z pjb: jasom: so I would say it's mostly a speed optimization. 2018-02-26T23:30:31Z pjb: It's worth it, eg. in the case of ccl, since it uses plists for readtables… 2018-02-26T23:31:05Z jasom: pjb: that makes no sense because it has to check all the alphabetic characters which are much more common 2018-02-26T23:31:32Z pjb: well, to be sure, read the source. 2018-02-26T23:31:49Z josemanuel quit (Quit: leaving) 2018-02-26T23:31:52Z jasom: perhaps it escapes all macro characters, regardless of position? 2018-02-26T23:32:17Z shrdlu68 joined #lisp 2018-02-26T23:32:23Z jasom: that would make sense because # is the only non-terminating macro character in the standard readtable 2018-02-26T23:33:00Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-26T23:33:43Z smurfrobot joined #lisp 2018-02-26T23:34:06Z attila_lendvai joined #lisp 2018-02-26T23:34:06Z attila_lendvai quit (Changing host) 2018-02-26T23:34:06Z attila_lendvai joined #lisp 2018-02-26T23:34:46Z Cymew joined #lisp 2018-02-26T23:37:05Z smasta quit (Ping timeout: 248 seconds) 2018-02-26T23:37:22Z saki joined #lisp 2018-02-26T23:38:09Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-26T23:39:13Z Cymew quit (Ping timeout: 256 seconds) 2018-02-26T23:41:47Z igemnace joined #lisp 2018-02-26T23:43:21Z jmercouris quit (Ping timeout: 265 seconds) 2018-02-26T23:45:45Z Kundry_Wag_ joined #lisp 2018-02-26T23:48:19Z saki quit (Ping timeout: 268 seconds) 2018-02-26T23:49:13Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-02-26T23:49:55Z trocado joined #lisp 2018-02-26T23:50:37Z dieggsy quit (Ping timeout: 245 seconds) 2018-02-26T23:51:14Z energizer: What's the difference between nil and 'nil? 2018-02-26T23:52:27Z Shinmera: One is the form NIL and one is the form (QUOTE NIL) 2018-02-26T23:52:32Z Kundry_Wag joined #lisp 2018-02-26T23:52:39Z sjl: The first reads as the symbol nil, the second reads as the list (quote nil). When evaluated they result in the same thing, because nil is special and evaluates to itself. 2018-02-26T23:53:34Z stacksmith: What's interesting here is 'nil evaluates to nil too! 2018-02-26T23:54:09Z Shinmera: But not ''nil. 2018-02-26T23:54:39Z comborico1611 quit (Quit: Konversation terminated!) 2018-02-26T23:54:59Z stacksmith: But it looks trickier, because nil is also a symbol - as well as type null. 2018-02-26T23:55:23Z energizer: Shinmera: (eval ''nil) is giving me nil i think 2018-02-26T23:55:53Z Kundry_Wag_ quit (Ping timeout: 240 seconds) 2018-02-26T23:55:56Z stacksmith: (subtypep nil 'symbol) => T 2018-02-26T23:56:02Z sjl: energizer: that's because ''nil is evaluated before it gets passed to eval 2018-02-26T23:56:09Z sjl: and then eval evaluates it AGAIN 2018-02-26T23:56:11Z mishoo_ quit (Ping timeout: 252 seconds) 2018-02-26T23:56:23Z sjl: (eval (read-from-string "''nil")) 2018-02-26T23:56:38Z attila_lendvai quit (Quit: Leaving.) 2018-02-26T23:56:55Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-02-26T23:58:33Z energizer: interesting 2018-02-26T23:59:18Z drewc joined #lisp 2018-02-26T23:59:56Z pjb: (defpackage "MY-NULL" (:export "NIL") (:use)) (defconstant my-null:nil 0) (let ((*package* (find-package "MY-NULL"))) (list (eval (read-from-string "'nil")) (eval (read-from-string "nil")))) --> (my-null:nil 0) 2018-02-27T00:00:06Z pjb: energizer: it depends on *package*! 2018-02-27T00:00:15Z Bike joined #lisp 2018-02-27T00:00:28Z pjb: energizer: on the other hand: (let ((*package* (find-package "MY-NULL"))) (list (eval (read-from-string "'()")) (eval (read-from-string "()")))) --> (nil nil) 2018-02-27T00:00:28Z stacksmith: Nil is special: it's kind of like a keyword - a subtype of symbol that evaluates to itself. It is also considered a list with 0 items (listp nil) => t 2018-02-27T00:00:36Z arescorpio joined #lisp 2018-02-27T00:00:45Z pjb: energizer: but in this case, it depends on *readtable* where, the reader macros for ' and ( are defined. 2018-02-27T00:00:57Z deng_cn joined #lisp 2018-02-27T00:01:07Z pjb: energizer: you could change those reader macro to read something else than CL:QUOTE and CL:NIL. 2018-02-27T00:01:28Z energizer: ok 2018-02-27T00:01:29Z stacksmith: Nil is a list, but it is not a cons: (consp nil) => nil 2018-02-27T00:02:11Z energizer: Shinmera: what's a form? 2018-02-27T00:03:19Z smasta joined #lisp 2018-02-27T00:03:54Z stacksmith: form n. 1. any object meant to be evaluated. 2. a symbol, a compound form, or a self-evaluating object. 3. (for an operator, as in ``<> form'') a compound form having that operator as its first element. ``A quote form is a constant form.'' 2018-02-27T00:05:13Z fikka quit (Ping timeout: 240 seconds) 2018-02-27T00:05:35Z stacksmith: energizer: try #clnoobs - it's a better place for basic questions about CL. 2018-02-27T00:05:41Z energizer: thanks 2018-02-27T00:06:17Z rumbler31 joined #lisp 2018-02-27T00:06:25Z saki joined #lisp 2018-02-27T00:16:52Z Kundry_Wag joined #lisp 2018-02-27T00:21:36Z quazimodo joined #lisp 2018-02-27T00:26:39Z Jesin joined #lisp 2018-02-27T00:31:23Z smasta quit (Ping timeout: 252 seconds) 2018-02-27T00:34:27Z Kundry_Wag quit (Read error: Connection reset by peer) 2018-02-27T00:34:42Z Kundry_Wag joined #lisp 2018-02-27T00:35:52Z Kundry_Wag_ joined #lisp 2018-02-27T00:36:48Z fikka joined #lisp 2018-02-27T00:36:52Z Kundry_W_ joined #lisp 2018-02-27T00:39:27Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-02-27T00:40:08Z Pixel_Outlaw joined #lisp 2018-02-27T00:40:13Z Kundry_Wag_ quit (Ping timeout: 240 seconds) 2018-02-27T00:43:20Z fisxoj joined #lisp 2018-02-27T00:47:32Z Kundry_Wag joined #lisp 2018-02-27T00:50:49Z willmichael quit (Ping timeout: 252 seconds) 2018-02-27T00:51:02Z Kundry_W_ quit (Ping timeout: 245 seconds) 2018-02-27T00:51:06Z willmichael joined #lisp 2018-02-27T00:54:29Z fikka quit (Ping timeout: 252 seconds) 2018-02-27T00:54:29Z sjl quit (Ping timeout: 260 seconds) 2018-02-27T00:56:59Z smasta joined #lisp 2018-02-27T00:57:07Z BitPuffin quit (Remote host closed the connection) 2018-02-27T00:58:38Z Kundry_Wag_ joined #lisp 2018-02-27T01:00:35Z damke_ joined #lisp 2018-02-27T01:01:02Z compro quit (Quit: ERC (IRC client for Emacs 25.3.1)) 2018-02-27T01:01:09Z Rawriful quit (Quit: WeeChat 1.4) 2018-02-27T01:01:33Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-27T01:02:21Z Tobbi quit (Quit: Leaving) 2018-02-27T01:03:21Z damke quit (Ping timeout: 264 seconds) 2018-02-27T01:04:20Z jstypo joined #lisp 2018-02-27T01:06:15Z Kundry_Wag_ quit (Remote host closed the connection) 2018-02-27T01:06:48Z Kundry_Wag joined #lisp 2018-02-27T01:11:02Z smasta quit (Ping timeout: 245 seconds) 2018-02-27T01:11:28Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-27T01:13:22Z emacsomancer quit (Read error: Connection reset by peer) 2018-02-27T01:14:39Z Guest94287 quit (Ping timeout: 252 seconds) 2018-02-27T01:15:53Z sysfault_ joined #lisp 2018-02-27T01:16:49Z sysfault quit (Disconnected by services) 2018-02-27T01:16:53Z sysfault_ is now known as sysfaukt 2018-02-27T01:16:57Z sysfaukt is now known as sysfault 2018-02-27T01:17:27Z Guest94287 joined #lisp 2018-02-27T01:19:59Z smasta joined #lisp 2018-02-27T01:20:20Z pythosnek joined #lisp 2018-02-27T01:21:59Z fikka joined #lisp 2018-02-27T01:23:08Z Oladon joined #lisp 2018-02-27T01:24:22Z stacksmith quit (Ping timeout: 245 seconds) 2018-02-27T01:32:17Z drewc quit (Ping timeout: 245 seconds) 2018-02-27T01:32:27Z Arcaelyx_ joined #lisp 2018-02-27T01:34:28Z smurfrobot joined #lisp 2018-02-27T01:35:12Z Arcaelyx quit (Ping timeout: 245 seconds) 2018-02-27T01:35:12Z figurehe4d quit (Ping timeout: 245 seconds) 2018-02-27T01:36:13Z saki quit (Remote host closed the connection) 2018-02-27T01:38:57Z smurfrobot quit (Ping timeout: 245 seconds) 2018-02-27T01:39:06Z saki joined #lisp 2018-02-27T01:39:10Z paul0 joined #lisp 2018-02-27T01:39:24Z vhost- quit (Ping timeout: 260 seconds) 2018-02-27T01:42:02Z emacsomancer joined #lisp 2018-02-27T01:46:55Z mikecheck joined #lisp 2018-02-27T01:50:12Z Cymew joined #lisp 2018-02-27T01:50:32Z wigust- joined #lisp 2018-02-27T01:50:35Z pagnol quit (Ping timeout: 252 seconds) 2018-02-27T01:50:50Z openthesky quit (Quit: Leaving.) 2018-02-27T01:51:46Z vhost- joined #lisp 2018-02-27T01:53:31Z Arcaelyx joined #lisp 2018-02-27T01:53:53Z wigust quit (Ping timeout: 252 seconds) 2018-02-27T01:54:33Z Cymew quit (Ping timeout: 240 seconds) 2018-02-27T01:54:44Z Arcaelyx_ quit (Ping timeout: 268 seconds) 2018-02-27T01:56:39Z ``Erik_ is now known as ``Erik 2018-02-27T02:01:04Z stylewarning: pierpa: id like to find a way to recreate latex source 2018-02-27T02:01:41Z stylewarning: I’m the one who helped get copyright reverted, and it looks like elsevier might have lost the source 2018-02-27T02:02:34Z orivej joined #lisp 2018-02-27T02:03:44Z mareskeg joined #lisp 2018-02-27T02:05:13Z angelo|2 quit (Ping timeout: 268 seconds) 2018-02-27T02:08:00Z pierpa: aaaargh! 2018-02-27T02:08:18Z pierpa: but thank you for helping this! 2018-02-27T02:08:52Z pierpa: stylewarning: I suppose you already asked PN? 2018-02-27T02:10:01Z shrdlu68 quit (Ping timeout: 252 seconds) 2018-02-27T02:11:56Z shrdlu68 joined #lisp 2018-02-27T02:15:42Z Denommus quit (Ping timeout: 268 seconds) 2018-02-27T02:20:09Z d4ryus1 joined #lisp 2018-02-27T02:20:38Z makomo quit (Ping timeout: 268 seconds) 2018-02-27T02:21:42Z Kundry_Wag joined #lisp 2018-02-27T02:23:28Z d4ryus quit (Ping timeout: 248 seconds) 2018-02-27T02:25:03Z smasta quit (Ping timeout: 252 seconds) 2018-02-27T02:26:02Z Kundry_Wag_ joined #lisp 2018-02-27T02:27:01Z dieggsy joined #lisp 2018-02-27T02:28:57Z Kundry_Wag quit (Ping timeout: 245 seconds) 2018-02-27T02:29:54Z learning quit (Remote host closed the connection) 2018-02-27T02:30:02Z figurehe4d joined #lisp 2018-02-27T02:33:53Z smasta joined #lisp 2018-02-27T02:34:53Z zooey quit (Ping timeout: 255 seconds) 2018-02-27T02:35:02Z opal joined #lisp 2018-02-27T02:36:25Z opal changed the topic of #lisp to: ░░░░░░░░░░░░░▄▄▀▀██▀▄▄▒ 2018-02-27T02:36:26Z opal changed the topic of #lisp to: ░░░░░░░░░░░░▄▀░▄▀▀░░░▒▒▀▀▄ 2018-02-27T02:36:26Z opal changed the topic of #lisp to: ░░░░░░░░░░░▐░▄▀░░░░░░░░░░░█ 2018-02-27T02:36:27Z opal changed the topic of #lisp to: ░░░░░░░░░░░▌▌▒▒▒▒░░░░░░░░░░█ 2018-02-27T02:36:27Z opal changed the topic of #lisp to: ░░░░░░▄▄▄░▐▒▒▒▒▒▒░░▒▄▄▄▄░▄░░▌ 2018-02-27T02:36:28Z opal changed the topic of #lisp to: ░░░░▄▀░▄░▐▐▒▒▒▒▒░░░▀░░░░▀░▄▀▐ 2018-02-27T02:36:28Z opal changed the topic of #lisp to: ░░░█░▌░░▌░▐▐▀▄▒▒░░░▒▌██▐░░▌▄▐ 2018-02-27T02:36:29Z opal changed the topic of #lisp to: ░░▐░▐░░░▐░▌▐▐░▒░░░░░░▀▀░░░░░▀▌ 2018-02-27T02:36:29Z opal changed the topic of #lisp to: ░░▌░▌░░░░▌▐▄▀░▒▒▒░░░░░░░▄▀▄░░▐ 2018-02-27T02:36:30Z opal changed the topic of #lisp to: ░▐▐░▌░░░░▐▐░▌▒▒▒▒▒▒▒▒▒▒█▄▄▄░░░▌ 2018-02-27T02:36:30Z opal changed the topic of #lisp to: ░▌░░▌▌░░░░▌░▐▒▒▒▒▒▒▄▄▄▄▄▄▄▄▀▄▄▀ 2018-02-27T02:36:31Z opal changed the topic of #lisp to: ░▐░░▌▌░░░░▐░░▌▒▒▒▒▒▄▀█▄▄▄▄▀ 2018-02-27T02:36:31Z opal changed the topic of #lisp to: ░▌▌░▌▌░░░░░▌░▐▒▒▒▒▒▒▀▄▀▀▀▄ 2018-02-27T02:36:32Z opal changed the topic of #lisp to: ▐░░░▐▐░░░░░▐▐░▌▒▒▒▒▒▒▒▀▀░▄▀█ 2018-02-27T02:36:32Z opal changed the topic of #lisp to: ▌▌░░░▌▌░░░░░█▐░▌▒▒▒▒▒▒▒▄▀░▄▐▄▄ 2018-02-27T02:36:33Z opal changed the topic of #lisp to: ▌░░░░▐▐░░░░░░▀░▐▒▒▒▒▒▄▀░░░▀▀▄▀▌ 2018-02-27T02:36:33Z opal changed the topic of #lisp to: ░░░░░░▌░░░░░▄▀█▄█▄▀▀░▀▄░░░░▀░▀▐ 2018-02-27T02:36:34Z opal changed the topic of #lisp to: ░░░░░░▐░░░░░░░▌░░░░░░▐▐░▀▄▀▄▀▄▀ 2018-02-27T02:36:34Z opal changed the topic of #lisp to: ░░░░░░░█░░░░░▐░░░▌░░░█▀▀▄▀▄▀▄▀ 2018-02-27T02:36:35Z opal changed the topic of #lisp to: ░░░░░░░░▀▄░░▄▄▄▀▐▄▄▀▀ 2018-02-27T02:36:35Z opal changed the topic of #lisp to: ░░░░░░░░░░▀▄▄▄▄▄▀ 2018-02-27T02:36:39Z opal left #lisp 2018-02-27T02:37:01Z presiden: uh.... 2018-02-27T02:37:08Z igemnace: my notifications... 2018-02-27T02:39:06Z Bike changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language logs: | SBCL 1.4.0, CMUCL 21b, ECL 16.1.3, CCL 1.11.5 2018-02-27T02:39:20Z Bike: i thought we had uh, +t or whatever it is. 2018-02-27T02:39:48Z Bike: oh well. racists desperate to find new means of advertising their crap. 2018-02-27T02:39:56Z ChanServ has set mode +o p_l 2018-02-27T02:40:18Z p_l has set mode +t 2018-02-27T02:40:58Z Bike: thank you. 2018-02-27T02:42:25Z zooey joined #lisp 2018-02-27T02:42:33Z stacksmith joined #lisp 2018-02-27T02:42:51Z aeth: can someone search the logs to see how the +t was removed? 2018-02-27T02:43:00Z aeth: I'm not sure if any of the log sites keeps track of modes 2018-02-27T02:43:23Z p_l: aeth: we could search, but this is #lisp, the usual answer is "we didn't have mod on hand to update topic with new announcement" 2018-02-27T02:43:44Z mikecheck left #lisp 2018-02-27T02:43:54Z p_l: I wonder if I could get staff to K-line the idiot 2018-02-27T02:45:54Z terpri quit (Ping timeout: 260 seconds) 2018-02-27T02:49:03Z trocado quit (Ping timeout: 256 seconds) 2018-02-27T02:49:08Z stylewarning: pierpa: I’m the one who helped get copyright 2018-02-27T02:49:21Z stylewarning: (So yes) 2018-02-27T02:50:55Z Kundry_Wag joined #lisp 2018-02-27T02:52:05Z pythosnek quit (Ping timeout: 240 seconds) 2018-02-27T02:53:07Z dieggsy quit (Ping timeout: 245 seconds) 2018-02-27T02:54:22Z Kundry_Wag_ quit (Ping timeout: 245 seconds) 2018-02-27T02:55:29Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-02-27T02:57:24Z arescorpio quit (Excess Flood) 2018-02-27T03:00:47Z damke joined #lisp 2018-02-27T03:01:02Z energizer quit (Disconnected by services) 2018-02-27T03:01:10Z energizer joined #lisp 2018-02-27T03:01:46Z energizer quit (Remote host closed the connection) 2018-02-27T03:02:05Z energizer joined #lisp 2018-02-27T03:02:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-27T03:03:31Z dieggsy joined #lisp 2018-02-27T03:07:28Z learning joined #lisp 2018-02-27T03:07:56Z Oladon quit (Quit: Leaving.) 2018-02-27T03:08:50Z Oladon joined #lisp 2018-02-27T03:10:53Z Guest25308 quit (Ping timeout: 252 seconds) 2018-02-27T03:11:33Z learning quit (Ping timeout: 240 seconds) 2018-02-27T03:13:25Z epony quit (Quit: QUIT) 2018-02-27T03:13:27Z figurehe4d quit (Ping timeout: 252 seconds) 2018-02-27T03:15:12Z Kundry_Wag joined #lisp 2018-02-27T03:15:39Z smasta quit (Ping timeout: 252 seconds) 2018-02-27T03:23:00Z figurehe4d joined #lisp 2018-02-27T03:25:40Z Kundry_Wag_ joined #lisp 2018-02-27T03:26:00Z fikka quit (Ping timeout: 268 seconds) 2018-02-27T03:27:15Z Kundry_W_ joined #lisp 2018-02-27T03:28:36Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-27T03:29:45Z chat joined #lisp 2018-02-27T03:30:08Z chat is now known as Guest51114 2018-02-27T03:31:02Z Kundry_Wag_ quit (Ping timeout: 245 seconds) 2018-02-27T03:31:02Z marusich joined #lisp 2018-02-27T03:34:49Z fikka joined #lisp 2018-02-27T03:35:19Z Kundry_Wag joined #lisp 2018-02-27T03:35:25Z smurfrobot joined #lisp 2018-02-27T03:36:33Z LT^ joined #lisp 2018-02-27T03:37:12Z dddddd quit (Remote host closed the connection) 2018-02-27T03:38:12Z earl-ducaine_ quit (Remote host closed the connection) 2018-02-27T03:38:45Z Kundry_W_ quit (Ping timeout: 252 seconds) 2018-02-27T03:39:53Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-27T03:41:51Z pierpa: stylewarning: I meant, if you asked PN about the sources. He lost them too? 2018-02-27T03:48:32Z Kundry_Wag quit (Ping timeout: 245 seconds) 2018-02-27T03:48:47Z deng_cn quit (Read error: Connection reset by peer) 2018-02-27T03:51:24Z deng_cn joined #lisp 2018-02-27T03:54:08Z milanj quit (Quit: This computer has gone to sleep) 2018-02-27T03:56:32Z mareskeg quit (Quit: mareskeg) 2018-02-27T03:58:06Z nullman quit (Ping timeout: 245 seconds) 2018-02-27T03:58:49Z nullman joined #lisp 2018-02-27T03:59:34Z drewc joined #lisp 2018-02-27T04:01:35Z deng_cn quit (Ping timeout: 256 seconds) 2018-02-27T04:02:00Z xristos quit (Quit: ZNC - http://znc.in) 2018-02-27T04:04:04Z Pixel_Outlaw quit (Quit: Leaving) 2018-02-27T04:05:11Z smasta joined #lisp 2018-02-27T04:06:19Z kobain quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-27T04:09:53Z nullman quit (Ping timeout: 240 seconds) 2018-02-27T04:10:37Z LT^ quit (Ping timeout: 245 seconds) 2018-02-27T04:10:51Z asarch quit (Quit: Leaving) 2018-02-27T04:14:24Z nullman joined #lisp 2018-02-27T04:14:41Z schoppenhauer quit (Ping timeout: 252 seconds) 2018-02-27T04:16:36Z schoppenhauer joined #lisp 2018-02-27T04:16:52Z fisxoj quit (Ping timeout: 245 seconds) 2018-02-27T04:16:57Z Kundry_Wag joined #lisp 2018-02-27T04:17:34Z Kundry_Wag_ joined #lisp 2018-02-27T04:19:27Z smasta quit (Ping timeout: 252 seconds) 2018-02-27T04:21:16Z pierpa: ok, he says he lost them :( 2018-02-27T04:21:17Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-02-27T04:21:55Z k-hos: I should be able to return values from a do loop in cl right? 2018-02-27T04:22:19Z Bike: sure. 2018-02-27T04:23:20Z k-hos: I am doing something wrong then 2018-02-27T04:23:27Z Kundry_Wag joined #lisp 2018-02-27T04:23:38Z k-hos: because that would just be whatever the last form in the loop returns wouldn't it 2018-02-27T04:23:53Z pierpa: no 2018-02-27T04:24:11Z pierpa: loop loops, there's no last form 2018-02-27T04:24:28Z Bike: indeed. 2018-02-27T04:24:41Z Bike: when you say "do loop", do you mean the macro actually called "do", or something else? 2018-02-27T04:24:48Z k-hos: yeah that 2018-02-27T04:25:16Z Bike: here is clhs's description of do's syntax: " do ({var | (var [init-form [step-form]])}*) (end-test-form result-form*) declaration* {tag | statement}*" 2018-02-27T04:25:19Z Bike: see the result-form bit there 2018-02-27T04:26:13Z k-hos: right, that works 2018-02-27T04:26:23Z k-hos: I was trying from the statement section 2018-02-27T04:26:52Z Kundry_Wag_ quit (Ping timeout: 245 seconds) 2018-02-27T04:26:52Z Bike: documentation is important 2018-02-27T04:28:41Z k-hos: clhs is farily incomprehensible half the time unless you know the language 2018-02-27T04:28:49Z Bike: it's just BNF 2018-02-27T04:29:02Z Bike: and it's explaind in the prose also 2018-02-27T04:29:31Z k-hos: doesn't change anything 2018-02-27T04:29:56Z Kundry_Wag_ joined #lisp 2018-02-27T04:30:20Z pierpa: however, learners shouldn't have to go to clhs, and shouldn't be directed to it. 2018-02-27T04:32:33Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-27T04:38:53Z les quit (Ping timeout: 240 seconds) 2018-02-27T04:41:14Z les joined #lisp 2018-02-27T04:41:21Z xristos joined #lisp 2018-02-27T04:41:45Z terpri joined #lisp 2018-02-27T04:43:49Z igemnace quit (Quit: WeeChat 2.0.1) 2018-02-27T04:48:03Z zmt00 quit (Read error: Connection reset by peer) 2018-02-27T04:48:57Z Kundry_Wag_ quit (Ping timeout: 245 seconds) 2018-02-27T04:51:47Z aeth: CLHS is... well, it's great as a reference, except for the examples 2018-02-27T04:51:54Z aeth: The examples are terrible to learn 2018-02-27T04:52:07Z aeth: s/to learn/to learn from/ 2018-02-27T04:52:29Z aeth: Afaik, they're supposed to be interesting examples for implementers, not tutorial examples that build up to complexity. 2018-02-27T04:52:38Z aeth: s/up to complexity/up in complexity/ 2018-02-27T04:55:15Z stylewarning: pierpa: of course i asked 2018-02-27T04:56:24Z pierpa: stylewarning: ok, supposed so :( 2018-02-27T04:57:34Z pierpa: CLHS is good when one knows 99% of what he wants to know and wants to know the remaining 1% 2018-02-27T04:58:37Z lansiir is now known as oldtopman 2018-02-27T04:58:48Z pierpa: and even then, it's not easy. 2018-02-27T04:59:41Z smasta joined #lisp 2018-02-27T05:00:39Z pierpa: it's not uncommon that even very expert long-time implementor misunderstand some things in the CLHS, go figure *learners* of the language. 2018-02-27T05:00:50Z pierpa: *implementors 2018-02-27T05:01:20Z damke_ joined #lisp 2018-02-27T05:03:10Z zmt00 joined #lisp 2018-02-27T05:03:37Z drewc quit (Read error: Connection reset by peer) 2018-02-27T05:03:57Z damke quit (Ping timeout: 264 seconds) 2018-02-27T05:05:35Z butterthebuddha quit (Ping timeout: 240 seconds) 2018-02-27T05:06:50Z nullman quit (Ping timeout: 276 seconds) 2018-02-27T05:07:15Z nullman joined #lisp 2018-02-27T05:07:41Z dieggsy quit (Ping timeout: 245 seconds) 2018-02-27T05:10:53Z butterthebuddha joined #lisp 2018-02-27T05:11:15Z Bike: ii'm just sayin it 's right there in the grammar 2018-02-27T05:11:23Z Bike: says "result forms" not "statement forms and also the result" 2018-02-27T05:11:31Z Bike: ain't some bullshit point about type corresondence 2018-02-27T05:11:39Z Zhivago: On the other hand, implementors have incentive to misunderstand things to conform with their long term preconceptions. 2018-02-27T05:11:51Z Bike quit (Quit: Lost terminal) 2018-02-27T05:15:46Z smurfrobot joined #lisp 2018-02-27T05:16:33Z smurfrobot quit (Remote host closed the connection) 2018-02-27T05:18:12Z Kundry_Wag joined #lisp 2018-02-27T05:18:51Z drewc joined #lisp 2018-02-27T05:21:34Z safe quit (Read error: Connection reset by peer) 2018-02-27T05:22:14Z pierpa: Bike: yes, in this case was easy. but it's not always so. 2018-02-27T05:22:14Z Kaisyu7 quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-27T05:23:56Z Oladon quit (Quit: Leaving.) 2018-02-27T05:30:04Z smurfrobot joined #lisp 2018-02-27T05:31:07Z saki quit (Remote host closed the connection) 2018-02-27T05:31:52Z burton` quit (Ping timeout: 245 seconds) 2018-02-27T05:32:10Z saki joined #lisp 2018-02-27T05:33:40Z pierpa: Norvig just replaced the pdf with "a much better version" 2018-02-27T05:35:02Z pierpa quit (Quit: Page closed) 2018-02-27T05:35:18Z saki quit (Remote host closed the connection) 2018-02-27T05:41:07Z emaczen quit (Read error: Connection reset by peer) 2018-02-27T05:42:13Z emaczen joined #lisp 2018-02-27T05:42:58Z saki joined #lisp 2018-02-27T05:44:44Z smurfrobot quit (Remote host closed the connection) 2018-02-27T05:50:45Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-02-27T05:50:45Z stacksmith quit (Ping timeout: 252 seconds) 2018-02-27T05:54:09Z orivej quit (Ping timeout: 248 seconds) 2018-02-27T05:54:33Z fikka quit (Ping timeout: 240 seconds) 2018-02-27T05:54:34Z Mutex7 quit (Remote host closed the connection) 2018-02-27T05:55:32Z saki quit (Remote host closed the connection) 2018-02-27T05:57:04Z butterthebuddha quit (Max SendQ exceeded) 2018-02-27T05:58:04Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-27T05:58:16Z saki joined #lisp 2018-02-27T05:58:20Z butterthebuddha joined #lisp 2018-02-27T05:58:40Z oleo quit (Quit: Leaving) 2018-02-27T06:00:22Z smokeink joined #lisp 2018-02-27T06:01:28Z pierpa joined #lisp 2018-02-27T06:02:29Z shka_ joined #lisp 2018-02-27T06:02:49Z fikka joined #lisp 2018-02-27T06:02:55Z saki quit (Client Quit) 2018-02-27T06:06:23Z figurehe4d quit (Ping timeout: 248 seconds) 2018-02-27T06:08:43Z beach: Good morning everyone! 2018-02-27T06:12:01Z easye: Morning beach. 2018-02-27T06:20:25Z quazimodo quit (Ping timeout: 256 seconds) 2018-02-27T06:20:59Z Kundry_Wag joined #lisp 2018-02-27T06:22:10Z Kundry_Wag_ joined #lisp 2018-02-27T06:22:48Z pierpa quit (Remote host closed the connection) 2018-02-27T06:23:31Z rippa joined #lisp 2018-02-27T06:25:33Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-27T06:26:01Z Kaisyu7 joined #lisp 2018-02-27T06:26:29Z jstypo quit (Read error: Connection reset by peer) 2018-02-27T06:26:56Z cross quit (Quit: Lost terminal) 2018-02-27T06:35:02Z Kundry_Wag joined #lisp 2018-02-27T06:36:30Z LocaMocha joined #lisp 2018-02-27T06:38:32Z Kundry_Wag_ quit (Ping timeout: 245 seconds) 2018-02-27T06:39:02Z loke: Hello beach 2018-02-27T06:41:13Z flamebeard joined #lisp 2018-02-27T06:41:13Z d4ryus1 is now known as d4ryus 2018-02-27T06:43:08Z jstypo joined #lisp 2018-02-27T06:44:09Z figurehe4d joined #lisp 2018-02-27T06:48:39Z presiden: morning beach 2018-02-27T06:50:54Z Karl_Dscc joined #lisp 2018-02-27T06:50:56Z mishoo_ joined #lisp 2018-02-27T06:52:27Z phoe: heyyyyy 2018-02-27T06:54:18Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-27T06:58:31Z shifty joined #lisp 2018-02-27T07:02:45Z damke joined #lisp 2018-02-27T07:05:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-27T07:07:14Z vlatkoB joined #lisp 2018-02-27T07:10:28Z scymtym quit (Ping timeout: 268 seconds) 2018-02-27T07:13:27Z Karl_Dscc quit (Remote host closed the connection) 2018-02-27T07:15:45Z emaczen quit (Read error: Connection reset by peer) 2018-02-27T07:20:04Z kodnin joined #lisp 2018-02-27T07:20:24Z Kundry_Wag joined #lisp 2018-02-27T07:21:09Z damke_ joined #lisp 2018-02-27T07:23:45Z fikka quit (Ping timeout: 248 seconds) 2018-02-27T07:24:21Z damke quit (Ping timeout: 264 seconds) 2018-02-27T07:25:27Z damke joined #lisp 2018-02-27T07:26:09Z damke_ quit (Ping timeout: 264 seconds) 2018-02-27T07:27:40Z damke_ joined #lisp 2018-02-27T07:28:53Z damke_ quit (Read error: Connection reset by peer) 2018-02-27T07:29:28Z kodnin quit (Quit: Mutter: www.mutterirc.com) 2018-02-27T07:30:45Z damke_ joined #lisp 2018-02-27T07:30:57Z damke quit (Ping timeout: 264 seconds) 2018-02-27T07:36:01Z smokeink quit (Ping timeout: 248 seconds) 2018-02-27T07:40:02Z fikka joined #lisp 2018-02-27T07:42:35Z angavrilov joined #lisp 2018-02-27T07:44:47Z fikka quit (Ping timeout: 252 seconds) 2018-02-27T07:44:47Z al-damiri quit (Quit: Connection closed for inactivity) 2018-02-27T07:50:29Z kodnin joined #lisp 2018-02-27T07:52:42Z Kundry_Wag quit (Ping timeout: 245 seconds) 2018-02-27T07:53:31Z kodnin quit (Client Quit) 2018-02-27T07:54:09Z shka_ quit (Ping timeout: 248 seconds) 2018-02-27T07:55:23Z nika_ joined #lisp 2018-02-27T08:06:41Z schweers` joined #lisp 2018-02-27T08:07:05Z schweers` is now known as schweers 2018-02-27T08:10:35Z fikka joined #lisp 2018-02-27T08:14:42Z Kundry_Wag joined #lisp 2018-02-27T08:15:20Z milanj joined #lisp 2018-02-27T08:16:53Z fikka quit (Ping timeout: 240 seconds) 2018-02-27T08:17:41Z smasta quit (Ping timeout: 245 seconds) 2018-02-27T08:18:34Z fikka joined #lisp 2018-02-27T08:20:17Z drewc quit (Ping timeout: 248 seconds) 2018-02-27T08:22:46Z smokeink joined #lisp 2018-02-27T08:24:49Z AxelAlex joined #lisp 2018-02-27T08:34:34Z Kundry_Wag_ joined #lisp 2018-02-27T08:38:24Z Kundry_Wag quit (Ping timeout: 265 seconds) 2018-02-27T08:38:42Z mlf quit (Read error: Connection reset by peer) 2018-02-27T08:43:42Z drewc joined #lisp 2018-02-27T08:46:43Z wxie joined #lisp 2018-02-27T08:46:54Z angavrilov quit (Remote host closed the connection) 2018-02-27T08:48:12Z Kundry_Wag_ quit (Ping timeout: 256 seconds) 2018-02-27T08:50:36Z Cymew joined #lisp 2018-02-27T08:55:59Z wigust- quit (Ping timeout: 248 seconds) 2018-02-27T08:56:19Z varjag joined #lisp 2018-02-27T08:57:47Z scymtym joined #lisp 2018-02-27T09:00:58Z damke joined #lisp 2018-02-27T09:02:42Z damke_ quit (Ping timeout: 245 seconds) 2018-02-27T09:02:42Z drewc quit (Ping timeout: 268 seconds) 2018-02-27T09:04:25Z drewc joined #lisp 2018-02-27T09:04:46Z wxie quit (Quit: Bye.) 2018-02-27T09:15:06Z Kundry_Wag joined #lisp 2018-02-27T09:16:05Z scymtym quit (Ping timeout: 252 seconds) 2018-02-27T09:22:56Z drewc quit (Ping timeout: 276 seconds) 2018-02-27T09:24:19Z fikka quit (Ping timeout: 265 seconds) 2018-02-27T09:29:17Z dddddd joined #lisp 2018-02-27T09:30:44Z fikka joined #lisp 2018-02-27T09:34:20Z varjag: trying out dexador 2018-02-27T09:34:30Z varjag: looks nice so far 2018-02-27T09:36:06Z Kundry_Wag_ joined #lisp 2018-02-27T09:39:50Z Kundry_Wag quit (Ping timeout: 276 seconds) 2018-02-27T09:45:12Z fikka quit (Ping timeout: 245 seconds) 2018-02-27T09:47:33Z Kundry_Wag_ quit (Ping timeout: 240 seconds) 2018-02-27T09:49:02Z krasnal joined #lisp 2018-02-27T09:50:43Z ``Erik quit (Read error: Connection reset by peer) 2018-02-27T09:50:43Z saki joined #lisp 2018-02-27T09:51:00Z ``Erik joined #lisp 2018-02-27T09:51:01Z phoe: I am still amazed by good modular code 2018-02-27T09:51:14Z Shinmera: Like what? 2018-02-27T09:51:15Z phoe: How fun it is to edit parts of it and still break nothing. 2018-02-27T09:51:42Z phoe: Like I wrote some code that I consider modular and with well defined protocols. 2018-02-27T09:51:56Z phoe: And I just decided to reimplement one thing while keeping its interface. 2018-02-27T09:52:09Z phoe: Boom, worked without a single error. 2018-02-27T09:52:14Z phoe: It's really amazing. 2018-02-27T09:52:38Z phoe: I poke my nose into code that I haven't touched for months and I can quickly remember how it works and edit it. 2018-02-27T09:53:35Z smokeink quit (Ping timeout: 240 seconds) 2018-02-27T09:53:57Z Fade quit (Ping timeout: 240 seconds) 2018-02-27T09:54:43Z Fade joined #lisp 2018-02-27T09:58:04Z m00natic joined #lisp 2018-02-27T09:59:40Z drewc joined #lisp 2018-02-27T10:11:01Z fikka joined #lisp 2018-02-27T10:22:15Z Kundry_Wag joined #lisp 2018-02-27T10:22:57Z willmichael quit (Ping timeout: 240 seconds) 2018-02-27T10:26:55Z willmichael joined #lisp 2018-02-27T10:34:13Z nullman quit (Ping timeout: 240 seconds) 2018-02-27T10:34:15Z scymtym joined #lisp 2018-02-27T10:35:25Z nullman joined #lisp 2018-02-27T10:39:11Z _cosmonaut_ joined #lisp 2018-02-27T10:39:19Z Kundry_Wag_ joined #lisp 2018-02-27T10:42:37Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-02-27T10:44:02Z epony joined #lisp 2018-02-27T10:44:47Z drewc quit (Ping timeout: 245 seconds) 2018-02-27T10:47:59Z milanj: varjag, dexador connection cache looks suspicious to me (threads wise) 2018-02-27T10:48:32Z energizer quit (Ping timeout: 245 seconds) 2018-02-27T10:50:35Z makomo joined #lisp 2018-02-27T10:53:05Z saki quit (Ping timeout: 240 seconds) 2018-02-27T10:55:08Z Kundry_Wag_ quit (Ping timeout: 256 seconds) 2018-02-27T10:55:36Z saki joined #lisp 2018-02-27T11:01:55Z nika_ quit 2018-02-27T11:02:09Z damke_ joined #lisp 2018-02-27T11:04:33Z damke quit (Ping timeout: 264 seconds) 2018-02-27T11:04:41Z epony quit (Read error: Connection reset by peer) 2018-02-27T11:08:32Z orivej joined #lisp 2018-02-27T11:10:11Z epony joined #lisp 2018-02-27T11:11:57Z makomo quit (Ping timeout: 252 seconds) 2018-02-27T11:12:41Z saki quit (Ping timeout: 252 seconds) 2018-02-27T11:12:55Z dxtr: So what's the bordeaux-threads equivalent of sb-thread:with-mutex? 2018-02-27T11:13:20Z dxtr: with-lock-held? 2018-02-27T11:15:25Z Kundry_Wag joined #lisp 2018-02-27T11:15:35Z orivej quit (Quit: No Ping reply in 180 seconds.) 2018-02-27T11:16:41Z orivej joined #lisp 2018-02-27T11:16:50Z scymtym_ joined #lisp 2018-02-27T11:16:58Z jackdaniel: yes 2018-02-27T11:17:11Z Xach: scymtym: so there is a significant slowdown in 1.4.5-prerelease 2018-02-27T11:17:27Z Xach: scymtym: it takes 1.5 times longer than 1.4.4. i am looking at individual project timings now. 2018-02-27T11:19:19Z scymtym_: Xach: interesting, thanks. could we continue this conversation in #sbcl so we won't have to repeat everything for the others? 2018-02-27T11:19:24Z hhdave joined #lisp 2018-02-27T11:21:07Z scymtym quit (Ping timeout: 252 seconds) 2018-02-27T11:21:25Z Guest66484 is now known as kolb 2018-02-27T11:21:52Z saki joined #lisp 2018-02-27T11:23:28Z ja-barr quit (Ping timeout: 256 seconds) 2018-02-27T11:23:38Z ja-barr joined #lisp 2018-02-27T11:26:55Z nowhere_man joined #lisp 2018-02-27T11:27:05Z ckonstanski quit (Ping timeout: 276 seconds) 2018-02-27T11:29:40Z milanj quit (Quit: This computer has gone to sleep) 2018-02-27T11:30:50Z Guest94287 quit (Ping timeout: 256 seconds) 2018-02-27T11:34:21Z Kundry_Wag_ joined #lisp 2018-02-27T11:35:26Z Kundry_W_ joined #lisp 2018-02-27T11:37:53Z saki quit (Ping timeout: 240 seconds) 2018-02-27T11:38:12Z Kundry_Wag quit (Ping timeout: 265 seconds) 2018-02-27T11:39:20Z Kundry_Wag_ quit (Ping timeout: 256 seconds) 2018-02-27T11:43:39Z orivej quit (Ping timeout: 268 seconds) 2018-02-27T11:44:21Z damke_ quit (Read error: Connection reset by peer) 2018-02-27T11:44:28Z saki joined #lisp 2018-02-27T11:45:56Z shifty quit (Ping timeout: 276 seconds) 2018-02-27T11:48:24Z pagnol joined #lisp 2018-02-27T11:48:58Z Kundry_W_ quit (Ping timeout: 256 seconds) 2018-02-27T11:49:28Z damke_ joined #lisp 2018-02-27T11:50:53Z thodg quit (Ping timeout: 240 seconds) 2018-02-27T11:51:11Z schoppenhauer quit (Ping timeout: 252 seconds) 2018-02-27T11:56:36Z _paul0 joined #lisp 2018-02-27T11:56:54Z saki quit (Ping timeout: 256 seconds) 2018-02-27T11:58:54Z paul0 quit (Ping timeout: 260 seconds) 2018-02-27T12:00:03Z _paul0 quit (Remote host closed the connection) 2018-02-27T12:00:42Z schoppenhauer joined #lisp 2018-02-27T12:00:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-27T12:02:10Z paul0 joined #lisp 2018-02-27T12:07:56Z milanj joined #lisp 2018-02-27T12:11:22Z saki joined #lisp 2018-02-27T12:17:43Z Kundry_Wag joined #lisp 2018-02-27T12:25:01Z orivej joined #lisp 2018-02-27T12:25:04Z damke_ joined #lisp 2018-02-27T12:27:01Z saki quit (Ping timeout: 265 seconds) 2018-02-27T12:30:51Z Bike joined #lisp 2018-02-27T12:31:34Z fikka quit (Ping timeout: 260 seconds) 2018-02-27T12:32:17Z Kundry_Wag_ joined #lisp 2018-02-27T12:35:20Z Kundry_Wag quit (Ping timeout: 276 seconds) 2018-02-27T12:37:18Z lonjil quit (Ping timeout: 268 seconds) 2018-02-27T12:37:36Z Kundry_Wag joined #lisp 2018-02-27T12:38:52Z lonjil joined #lisp 2018-02-27T12:38:52Z igemnace joined #lisp 2018-02-27T12:39:13Z paul0 quit (Ping timeout: 240 seconds) 2018-02-27T12:39:15Z milanj quit (Read error: Connection reset by peer) 2018-02-27T12:40:37Z Kundry_Wag_ quit (Ping timeout: 245 seconds) 2018-02-27T12:41:04Z milanj joined #lisp 2018-02-27T12:46:03Z saki joined #lisp 2018-02-27T12:46:39Z attila_lendvai joined #lisp 2018-02-27T12:50:05Z orivej quit (Ping timeout: 240 seconds) 2018-02-27T12:50:10Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-27T12:50:19Z fikka joined #lisp 2018-02-27T12:50:20Z orivej joined #lisp 2018-02-27T12:52:13Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-27T12:54:39Z attila_lendvai joined #lisp 2018-02-27T12:54:43Z attila_lendvai quit (Changing host) 2018-02-27T12:54:43Z attila_lendvai joined #lisp 2018-02-27T12:58:06Z jstypo quit (Ping timeout: 256 seconds) 2018-02-27T12:58:33Z jstypo joined #lisp 2018-02-27T13:01:14Z damke joined #lisp 2018-02-27T13:01:14Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-27T13:02:36Z attila_lendvai joined #lisp 2018-02-27T13:02:36Z attila_lendvai quit (Changing host) 2018-02-27T13:02:36Z attila_lendvai joined #lisp 2018-02-27T13:03:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-27T13:04:47Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-27T13:04:59Z dxtr: Possible stupid question: Has there been any community efforts to create a new, "cleaned up", lisp specification? Seeing as a lot of stuff is marked as "deprecated" and things like that 2018-02-27T13:05:59Z dxtr: I don't specifically mean to create a new "web 2.0 web-scale all-the-buzzwords" thing -- but rather to clean up the specification and rationalize things 2018-02-27T13:06:08Z jackdaniel: cdr is meant for extending standard for missing features: https://common-lisp.net/project/cdr/ 2018-02-27T13:06:47Z jackdaniel: cl21 is an effort to add some syntactic sugar and remove deprecated features: http://cl21.org/ 2018-02-27T13:07:02Z dxtr: oh cool 2018-02-27T13:07:10Z Patternmaster quit (Ping timeout: 256 seconds) 2018-02-27T13:07:24Z jackdaniel: ergolib is another project which provides more intelligible package: https://github.com/rongarret/ergolib 2018-02-27T13:07:37Z damke_ joined #lisp 2018-02-27T13:07:42Z attila_lendvai joined #lisp 2018-02-27T13:07:42Z attila_lendvai quit (Changing host) 2018-02-27T13:07:42Z attila_lendvai joined #lisp 2018-02-27T13:07:45Z gabot quit (Ping timeout: 248 seconds) 2018-02-27T13:08:09Z jackdaniel: rutils is similar with its goals: https://github.com/vseloved/rutils 2018-02-27T13:08:48Z jackdaniel: clojure is a language designed by a disappointed Common Lisper 2018-02-27T13:09:05Z jackdaniel: eulisp is a language designed to provide modern Lisp somewhere between Scheme and CL 2018-02-27T13:09:21Z scymtym_: beach has a project aiming at producing a corrected and more precise but compatible specification for common lisp 2018-02-27T13:09:26Z jackdaniel: racket is scheme descendant with many goodies 2018-02-27T13:10:06Z jackdaniel: there are many compatibility layer projects which bring various implementations together: bordeaux-threads, closer-mop, trivial-gray-streams, usocket 2018-02-27T13:10:08Z dxtr: Yeah I specifically meant common lisp 2018-02-27T13:10:23Z willmichael quit (Ping timeout: 252 seconds) 2018-02-27T13:10:33Z damke quit (Ping timeout: 264 seconds) 2018-02-27T13:10:36Z jackdaniel: there were probably more efforts aiming at the cleansing goals 2018-02-27T13:10:53Z willmichael joined #lisp 2018-02-27T13:10:56Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-27T13:13:17Z attila_lendvai joined #lisp 2018-02-27T13:13:17Z attila_lendvai quit (Changing host) 2018-02-27T13:13:17Z attila_lendvai joined #lisp 2018-02-27T13:13:36Z dxtr: right 2018-02-27T13:15:37Z varjag: milanj: haven't looked in the cache part 2018-02-27T13:16:33Z varjag: but i like how its error conditions are restartable 2018-02-27T13:16:55Z _cosmonaut_ quit (Ping timeout: 256 seconds) 2018-02-27T13:17:05Z shrdlu68 quit (Ping timeout: 240 seconds) 2018-02-27T13:19:11Z orivej quit (Ping timeout: 256 seconds) 2018-02-27T13:20:10Z sz0 joined #lisp 2018-02-27T13:20:10Z Kundry_Wag joined #lisp 2018-02-27T13:20:18Z Chream joined #lisp 2018-02-27T13:21:23Z milanj: I needed http client with connection cache 2018-02-27T13:21:55Z milanj: so I glance over code 2018-02-27T13:22:26Z milanj: I don't think it's safe to set/get in hash-map without lock (even if you are using (current-thread) as key) 2018-02-27T13:23:34Z Shinmera: It can be if the implementation provides you with a safe hash table. 2018-02-27T13:24:03Z gabot joined #lisp 2018-02-27T13:24:11Z milanj: that is true 2018-02-27T13:24:39Z igemnace quit (Read error: Connection reset by peer) 2018-02-27T13:25:34Z smurfrobot joined #lisp 2018-02-27T13:26:16Z Shinmera: It's unfortunate that it's not possible to write a wrapper library to provide portable thread-safe hash tables (without shadowing CL). 2018-02-27T13:27:35Z igemnace joined #lisp 2018-02-27T13:28:15Z shka: well, you can always use non-standard hashtable instead.. 2018-02-27T13:29:10Z shka: but since BT does not offer atomic operations, such hashtable may have bizmo performance unless it uses atomics from SBCL directly 2018-02-27T13:29:50Z Bike: can you even do a hash table with atomics rather than locks? 2018-02-27T13:30:10Z shka: yes 2018-02-27T13:30:24Z Bike: i think sbcl's safe hash tables just use locks, is the thing 2018-02-27T13:30:27Z jackdaniel: I've read a paper about lock-less implementation 2018-02-27T13:31:02Z shka: or you can have lock-less hashing trie like ctrie 2018-02-27T13:31:32Z shka: or just lock-less skip list 2018-02-27T13:31:47Z jackdaniel: ecl's safe hash tables do the same (uses locks), but if I had a shared ht between threads I'd carefully lock code blocks instead 2018-02-27T13:32:43Z ``Erik quit (Read error: Connection reset by peer) 2018-02-27T13:32:59Z ``Erik joined #lisp 2018-02-27T13:34:12Z Kundry_Wag_ joined #lisp 2018-02-27T13:34:45Z dxtr: Xach: Have you seen issues where zs3 just times out when putting data? 2018-02-27T13:35:09Z dxtr: I'm trying to run a thing I made on Solaris 2018-02-27T13:35:35Z dxtr: Why Solaris? Because I hate myself :) 2018-02-27T13:37:10Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-27T13:40:41Z smurfrobot quit (Remote host closed the connection) 2018-02-27T13:41:17Z smurfrobot joined #lisp 2018-02-27T13:41:34Z em quit (Ping timeout: 260 seconds) 2018-02-27T13:41:52Z em joined #lisp 2018-02-27T13:42:08Z beach: dxtr: This is my project for improving the Common Lisp specification: https://github.com/robert-strandh/Well-Specified-Common-Lisp 2018-02-27T13:45:35Z smurfrobot quit (Ping timeout: 252 seconds) 2018-02-27T13:45:42Z smokeink joined #lisp 2018-02-27T13:48:47Z chiyosaki joined #lisp 2018-02-27T13:50:05Z saki quit (Ping timeout: 276 seconds) 2018-02-27T13:50:44Z python476 joined #lisp 2018-02-27T13:51:06Z beach: dxtr: It is not very ambitious, and I think the low ambition is required in order for it to have any chance of success. 2018-02-27T13:53:13Z Kundry_Wag_ quit (Ping timeout: 240 seconds) 2018-02-27T13:54:01Z Bike is now known as Bicyclidine 2018-02-27T13:56:51Z Tobbi joined #lisp 2018-02-27T13:57:48Z makomo joined #lisp 2018-02-27T13:59:02Z shka: quote of the day -> "It is not very ambitious, and I think the low ambition is required in order for it to have any chance of success." 2018-02-27T14:00:47Z beach: shka: I maintain that. I think something like cl21 is way too ambitious. Same thing with efforts to include many more features. 2018-02-27T14:01:32Z saki joined #lisp 2018-02-27T14:01:34Z chiyosaki quit (Ping timeout: 256 seconds) 2018-02-27T14:01:49Z shka: oh, i see your point 2018-02-27T14:02:07Z makomo quit (Ping timeout: 248 seconds) 2018-02-27T14:02:11Z makomo_ joined #lisp 2018-02-27T14:02:14Z beach: It has to be baby steps. 2018-02-27T14:02:15Z shka: but you put it in a very interesting way 2018-02-27T14:02:25Z beach: Thanks (I guess). :) 2018-02-27T14:02:38Z _cosmonaut_ joined #lisp 2018-02-27T14:03:29Z shka: well, cleaning up is a good place to start 2018-02-27T14:03:51Z shka: if that works, i guess next step would be standardizing de facto standards 2018-02-27T14:04:28Z beach: Yes, that's the idea. But already by specifying lots of unspecified behavior, it means many more programs can be portable across implementations. 2018-02-27T14:05:22Z beach: The next step (after this one) could be something like specifying the exact meaning of type declarations at different safety levels. But that is already too ambitious for the first step. 2018-02-27T14:07:24Z beach: But I maintain that the goal of WSCL is much higher priority than including more features or modifying the syntax. 2018-02-27T14:09:25Z jackdaniel: actually I believe Lisp could be better with some cruft removed (not necessarily added), but happily creating new package with limited set of symbols is not something what would require intervention on the implementaiton level (vide ergolib) 2018-02-27T14:09:30Z pjb: I would think it'd be better to use our own sexp-based structure. This would allow for a more formal approach to generate the standard. 2018-02-27T14:09:56Z willmichael quit (Read error: Connection reset by peer) 2018-02-27T14:10:10Z willmichael joined #lisp 2018-02-27T14:10:14Z pjb: It would also make it easier to write tools, such as to navigate cross references, (original paragraph), and to trace and reference things. 2018-02-27T14:10:21Z dlowe: I have a program whose goal is converting it to a sexp structure 2018-02-27T14:10:34Z pjb: All lispers know sexps; not all lispers know TeX or LaTeX… 2018-02-27T14:10:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-27T14:11:46Z jackdaniel: well, most people know letters (probably all lispers!), let's use some syntax involving letters and they'll understand the semantics (promise) 2018-02-27T14:11:48Z pfdietz: The new feature I want to see become de facto standard in CL is package local nicknames. 2018-02-27T14:12:16Z jackdaniel: ecl will have it in 16.2.0 (already implemented), abcl has it and sbcl has it 2018-02-27T14:12:25Z pfdietz: Right. ccl and clisp need it. 2018-02-27T14:12:35Z jackdaniel: rme isn't against accepting pull request for it, so it is a matter of implementation 2018-02-27T14:12:45Z jackdaniel: don't know about clisp 2018-02-27T14:13:59Z pfdietz: While poking through ccl, I noticed ccl has a very nice coverage facility included, with rollback. I hacked COVER to do that, but it's nice to have something integrated with the compiler. 2018-02-27T14:14:55Z saki quit (Ping timeout: 252 seconds) 2018-02-27T14:15:26Z fikka joined #lisp 2018-02-27T14:15:29Z saki joined #lisp 2018-02-27T14:16:02Z dxtr: beach: Neat 2018-02-27T14:17:36Z Kundry_Wag joined #lisp 2018-02-27T14:19:44Z jmercouris joined #lisp 2018-02-27T14:19:55Z beach: dxtr: Thanks. 2018-02-27T14:20:22Z dxtr: Imma look at it 2018-02-27T14:20:36Z fikka quit (Ping timeout: 265 seconds) 2018-02-27T14:20:39Z dxtr: Also, Robert Strandh sounds very swedish :) 2018-02-27T14:21:12Z beach: That's what my passport says, but I am not Swedish for any practical purposes. 2018-02-27T14:21:20Z dxtr: Hehe 2018-02-27T14:21:31Z SlowJimmy joined #lisp 2018-02-27T14:21:42Z jmercouris: Aha, the mystery is solved 2018-02-27T14:22:15Z jmercouris: I've been wondering for a very long time 2018-02-27T14:22:44Z beach: It is truly without any importance. 2018-02-27T14:23:19Z jmercouris: importance != interest 2018-02-27T14:23:47Z beach: It is not even interesting. :) 2018-02-27T14:24:10Z dxtr: It tickled my curiosity a little, though :) 2018-02-27T14:24:16Z jmercouris: I find it interesting, I hear people on IRC and I always try to imagine what they look like and what they speak like 2018-02-27T14:24:37Z jmercouris: I have these fuzzy images in my head for many people on this channel, as to how I imagine they are 2018-02-27T14:24:51Z beach: Type my name to the Google search engine and you will find out. It gives some Youtube videos of talks and such. 2018-02-27T14:24:52Z jmercouris: like when reading a book you come up with a face for a character, for me it is the same thing 2018-02-27T14:25:21Z Bike joined #lisp 2018-02-27T14:25:52Z jmercouris: https://www.youtube.com/watch?v=_yV3GYwZRtc&t=35s is this you? 2018-02-27T14:25:57Z dxtr: Haha 2018-02-27T14:26:01Z Patternmaster joined #lisp 2018-02-27T14:26:08Z Kundry_Wag_ joined #lisp 2018-02-27T14:26:25Z beach: jmercouris: Yes, but many years ago. 2018-02-27T14:26:32Z jmercouris: You sound american to me 2018-02-27T14:26:54Z Bike: beach is pretty good at accents 2018-02-27T14:27:04Z beach: Yes, I have sounded American for the past 40 or so years. 2018-02-27T14:27:22Z dxtr: beach: To be fair if I google your name I get a whole lot of people with that name. 334 people to be precise :) 2018-02-27T14:27:24Z beach: I still fail to see how this is interesting. 2018-02-27T14:27:40Z jmercouris: You are behind the curtain, of course it isn't interesting to you! 2018-02-27T14:27:45Z beach: dxtr: And they all gave presentations at ILC2002? :) 2018-02-27T14:28:14Z jackdaniel also tries to figure out, what his accent/nationality has to do with lisp 2018-02-27T14:28:36Z jmercouris: It doesn't have to do with Lisp, but we are humans after all, and that is interesting 2018-02-27T14:28:38Z beach: jackdaniel: Thank you. 2018-02-27T14:28:42Z jackdaniel: like in: #lisp is not a very good channel for such discussion 2018-02-27T14:28:43Z saki quit (Remote host closed the connection) 2018-02-27T14:28:55Z jmercouris: beach isn't in lispcafe 2018-02-27T14:29:20Z jackdaniel: jmercouris: of course, so asking such question once is fine, but having prolonged discussion about that is not. apparently he is not interested in such chit-chat, otherwise he would be there ;) 2018-02-27T14:29:21Z saki joined #lisp 2018-02-27T14:29:52Z jmercouris wheeps gently 2018-02-27T14:30:02Z compro joined #lisp 2018-02-27T14:30:16Z Kundry_Wag quit (Ping timeout: 265 seconds) 2018-02-27T14:30:21Z smurfrobot joined #lisp 2018-02-27T14:31:59Z fikka joined #lisp 2018-02-27T14:34:33Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-27T14:35:31Z vlad_ joined #lisp 2018-02-27T14:35:39Z vlad_ quit (Client Quit) 2018-02-27T14:35:41Z Murii|BSD joined #lisp 2018-02-27T14:36:56Z __rumbler31 joined #lisp 2018-02-27T14:36:56Z fikka quit (Ping timeout: 268 seconds) 2018-02-27T14:39:01Z Kundry_Wag joined #lisp 2018-02-27T14:39:37Z vlad_ joined #lisp 2018-02-27T14:39:40Z vlad_ quit (Remote host closed the connection) 2018-02-27T14:42:22Z Kundry_Wag_ quit (Ping timeout: 256 seconds) 2018-02-27T14:42:41Z saki quit (Ping timeout: 248 seconds) 2018-02-27T14:44:08Z saki joined #lisp 2018-02-27T14:45:12Z sysfault quit (Remote host closed the connection) 2018-02-27T14:45:36Z sysfault joined #lisp 2018-02-27T14:47:53Z fikka joined #lisp 2018-02-27T14:49:33Z heurist_ joined #lisp 2018-02-27T14:50:13Z heurist`_ quit (Ping timeout: 240 seconds) 2018-02-27T14:51:33Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-27T14:52:44Z krasnal_ joined #lisp 2018-02-27T14:53:20Z flamebeard quit (Quit: Leaving) 2018-02-27T14:54:30Z fe[nl]ix: dxtr: more swedish than Olof Gustav Sjöberg-Lindqvist ? 2018-02-27T14:54:35Z saki quit (Ping timeout: 240 seconds) 2018-02-27T14:55:37Z krasnal quit (Ping timeout: 245 seconds) 2018-02-27T14:56:27Z figurehe4d quit (Ping timeout: 245 seconds) 2018-02-27T14:56:37Z jackdaniel: fe[nl]ix: do you know when you'll find time to review changes proposed for bt? 2018-02-27T14:57:17Z fe[nl]ix: I'll try this weekend 2018-02-27T14:57:26Z FreeBirdLjj joined #lisp 2018-02-27T14:57:35Z warweasle joined #lisp 2018-02-27T14:57:41Z jackdaniel: OK, thank you. 2018-02-27T14:58:52Z mareskeg joined #lisp 2018-02-27T14:59:04Z mareskeg quit (Remote host closed the connection) 2018-02-27T15:01:13Z willmichael quit (Ping timeout: 240 seconds) 2018-02-27T15:01:39Z python476 quit (Quit: ERC (IRC client for Emacs 25.3.1)) 2018-02-27T15:05:13Z fikka quit (Ping timeout: 240 seconds) 2018-02-27T15:07:25Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-27T15:09:21Z willmichael joined #lisp 2018-02-27T15:10:02Z attila_lendvai joined #lisp 2018-02-27T15:10:02Z attila_lendvai quit (Changing host) 2018-02-27T15:10:02Z attila_lendvai joined #lisp 2018-02-27T15:11:07Z fikka joined #lisp 2018-02-27T15:14:10Z python476 joined #lisp 2018-02-27T15:19:19Z fikka quit (Ping timeout: 256 seconds) 2018-02-27T15:23:43Z attila_lendvai quit (Quit: Leaving.) 2018-02-27T15:23:49Z Kundry_Wag joined #lisp 2018-02-27T15:24:19Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-27T15:25:10Z makomo_ quit (Quit: WeeChat 2.0.1) 2018-02-27T15:25:29Z makomo joined #lisp 2018-02-27T15:26:10Z saki joined #lisp 2018-02-27T15:26:31Z makomo: i have to agree with jmercouris, stuff like that is interesting to me too :-) 2018-02-27T15:27:02Z makomo: exactly like you said, trying to imagine what people look like, etc. 2018-02-27T15:27:09Z makomo: trying to figure out the "human component" in it all 2018-02-27T15:27:40Z jmercouris: yeah, we are more than just a group of lisp robots, we are a community of people, and I don't think it would hurt to explore that territory a little 2018-02-27T15:27:59Z makomo: i'm always interested in biographies of people whose work i use or find interesting 2018-02-27T15:28:22Z makomo: and always like to think about what that certain person was thinking during the period of time he was working on that project 2018-02-27T15:28:31Z makomo: and what his current whereabouts are, etc. :-) 2018-02-27T15:29:15Z Xach: A lisp conference is good for that. 2018-02-27T15:29:34Z jmercouris: As is a channel where people can communicate in real time 2018-02-27T15:29:37Z Xach: If you want to chat about personal stuff, go to another channel. 2018-02-27T15:29:54Z jmercouris: I have no problem adhering to the rules, but I would like to understand the justification 2018-02-27T15:30:12Z makomo: well probably because there are a lot more people listening to the personal stuff here 2018-02-27T15:30:16Z Shinmera: a lot of people don't care to hear chatter about things that are not on topic. 2018-02-27T15:30:16Z Xach: This is for discussion of Common Lisp, not discussion of people who use Common Lisp. 2018-02-27T15:30:26Z makomo: it's different in real life 2018-02-27T15:30:29Z beach: I think many people here would like to keep the discussion to the topic, and I am one of them. 2018-02-27T15:30:41Z makomo: and also what they said 2018-02-27T15:30:48Z saki quit (Quit: saki) 2018-02-27T15:30:58Z beach: And that is why I keep repeating that my personal life is irrelevant and uninteresting. 2018-02-27T15:31:02Z jmercouris: Xach: The language is not *just* the definition, it is also its userbase and the applications and domain spaces they work in 2018-02-27T15:31:17Z smurfrobot joined #lisp 2018-02-27T15:31:31Z jmercouris: without users, a language has no value 2018-02-27T15:31:37Z Xach: I am happy to talk about Common Lisp applications and the challenges faced by people trying to use Common Lisp. 2018-02-27T15:31:57Z Lycurgus joined #lisp 2018-02-27T15:31:57Z Xach: I do not want to talk about what time of day it is wherever you are on the planet, or what your weather is like, or whether you have exams coming up. 2018-02-27T15:32:09Z jmercouris: Then you would be also happy to talk about people, as the common lisp in their life does not exist in a singular bubble 2018-02-27T15:32:25Z Lycurgus: peoples should know there's ##lisp for the wider thing 2018-02-27T15:32:36Z beach: jmercouris: Stop it please. We already have an agreement about what is on topic here. 2018-02-27T15:32:39Z Xach: jmercouris: I am happy to talk about people in places other than #lisp. 2018-02-27T15:32:40Z makomo feels guilty since he mentioned he has an exam once 2018-02-27T15:33:08Z jmercouris: Ok, I concede :D, I still can't say I agree, but if everyone else does, so ist das 2018-02-27T15:33:56Z smokeink quit (Ping timeout: 256 seconds) 2018-02-27T15:34:39Z Lycurgus jmercouris his tail tucked 2018-02-27T15:34:56Z makomo: but i guess a *bit* of chit-chat here and there is fine though? i.e. just a couple of lines and not a full-blown discussion? 2018-02-27T15:35:30Z Shinmera: People will tell you when to stop. You just have to have the courtesy to actually stop when asked to. 2018-02-27T15:35:47Z Lycurgus makomo when the walls fell 2018-02-27T15:35:55Z fikka joined #lisp 2018-02-27T15:35:55Z dim: makomo: well trust people to tell you when you're off topic, and when you are, just say you're sorry and be silent for awhile… at least that's how I do it, apparently it kind of works ;-) 2018-02-27T15:36:12Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-27T15:36:30Z makomo: yeah, agreed 2018-02-27T15:36:54Z sjl joined #lisp 2018-02-27T15:39:05Z Kundry_Wag_ joined #lisp 2018-02-27T15:40:43Z fikka quit (Ping timeout: 252 seconds) 2018-02-27T15:41:02Z Kundry_Wag quit (Ping timeout: 245 seconds) 2018-02-27T15:50:47Z fikka joined #lisp 2018-02-27T15:54:00Z pjb: let's write short biographies and compete to see which one is less interesting. 2018-02-27T15:54:29Z pjb: https://www.cliki.net/The%20Road%20to%20Lisp%20Survey 2018-02-27T15:55:24Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-27T15:56:02Z dieggsy joined #lisp 2018-02-27T15:56:29Z Kundry_Wag_ quit (Ping timeout: 252 seconds) 2018-02-27T15:57:27Z drewc joined #lisp 2018-02-27T15:57:42Z willmichael quit (Ping timeout: 245 seconds) 2018-02-27T16:00:33Z jmercouris quit (Ping timeout: 240 seconds) 2018-02-27T16:02:55Z Cymew quit (Remote host closed the connection) 2018-02-27T16:03:58Z stacksmith joined #lisp 2018-02-27T16:06:47Z kuwze joined #lisp 2018-02-27T16:09:24Z saki joined #lisp 2018-02-27T16:10:39Z Lycurgus: i always want to know the latest on any lisp OS doings 2018-02-27T16:11:07Z Lycurgus: and not dead ass stuff like genera or pieces parts like iolib 2018-02-27T16:12:09Z Xach: People still get paid in 2018 to work with and on Genera stuff, so it's still something. 2018-02-27T16:13:01Z Lycurgus: people get paid in 2018 to work on VB6 and CICS 2018-02-27T16:13:15Z Xach: It isn't of particular interest to me personally, but it's not especially dead compared to other dead Lisp things. 2018-02-27T16:13:43Z _death: who gets paid to work on mezzano 2018-02-27T16:14:01Z Kundry_Wag joined #lisp 2018-02-27T16:14:04Z Lycurgus: yeah there's hasn't executed in over 3 or 4 decades vs just super stale 2018-02-27T16:15:19Z beach: Lycurgus: What are you referring to? 2018-02-27T16:15:44Z Lycurgus: you mean an example of something that hasn't executed in 3 or 4 decades? 2018-02-27T16:16:28Z Lycurgus: i take it you know what VB6 and CICS are 2018-02-27T16:16:30Z beach: I am wondering whether you were referring to something in particular. 2018-02-27T16:16:51Z beach: Sort of, yes. 2018-02-27T16:17:03Z Lycurgus: nope just the lisp code semetary 2018-02-27T16:17:06Z Kundry_Wag_ joined #lisp 2018-02-27T16:17:16Z beach: Lycurgus: You seem very negative. 2018-02-27T16:17:23Z jmercouris joined #lisp 2018-02-27T16:17:28Z beach: Lycurgus: Look at all the activity instead. 2018-02-27T16:17:42Z Lycurgus: it's an aperception on your part 2018-02-27T16:17:59Z Lycurgus: i consider that cemetary a trove 2018-02-27T16:18:19Z Bike quit (Ping timeout: 260 seconds) 2018-02-27T16:18:49Z fikka quit (Ping timeout: 256 seconds) 2018-02-27T16:19:27Z varjag joined #lisp 2018-02-27T16:19:27Z jmercouris: rme: https://ccl.clozure.com is down 2018-02-27T16:19:54Z Shinmera: jmercouris: WOMM 2018-02-27T16:20:16Z beach: Lycurgus: Have you seen this page? http://metamodular.com/Common-Lisp/suggested-projects.html 2018-02-27T16:20:24Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-27T16:20:43Z beach: Many of those projects are being worked on, directly or indirectly. 2018-02-27T16:20:49Z jmercouris: Shinmera: word of mouth marketing? 2018-02-27T16:20:55Z Shinmera: Works On My Machine 2018-02-27T16:21:18Z jmercouris: Ok, it seems to be up since I posted that comment 2018-02-27T16:21:29Z Lycurgus: beach, have now, ty 2018-02-27T16:21:57Z Lycurgus quit (Quit: Ex Chat) 2018-02-27T16:22:23Z smurfrobot joined #lisp 2018-02-27T16:22:53Z Lycurgus joined #lisp 2018-02-27T16:23:14Z Lycurgus sorry, stray click 2018-02-27T16:23:53Z Kundry_Wag joined #lisp 2018-02-27T16:26:35Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-27T16:27:02Z oleo joined #lisp 2018-02-27T16:27:39Z dim: beach: first link is a 404, http://metamodular.com/Common-Lisp/cl-editor.html 2018-02-27T16:27:46Z Kundry_Wag_ quit (Ping timeout: 256 seconds) 2018-02-27T16:28:25Z beach: Working on it. 2018-02-27T16:28:39Z ebzzry_ joined #lisp 2018-02-27T16:29:37Z beach: No longer 404, but it's a skeleton right now. 2018-02-27T16:29:43Z makomo: "An interactive application for manipulating PDF documents." 2018-02-27T16:29:50Z makomo: now this is something that sounds very nice and exciting 2018-02-27T16:30:08Z makomo: i've never understood why the pdf tooling is so poor :^( 2018-02-27T16:30:19Z jmercouris: Because PDF is a very complex format with a lot of legacy versions 2018-02-27T16:30:42Z makomo: well still. you would think that its popularity would take care of that 2018-02-27T16:30:47Z beach: makomo: I am guessing one reason is that they systematically choose programming languages that are not well suited for such programs. 2018-02-27T16:31:01Z makomo: there are a lot of tools but none of them do it completely 2018-02-27T16:31:10Z Lycurgus: also it's output isn't meant to be read by anything other than a device 2018-02-27T16:31:16Z Lycurgus: *its 2018-02-27T16:31:20Z makomo: each one misses something. also, it's pretty much a rule that they are rarely scriptable 2018-02-27T16:31:28Z schweers: beach: isn’t this kind of a recurring thing in this industry? 2018-02-27T16:32:08Z makomo: beach: idk. for example, ghostscript has a feature for adding new bookmarks (although it's not really easy or friendly to use) 2018-02-27T16:32:14Z makomo: but there's no way to pull out all of the bookmarks in the pdf 2018-02-27T16:32:17Z makomo: none! 2018-02-27T16:32:35Z makomo: for that i had to use qpdf which provides a small example tool called pdf-bookmarks 2018-02-27T16:32:52Z Bike joined #lisp 2018-02-27T16:32:59Z makomo: i.e. it's not something that the main qpdf binary exposes 2018-02-27T16:33:06Z jackdaniel: for annotating pdfs I find xournal application very nice 2018-02-27T16:33:08Z makomo: so it's just a huge mess for some reason 2018-02-27T16:33:11Z jackdaniel: it adds a layer over pdf 2018-02-27T16:33:23Z Xach: pdf is a pretty simple format in many respects, if you disregard the javascript stuff that was added. cl-pdf is interesting for parsing and generating pdfs. but it is quite low-level. 2018-02-27T16:33:49Z makomo: then there's also pdftk or w/e it's called, but that is pretty much deprecated since it uses GCC's Java implementation which has been removed from GCC 7 and up 2018-02-27T16:34:23Z makomo: that tool was quite versatile but there you go, not easily available anymore (at least for me on Fedora) 2018-02-27T16:34:51Z makomo: i'd have to compile the whole GCC Java suite just to build it 2018-02-27T16:35:16Z jmercouris: Xach: "pdf is a pretty simple format", the specification is 745 pages: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf 2018-02-27T16:35:19Z schweers: makomo: really, they used the java frontend for GCC? Do they have plans on what to do, now that its been removed? It should run on the jvm, right? 2018-02-27T16:35:41Z fikka joined #lisp 2018-02-27T16:36:28Z makomo: schweers: no idea, here's the webpage: https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/ 2018-02-27T16:36:50Z makomo: you'll want to go to "PDFtk Server" which is actually a command-line version of the tool 2018-02-27T16:37:30Z makomo: "Pdftk 1.4x fails to build on gcc 3.3.5 due to missing libgcj features." 2018-02-27T16:37:32Z makomo: heh 2018-02-27T16:37:38Z beach: schweers: It is. 2018-02-27T16:37:57Z saki quit (Ping timeout: 240 seconds) 2018-02-27T16:38:51Z makomo: Xach: i was looking at cl-pdf and cl-typesetting. have you ever used/evaluated cl-pdf? 2018-02-27T16:39:26Z beach: makomo: I did not mean to imply that when a good programming language is chosen, the application is automatically fantastic. I just meant to say that when a programming language is chosen that is not suitable, it is much harder to create features that might be somewhat complex to implement. 2018-02-27T16:39:29Z schweers: does learning and using {Mc,}CLIM spoil one’s character in a way similar to learing and using lisp? 2018-02-27T16:39:51Z makomo: beach: of course :-) 2018-02-27T16:40:43Z makomo: the interactivity that a lisp would provide would be a big bonus, but there isn't even a comprehensive library for editing pdfs in a non-lisp language 2018-02-27T16:40:49Z beach: schweers: It did for me. Though I never actually had the courage to write GUI applications using any other library. 2018-02-27T16:41:24Z beach: schweers: I started working on McCLIM because I couldn't see using an FFI-based GUI library for Gsharp. 2018-02-27T16:41:33Z jmercouris: You can program GUI applications interactively in CCL as well using Cocoa 2018-02-27T16:41:55Z schweers: I’ve never done much GUI. I did a little with borland C++ builder back in school and later java and swing once during my studies. Plus looking a little bit at gtk, but never really used it. 2018-02-27T16:42:30Z schweers: What I was getting at: is using CLIM that much different than using (say) gtk or Qt? 2018-02-27T16:42:34Z beach: jmercouris: And that does not qualify as FFI? 2018-02-27T16:42:52Z schweers: or, god forbid, GUI on windows? (what do they use nowadays, anyway?) 2018-02-27T16:43:23Z makomo: qt is pretty popular. i doubt anyone wants to use the win32 api directly :-D 2018-02-27T16:43:40Z saki joined #lisp 2018-02-27T16:43:45Z emacsomancer quit (Ping timeout: 248 seconds) 2018-02-27T16:43:52Z jasom: makomo: I use mupdf bindings for modifications, but for reading pdfs, I just add features to https://github.com/jasom/pdfparse when I need them 2018-02-27T16:44:13Z schweers: Nah, win32 seems to be really nasty. I’ve got a book on the subject, and still never really used it, because its really painful 2018-02-27T16:44:13Z schweers: 2018-02-27T16:44:17Z pagnol quit (Ping timeout: 248 seconds) 2018-02-27T16:45:08Z AxelAlex quit (Quit: AxelAlex) 2018-02-27T16:45:51Z jasom: beach: what primitives are needed for a McCLIM port, out of curiousity? 2018-02-27T16:46:05Z sjl quit (Ping timeout: 240 seconds) 2018-02-27T16:47:03Z schweers: eh .. with clim one can send a button into a stream? 2018-02-27T16:47:14Z beach: jasom: For porting McCLIM to something or for porting something to McCLIM? 2018-02-27T16:47:17Z makomo: jasom: interesting. metrics.lisp looks scary :-) 2018-02-27T16:47:20Z jasom: beach: the former 2018-02-27T16:47:21Z beach: schweers: Yes. 2018-02-27T16:47:32Z jasom: makomo: it's generated from a data file IIRC 2018-02-27T16:47:36Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-27T16:47:45Z schweers: I can’t yet imagine how that works or what its effect is 2018-02-27T16:47:54Z beach: jasom: You either need an X11 server or you need to write a backend for McCLIM. 2018-02-27T16:48:24Z jasom: beach: right, what primitives are needed for McCLIM; does it use native buttons/fields/&c. or does it draw them itself? 2018-02-27T16:48:38Z beach: jasom: The latter. 2018-02-27T16:48:52Z beach: jasom: So you just need to be able to draw pixels in a window. 2018-02-27T16:49:41Z jasom: ah, so porting it t osomething like IUP or tk wouldn't make much sense 2018-02-27T16:49:49Z FreeBirdLjj joined #lisp 2018-02-27T16:50:26Z beach: jasom: CLIM was meant to work with native toolkits in addition to its own, but we never go around to doing that. It didn't make much sense. 2018-02-27T16:50:29Z jmercouris: beach: it does, but it is also interactive 2018-02-27T16:51:24Z jackdaniel: people say, that we need to get modern with McCLIM 2018-02-27T16:51:48Z jackdaniel: I say otherwise and hack ncurses backend for it (because it's fun ;-) 2018-02-27T16:51:57Z jackdaniel: that said sdl backend is one of long-term goals 2018-02-27T16:52:00Z beach: jackdaniel: I always shiver when I hear the word "modern". 2018-02-27T16:52:01Z jackdaniel: for portability 2018-02-27T16:52:08Z jmercouris: So for you it is more like a hobby then? 2018-02-27T16:52:13Z jackdaniel: beach: imagine I have the same for word "neat" ;-) 2018-02-27T16:52:21Z dim: what features do you want to remove to make it modern enough? ;-) 2018-02-27T16:52:25Z Lycurgus: js is tEh modern 2018-02-27T16:52:33Z jackdaniel: jmercouris: no, I work on things which I enjoy proffesionally 2018-02-27T16:52:34Z beach: dim: Heh! 2018-02-27T16:53:00Z jasom: that's right, CLIM isn't modern until there is an electron backend ;-) 2018-02-27T16:53:02Z jmercouris: jackdaniel: "professionally" as in a "profession" as in recieving money, I think you'll have a hard business case selling ncurses software in 2018 2018-02-27T16:53:09Z jackdaniel: professionally* 2018-02-27T16:53:34Z jackdaniel: jmercouris: you'd be suprised how many tui applications are in use today 2018-02-27T16:53:53Z jmercouris: I wouldn't, but I'd definitely be surprised at how many were funded as new projects in 2018 2018-02-27T16:54:00Z jackdaniel: that said what I mean: I hack on things which are interesting to me and it happens that some of them let me sustain myself 2018-02-27T16:54:01Z jasom: jmercouris: there are other ways to make money with software besides selling it (we have in-house stuff with a curses UI for example, but the people who wrote it were clearly doing so professionally) 2018-02-27T16:54:14Z beach: jmercouris: I think jackdaniel, unlike most other computing professionals, actually spends a lot of time learning the tools and techniques that can profit his core business. Strange, huh? 2018-02-27T16:54:38Z schweers: I guess something curses like makes sense for some special applications, like for a cashier, or in a doctors office 2018-02-27T16:54:44Z jmercouris: no doubt he invests in himself and his tools, but that does not make a business case for an ncurses backend 2018-02-27T16:55:04Z jasom: schweers: in this case it's for headless machines that are accessed over ssh 2018-02-27T16:55:15Z jmercouris: forward x over ssh, problem solved 2018-02-27T16:55:17Z schweers: that too, obviously 2018-02-27T16:55:21Z schweers: ugh! 2018-02-27T16:55:33Z PinealGlandOptic quit (Ping timeout: 240 seconds) 2018-02-27T16:55:38Z jasom: jmercouris: these days vnc is far better than x over ssh 2018-02-27T16:55:42Z Fare joined #lisp 2018-02-27T16:55:52Z Xach: makomo: I have used cl-pdf quite a bit for various things. i enjoy it and it is useful but it does require building higher-level abstractions yourself if you need them. 2018-02-27T16:56:42Z jackdaniel: jmercouris: either way I'm not doing it as a hobby - I'm working on CL full time and ncurses backend is made in that 2018-02-27T16:56:54Z jasom: Xach: cl-pdf loads the entire object stream into memory though, and in a rather inefficient manner. The pdf I wrote my parser for needed more than 4GB of heap to open in cl-pdf 2018-02-27T16:56:54Z jmercouris: I'm not trying to demean the project, but it is important to recognize that it appears very much still in the early stages, and is a hobby project 2018-02-27T16:56:58Z jackdaniel: my hobby are books, anime and many other things ;) 2018-02-27T16:57:21Z jmercouris: when it matures a little more, and you can start selling software you build with it, then you may say that you work on it professionally 2018-02-27T16:57:22Z Xach: jasom: yeah. there are definitely limitations. i was using it to automate pdf form filling. 2018-02-27T16:57:27Z saki quit (Ping timeout: 240 seconds) 2018-02-27T16:57:41Z Xach: jasom: the forms were usually a page or two so in-memory wasn't a problem (it was more of an advantage when poking around) 2018-02-27T16:58:12Z saki joined #lisp 2018-02-27T16:58:39Z makomo: Xach: hm i see 2018-02-27T16:58:46Z jackdaniel: as I said: working on something professionally doesn't mean necessarily selling it. I could mention reputation which directly impacts your chances, experience which directly impacts your chance of succesful delivery and other things. but it is offtopic I suppose 2018-02-27T16:58:57Z jasom: Xach: yeah for 2 page PDFs cl-pdf is great 2018-02-27T16:59:03Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-27T16:59:09Z nowhere_man quit (Read error: Connection reset by peer) 2018-02-27T16:59:09Z kuwze quit (Ping timeout: 260 seconds) 2018-02-27T16:59:59Z jmercouris: jackdaniel: There are tangential benefits for yourself as a professional, but not for the future of the project as a resource in a professional development network 2018-02-27T17:00:20Z al-damiri joined #lisp 2018-02-27T17:00:30Z damke joined #lisp 2018-02-27T17:00:45Z Xach: makomo: i haven't tried cl-typesetting, but marc battyani always seemed to have really nice examples of its use. 2018-02-27T17:00:46Z jackdaniel: I don't understand the last sentence, but there is no need to elaborate, I've said everything I wanted to say ;) 2018-02-27T17:01:59Z jmercouris: An open source project is a basis for companies to work in a type of "open innovation network", several companies contribute to a core technology and leverage it to build their products. The value of an ncurses backend to building this network value for McClim is most likely very low, it basically only benefits yourself 2018-02-27T17:02:14Z jmercouris: that is the meaning of the last sentence 2018-02-27T17:02:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-27T17:02:59Z jackdaniel: huh, finally back on topic. I hope it will benefit community 2018-02-27T17:03:05Z jackdaniel: I've written one tutorial on cl-charms already 2018-02-27T17:03:16Z jackdaniel: and plan to write documentation on writing backends based on that 2018-02-27T17:03:36Z jackdaniel: also, having such degenerated backend will benefit testing some hard-to-notice corner cases 2018-02-27T17:03:50Z jackdaniel: on normal rendering it's hard to find off-by-one pixel errors 2018-02-27T17:03:54Z stacksmith: jackdaniel: I am happy about the cl-charms backend - the x font rendering was hurting my eyes. 2018-02-27T17:03:59Z ebzzry_ quit (Ping timeout: 248 seconds) 2018-02-27T17:04:06Z beach: jackdaniel: How dare you work on something that you won't make money from directly and immediately. That is so un-modern of you. 2018-02-27T17:04:08Z jackdaniel: but when your smallest thing is a character, then they are easily noticable 2018-02-27T17:04:21Z jmercouris: jackdaniel: It'll benefit the community, as some lisp developer will want to use the backend for sure, it will not benefit the project in a professional sense, because most likely no company will comission a curses backend for their software, and thus you won't win more support or sponsorship for the development of mcclim for the purposes of utilizing the curses backend 2018-02-27T17:04:29Z paul0 joined #lisp 2018-02-27T17:04:33Z schweers quit (Ping timeout: 248 seconds) 2018-02-27T17:04:43Z jackdaniel: I think we don't have a common understanding of being professional 2018-02-27T17:05:02Z Shinmera: Professiona.L "engaged in a specified activity as one's main paid occupation rather than as an amateur. 2018-02-27T17:05:06Z jmercouris: beach: I work on plenty of projects that make no money, I'm not trying to shame someone for that, I don't think you're understanding me 2018-02-27T17:05:15Z FreeBirdLjj joined #lisp 2018-02-27T17:05:18Z jackdaniel: ↑ that's more like it (what Shinmera said) 2018-02-27T17:05:45Z jmercouris: We agree that you are a professional developer, but is everything you program something you program professionally? 2018-02-27T17:05:45Z beach: jmercouris: I think jackdaniel's business plan is also off topic. 2018-02-27T17:05:49Z dim: jackdaniel: you know (of) libcaca (coloured ascii-art) and its availability as a VLC backend? 2018-02-27T17:06:07Z stacksmith: God help us all. Let's stick to Lisp and not dispense business advice. 2018-02-27T17:06:08Z jackdaniel: dim: I know that mplayer can render on the console (with ascii) 2018-02-27T17:06:23Z beach: dim: Funny name. "caca" in French means "crap". 2018-02-27T17:06:32Z dim: I'm french ;-) 2018-02-27T17:06:37Z _death: jmercouris: many companies have internal tools, I can imagine some of them have a text UI for a variety of purposes 2018-02-27T17:06:41Z jmercouris: please guys, let's stay on topic 2018-02-27T17:06:45Z jackdaniel: fun stuff indeed. I've also written a checkers game when I was at university in ncurses (with C) 2018-02-27T17:06:47Z beach: dim: That's off topic. :) 2018-02-27T17:06:47Z dim: and the author of libcaca is french too (Sam Hocevar) 2018-02-27T17:06:56Z dim: hehe, ok 2018-02-27T17:07:01Z dim: sorry 2018-02-27T17:07:09Z jmercouris: we could accidentally enjoy ourselves on this channel 2018-02-27T17:07:10Z jackdaniel: when you have scaled down the font (to something really small) it actually rendered circles :) 2018-02-27T17:07:37Z Shinmera: jmercouris: At the expense of others that don't want to see off-topic bullshit. Now drop it. 2018-02-27T17:07:57Z jackdaniel: jmercouris: tedious tediousness is tedious 2018-02-27T17:08:29Z beach: jmercouris: I don't know what you are on, but today you are definitely exaggerating. 2018-02-27T17:08:57Z stacksmith: Is there a moderator here? 2018-02-27T17:09:01Z jmercouris: I'm trying to point out that more often than not the "#ontopic" discussion is used to silent dissent than anything else 2018-02-27T17:09:23Z beach: jmercouris: You don't give up, do you? 2018-02-27T17:09:31Z jmercouris: I was done, until you prompted me 2018-02-27T17:09:33Z ebzzry_ joined #lisp 2018-02-27T17:09:34Z nowhere_man joined #lisp 2018-02-27T17:09:49Z stacksmith: Can anyone kick here? 2018-02-27T17:09:57Z beach: stacksmith: Several long-term participants have such privileges if that is what you mean. 2018-02-27T17:10:06Z beach: stacksmith: It is only used as a last resort. 2018-02-27T17:10:11Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2018-02-27T17:10:14Z jackdaniel: stacksmith: I could, but it's the last resort for actual trolls 2018-02-27T17:10:39Z stacksmith: Well, that depends on how you define 'actual trolls' 2018-02-27T17:11:02Z saki quit (Ping timeout: 245 seconds) 2018-02-27T17:11:11Z beach: stacksmith: That would be up to each privileged individual. 2018-02-27T17:11:33Z beach: They acquired these privileges because they wanted to and they are trusted. 2018-02-27T17:12:10Z asarch joined #lisp 2018-02-27T17:12:12Z _death: few months ago I started writing Lisp bindings to... turbovision :D 2018-02-27T17:12:28Z Shinmera: _death: Yeesh. 2018-02-27T17:12:29Z dim: ignoring the group's rules and stuffing one own's wisdom into every bits of discussion, ignoring other participants altogether at best, but more often only what they say… we're damn near to a troll here, if you'd ask me 2018-02-27T17:13:45Z _death: but it wasn't fun enough to reach basic functionality, so postponed 2018-02-27T17:14:09Z FreeBirdLjj joined #lisp 2018-02-27T17:14:49Z Karl_Dscc joined #lisp 2018-02-27T17:14:54Z vaporatorius quit (Quit: Leaving) 2018-02-27T17:15:59Z dim: so what about a turbovision backend for McCLIM and then an interactive development environment (editor, debugger, etc) all included there? ;-) 2018-02-27T17:16:17Z _death: Turbo Lisp 2018-02-27T17:16:38Z dim: sounds quite good, has to fit on a 320kB floppy disk tho 2018-02-27T17:17:00Z dim: or something, I did like http://prog21.dadgum.com/116.html on the topic 2018-02-27T17:17:14Z Kundry_Wag joined #lisp 2018-02-27T17:18:25Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-27T17:19:40Z _death: I think clisp is the smallest thing that also fits "CL implementation".. and wasn't that 2-3 megs? 2018-02-27T17:19:47Z saki joined #lisp 2018-02-27T17:21:05Z vibs29 quit (Ping timeout: 248 seconds) 2018-02-27T17:21:33Z _death: well, foo.mem is 3.5M but foo executable is 5.9M.. maybe ecl is smaller 2018-02-27T17:22:08Z jackdaniel: libecl may fit in 900KB when properly stripped 2018-02-27T17:22:25Z jackdaniel: asdf is minimum 3.5MB 2018-02-27T17:22:25Z _death: nice 2018-02-27T17:22:37Z vibs29 joined #lisp 2018-02-27T17:22:44Z jackdaniel: compiler is arond 700KB (it is a separate module) 2018-02-27T17:22:45Z jackdaniel: etc 2018-02-27T17:22:59Z Murii|BSD quit (Remote host closed the connection) 2018-02-27T17:23:08Z jackdaniel: around* 2018-02-27T17:23:13Z Lycurgus: trolling, strabismic perseveration, whaddya expect? 2018-02-27T17:23:17Z _death: how much did asdf2 take 2018-02-27T17:23:18Z smurfrobot joined #lisp 2018-02-27T17:23:34Z jackdaniel: I don't know 2018-02-27T17:23:53Z jackdaniel: you'd have to check by yourself (compiling it should be easy, it is one file) - don't forget to strip the binary 2018-02-27T17:24:04Z jackdaniel: sstrip (super strip) is not an option, because that strips too much 2018-02-27T17:24:59Z sjl joined #lisp 2018-02-27T17:25:17Z Bike: "strabismic"? never seen that word oustide of a medical context... 2018-02-27T17:26:53Z _death: jackdaniel: ok, so what's truly important is that floppy is still an option.. lisp has a better chance to survive the apocalypse 2018-02-27T17:27:21Z jackdaniel: heheh 2018-02-27T17:27:41Z python476 quit (Read error: Connection reset by peer) 2018-02-27T17:27:50Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-27T17:29:08Z thodg joined #lisp 2018-02-27T17:29:10Z Jesin quit (Quit: Leaving) 2018-02-27T17:30:22Z python476 joined #lisp 2018-02-27T17:32:25Z saki quit (Remote host closed the connection) 2018-02-27T17:32:41Z FreeBirdLjj joined #lisp 2018-02-27T17:34:53Z Jesin joined #lisp 2018-02-27T17:36:31Z Lycurgus actually heard it first in reference to geekdom 2018-02-27T17:40:10Z dieggsy quit (Quit: ERC (IRC client for Emacs 27.0.50)) 2018-02-27T17:40:14Z Lycurgus quit (Quit: Ex Chat) 2018-02-27T17:40:37Z figurehe4d joined #lisp 2018-02-27T17:41:13Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-27T17:44:29Z figurehe4d quit (Remote host closed the connection) 2018-02-27T17:47:35Z hhdave quit (Ping timeout: 252 seconds) 2018-02-27T17:47:40Z m00natic quit (Read error: Connection reset by peer) 2018-02-27T17:49:03Z jmercouris quit (Ping timeout: 252 seconds) 2018-02-27T17:49:22Z Kundry_Wag quit (Ping timeout: 245 seconds) 2018-02-27T17:50:16Z mlf joined #lisp 2018-02-27T17:50:24Z saki joined #lisp 2018-02-27T17:51:09Z dieggsy joined #lisp 2018-02-27T17:51:27Z FreeBirdLjj joined #lisp 2018-02-27T17:56:05Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-27T17:57:18Z dieggsy quit (Remote host closed the connection) 2018-02-27T17:57:21Z Fare quit (Ping timeout: 248 seconds) 2018-02-27T17:59:35Z _cosmonaut_ quit (Ping timeout: 240 seconds) 2018-02-27T18:01:26Z scymtym__ joined #lisp 2018-02-27T18:03:54Z scymtym_ quit (Ping timeout: 265 seconds) 2018-02-27T18:04:53Z LiamH joined #lisp 2018-02-27T18:04:57Z saki quit (Ping timeout: 240 seconds) 2018-02-27T18:06:17Z scymtym__ quit (Ping timeout: 252 seconds) 2018-02-27T18:06:29Z saki joined #lisp 2018-02-27T18:06:51Z Cymew joined #lisp 2018-02-27T18:07:39Z FreeBirdLjj joined #lisp 2018-02-27T18:11:20Z Denommus joined #lisp 2018-02-27T18:11:39Z Cymew quit (Ping timeout: 260 seconds) 2018-02-27T18:12:42Z FreeBirdLjj quit (Ping timeout: 245 seconds) 2018-02-27T18:13:10Z saki quit (Ping timeout: 256 seconds) 2018-02-27T18:14:56Z FreeBirdLjj joined #lisp 2018-02-27T18:15:54Z saki joined #lisp 2018-02-27T18:19:51Z FreeBirdLjj quit (Ping timeout: 265 seconds) 2018-02-27T18:19:56Z Kundry_Wag joined #lisp 2018-02-27T18:20:18Z shka_ joined #lisp 2018-02-27T18:20:49Z saki quit (Ping timeout: 265 seconds) 2018-02-27T18:21:07Z wigust joined #lisp 2018-02-27T18:23:57Z disumu joined #lisp 2018-02-27T18:24:27Z smurfrobot joined #lisp 2018-02-27T18:26:29Z FreeBirdLjj joined #lisp 2018-02-27T18:28:33Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-27T18:30:30Z Kundry_Wag_ joined #lisp 2018-02-27T18:31:13Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-02-27T18:31:32Z FreeBirdLjj quit (Ping timeout: 276 seconds) 2018-02-27T18:32:31Z Kundry_Wag joined #lisp 2018-02-27T18:33:42Z fourier joined #lisp 2018-02-27T18:35:33Z Kundry_Wag_ quit (Ping timeout: 240 seconds) 2018-02-27T18:40:38Z FreeBirdLjj joined #lisp 2018-02-27T18:40:46Z ioa_ is now known as ioa 2018-02-27T18:49:59Z scymtym joined #lisp 2018-02-27T18:50:09Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-27T18:50:37Z _paul0 joined #lisp 2018-02-27T18:52:53Z paul0 quit (Ping timeout: 240 seconds) 2018-02-27T18:57:04Z energizer joined #lisp 2018-02-27T18:59:55Z energizer quit (Disconnected by services) 2018-02-27T19:00:03Z energizer joined #lisp 2018-02-27T19:00:13Z learning joined #lisp 2018-02-27T19:00:39Z energizer quit (Remote host closed the connection) 2018-02-27T19:00:54Z damke_ joined #lisp 2018-02-27T19:01:01Z energizer joined #lisp 2018-02-27T19:01:27Z Fare joined #lisp 2018-02-27T19:01:33Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-27T19:01:45Z FreeBirdLjj joined #lisp 2018-02-27T19:02:01Z thodg quit (Ping timeout: 256 seconds) 2018-02-27T19:02:09Z EvW joined #lisp 2018-02-27T19:03:57Z damke quit (Ping timeout: 264 seconds) 2018-02-27T19:06:26Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-27T19:07:15Z edgar-rft joined #lisp 2018-02-27T19:07:18Z Cymew joined #lisp 2018-02-27T19:07:46Z FreeBirdLjj joined #lisp 2018-02-27T19:08:40Z learning quit (Remote host closed the connection) 2018-02-27T19:09:50Z Kaisyu quit (Quit: Connection closed for inactivity) 2018-02-27T19:11:58Z Cymew quit (Ping timeout: 268 seconds) 2018-02-27T19:12:35Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2018-02-27T19:19:27Z fikka quit (Ping timeout: 248 seconds) 2018-02-27T19:21:11Z FreeBirdLjj joined #lisp 2018-02-27T19:22:41Z edgar-rft quit (Quit: Don't Cry for Me, Argentina...) 2018-02-27T19:23:06Z jmercouris joined #lisp 2018-02-27T19:23:28Z willmichael joined #lisp 2018-02-27T19:25:32Z smurfrobot joined #lisp 2018-02-27T19:25:53Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-27T19:26:01Z thodg joined #lisp 2018-02-27T19:27:09Z LocaMocha quit (Read error: Connection reset by peer) 2018-02-27T19:29:47Z smurfrobot quit (Ping timeout: 245 seconds) 2018-02-27T19:30:32Z thodg: how can i know if a stream is open or closed ? 2018-02-27T19:31:20Z Xach: thodg: open-stream-p can help 2018-02-27T19:31:39Z thodg: Xach: great 2018-02-27T19:35:01Z ckonstanski joined #lisp 2018-02-27T19:35:27Z Fare quit (Ping timeout: 240 seconds) 2018-02-27T19:35:32Z FreeBirdLjj joined #lisp 2018-02-27T19:38:40Z comborico1611 joined #lisp 2018-02-27T19:38:45Z attila_lendvai joined #lisp 2018-02-27T19:38:45Z attila_lendvai quit (Changing host) 2018-02-27T19:38:45Z attila_lendvai joined #lisp 2018-02-27T19:40:26Z FreeBirdLjj quit (Ping timeout: 276 seconds) 2018-02-27T19:40:53Z thodg quit (Ping timeout: 240 seconds) 2018-02-27T19:42:58Z FreeBirdLjj joined #lisp 2018-02-27T19:44:31Z smasta joined #lisp 2018-02-27T19:47:14Z fikka joined #lisp 2018-02-27T19:47:15Z puchacz joined #lisp 2018-02-27T19:47:25Z dieggsy joined #lisp 2018-02-27T19:47:43Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-27T19:50:12Z nowhere_man quit (Read error: Connection reset by peer) 2018-02-27T19:50:23Z nowhere_man joined #lisp 2018-02-27T19:51:06Z Denommus quit (Remote host closed the connection) 2018-02-27T19:52:46Z FreeBirdLjj joined #lisp 2018-02-27T19:56:14Z milanj quit (Quit: This computer has gone to sleep) 2018-02-27T19:57:01Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2018-02-27T20:02:14Z josemanuel joined #lisp 2018-02-27T20:02:14Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-27T20:03:44Z attila_lendvai joined #lisp 2018-02-27T20:03:44Z attila_lendvai quit (Changing host) 2018-02-27T20:03:44Z attila_lendvai joined #lisp 2018-02-27T20:05:30Z FreeBirdLjj joined #lisp 2018-02-27T20:05:39Z shrdlu68 joined #lisp 2018-02-27T20:07:44Z Cymew joined #lisp 2018-02-27T20:09:54Z learning joined #lisp 2018-02-27T20:10:32Z FreeBirdLjj quit (Ping timeout: 265 seconds) 2018-02-27T20:12:24Z Cymew quit (Ping timeout: 260 seconds) 2018-02-27T20:13:12Z smasta quit (Read error: Connection reset by peer) 2018-02-27T20:13:31Z smasta joined #lisp 2018-02-27T20:13:40Z nowhereman_ joined #lisp 2018-02-27T20:14:09Z shrdlu68 quit (Ping timeout: 260 seconds) 2018-02-27T20:16:27Z nowhere_man quit (Ping timeout: 240 seconds) 2018-02-27T20:19:14Z erikc joined #lisp 2018-02-27T20:20:19Z FreeBirdLjj joined #lisp 2018-02-27T20:20:36Z puchacz quit (Quit: Konversation terminated!) 2018-02-27T20:22:34Z Kundry_Wag joined #lisp 2018-02-27T20:24:38Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-27T20:26:19Z shrdlu68 joined #lisp 2018-02-27T20:26:50Z Denommus joined #lisp 2018-02-27T20:33:57Z shrdlu68 quit (Ping timeout: 245 seconds) 2018-02-27T20:35:31Z drewc quit (Ping timeout: 252 seconds) 2018-02-27T20:35:43Z _paul0 quit (Quit: Leaving) 2018-02-27T20:36:48Z smurfrobot joined #lisp 2018-02-27T20:37:41Z fikka quit (Ping timeout: 268 seconds) 2018-02-27T20:39:14Z smasta quit (Ping timeout: 260 seconds) 2018-02-27T20:41:05Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-27T20:41:16Z newcup joined #lisp 2018-02-27T20:41:37Z smasta joined #lisp 2018-02-27T20:43:38Z Kundry_Wag_ joined #lisp 2018-02-27T20:43:46Z Fare joined #lisp 2018-02-27T20:45:00Z cromachina_ joined #lisp 2018-02-27T20:46:27Z hel-io joined #lisp 2018-02-27T20:47:18Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-27T20:48:18Z cromachina quit (Ping timeout: 256 seconds) 2018-02-27T20:50:34Z FreeBirdLjj joined #lisp 2018-02-27T20:50:45Z fikka joined #lisp 2018-02-27T20:52:03Z drewc joined #lisp 2018-02-27T20:55:21Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-27T20:56:02Z Kundry_Wag_ quit (Ping timeout: 245 seconds) 2018-02-27T20:59:11Z smasta quit (Ping timeout: 248 seconds) 2018-02-27T20:59:14Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-27T21:00:15Z attila_lendvai joined #lisp 2018-02-27T21:00:15Z attila_lendvai quit (Changing host) 2018-02-27T21:00:15Z attila_lendvai joined #lisp 2018-02-27T21:01:31Z shrdlu68 joined #lisp 2018-02-27T21:02:18Z damke joined #lisp 2018-02-27T21:02:54Z FreeBirdLjj joined #lisp 2018-02-27T21:03:13Z milanj joined #lisp 2018-02-27T21:03:29Z orivej joined #lisp 2018-02-27T21:03:36Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-02-27T21:05:09Z damke_ quit (Ping timeout: 264 seconds) 2018-02-27T21:06:09Z Bike_ joined #lisp 2018-02-27T21:06:33Z Jesin quit (Quit: Leaving) 2018-02-27T21:07:39Z Bike quit (Ping timeout: 260 seconds) 2018-02-27T21:07:49Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-27T21:11:37Z Bike_ is now known as Bike 2018-02-27T21:13:21Z vtomole joined #lisp 2018-02-27T21:15:30Z energizer quit (Read error: Connection reset by peer) 2018-02-27T21:16:00Z FreeBirdLjj joined #lisp 2018-02-27T21:16:18Z Kundry_Wag_ joined #lisp 2018-02-27T21:16:19Z sellout quit (Ping timeout: 256 seconds) 2018-02-27T21:17:06Z phoe: (setf (fdefinition 'closed-stream-p) (complement #'open-stream-p)) 2018-02-27T21:18:23Z pjb: :-) 2018-02-27T21:18:45Z pjb: If you could write (setf (fdefinition 'close) (complement #'open)) 2018-02-27T21:19:18Z energizer joined #lisp 2018-02-27T21:19:53Z scymtym quit (Ping timeout: 252 seconds) 2018-02-27T21:20:01Z nowhereman_ quit (Ping timeout: 248 seconds) 2018-02-27T21:20:12Z nowhereman_ joined #lisp 2018-02-27T21:20:13Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-27T21:20:28Z smasta joined #lisp 2018-02-27T21:21:06Z phoe: sadly not that easy 2018-02-27T21:21:12Z phoe: #'complement only works for predicates 2018-02-27T21:22:27Z warweasle: phoe: You look very nice today! 2018-02-27T21:23:30Z Bike: clearly we need relative-complement, so as to do (complement #'open-stream-p #'streamp) 2018-02-27T21:23:33Z fikka quit (Ping timeout: 252 seconds) 2018-02-27T21:25:16Z Kundry_Wag joined #lisp 2018-02-27T21:26:02Z FreeBirdLjj joined #lisp 2018-02-27T21:26:06Z phoe: warweasle: *blush* 2018-02-27T21:27:09Z warweasle: phoe: t 2018-02-27T21:27:24Z phoe: (defvar *blush* t) 2018-02-27T21:27:50Z _death: your dwim changed complement to compliment 2018-02-27T21:28:20Z phoe: _death: well, it did what warweasle meant 2018-02-27T21:28:32Z Kundry_Wag_ quit (Ping timeout: 245 seconds) 2018-02-27T21:29:32Z aeth: hmm, comparing (setf (fdefinition 'nonzero-p) (complement #'zerop)) and (setf (fdefinition 'nonzero-p-2) (lambda (x) (not (zerop x)))) the complement approach adds a *lot* of overhead to SBCL. Maybe because a complement has (&rest arguments) as its lambda list 2018-02-27T21:29:39Z warweasle: I never realized they were spelled differently. 2018-02-27T21:29:52Z phoe: aeth: I guess so, yes 2018-02-27T21:29:54Z aeth: Oh, also zerop can be inlined, but #'zerop in complement won't be. 2018-02-27T21:30:04Z aeth: So something like zerop is probably the worst case performance difference 2018-02-27T21:30:35Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-27T21:31:09Z vlatkoB quit (Remote host closed the connection) 2018-02-27T21:31:26Z dyelar joined #lisp 2018-02-27T21:32:27Z scymtym joined #lisp 2018-02-27T21:32:27Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-27T21:32:31Z Kundry_Wag_ joined #lisp 2018-02-27T21:32:43Z fikka joined #lisp 2018-02-27T21:34:33Z attila_lendvai joined #lisp 2018-02-27T21:34:33Z attila_lendvai quit (Changing host) 2018-02-27T21:34:33Z attila_lendvai joined #lisp 2018-02-27T21:34:46Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-02-27T21:35:28Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-27T21:39:33Z FreeBirdLjj joined #lisp 2018-02-27T21:39:43Z phoe: Yep, because you no longer do an assembly comparison, and instead you need to do a full funcall. 2018-02-27T21:40:42Z aeth: Perhaps that's a use case for a define-complement-function macro. You can be much more efficient than complement if you know it at function definition time. 2018-02-27T21:40:55Z aeth: Is there a way to get the lambda list of a function? 2018-02-27T21:41:27Z _death: function-lambda-expression may be of help 2018-02-27T21:41:41Z phoe: aeth: https://github.com/Shinmera/trivial-arguments 2018-02-27T21:41:47Z Kundry_Wag joined #lisp 2018-02-27T21:42:26Z stacksmith: sb-introspect:function-lambda-list works better but is not portable. 2018-02-27T21:43:07Z aeth: yes. https://github.com/Shinmera/trivial-arguments/blob/430366783cd918394f0ace3127f31e82876d90fc/arguments.lisp#L77-L78 2018-02-27T21:43:07Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-27T21:44:32Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-27T21:44:51Z attila_lendvai joined #lisp 2018-02-27T21:44:51Z attila_lendvai quit (Changing host) 2018-02-27T21:44:51Z attila_lendvai joined #lisp 2018-02-27T21:45:06Z Kundry_Wag_ quit (Ping timeout: 256 seconds) 2018-02-27T21:45:34Z aeth: I think that's all you'd need for define-complement-function, then. Fetch the lambda list, use it to both create the new function's lambda list and call the original function, wrapped in not. Then it'd just be (define-complement-function nonzero-p #'zerop) 2018-02-27T21:46:47Z aeth: Perhaps with an optional inline keyword (defaulting to t?) since that's a good candidate for inlining: trivial, small disassembly (unless it's calling an inline function with huge disassembly, but then the problem is with *that* function), and never changing 2018-02-27T21:46:58Z Shinmera: Much easier to just defun with the rest and define a compiler macro that does the inlining. 2018-02-27T21:47:33Z shrdlu68 quit (Quit: Lost terminal) 2018-02-27T21:48:29Z vtomole quit (Ping timeout: 260 seconds) 2018-02-27T21:48:30Z Kundry_Wag quit (Ping timeout: 256 seconds) 2018-02-27T21:49:18Z pmc_ joined #lisp 2018-02-27T21:49:26Z phoe: and also portable 2018-02-27T21:49:40Z phoe: as in, fully defined by the standard 2018-02-27T21:49:43Z rixard joined #lisp 2018-02-27T21:51:14Z rixard quit (Client Quit) 2018-02-27T21:51:39Z _death: once you have the lambda list, you still need to figure out how to pass the arguments 2018-02-27T21:52:26Z Shinmera: Indeed. Doing so while preserving defaults and passed-p is tricky (and requires run-time consing) 2018-02-27T21:54:21Z asarch quit (Quit: Leaving) 2018-02-27T21:58:27Z fourier quit (Ping timeout: 240 seconds) 2018-02-27T21:58:41Z saki joined #lisp 2018-02-27T21:59:08Z sz0 quit (Quit: Connection closed for inactivity) 2018-02-27T22:04:18Z FreeBirdLjj joined #lisp 2018-02-27T22:07:33Z kajo quit (Ping timeout: 240 seconds) 2018-02-27T22:08:52Z aeth: The defaults part is easy. If it's (foobar x y &optional (foo 42)) you'd have to make your lambda list (x y &optional (foo 42)) and then call (not (foobar x y foo)) 2018-02-27T22:08:53Z shka_ quit (Ping timeout: 240 seconds) 2018-02-27T22:08:55Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-27T22:09:13Z aeth: So you'd explicitly handle all keywords/optionals, but with the default matching its default. 2018-02-27T22:09:28Z aeth: s/the default/the default in the new function matching the original function's default/ 2018-02-27T22:09:39Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-27T22:09:55Z makomo quit (Ping timeout: 265 seconds) 2018-02-27T22:09:59Z Mutex7 joined #lisp 2018-02-27T22:11:41Z attila_lendvai joined #lisp 2018-02-27T22:14:21Z hel-io quit (Remote host closed the connection) 2018-02-27T22:14:38Z aeth: (But it's no longer trivial to implement once you take defaults into account, even if it's still easy.) 2018-02-27T22:14:45Z Chream quit (Ping timeout: 265 seconds) 2018-02-27T22:18:40Z smurfrobot joined #lisp 2018-02-27T22:19:20Z Kundry_Wag joined #lisp 2018-02-27T22:19:24Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-27T22:20:14Z phoe: Shinmera: why runtime consing? 2018-02-27T22:20:51Z phoe: can't you stack-allocate all conses that you may need to create in such case? 2018-02-27T22:21:04Z attila_lendvai joined #lisp 2018-02-27T22:21:07Z Kundry_Wag_ joined #lisp 2018-02-27T22:23:35Z smurfrobot quit (Ping timeout: 276 seconds) 2018-02-27T22:23:37Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-27T22:24:40Z attila_lendvai joined #lisp 2018-02-27T22:24:43Z attila_lendvai quit (Changing host) 2018-02-27T22:24:43Z attila_lendvai joined #lisp 2018-02-27T22:25:32Z Kundry_Wag quit (Ping timeout: 276 seconds) 2018-02-27T22:30:03Z Shinmera: aeth: The lambda list you retrieve may not retain defaults. 2018-02-27T22:30:03Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-27T22:30:39Z Shinmera: phoe: Because for instance for key word arguments you need to analyse which ones are not passed and construct a new arguments list based on that. 2018-02-27T22:31:12Z phoe: Shinmera: I think you can stack-allocate that. 2018-02-27T22:31:44Z Shinmera: CL makes no promise about stack allocation of any kind. 2018-02-27T22:31:47Z phoe: If you know the function lambda list at compile-time, you can figure out how many keyword arguments you have, and allocate this many conses on the stack. 2018-02-27T22:31:57Z phoe: Yep, but implementations are often smart enough to do it anyway. 2018-02-27T22:32:01Z Chream joined #lisp 2018-02-27T22:32:31Z attila_lendvai joined #lisp 2018-02-27T22:36:33Z krasnal_ quit (Ping timeout: 240 seconds) 2018-02-27T22:39:38Z igemnace quit (Read error: Connection reset by peer) 2018-02-27T22:40:02Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2018-02-27T22:40:24Z Bike quit (Ping timeout: 260 seconds) 2018-02-27T22:40:46Z edgar-rft joined #lisp 2018-02-27T22:42:10Z mishoo__ joined #lisp 2018-02-27T22:42:17Z mishoo_ quit (Read error: Connection reset by peer) 2018-02-27T22:42:39Z _death: there are also the issues of &allow-other-keys and :allow-other-keys, non-standard lambda keywords, congruence when considering generic functions.. 2018-02-27T22:42:47Z disumu quit (Quit: ...) 2018-02-27T22:43:21Z Karl_Dscc quit (Remote host closed the connection) 2018-02-27T22:44:32Z _death: and then there's redefinition.. 2018-02-27T22:44:59Z rumbler31 quit (Remote host closed the connection) 2018-02-27T22:45:23Z stacksmith: Assuming you are not interested in macros... 2018-02-27T22:45:34Z hel-io joined #lisp 2018-02-27T22:48:29Z Jesin joined #lisp 2018-02-27T22:50:16Z __rumbler31 quit (Ping timeout: 256 seconds) 2018-02-27T22:50:50Z hel-io quit (Ping timeout: 256 seconds) 2018-02-27T22:52:17Z Kundry_Wag_ quit (Ping timeout: 248 seconds) 2018-02-27T22:53:45Z saki quit (Ping timeout: 252 seconds) 2018-02-27T22:55:12Z shifty joined #lisp 2018-02-27T22:55:33Z kuneco quit (Ping timeout: 240 seconds) 2018-02-27T22:57:04Z mishoo__ quit (Ping timeout: 256 seconds) 2018-02-27T22:57:22Z Tobbi quit (Quit: Leaving) 2018-02-27T22:57:43Z Fare quit (Quit: Leaving) 2018-02-27T22:58:03Z quazimodo joined #lisp 2018-02-27T23:00:39Z damke_ joined #lisp 2018-02-27T23:02:45Z damke quit (Ping timeout: 264 seconds) 2018-02-27T23:04:30Z comborico joined #lisp 2018-02-27T23:06:26Z Denommus quit (Ping timeout: 245 seconds) 2018-02-27T23:06:27Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-27T23:06:33Z josemanuel quit (Quit: leaving) 2018-02-27T23:08:47Z milanj quit (Quit: This computer has gone to sleep) 2018-02-27T23:09:00Z attila_lendvai joined #lisp 2018-02-27T23:09:00Z attila_lendvai quit (Changing host) 2018-02-27T23:09:00Z attila_lendvai joined #lisp 2018-02-27T23:09:13Z jmercouris quit (Ping timeout: 240 seconds) 2018-02-27T23:10:44Z copec: Totally arbitrary comment: I dig Salt configuration management, but with it wish it was based on CL 2018-02-27T23:11:59Z FreeBirdLjj joined #lisp 2018-02-27T23:16:33Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-27T23:16:39Z hel-io joined #lisp 2018-02-27T23:18:03Z Kundry_Wag joined #lisp 2018-02-27T23:18:30Z hel-io quit (Client Quit) 2018-02-27T23:21:42Z Kundry_Wag_ joined #lisp 2018-02-27T23:25:12Z Kundry_Wag quit (Ping timeout: 245 seconds) 2018-02-27T23:26:13Z FreeBirdLjj joined #lisp 2018-02-27T23:27:17Z nowhere_man joined #lisp 2018-02-27T23:30:09Z nowhereman_ quit (Ping timeout: 248 seconds) 2018-02-27T23:30:37Z shifty quit (Ping timeout: 256 seconds) 2018-02-27T23:31:56Z comborico1611 quit (Quit: Konversation terminated!) 2018-02-27T23:34:45Z Kundry_Wag joined #lisp 2018-02-27T23:34:57Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-27T23:35:07Z milanj joined #lisp 2018-02-27T23:38:07Z Kundry_Wag_ quit (Ping timeout: 252 seconds) 2018-02-27T23:38:27Z python476 quit (Ping timeout: 240 seconds) 2018-02-27T23:38:53Z kuneco joined #lisp 2018-02-27T23:41:45Z attila_lendvai quit (Quit: Leaving.) 2018-02-27T23:42:16Z Kundry_Wag_ joined #lisp 2018-02-27T23:43:50Z FreeBirdLjj joined #lisp 2018-02-27T23:44:53Z Kundry_Wag quit (Ping timeout: 240 seconds) 2018-02-27T23:45:00Z edgar-rft quit (Quit: Don't Cry for Me, Argentina...) 2018-02-27T23:50:37Z Kundry_Wag_ quit (Ping timeout: 245 seconds) 2018-02-27T23:52:25Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2018-02-27T23:53:07Z dieggsy quit (Ping timeout: 245 seconds) 2018-02-27T23:57:35Z fikka quit (Ping timeout: 240 seconds) 2018-02-27T23:58:54Z pagnol joined #lisp 2018-02-27T23:59:13Z pagnol quit (Remote host closed the connection) 2018-02-27T23:59:55Z FreeBirdLjj joined #lisp 2018-02-28T00:00:31Z Kaisyu joined #lisp 2018-02-28T00:00:43Z fikka joined #lisp 2018-02-28T00:03:33Z EvW quit (Ping timeout: 240 seconds) 2018-02-28T00:04:08Z LiamH quit (Quit: Leaving.) 2018-02-28T00:04:49Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-28T00:05:21Z fikka quit (Ping timeout: 248 seconds) 2018-02-28T00:07:41Z arescorpio joined #lisp 2018-02-28T00:08:56Z FreeBirdLjj joined #lisp 2018-02-28T00:11:08Z Mutex7 quit (Remote host closed the connection) 2018-02-28T00:13:05Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-28T00:13:32Z fikka joined #lisp 2018-02-28T00:16:17Z Bicyclidine quit (Remote host closed the connection) 2018-02-28T00:17:44Z kajo joined #lisp 2018-02-28T00:18:24Z Kundry_Wag joined #lisp 2018-02-28T00:18:48Z sjl__ joined #lisp 2018-02-28T00:18:58Z Bike joined #lisp 2018-02-28T00:19:55Z smasta quit (Ping timeout: 256 seconds) 2018-02-28T00:20:12Z rumbler31 joined #lisp 2018-02-28T00:20:47Z Kundry_Wag_ joined #lisp 2018-02-28T00:21:21Z sjl quit (Ping timeout: 248 seconds) 2018-02-28T00:23:57Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-02-28T00:24:23Z figurehe4d joined #lisp 2018-02-28T00:24:47Z rumbler31 quit (Ping timeout: 245 seconds) 2018-02-28T00:31:01Z smurfrobot joined #lisp 2018-02-28T00:31:09Z FreeBirdLjj joined #lisp 2018-02-28T00:32:04Z sjl__ is now known as sjl 2018-02-28T00:32:27Z saki joined #lisp 2018-02-28T00:35:13Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-28T00:36:21Z drewc quit (Ping timeout: 256 seconds) 2018-02-28T00:38:19Z fisxoj joined #lisp 2018-02-28T00:38:22Z Kundry_Wag joined #lisp 2018-02-28T00:40:53Z Kundry_Wag_ quit (Ping timeout: 240 seconds) 2018-02-28T00:42:39Z quazimodo quit (Ping timeout: 248 seconds) 2018-02-28T00:43:28Z quazimodo joined #lisp 2018-02-28T00:44:15Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-28T00:50:12Z quazimodo quit (Ping timeout: 245 seconds) 2018-02-28T00:50:14Z Kundry_Wag quit (Remote host closed the connection) 2018-02-28T00:50:30Z Kundry_Wag joined #lisp 2018-02-28T00:51:17Z borei joined #lisp 2018-02-28T00:51:25Z borei: hi all ! 2018-02-28T00:52:04Z stacksmith: hello. 2018-02-28T00:52:14Z quazimodo joined #lisp 2018-02-28T00:53:17Z comborico quit (Ping timeout: 252 seconds) 2018-02-28T00:53:39Z FreeBirdLjj joined #lisp 2018-02-28T00:53:51Z saki quit (Ping timeout: 248 seconds) 2018-02-28T00:53:53Z SlowJimmy quit (Ping timeout: 240 seconds) 2018-02-28T00:54:04Z saki joined #lisp 2018-02-28T00:54:54Z Kundry_Wag_ joined #lisp 2018-02-28T00:56:01Z fikka quit (Ping timeout: 245 seconds) 2018-02-28T00:56:14Z comborico1611 joined #lisp 2018-02-28T00:56:31Z borei: i have question abou type specifier(s), basically is it possible to use a variable with type-name. There are fragment of the code - https://pastebin.com/FJ4WRja0 2018-02-28T00:56:46Z Lycurgus joined #lisp 2018-02-28T00:56:53Z borei: in first block i use (element-type vector) - and it works 2018-02-28T00:57:05Z borei: in second one - it doesn't 2018-02-28T00:57:08Z erikc quit 2018-02-28T00:57:45Z chiyosaki joined #lisp 2018-02-28T00:58:07Z sjl quit (Ping timeout: 245 seconds) 2018-02-28T00:58:13Z saki quit (Ping timeout: 240 seconds) 2018-02-28T00:58:25Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-02-28T00:58:31Z pjb: borei: good question. 2018-02-28T00:59:02Z pjb: borei: now, the thing you see, is that (element-type vector) is determined at RUN TIME. 2018-02-28T00:59:14Z borei: im targeting sort of templating, don't want to create 100% identilcal code for single-float and double-float 2018-02-28T00:59:27Z pjb: borei: type declarations are promises that YOU are making to the compiler. 2018-02-28T00:59:47Z pjb: borei: how can you promise such a thing, when it's the caller at run-time who will decide on the vector and the value parameters? 2018-02-28T00:59:50Z borei: so different stage 2018-02-28T00:59:57Z pjb: borei: you cannot make such a promise! 2018-02-28T01:00:10Z pjb: you can only check, at run-time, whether the type is valid! 2018-02-28T01:00:18Z pjb: So, instead of declare, use check-type 2018-02-28T01:00:34Z pjb: Now, check-type expects a compilation-time type specifier, so it's not good either. 2018-02-28T01:00:39Z pjb: In this case, you will have to use assert. 2018-02-28T01:00:51Z pillton: borei: I wrote template function to help with templating. https://github.com/markcox80/template-function 2018-02-28T01:01:19Z pjb: (assert (typep value (element-type vector)) (value) "value should be of type ~S, not ~S" (element-type vector) (type-of value)) 2018-02-28T01:01:30Z damke joined #lisp 2018-02-28T01:01:55Z pjb: borei: notice that when you use assert with a list of places, if the assertion is falsified, it will break in the debugger with restarts that will allow you to change the value at run-time. 2018-02-28T01:03:57Z damke_ quit (Ping timeout: 264 seconds) 2018-02-28T01:04:57Z pjb: borei: finally, notice that (setf aref) already performs this type tests, so you could as well not check it altogether! 2018-02-28T01:07:49Z Kundry_Wag joined #lisp 2018-02-28T01:08:12Z borei: pjb (the ) - is it also sort of declare ? 2018-02-28T01:08:32Z borei: so it's done at the compile stage, not runtime. 2018-02-28T01:11:02Z Kundry_Wag_ quit (Ping timeout: 245 seconds) 2018-02-28T01:11:50Z pillton: You need to make separate classes for each specialised vector so that you can obtain the element type at compile time. 2018-02-28T01:12:21Z pillton: The problem is quite tricky to do. 2018-02-28T01:12:52Z borei: yes i do have separate classes 2018-02-28T01:13:26Z scymtym quit (Read error: Connection reset by peer) 2018-02-28T01:13:28Z borei: hmmm 2018-02-28T01:13:28Z pillton: No you don't. The element-type slot is initialized run time. 2018-02-28T01:13:46Z borei: i see what you mean 2018-02-28T01:14:47Z FreeBirdLjj quit (Ping timeout: 245 seconds) 2018-02-28T01:15:30Z FreeBirdLjj joined #lisp 2018-02-28T01:15:39Z chiyosaki quit (Ping timeout: 252 seconds) 2018-02-28T01:18:22Z pillton: borei: https://hastebin.com/ezufogenak.lisp 2018-02-28T01:18:49Z pillton: This is probably the best place to start. 2018-02-28T01:19:13Z pillton: You obviously wouldn't write it all out by hand. There is like 85 permutations from memory. 2018-02-28T01:19:51Z pillton: Getting all of the subtypep relationships right takes a bit of work too. 2018-02-28T01:20:04Z pillton: It can be done though (I have done it). 2018-02-28T01:20:07Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2018-02-28T01:21:01Z Kundry_Wag quit (Remote host closed the connection) 2018-02-28T01:21:02Z borei: ic 2018-02-28T01:21:06Z wigust quit (Quit: ZNC 1.6.5 - http://znc.in) 2018-02-28T01:21:45Z pillton: borei: You are in relatively unknown territory. I haven't seen people discuss this topic. 2018-02-28T01:22:02Z borei: it's a bit at the higher level then im, i just don't see full pecture right now, because im inside not above. 2018-02-28T01:23:37Z pillton: I don't have time to help at the moment. I suggest you read the documentation on the template function system I provided above and use it on common lisp arrays initially. Once you understand that, then you can start to think about how to implement an alternate common lisp array. 2018-02-28T01:23:37Z Bike: (deftype my-array (&optional (element-type 't) &environment env) (ensure-array-class (upgraded-array-element-type element-type env))) (defvar *array-classes* (make-hash-table :test #'equal)) (defun ensure-array-class (et) (ensure-gethash et *array-classes* (ensure-class ...))), clearly the greatest idea i've ever had 2018-02-28T01:23:48Z sjl joined #lisp 2018-02-28T01:24:17Z saki joined #lisp 2018-02-28T01:24:19Z pillton: You should try and do dimensions. 2018-02-28T01:24:45Z pillton: My solution was pretty funny. 2018-02-28T01:26:56Z borei: seems like for now i'll end-up with code duplication for different types, overwise it will kill performance completely 2018-02-28T01:27:44Z FreeBirdLjj joined #lisp 2018-02-28T01:27:49Z pillton: Well, the template function system manages the synthesis of code for a specific set of types. 2018-02-28T01:29:32Z Oladon joined #lisp 2018-02-28T01:29:37Z sjl quit (Ping timeout: 248 seconds) 2018-02-28T01:30:09Z pillton: borei: There are other libraries as well. https://mailman.common-lisp.net/pipermail/pro/2017-November/001483.html 2018-02-28T01:31:17Z jstypo quit (Quit: I think, therefore I drink) 2018-02-28T01:32:16Z smurfrobot joined #lisp 2018-02-28T01:32:53Z comborico1611 quit (Ping timeout: 240 seconds) 2018-02-28T01:33:51Z borei: reading. not simple ones. 2018-02-28T01:34:06Z borei: but i think i got some start points 2018-02-28T01:34:55Z saki quit (Ping timeout: 248 seconds) 2018-02-28T01:36:59Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-28T01:36:59Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-28T01:38:27Z saki joined #lisp 2018-02-28T01:38:44Z fikka joined #lisp 2018-02-28T01:39:34Z Kundry_Wag joined #lisp 2018-02-28T01:43:38Z Kundry_Wag quit (Client Quit) 2018-02-28T01:43:44Z FreeBirdLjj joined #lisp 2018-02-28T01:47:24Z pjb: borei: yes, THE is also a promise you're making at compilation-time. 2018-02-28T01:52:35Z Guest16495 quit (Ping timeout: 240 seconds) 2018-02-28T01:53:09Z rumbler31 joined #lisp 2018-02-28T01:56:48Z anon joined #lisp 2018-02-28T01:56:49Z saki quit (Ping timeout: 256 seconds) 2018-02-28T01:57:12Z anon is now known as Guest31288 2018-02-28T01:57:44Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-28T02:12:33Z fikka quit (Ping timeout: 240 seconds) 2018-02-28T02:13:42Z saki joined #lisp 2018-02-28T02:13:44Z sjl joined #lisp 2018-02-28T02:16:06Z FreeBirdLjj joined #lisp 2018-02-28T02:16:39Z fikka joined #lisp 2018-02-28T02:18:21Z d4ryus1 joined #lisp 2018-02-28T02:21:10Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2018-02-28T02:21:27Z d4ryus quit (Ping timeout: 245 seconds) 2018-02-28T02:21:35Z nullman quit (Ping timeout: 240 seconds) 2018-02-28T02:22:34Z nullman joined #lisp 2018-02-28T02:23:46Z Cymew joined #lisp 2018-02-28T02:25:52Z Lycurgus quit (Quit: Ex Chat) 2018-02-28T02:27:52Z igemnace joined #lisp 2018-02-28T02:28:07Z Cymew quit (Ping timeout: 245 seconds) 2018-02-28T02:33:22Z smurfrobot joined #lisp 2018-02-28T02:37:53Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-28T02:41:12Z FreeBirdLjj joined #lisp 2018-02-28T02:46:09Z saki quit (Ping timeout: 260 seconds) 2018-02-28T02:46:34Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-28T02:48:40Z arescorpio quit (Quit: Leaving.) 2018-02-28T02:50:09Z fikka quit (Ping timeout: 268 seconds) 2018-02-28T02:50:54Z FreeBirdLjj joined #lisp 2018-02-28T02:51:13Z quazimodo quit (Ping timeout: 248 seconds) 2018-02-28T02:52:20Z learning quit (Remote host closed the connection) 2018-02-28T02:52:57Z quazimodo joined #lisp 2018-02-28T02:53:29Z orivej quit (Ping timeout: 256 seconds) 2018-02-28T02:55:45Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2018-02-28T02:56:27Z fikka joined #lisp 2018-02-28T02:57:25Z FreeBirdLjj joined #lisp 2018-02-28T02:58:19Z deng_cn joined #lisp 2018-02-28T03:00:23Z damke_ joined #lisp 2018-02-28T03:01:51Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-28T03:03:21Z damke quit (Ping timeout: 264 seconds) 2018-02-28T03:04:42Z saki joined #lisp 2018-02-28T03:06:36Z FreeBirdLjj joined #lisp 2018-02-28T03:09:37Z pierpa joined #lisp 2018-02-28T03:10:24Z fisxoj quit (Quit: fisxoj) 2018-02-28T03:10:53Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-28T03:14:29Z lexi-lambda joined #lisp 2018-02-28T03:16:09Z Chream quit (Ping timeout: 256 seconds) 2018-02-28T03:17:08Z vultyre joined #lisp 2018-02-28T03:17:17Z saki quit (Ping timeout: 245 seconds) 2018-02-28T03:19:45Z FreeBirdLjj joined #lisp 2018-02-28T03:24:27Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-28T03:25:03Z learning joined #lisp 2018-02-28T03:27:09Z FreeBirdLjj joined #lisp 2018-02-28T03:28:52Z Arcaelyx_ joined #lisp 2018-02-28T03:29:07Z fikka quit (Ping timeout: 252 seconds) 2018-02-28T03:30:17Z saki joined #lisp 2018-02-28T03:30:18Z smokeink joined #lisp 2018-02-28T03:31:18Z lexi-lambda left #lisp 2018-02-28T03:31:18Z saki quit (Client Quit) 2018-02-28T03:31:27Z Arcaelyx quit (Ping timeout: 245 seconds) 2018-02-28T03:31:45Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-28T03:34:28Z smurfrobot joined #lisp 2018-02-28T03:35:03Z FreeBirdLjj joined #lisp 2018-02-28T03:39:29Z smurfrobot quit (Ping timeout: 276 seconds) 2018-02-28T03:39:35Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-28T03:40:26Z fikka joined #lisp 2018-02-28T03:42:29Z FreeBirdLjj joined #lisp 2018-02-28T03:43:42Z sellout joined #lisp 2018-02-28T03:45:40Z smasta joined #lisp 2018-02-28T03:47:19Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-28T03:48:26Z pmc_ quit (Quit: Leaving) 2018-02-28T03:50:40Z rumbler31 quit 2018-02-28T03:51:04Z al-damiri quit (Quit: Connection closed for inactivity) 2018-02-28T03:56:39Z rumbler31 joined #lisp 2018-02-28T03:57:17Z FreeBirdLjj joined #lisp 2018-02-28T03:57:56Z learning quit (Remote host closed the connection) 2018-02-28T03:58:00Z milanj quit (Quit: This computer has gone to sleep) 2018-02-28T04:02:18Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2018-02-28T04:06:36Z smokeink quit (Remote host closed the connection) 2018-02-28T04:08:18Z damke joined #lisp 2018-02-28T04:08:28Z schoppenhauer quit (Ping timeout: 268 seconds) 2018-02-28T04:09:53Z smasta quit (Ping timeout: 240 seconds) 2018-02-28T04:10:06Z schoppenhauer joined #lisp 2018-02-28T04:10:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-28T04:14:12Z Oladon quit (Quit: Leaving.) 2018-02-28T04:14:45Z smasta joined #lisp 2018-02-28T04:14:49Z fikka quit (Ping timeout: 260 seconds) 2018-02-28T04:15:19Z thallia quit (Ping timeout: 252 seconds) 2018-02-28T04:16:17Z thallia joined #lisp 2018-02-28T04:24:03Z vultyre quit (Remote host closed the connection) 2018-02-28T04:25:21Z smurfrobot joined #lisp 2018-02-28T04:27:01Z dddddd quit (Remote host closed the connection) 2018-02-28T04:28:10Z drewc joined #lisp 2018-02-28T04:29:42Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-28T04:30:54Z FreeBirdLjj joined #lisp 2018-02-28T04:36:03Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-28T04:36:51Z beach: Good morning everyone! 2018-02-28T04:39:13Z sjl: clhs log 2018-02-28T04:39:13Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_log.htm 2018-02-28T04:39:28Z sjl: an implementation isn't allowed to choke on logs of large numbers, right? 2018-02-28T04:39:53Z sjl: ABCL signals an error on (log (expt 10 1000) 10), but SBCL, CCL, and ECL all work. 2018-02-28T04:40:20Z Bike: well there's floating-point-overflow and stuff... 2018-02-28T04:40:50Z sjl: The result is only 1000.0, which shouldn't overflow anything 2018-02-28T04:41:41Z Bike: it could be dumb and try to compute 10^1000, which... maybe is out of range? 2018-02-28T04:42:21Z pillton: Bignum is only required to be a type so it could be nil. 2018-02-28T04:42:51Z sjl: 10^1000 isn't that big. ABCL handles that part fine. The actual error is that it's trying to convert that 10^1000 to a double-float to compute its log, and that fails. 2018-02-28T04:43:06Z sjl: But from reading the spec I don't think that's allowed 2018-02-28T04:43:08Z fikka joined #lisp 2018-02-28T04:44:01Z sjl: the spec just says it takes a nonzero number, and (typep (expt 10 1000) 'number) 2018-02-28T04:44:04Z sjl: is T 2018-02-28T04:45:11Z FreeBirdLjj joined #lisp 2018-02-28T04:45:42Z Bike: i was thinking that would be too big for a double, yeah. 2018-02-28T04:45:59Z sjl: Sure 2018-02-28T04:46:02Z Bike: practically speaking the arithmetic must be allowed to fail at some point, and clhs's explicit minimums for numbers are fairly low. 2018-02-28T04:49:37Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-28T04:50:03Z sjl: clhs integer 2018-02-28T04:50:03Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/t_intege.htm 2018-02-28T04:50:03Z pierpa: FWIW LW returns infinity, which is wrong too, of course 2018-02-28T04:50:20Z sjl: > There is no limit on the magnitude of an integer. 2018-02-28T04:50:32Z sjl: pierpa: huh, yeah that's worse than an error... 2018-02-28T04:50:56Z pierpa: agreed 2018-02-28T04:51:39Z pillton: I think that sentence in the spec is misleading given that bignum is only defined to be (and integer (not fixnum)). 2018-02-28T04:52:28Z sjl: I mean, obviously if you don't have the memory to allocate the bignum, things aren't going to work. But that's not even remotely close to the case here. 2018-02-28T04:52:33Z pillton: (find-class 'bignum) on ABCL does return a class so the problem is to do with the implementation of log. 2018-02-28T04:53:06Z FreeBirdLjj joined #lisp 2018-02-28T04:53:28Z Bike: i think it's probably conformant to bullshit like that 2018-02-28T04:53:30Z Bike: but, it sucks 2018-02-28T04:53:37Z sjl: (print (expt 10 100000)) works fine, so there's plenty of memory left for a mere (expt 10 1000) 2018-02-28T04:53:42Z Bike: assuming abcl is opposed to suck, you could work something out 2018-02-28T04:53:59Z Bike: abcl's implementation of log probably has no idea about integers 2018-02-28T04:54:04Z pierpa: though, somewhere in the spec is mentioned that there can be implementation limits. This is one such limits, 2018-02-28T04:54:06Z Bike: because integer log is, yeah, you know 2018-02-28T04:54:11Z sjl: sure 2018-02-28T04:54:25Z Bike: so just talk to the abcl people be like 2018-02-28T04:54:26Z Bike: "hey" 2018-02-28T04:54:29Z Bike: "this sucks" 2018-02-28T04:54:29Z sjl: pierpa: where's that section? I tried to find it but am not sure what to search for 2018-02-28T04:54:33Z pierpa: the error I mean. Infinity cannot be justified. 2018-02-28T04:54:45Z Bike: clhs most-positive-fixnum 2018-02-28T04:54:46Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/v_most_p.htm 2018-02-28T04:54:49Z pierpa: I'm not sure either, let me search 2018-02-28T04:54:52Z Bike: is a limit 2018-02-28T04:55:15Z sjl: I mean, it's definitely not a fixnum 2018-02-28T04:55:19Z Bike: clhs is fairly vague about numbers really, it just says "you know, like math" for most of the operations 2018-02-28T04:55:30Z sjl: But the log page says it takes a number, not a fixnum 2018-02-28T04:55:48Z Zhivago: Well, remember that for some insane reason fixnum is a type, not a class. 2018-02-28T04:55:59Z Zhivago: So they really don't have much alternative. 2018-02-28T04:56:42Z Bike: " An error of type floating-point-overflow or floating-point-underflow should be signaled if a floating-point computation causes exponent overflow or underflow, respectively. " thanks, clhs 2018-02-28T04:56:59Z Bike: anyway yeah i don't think standards lawyering is required here, the behavior is clearly bad 2018-02-28T04:57:02Z Bike: LW's too i guess 2018-02-28T04:57:35Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-28T04:57:41Z sjl: LW's seems worse... at least I noticed when I got an error instead of getting a just totally bonkers result 2018-02-28T04:58:54Z Zhivago: The problem is that lacking an 'indefinitely large' value, 'infinity' seems a reasonable approximation. 2018-02-28T04:59:32Z sjl: the actual answer is 1000 2018-02-28T04:59:46Z sjl: infinity doesn't seem like a reasonable approximation of 1000 to me 2018-02-28T05:00:16Z Zhivago: Where does 1000 come from? 2018-02-28T05:00:18Z pillton: The error message tells you what is going on. Log converts the value (expt 10 1000) to a double float and it cannot represent the value. 2018-02-28T05:00:26Z sjl: it's the log base 10 of 10^1000 2018-02-28T05:00:27Z Bike: we know 2018-02-28T05:00:40Z pillton: Does sjl know? 2018-02-28T05:00:43Z sjl: Yes 2018-02-28T05:00:49Z pillton: So what is there to discuss? 2018-02-28T05:00:57Z sjl: I was wondering if the standard permits this 2018-02-28T05:01:00Z Bike: whether this is okay behavior to have. 2018-02-28T05:01:08Z pierpa: usually the philosophy of any lisp is that when a correct answer can be computed, a function must return the correct answer. Otherwise raise an error. Obviously the correct answer can be computed in this case... 2018-02-28T05:01:45Z damke_ joined #lisp 2018-02-28T05:01:57Z FreeBirdLjj joined #lisp 2018-02-28T05:02:21Z pierpa: many many years ago Franz had a similar bug 2018-02-28T05:02:38Z pierpa: they fixed it after being told about it 2018-02-28T05:03:57Z damke quit (Ping timeout: 264 seconds) 2018-02-28T05:04:05Z pillton: I'd say this is a bug. If you have a bignum class, then log needs to be defined. 2018-02-28T05:04:43Z beach: pierpa: You have been programming for too long in languages other than Common Lisp. :) You don't "raise" an error in Common Lisp, you "signal" an error. 2018-02-28T05:05:12Z Bike: defining it must be a pain tho 2018-02-28T05:05:32Z AxelAlex joined #lisp 2018-02-28T05:06:32Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-28T05:07:08Z Bike: in sbcl, for integers it does (coerce (/ (log2 number) (log2 base)) 'single-float) where log2 is... specifically set up to check whether there'd be a float overflow. 2018-02-28T05:07:34Z pierpa: beach: ouch :) point taken. 2018-02-28T05:07:43Z Bike: where the too-big version just skips off high bits. that's weird and interesting 2018-02-28T05:07:56Z sjl: That's my thinking too. If (typep x '(and number (not (satisfies zerop)))) then (log x) should return a result. 2018-02-28T05:10:05Z rippa joined #lisp 2018-02-28T05:10:28Z FreeBirdLjj joined #lisp 2018-02-28T05:11:43Z borei quit (Quit: Leaving.) 2018-02-28T05:13:16Z sjl: interesting 2018-02-28T05:14:28Z pillton: You should be able to hack something together with log(ab) = log(a) + log(b). 2018-02-28T05:14:46Z Bike: that's what it does, yeah 2018-02-28T05:14:49Z sjl: yeah, I'll see if I can get it building and send a patch 2018-02-28T05:15:12Z FreeBirdLjj quit (Ping timeout: 245 seconds) 2018-02-28T05:15:16Z Bike: takes huge number = [like 60 bits]*2^whatever 2018-02-28T05:15:34Z Bike: approximately equal anyway 2018-02-28T05:16:17Z smurfrobot joined #lisp 2018-02-28T05:16:53Z fikka quit (Ping timeout: 240 seconds) 2018-02-28T05:17:45Z sjl: Closer to equal than SIMPLE-TYPE-ERROR :) 2018-02-28T05:18:52Z pierpa: definitely :) 2018-02-28T05:20:34Z Bike quit (Quit: Lost terminal) 2018-02-28T05:20:36Z smurfrobot quit (Ping timeout: 245 seconds) 2018-02-28T05:21:02Z fikka joined #lisp 2018-02-28T05:23:22Z damke joined #lisp 2018-02-28T05:24:02Z FreeBirdLjj joined #lisp 2018-02-28T05:24:16Z damke_ quit (Read error: Connection reset by peer) 2018-02-28T05:25:49Z sjl: (defun approximate-log (n base) (/ (integer-length n) (integer-length base))) ; VERY approximate :) 2018-02-28T05:29:20Z FreeBirdLjj quit (Ping timeout: 276 seconds) 2018-02-28T05:31:29Z Oladon joined #lisp 2018-02-28T05:36:03Z FreeBirdLjj joined #lisp 2018-02-28T05:39:14Z smokeink joined #lisp 2018-02-28T05:40:27Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-28T05:42:35Z beach: As I recall, there are good ways of computing (lb x) where x is a number between 1 and 2. It is easy to get a good approximation anyway. Then perhaps a few Newton-Raphson iterations would work. 2018-02-28T05:43:16Z pillton: sjl: How about this? https://hastebin.com/esikufiqoz.lisp 2018-02-28T05:43:19Z krwq joined #lisp 2018-02-28T05:45:31Z pillton: I guess it assumes the result can be expressed as double float. 2018-02-28T05:45:36Z shka_ joined #lisp 2018-02-28T05:49:01Z sjl: The spec says it's okay to return a single-float approximation. So I think that's a reasonable assumption 2018-02-28T05:49:14Z FreeBirdLjj joined #lisp 2018-02-28T05:49:46Z pillton: I was thinking more of (log (expt 10 (1+ most-positive-double-float)) 10). 2018-02-28T05:50:46Z pierpa quit (Quit: Page closed) 2018-02-28T05:50:49Z beach: pillton: It looks to me like you are computing (floor most-positive-double-float) in every call, and that one allocates memory, no? 2018-02-28T05:52:13Z pillton: beach: Yes. I provided an illustration. Your optimization and tail call should be done. 2018-02-28T05:53:34Z sjl: assuming you've got the memory to allocate that bignum, I think the spec says it should return a single-float approximation of (1+ most-positive-double-float) 2018-02-28T05:53:59Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-28T05:54:15Z fikka quit (Ping timeout: 256 seconds) 2018-02-28T05:56:50Z sjl: Unfortunately I can't get ABCL's test suite working, and I don't think my laptop has the battery for many more compiles. 2018-02-28T05:56:57Z sjl: So I'll have to tackle this later. 2018-02-28T05:57:22Z fikka joined #lisp 2018-02-28T06:02:09Z fikka quit (Ping timeout: 260 seconds) 2018-02-28T06:03:12Z FreeBirdLjj joined #lisp 2018-02-28T06:07:16Z smurfrobot joined #lisp 2018-02-28T06:07:59Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-28T06:09:42Z compro quit (Remote host closed the connection) 2018-02-28T06:11:13Z FreeBirdLjj joined #lisp 2018-02-28T06:11:43Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-28T06:12:03Z beach: dim: I supplied the contents of this page: http://metamodular.com/Common-Lisp/cl-editor.html referred to from here: http://metamodular.com/Common-Lisp/suggested-projects.html 2018-02-28T06:14:47Z pjb quit (Ping timeout: 245 seconds) 2018-02-28T06:15:29Z AxelAlex quit (Quit: AxelAlex) 2018-02-28T06:15:53Z shka_ quit (Ping timeout: 240 seconds) 2018-02-28T06:15:59Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-28T06:17:20Z pjb joined #lisp 2018-02-28T06:17:32Z FreeBirdLjj joined #lisp 2018-02-28T06:21:24Z mishoo__ joined #lisp 2018-02-28T06:21:52Z FreeBirdLjj quit (Ping timeout: 245 seconds) 2018-02-28T06:21:55Z shifty joined #lisp 2018-02-28T06:28:24Z fikka joined #lisp 2018-02-28T06:29:21Z stacksmith quit (Ping timeout: 248 seconds) 2018-02-28T06:32:57Z fikka quit (Ping timeout: 240 seconds) 2018-02-28T06:36:13Z FreeBirdLjj joined #lisp 2018-02-28T06:37:31Z pierpa joined #lisp 2018-02-28T06:37:50Z smurfrobot joined #lisp 2018-02-28T06:39:01Z CrazyEddy quit (Ping timeout: 256 seconds) 2018-02-28T06:39:27Z Oladon quit (Quit: Leaving.) 2018-02-28T06:41:05Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-28T06:42:12Z fikka joined #lisp 2018-02-28T06:42:21Z smurfrobot quit (Ping timeout: 252 seconds) 2018-02-28T06:42:24Z LocaMocha joined #lisp 2018-02-28T06:43:33Z shifty quit (Ping timeout: 240 seconds) 2018-02-28T06:43:33Z deng_cn quit (Read error: Connection reset by peer) 2018-02-28T06:43:56Z oleo quit (Quit: Leaving) 2018-02-28T06:44:19Z CrazyEddy joined #lisp 2018-02-28T06:45:29Z deng_cn joined #lisp 2018-02-28T06:45:44Z FreeBirdLjj joined #lisp 2018-02-28T06:47:35Z fikka quit (Ping timeout: 240 seconds) 2018-02-28T06:48:47Z Karl_Dscc joined #lisp 2018-02-28T06:50:09Z d4ryus1 is now known as d4ryus 2018-02-28T06:50:48Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-28T06:55:59Z krwq quit (Remote host closed the connection) 2018-02-28T06:56:23Z fikka joined #lisp 2018-02-28T06:59:11Z FreeBirdLjj joined #lisp 2018-02-28T06:59:45Z sjl quit (Ping timeout: 248 seconds) 2018-02-28T07:02:13Z orivej joined #lisp 2018-02-28T07:02:37Z damke_ joined #lisp 2018-02-28T07:02:42Z fikka quit (Ping timeout: 256 seconds) 2018-02-28T07:03:59Z smasta quit (Ping timeout: 252 seconds) 2018-02-28T07:04:29Z FreeBirdLjj quit (Ping timeout: 265 seconds) 2018-02-28T07:04:33Z damke quit (Ping timeout: 264 seconds) 2018-02-28T07:08:13Z fikka joined #lisp 2018-02-28T07:11:27Z mishoo__ quit (Ping timeout: 240 seconds) 2018-02-28T07:12:34Z Karl_Dscc quit (Remote host closed the connection) 2018-02-28T07:13:54Z fikka quit (Ping timeout: 260 seconds) 2018-02-28T07:14:44Z smasta joined #lisp 2018-02-28T07:14:57Z thallia quit (Ping timeout: 240 seconds) 2018-02-28T07:17:24Z ckonstanski quit (Ping timeout: 260 seconds) 2018-02-28T07:17:30Z thallia joined #lisp 2018-02-28T07:18:18Z deng_cn quit (Read error: Connection reset by peer) 2018-02-28T07:19:01Z smasta quit (Ping timeout: 252 seconds) 2018-02-28T07:19:47Z parjanya quit (Ping timeout: 245 seconds) 2018-02-28T07:19:49Z Mutex7 joined #lisp 2018-02-28T07:19:57Z flamebeard joined #lisp 2018-02-28T07:20:53Z deng_cn joined #lisp 2018-02-28T07:21:27Z angavrilov joined #lisp 2018-02-28T07:24:56Z FreeBirdLjj joined #lisp 2018-02-28T07:25:34Z fikka joined #lisp 2018-02-28T07:27:22Z nika_ joined #lisp 2018-02-28T07:29:05Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-28T07:29:13Z stacksmith joined #lisp 2018-02-28T07:31:32Z lemoinem quit (Ping timeout: 276 seconds) 2018-02-28T07:33:26Z Kevslinger quit (Quit: Connection closed for inactivity) 2018-02-28T07:34:10Z python476 joined #lisp 2018-02-28T07:34:34Z mishoo joined #lisp 2018-02-28T07:35:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-28T07:38:58Z smurfrobot joined #lisp 2018-02-28T07:39:20Z FreeBirdLjj joined #lisp 2018-02-28T07:41:53Z stacksmith quit (Ping timeout: 248 seconds) 2018-02-28T07:43:27Z smurfrobot quit (Ping timeout: 240 seconds) 2018-02-28T07:44:15Z lemoinem joined #lisp 2018-02-28T07:44:32Z FreeBirdLjj quit (Ping timeout: 276 seconds) 2018-02-28T07:49:54Z parjanya joined #lisp 2018-02-28T07:50:54Z FreeBirdLjj joined #lisp 2018-02-28T07:51:05Z igemnace quit (Quit: WeeChat 2.0.1) 2018-02-28T07:53:42Z vlatkoB joined #lisp 2018-02-28T07:55:54Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-28T07:58:04Z fikka joined #lisp 2018-02-28T08:00:43Z beach: How about this one for computing log base 2 of large integers: (defun my-log (x) (let ((n (- (integer-length x) 100))) (+ n (log (float (ash x (- n)) 1d0) 2)))) 2018-02-28T08:03:25Z fikka quit (Ping timeout: 268 seconds) 2018-02-28T08:04:01Z Mandus quit (Remote host closed the connection) 2018-02-28T08:04:22Z willmichael quit (Ping timeout: 245 seconds) 2018-02-28T08:04:37Z fikka joined #lisp 2018-02-28T08:06:07Z willmichael joined #lisp 2018-02-28T08:06:51Z orivej quit (Ping timeout: 256 seconds) 2018-02-28T08:11:50Z schweers joined #lisp 2018-02-28T08:13:47Z FreeBirdLjj joined #lisp 2018-02-28T08:13:55Z smasta joined #lisp 2018-02-28T08:14:13Z funnel quit (Ping timeout: 256 seconds) 2018-02-28T08:16:05Z funnel joined #lisp 2018-02-28T08:18:45Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-28T08:19:25Z Cymew joined #lisp 2018-02-28T08:19:25Z willmichael quit (Read error: Connection reset by peer) 2018-02-28T08:19:41Z willmichael joined #lisp 2018-02-28T08:20:35Z fikka quit (Ping timeout: 240 seconds) 2018-02-28T08:20:36Z jack_rabbit wishes he were better at math 2018-02-28T08:20:48Z Arcaelyx_ quit (Quit: Textual IRC Client: www.textualapp.com) 2018-02-28T08:23:32Z heisig joined #lisp 2018-02-28T08:27:21Z fikka joined #lisp 2018-02-28T08:30:10Z beach: I just use the fact that log x = n + log (x / 2^n) and I choose n so that I preserve as many significant digits as needed in x. 2018-02-28T08:30:46Z smurfrobot joined #lisp 2018-02-28T08:30:49Z beach: ... in this case 100 digits, but it could be fewer according to the floating-point format used. 2018-02-28T08:33:20Z milanj joined #lisp 2018-02-28T08:33:26Z FreeBirdLjj joined #lisp 2018-02-28T08:33:49Z terpri quit (Ping timeout: 260 seconds) 2018-02-28T08:35:27Z mlf quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-02-28T08:38:07Z FreeBirdLjj quit (Ping timeout: 245 seconds) 2018-02-28T08:40:03Z rme: beach: see you at about 11:00? 2018-02-28T08:41:54Z scymtym joined #lisp 2018-02-28T08:45:12Z smasta quit (Ping timeout: 245 seconds) 2018-02-28T08:47:00Z varjag joined #lisp 2018-02-28T08:49:56Z t0adst00l joined #lisp 2018-02-28T08:51:36Z smasta joined #lisp 2018-02-28T08:52:08Z orivej joined #lisp 2018-02-28T08:54:36Z ebzzry_ quit (Ping timeout: 268 seconds) 2018-02-28T08:55:49Z kajo quit (Ping timeout: 252 seconds) 2018-02-28T08:56:02Z smasta quit (Ping timeout: 245 seconds) 2018-02-28T08:56:55Z willmichael quit (Ping timeout: 252 seconds) 2018-02-28T08:57:01Z smasta joined #lisp 2018-02-28T08:57:17Z willmichael joined #lisp 2018-02-28T08:57:34Z FreeBirdLjj joined #lisp 2018-02-28T09:00:43Z damke joined #lisp 2018-02-28T09:02:04Z ebzzry_ joined #lisp 2018-02-28T09:02:23Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-28T09:02:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-28T09:10:44Z FreeBirdLjj joined #lisp 2018-02-28T09:11:00Z Mutex7 quit (Quit: Leaving) 2018-02-28T09:12:19Z mikecheck joined #lisp 2018-02-28T09:14:19Z krwq joined #lisp 2018-02-28T09:15:14Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-28T09:15:24Z krwq quit (Client Quit) 2018-02-28T09:16:01Z krwq joined #lisp 2018-02-28T09:16:49Z energizer quit (Ping timeout: 248 seconds) 2018-02-28T09:19:18Z pillton: beach: I think that is the way to go. I was thinking on the way home there should be an O(1) way to do it. 2018-02-28T09:21:36Z figurehe4d quit (Remote host closed the connection) 2018-02-28T09:23:11Z smasta quit (Ping timeout: 248 seconds) 2018-02-28T09:24:16Z Mandus joined #lisp 2018-02-28T09:26:58Z energizer joined #lisp 2018-02-28T09:27:13Z deng_cn quit (Read error: Connection reset by peer) 2018-02-28T09:27:18Z smurfrobot quit (Remote host closed the connection) 2018-02-28T09:29:28Z deng_cn joined #lisp 2018-02-28T09:29:29Z _cosmonaut_ joined #lisp 2018-02-28T09:31:01Z beach: rme: Sure. Do you need directions? 2018-02-28T09:35:08Z kajo joined #lisp 2018-02-28T09:37:06Z erlosshex joined #lisp 2018-02-28T09:37:14Z smurfrobot joined #lisp 2018-02-28T09:40:36Z ebzzry_ quit (Ping timeout: 245 seconds) 2018-02-28T09:41:39Z smurfrobot quit (Ping timeout: 252 seconds) 2018-02-28T09:42:04Z krwq quit (Remote host closed the connection) 2018-02-28T09:42:33Z aindilis quit (Remote host closed the connection) 2018-02-28T09:42:55Z ebzzry_ joined #lisp 2018-02-28T09:43:09Z smurfrobot joined #lisp 2018-02-28T09:46:05Z erlosshex quit (Ping timeout: 240 seconds) 2018-02-28T09:46:20Z aindilis joined #lisp 2018-02-28T09:46:58Z dmilez_ joined #lisp 2018-02-28T09:50:29Z t0adst00l quit (Ping timeout: 255 seconds) 2018-02-28T09:52:19Z sjl joined #lisp 2018-02-28T09:53:27Z aindilis` joined #lisp 2018-02-28T09:56:49Z sjl quit (Ping timeout: 248 seconds) 2018-02-28T09:57:24Z deng_cn quit (Read error: Connection reset by peer) 2018-02-28T09:59:12Z smurfrobot quit (Remote host closed the connection) 2018-02-28T09:59:14Z mikecheck left #lisp 2018-02-28T09:59:38Z deng_cn joined #lisp 2018-02-28T10:01:11Z erlosshex joined #lisp 2018-02-28T10:01:53Z _cosmonaut_ quit (Ping timeout: 240 seconds) 2018-02-28T10:09:22Z myrkraverk joined #lisp 2018-02-28T10:10:12Z FreeBirdLjj joined #lisp 2018-02-28T10:13:13Z m00natic joined #lisp 2018-02-28T10:13:23Z erlosshex quit (Ping timeout: 276 seconds) 2018-02-28T10:13:47Z Kaisyu quit (Quit: Connection closed for inactivity) 2018-02-28T10:14:36Z vtomole joined #lisp 2018-02-28T10:14:44Z ebzzry_ quit (Ping timeout: 260 seconds) 2018-02-28T10:15:23Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2018-02-28T10:17:55Z shifty joined #lisp 2018-02-28T10:18:43Z _cosmonaut_ joined #lisp 2018-02-28T10:21:37Z kajo quit (Ping timeout: 252 seconds) 2018-02-28T10:22:18Z erlosshex joined #lisp 2018-02-28T10:24:34Z kajo joined #lisp 2018-02-28T10:24:50Z FreeBirdLjj joined #lisp 2018-02-28T10:27:31Z ebzzry_ joined #lisp 2018-02-28T10:28:50Z milanj quit (Quit: This computer has gone to sleep) 2018-02-28T10:29:25Z FreeBirdLjj quit (Ping timeout: 265 seconds) 2018-02-28T10:29:35Z deng_cn quit (Read error: Connection reset by peer) 2018-02-28T10:29:56Z deng_cn joined #lisp 2018-02-28T10:30:55Z terpri joined #lisp 2018-02-28T10:35:11Z erlosshex quit (Quit: WeeChat 2.0.1) 2018-02-28T10:37:41Z FreeBirdLjj joined #lisp 2018-02-28T10:42:02Z igemnace joined #lisp 2018-02-28T10:42:09Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-28T10:43:07Z milanj joined #lisp 2018-02-28T10:45:45Z kajo quit (Quit: WeeChat 2.0.1) 2018-02-28T10:46:55Z fikka quit (Ping timeout: 248 seconds) 2018-02-28T10:46:57Z nullman quit (Ping timeout: 248 seconds) 2018-02-28T10:50:02Z HDurer quit (Remote host closed the connection) 2018-02-28T10:50:36Z smurfrobot joined #lisp 2018-02-28T10:50:55Z Cymew quit (Remote host closed the connection) 2018-02-28T10:51:34Z hhdave joined #lisp 2018-02-28T10:51:35Z Cymew joined #lisp 2018-02-28T10:52:52Z nullman joined #lisp 2018-02-28T10:54:14Z energizer quit (Ping timeout: 268 seconds) 2018-02-28T10:54:47Z smurfrobot quit (Ping timeout: 245 seconds) 2018-02-28T10:56:10Z Cymew quit (Ping timeout: 256 seconds) 2018-02-28T10:56:44Z makomo joined #lisp 2018-02-28T11:00:09Z deng_cn quit (Read error: Connection reset by peer) 2018-02-28T11:00:49Z FreeBirdLjj joined #lisp 2018-02-28T11:01:41Z damke_ joined #lisp 2018-02-28T11:02:13Z deng_cn joined #lisp 2018-02-28T11:03:57Z damke quit (Ping timeout: 264 seconds) 2018-02-28T11:05:21Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-28T11:05:21Z sveit quit (Ping timeout: 256 seconds) 2018-02-28T11:05:57Z nika_ quit (Remote host closed the connection) 2018-02-28T11:06:18Z nika_ joined #lisp 2018-02-28T11:06:45Z nika_ quit (Remote host closed the connection) 2018-02-28T11:07:07Z nika_ joined #lisp 2018-02-28T11:07:32Z nika_ quit (Remote host closed the connection) 2018-02-28T11:07:54Z nika_ joined #lisp 2018-02-28T11:08:20Z nika_ quit (Remote host closed the connection) 2018-02-28T11:08:43Z nika_ joined #lisp 2018-02-28T11:09:07Z nika_ quit (Remote host closed the connection) 2018-02-28T11:10:46Z fikka joined #lisp 2018-02-28T11:11:06Z nika_ joined #lisp 2018-02-28T11:11:30Z nika_ quit (Remote host closed the connection) 2018-02-28T11:13:35Z sveit joined #lisp 2018-02-28T11:15:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-28T11:15:44Z nullman quit (Remote host closed the connection) 2018-02-28T11:15:53Z FreeBirdLjj joined #lisp 2018-02-28T11:16:00Z nullman joined #lisp 2018-02-28T11:19:53Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-28T11:22:07Z pierpa quit (Remote host closed the connection) 2018-02-28T11:25:11Z fikka joined #lisp 2018-02-28T11:27:18Z nowhereman joined #lisp 2018-02-28T11:27:41Z nowhereman is now known as Guest60031 2018-02-28T11:30:51Z nowhere_man quit (Ping timeout: 256 seconds) 2018-02-28T11:31:17Z fikka quit (Ping timeout: 252 seconds) 2018-02-28T11:33:54Z vtomole quit (Ping timeout: 260 seconds) 2018-02-28T11:34:51Z FreeBirdLjj joined #lisp 2018-02-28T11:39:27Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-28T11:41:04Z zaquest quit (Ping timeout: 260 seconds) 2018-02-28T11:41:18Z smurfrobot joined #lisp 2018-02-28T11:42:15Z Achylles joined #lisp 2018-02-28T11:43:40Z nirved quit (Ping timeout: 240 seconds) 2018-02-28T11:46:20Z smurfrobot quit (Ping timeout: 276 seconds) 2018-02-28T11:46:45Z nika_ joined #lisp 2018-02-28T11:47:09Z fikka joined #lisp 2018-02-28T11:51:13Z fikka quit (Ping timeout: 240 seconds) 2018-02-28T11:52:04Z nika_ quit (Ping timeout: 265 seconds) 2018-02-28T11:56:08Z nirved joined #lisp 2018-02-28T11:56:53Z zaquest joined #lisp 2018-02-28T11:56:57Z milanj quit (Quit: This computer has gone to sleep) 2018-02-28T11:57:06Z Cymew joined #lisp 2018-02-28T11:57:43Z EvW1 joined #lisp 2018-02-28T11:58:22Z FreeBirdLjj joined #lisp 2018-02-28T11:59:08Z smurfrobot joined #lisp 2018-02-28T11:59:20Z milanj joined #lisp 2018-02-28T12:02:35Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-28T12:03:34Z nika_ joined #lisp 2018-02-28T12:08:05Z nika_ quit (Ping timeout: 240 seconds) 2018-02-28T12:09:06Z wigust joined #lisp 2018-02-28T12:09:59Z zaquest quit (Remote host closed the connection) 2018-02-28T12:10:45Z FreeBirdLjj joined #lisp 2018-02-28T12:10:56Z zaquest joined #lisp 2018-02-28T12:13:01Z vyzo1 joined #lisp 2018-02-28T12:13:23Z vyzo1 quit (Client Quit) 2018-02-28T12:15:22Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-28T12:15:26Z vyzo quit (Ping timeout: 255 seconds) 2018-02-28T12:16:18Z vyzo joined #lisp 2018-02-28T12:17:35Z dcluna quit (Ping timeout: 248 seconds) 2018-02-28T12:19:06Z dcluna joined #lisp 2018-02-28T12:20:04Z jmercouris joined #lisp 2018-02-28T12:20:08Z FreeBirdLjj joined #lisp 2018-02-28T12:20:09Z python476 quit (Read error: Connection reset by peer) 2018-02-28T12:23:00Z aindilis` quit (Remote host closed the connection) 2018-02-28T12:23:01Z aindilis quit (Remote host closed the connection) 2018-02-28T12:24:02Z saki joined #lisp 2018-02-28T12:24:49Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-28T12:25:27Z nika_ joined #lisp 2018-02-28T12:27:11Z python476 joined #lisp 2018-02-28T12:27:37Z FreeBirdLjj joined #lisp 2018-02-28T12:29:47Z Xach quit (Ping timeout: 245 seconds) 2018-02-28T12:29:52Z fikka joined #lisp 2018-02-28T12:29:57Z nika_ quit (Ping timeout: 252 seconds) 2018-02-28T12:30:20Z pierpa joined #lisp 2018-02-28T12:31:38Z Xach joined #lisp 2018-02-28T12:32:30Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-28T12:35:27Z pierpa quit (Remote host closed the connection) 2018-02-28T12:36:27Z jmercouris quit (Ping timeout: 240 seconds) 2018-02-28T12:36:29Z makomo quit (Ping timeout: 260 seconds) 2018-02-28T12:38:43Z smurfrobot quit (Remote host closed the connection) 2018-02-28T12:39:31Z nika_ joined #lisp 2018-02-28T12:41:00Z FreeBirdLjj joined #lisp 2018-02-28T12:42:09Z wigust quit (Quit: ZNC 1.6.5 - http://znc.in) 2018-02-28T12:42:55Z Chream_ joined #lisp 2018-02-28T12:43:53Z nika_ quit (Ping timeout: 240 seconds) 2018-02-28T12:44:25Z makomo joined #lisp 2018-02-28T12:46:08Z FreeBirdLjj quit (Ping timeout: 276 seconds) 2018-02-28T12:48:54Z nika_ joined #lisp 2018-02-28T12:51:54Z Chream joined #lisp 2018-02-28T12:53:05Z nika_ quit (Ping timeout: 240 seconds) 2018-02-28T12:54:59Z FreeBirdLjj joined #lisp 2018-02-28T12:55:27Z msb quit (Ping timeout: 240 seconds) 2018-02-28T12:56:25Z python476 quit (Ping timeout: 256 seconds) 2018-02-28T12:57:20Z nika_ joined #lisp 2018-02-28T12:58:03Z krasnal_ joined #lisp 2018-02-28T12:59:49Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-28T13:00:11Z HDurer joined #lisp 2018-02-28T13:00:15Z deng_cn quit (Read error: Connection reset by peer) 2018-02-28T13:00:19Z Chream quit (Remote host closed the connection) 2018-02-28T13:00:40Z Chream joined #lisp 2018-02-28T13:02:05Z nika_ quit (Ping timeout: 256 seconds) 2018-02-28T13:02:16Z deng_cn joined #lisp 2018-02-28T13:03:29Z dddddd joined #lisp 2018-02-28T13:03:41Z quazimodo quit (Ping timeout: 252 seconds) 2018-02-28T13:04:47Z msb joined #lisp 2018-02-28T13:07:06Z jmercouris joined #lisp 2018-02-28T13:09:04Z FreeBirdLjj joined #lisp 2018-02-28T13:13:30Z drmeister: Hello - I'm getting this warning when I load ASDF - it's very detailed but I don't have a clue what is wrong. I have a recenter version of ASDF 3.2.0.1 and quicklisp is less than a year old as well. 2018-02-28T13:13:50Z drmeister: https://www.irccloud.com/pastebin/SOhqTQd4/ 2018-02-28T13:13:57Z jibanes quit (Ping timeout: 245 seconds) 2018-02-28T13:14:14Z FreeBirdLjj quit (Ping timeout: 265 seconds) 2018-02-28T13:14:15Z pierpa joined #lisp 2018-02-28T13:15:00Z drmeister: Is it time to upgrade everything? 2018-02-28T13:15:37Z milanj quit (Quit: This computer has gone to sleep) 2018-02-28T13:15:38Z easye: drmeister: I think such warnings go away with asdf-3.3.1 2018-02-28T13:15:51Z drmeister: We have also made changes to the compiler over the last couple of months and something might be broken - but a codegen problem usually results in more severe issues. 2018-02-28T13:16:03Z drmeister: easye: Thank you. 2018-02-28T13:16:04Z jibanes joined #lisp 2018-02-28T13:17:40Z easye: I would also recommend not using "four point versions". There were errors in asdf-3.3.1.3 that downgrading to asdf-3.3.1 fixed https://gitlab.common-lisp.net/abcl/abcl/commit/40c19fa2d5617373caf7cc279e668165f65b28d7 2018-02-28T13:18:29Z easye: drmeister: quite welcome. You coming to ELS 2018? 2018-02-28T13:18:47Z drmeister: Yes 2018-02-28T13:18:52Z easye: Cool. 2018-02-28T13:18:53Z drmeister: Yes coming to ELS 2018 2018-02-28T13:22:50Z nika_ joined #lisp 2018-02-28T13:25:52Z easye: Yes, I am planning on making it. Haven't registered/bought tickets yet, but should have the money and will make the time. 2018-02-28T13:26:58Z easye: And hopefully ELS 2018 will kick my butt enough to get some engineering in on another ABCL release (although probably more like a stablizing abcl-1.5.1 than a abcl-1.6.0) 2018-02-28T13:27:46Z nika_ quit (Ping timeout: 265 seconds) 2018-02-28T13:29:46Z smurfrobot joined #lisp 2018-02-28T13:34:23Z smurfrobot quit (Ping timeout: 256 seconds) 2018-02-28T13:36:23Z nika_ joined #lisp 2018-02-28T13:36:50Z milanj joined #lisp 2018-02-28T13:40:37Z nika_ quit (Ping timeout: 245 seconds) 2018-02-28T13:41:02Z __rumbler31 joined #lisp 2018-02-28T13:41:11Z Xach: I will be there too 2018-02-28T13:41:35Z willmichael quit (Ping timeout: 240 seconds) 2018-02-28T13:41:44Z Shinmera: Nice. 2018-02-28T13:47:56Z Xach holds head in hands 2018-02-28T13:48:08Z Xach: why must there be a new failure in cl+ssl, unchanged for so long, today of all days :~( 2018-02-28T13:48:15Z Xach will make a new release today 2018-02-28T13:52:27Z EvW1 quit (Ping timeout: 252 seconds) 2018-02-28T13:55:03Z TLAXKIT joined #lisp 2018-02-28T13:55:18Z willmichael joined #lisp 2018-02-28T13:56:52Z nika_ joined #lisp 2018-02-28T13:57:50Z Kevslinger joined #lisp 2018-02-28T13:58:53Z orivej quit (Ping timeout: 240 seconds) 2018-02-28T14:00:23Z orivej joined #lisp 2018-02-28T14:01:03Z nika_ quit (Ping timeout: 248 seconds) 2018-02-28T14:01:22Z warweasle joined #lisp 2018-02-28T14:01:27Z mishoo quit (Ping timeout: 245 seconds) 2018-02-28T14:02:06Z makomo_ joined #lisp 2018-02-28T14:02:54Z Bike joined #lisp 2018-02-28T14:04:47Z makomo quit (Ping timeout: 248 seconds) 2018-02-28T14:07:29Z drmeister: Xach - great! 2018-02-28T14:07:29Z willmichael quit (Read error: Connection reset by peer) 2018-02-28T14:09:17Z willmichael joined #lisp 2018-02-28T14:09:21Z orivej quit (Ping timeout: 245 seconds) 2018-02-28T14:09:38Z orivej joined #lisp 2018-02-28T14:11:19Z nika_ joined #lisp 2018-02-28T14:16:35Z nika_ quit (Ping timeout: 265 seconds) 2018-02-28T14:16:50Z SaganMan joined #lisp 2018-02-28T14:25:33Z pierpa quit (Remote host closed the connection) 2018-02-28T14:28:57Z saki quit (Read error: Connection reset by peer) 2018-02-28T14:30:26Z LiamH joined #lisp 2018-02-28T14:31:34Z deng_cn quit (Read error: Connection reset by peer) 2018-02-28T14:32:48Z nika_ joined #lisp 2018-02-28T14:33:42Z deng_cn joined #lisp 2018-02-28T14:33:53Z saki joined #lisp 2018-02-28T14:37:21Z nika_ quit (Ping timeout: 248 seconds) 2018-02-28T14:38:02Z lnostdal joined #lisp 2018-02-28T14:41:07Z smurfrobot joined #lisp 2018-02-28T14:41:46Z FreeBirdLjj joined #lisp 2018-02-28T14:44:41Z oleo joined #lisp 2018-02-28T14:45:51Z smurfrobot quit (Ping timeout: 248 seconds) 2018-02-28T14:46:43Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2018-02-28T14:47:26Z sz0 joined #lisp 2018-02-28T14:48:32Z sysfault quit (Ping timeout: 245 seconds) 2018-02-28T14:49:13Z nika_ joined #lisp 2018-02-28T14:50:36Z comborico1611 joined #lisp 2018-02-28T14:53:33Z nika_ quit (Ping timeout: 240 seconds) 2018-02-28T14:54:54Z FreeBirdLjj joined #lisp 2018-02-28T14:58:15Z fikka quit (Ping timeout: 256 seconds) 2018-02-28T14:58:29Z dim: I think I should get organised and show up at the ELS 2018… 2018-02-28T14:59:13Z fikka joined #lisp 2018-02-28T14:59:59Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-28T15:00:42Z damke joined #lisp 2018-02-28T15:03:21Z damke_ quit (Ping timeout: 264 seconds) 2018-02-28T15:03:55Z makomo_ quit (Ping timeout: 256 seconds) 2018-02-28T15:03:57Z fikka quit (Ping timeout: 245 seconds) 2018-02-28T15:04:02Z mishoo joined #lisp 2018-02-28T15:07:05Z nika joined #lisp 2018-02-28T15:08:20Z schoppenhauer quit (Ping timeout: 256 seconds) 2018-02-28T15:11:21Z fikka joined #lisp 2018-02-28T15:11:26Z nika quit (Ping timeout: 245 seconds) 2018-02-28T15:11:38Z schoppenhauer joined #lisp 2018-02-28T15:12:40Z csaurus joined #lisp 2018-02-28T15:13:28Z Xach: dim: a solid plan 2018-02-28T15:15:29Z FreeBirdLjj joined #lisp 2018-02-28T15:17:46Z FreeBirdLjj quit (Read error: Connection reset by peer) 2018-02-28T15:18:04Z FreeBirdLjj joined #lisp 2018-02-28T15:18:27Z Chream quit (Ping timeout: 240 seconds) 2018-02-28T15:23:45Z attila_lendvai joined #lisp 2018-02-28T15:23:45Z attila_lendvai quit (Changing host) 2018-02-28T15:23:45Z attila_lendvai joined #lisp 2018-02-28T15:24:35Z nika joined #lisp 2018-02-28T15:26:47Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-28T15:27:09Z fikka quit (Ping timeout: 265 seconds) 2018-02-28T15:27:10Z willmichael quit (Ping timeout: 240 seconds) 2018-02-28T15:29:16Z nika quit (Ping timeout: 268 seconds) 2018-02-28T15:29:26Z attila_lendvai joined #lisp 2018-02-28T15:29:26Z attila_lendvai quit (Changing host) 2018-02-28T15:29:26Z attila_lendvai joined #lisp 2018-02-28T15:31:01Z python476 joined #lisp 2018-02-28T15:32:07Z Murii|BSD joined #lisp 2018-02-28T15:34:12Z smokeink quit (Ping timeout: 268 seconds) 2018-02-28T15:34:17Z Chream_2 joined #lisp 2018-02-28T15:34:35Z Chream_ quit (Ping timeout: 240 seconds) 2018-02-28T15:34:37Z makomo_ joined #lisp 2018-02-28T15:37:57Z Murii|BSD is now known as DonVlad 2018-02-28T15:38:49Z DonVlad is now known as Murii|BSD 2018-02-28T15:39:22Z hhdave quit (Ping timeout: 245 seconds) 2018-02-28T15:40:29Z Tobbi joined #lisp 2018-02-28T15:40:43Z nika joined #lisp 2018-02-28T15:43:01Z saki quit (Ping timeout: 256 seconds) 2018-02-28T15:44:47Z nika quit (Ping timeout: 245 seconds) 2018-02-28T15:46:16Z saki joined #lisp 2018-02-28T15:47:23Z smurfrobot joined #lisp 2018-02-28T15:49:29Z FreeBirdLjj quit (Remote host closed the connection) 2018-02-28T15:50:13Z fikka joined #lisp 2018-02-28T15:51:02Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-28T15:52:30Z attila_lendvai joined #lisp 2018-02-28T15:57:35Z antoszka: guys, do you remember what the fee for last year's ELS was? For students and regular attendees? 2018-02-28T15:57:41Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-28T15:58:16Z attila_lendvai joined #lisp 2018-02-28T15:58:43Z Shinmera: No, but it'll be in the ballpark of 60€ and 120€ respectively. 2018-02-28T15:58:43Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-28T15:58:51Z heisig quit (Quit: Leaving) 2018-02-28T15:59:29Z Shinmera: For this year I mean 2018-02-28T15:59:40Z Shinmera: Last year is a bad data point anyway because the colocation fucked with everything. 2018-02-28T16:00:05Z AeroNotix: will ELS be recorded on a higher bit rate potato this year? 2018-02-28T16:00:15Z AeroNotix: maybe like a sweet potato or something 2018-02-28T16:00:30Z Shinmera: Ask RavenPack, I guess. I think they're organising it. 2018-02-28T16:01:39Z attila_lendvai joined #lisp 2018-02-28T16:01:39Z attila_lendvai quit (Changing host) 2018-02-28T16:01:39Z attila_lendvai joined #lisp 2018-02-28T16:01:56Z smurfrobot quit (Remote host closed the connection) 2018-02-28T16:03:25Z yxabc joined #lisp 2018-02-28T16:04:24Z smurfrobot joined #lisp 2018-02-28T16:05:33Z fikka quit (Ping timeout: 240 seconds) 2018-02-28T16:05:33Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-28T16:06:58Z attila_lendvai joined #lisp 2018-02-28T16:07:53Z FreeBirdLjj joined #lisp 2018-02-28T16:11:10Z mlf joined #lisp 2018-02-28T16:12:08Z heurist`_` joined #lisp 2018-02-28T16:12:33Z heurist_ quit (Ping timeout: 240 seconds) 2018-02-28T16:14:35Z asarch joined #lisp 2018-02-28T16:14:35Z Chream_2 quit (Read error: Connection reset by peer) 2018-02-28T16:14:38Z Chream_ joined #lisp 2018-02-28T16:14:59Z cro__ joined #lisp 2018-02-28T16:15:00Z pythosnek joined #lisp 2018-02-28T16:15:11Z ku joined #lisp 2018-02-28T16:15:17Z pythosnek quit (Read error: Connection reset by peer) 2018-02-28T16:15:20Z vlad_ joined #lisp 2018-02-28T16:15:29Z bjorkint0sh joined #lisp 2018-02-28T16:17:24Z deba5e12_ joined #lisp 2018-02-28T16:17:28Z ghostyyy joined #lisp 2018-02-28T16:18:11Z comborico1611 quit (Remote host closed the connection) 2018-02-28T16:18:33Z malcom2073_ joined #lisp 2018-02-28T16:18:44Z Tobbi_ joined #lisp 2018-02-28T16:19:04Z saki quit (Remote host closed the connection) 2018-02-28T16:19:26Z saki joined #lisp 2018-02-28T16:19:30Z fikka joined #lisp 2018-02-28T16:19:32Z otwieracz quit (Disconnected by services) 2018-02-28T16:19:39Z otwierac1 joined #lisp 2018-02-28T16:19:44Z caffe_ joined #lisp 2018-02-28T16:19:47Z otwierac1 is now known as otwieracz 2018-02-28T16:19:50Z shaftoe joined #lisp 2018-02-28T16:19:56Z uint_ joined #lisp 2018-02-28T16:19:59Z guaqua_ joined #lisp 2018-02-28T16:19:59Z Achylles quit (Ping timeout: 276 seconds) 2018-02-28T16:20:03Z stux|RC-- joined #lisp 2018-02-28T16:21:12Z drot_ joined #lisp 2018-02-28T16:22:12Z philosau1 joined #lisp 2018-02-28T16:22:24Z vibs29_ joined #lisp 2018-02-28T16:22:34Z Cymew quit (Remote host closed the connection) 2018-02-28T16:22:42Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-02-28T16:23:05Z guna_ joined #lisp 2018-02-28T16:23:34Z willmichael joined #lisp 2018-02-28T16:24:31Z Tobbi quit (*.net *.split) 2018-02-28T16:24:31Z makomo_ quit (*.net *.split) 2018-02-28T16:24:31Z Murii|BSD quit (*.net *.split) 2018-02-28T16:24:31Z python476 quit (*.net *.split) 2018-02-28T16:24:32Z cromachina_ quit (*.net *.split) 2018-02-28T16:24:32Z vibs29 quit (*.net *.split) 2018-02-28T16:24:33Z deba5e12 quit (*.net *.split) 2018-02-28T16:24:33Z philosaur quit (*.net *.split) 2018-02-28T16:24:33Z drot quit (*.net *.split) 2018-02-28T16:24:34Z shaftoe_ quit (*.net *.split) 2018-02-28T16:24:34Z bjorkintosh quit (*.net *.split) 2018-02-28T16:24:34Z Oddity quit (*.net *.split) 2018-02-28T16:24:34Z presiden quit (*.net *.split) 2018-02-28T16:24:35Z k-hos quit (*.net *.split) 2018-02-28T16:24:35Z guna quit (*.net *.split) 2018-02-28T16:24:35Z uint quit (*.net *.split) 2018-02-28T16:24:35Z guaqua quit (*.net *.split) 2018-02-28T16:24:36Z michalisko quit (*.net *.split) 2018-02-28T16:24:36Z malcom2073 quit (*.net *.split) 2018-02-28T16:24:36Z caffe quit (*.net *.split) 2018-02-28T16:24:36Z saturn2 quit (*.net *.split) 2018-02-28T16:24:36Z stux|RC quit (*.net *.split) 2018-02-28T16:24:37Z _death quit (*.net *.split) 2018-02-28T16:24:37Z runejuhl quit (*.net *.split) 2018-02-28T16:24:37Z lxpz quit (*.net *.split) 2018-02-28T16:24:37Z ghostyy quit (*.net *.split) 2018-02-28T16:24:37Z vibs29_ is now known as vibs29 2018-02-28T16:24:58Z nika joined #lisp 2018-02-28T16:25:02Z python476 joined #lisp 2018-02-28T16:25:38Z michalisko joined #lisp 2018-02-28T16:26:48Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-28T16:27:00Z _death joined #lisp 2018-02-28T16:27:45Z attila_lendvai joined #lisp 2018-02-28T16:27:45Z attila_lendvai quit (Changing host) 2018-02-28T16:27:45Z attila_lendvai joined #lisp 2018-02-28T16:29:27Z dmiles quit (Ping timeout: 240 seconds) 2018-02-28T16:29:45Z nika quit (Ping timeout: 252 seconds) 2018-02-28T16:30:06Z SaganMan quit (Quit: WeeChat 1.6) 2018-02-28T16:30:39Z makomo_ joined #lisp 2018-02-28T16:32:10Z lxpz joined #lisp 2018-02-28T16:32:11Z aindilis joined #lisp 2018-02-28T16:32:14Z runejuhl joined #lisp 2018-02-28T16:32:19Z saturn2 joined #lisp 2018-02-28T16:32:27Z presiden joined #lisp 2018-02-28T16:36:57Z willmichael quit (Read error: Connection reset by peer) 2018-02-28T16:38:03Z nowhere_man joined #lisp 2018-02-28T16:38:35Z Guest60031 quit (Ping timeout: 240 seconds) 2018-02-28T16:39:12Z willmichael joined #lisp 2018-02-28T16:39:12Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-28T16:40:41Z attila_lendvai joined #lisp 2018-02-28T16:45:37Z willmichael quit (Read error: Connection reset by peer) 2018-02-28T16:45:46Z willmichael joined #lisp 2018-02-28T16:46:01Z vlad_ is now known as DonVlad 2018-02-28T16:46:13Z sveit quit (Ping timeout: 240 seconds) 2018-02-28T16:46:53Z hhdave joined #lisp 2018-02-28T16:46:59Z otwieracz quit (Quit: leaving) 2018-02-28T16:47:41Z otwieracz joined #lisp 2018-02-28T16:49:05Z yxabc quit (Quit: AtomicIRC: The nuclear option.) 2018-02-28T16:50:10Z yxabc joined #lisp 2018-02-28T16:50:16Z yxabc quit (Client Quit) 2018-02-28T16:51:19Z yxabc joined #lisp 2018-02-28T16:51:22Z yxabc quit (Client Quit) 2018-02-28T16:51:43Z FreeBird_ joined #lisp 2018-02-28T16:52:15Z yxabc joined #lisp 2018-02-28T16:52:39Z yxabc quit (Client Quit) 2018-02-28T16:52:48Z malice joined #lisp 2018-02-28T16:53:49Z yxabc joined #lisp 2018-02-28T16:53:59Z nika joined #lisp 2018-02-28T16:54:00Z yxabc quit (Client Quit) 2018-02-28T16:54:25Z chocolait_ quit (Ping timeout: 256 seconds) 2018-02-28T16:54:34Z chocolait joined #lisp 2018-02-28T16:54:40Z yxabc joined #lisp 2018-02-28T16:54:57Z yxabc quit (Client Quit) 2018-02-28T16:55:13Z saki quit (Ping timeout: 240 seconds) 2018-02-28T16:55:36Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2018-02-28T16:55:52Z yxabc joined #lisp 2018-02-28T16:56:25Z nowhere_man quit (Read error: Connection reset by peer) 2018-02-28T16:56:27Z sz0 quit (Quit: Connection closed for inactivity) 2018-02-28T16:56:45Z nowhere_man joined #lisp 2018-02-28T16:58:41Z nika quit (Ping timeout: 268 seconds) 2018-02-28T16:59:09Z axg joined #lisp 2018-02-28T17:00:25Z damke quit (Read error: Connection reset by peer) 2018-02-28T17:00:26Z attila_lendvai quit (Read error: Connection reset by peer) 2018-02-28T17:01:02Z damke joined #lisp 2018-02-28T17:01:08Z attila_lendvai joined #lisp 2018-02-28T17:01:36Z dmiles joined #lisp 2018-02-28T17:02:43Z yxabc quit (Quit: AtomicIRC: The nuclear option.) 2018-02-28T17:02:45Z sveit joined #lisp 2018-02-28T17:03:14Z yxabc joined #lisp 2018-02-28T17:03:29Z schweers quit (Ping timeout: 248 seconds) 2018-02-28T17:04:54Z saki joined #lisp 2018-02-28T17:05:35Z sjl joined #lisp 2018-02-28T17:06:04Z stacksmith joined #lisp 2018-02-28T17:06:40Z yxabc quit (Client Quit) 2018-02-28T17:06:54Z sysfault joined #lisp 2018-02-28T17:08:24Z yxabc joined #lisp 2018-02-28T17:09:24Z flamebeard quit (Quit: Leaving) 2018-02-28T17:10:26Z hhdave quit (Quit: hhdave) 2018-02-28T17:10:42Z smurfrobot quit (Remote host closed the connection) 2018-02-28T17:10:51Z sjl quit (Quit: WeeChat 1.9) 2018-02-28T17:12:46Z Achylles joined #lisp 2018-02-28T17:12:54Z stacksmith: Good day everyone! 2018-02-28T17:13:06Z phoe: hey stacksmith 2018-02-28T17:14:40Z orivej quit (Ping timeout: 240 seconds) 2018-02-28T17:18:15Z sjl joined #lisp 2018-02-28T17:19:12Z attila_lendvai quit (Quit: Leaving.) 2018-02-28T17:19:26Z shka_ joined #lisp 2018-02-28T17:20:37Z smurfrobot joined #lisp 2018-02-28T17:24:58Z sjl__ joined #lisp 2018-02-28T17:25:38Z smurfrobot quit (Ping timeout: 276 seconds) 2018-02-28T17:25:38Z Karl_Dscc joined #lisp 2018-02-28T17:26:27Z sjl quit (Ping timeout: 240 seconds) 2018-02-28T17:30:29Z _cosmonaut_ quit (Ping timeout: 260 seconds) 2018-02-28T17:30:31Z learning joined #lisp 2018-02-28T17:31:14Z wigust joined #lisp 2018-02-28T17:32:02Z yxabc quit (Remote host closed the connection) 2018-02-28T17:33:24Z mathrick quit (Ping timeout: 256 seconds) 2018-02-28T17:35:06Z sjl__ is now known as sjl 2018-02-28T17:35:14Z Denommus joined #lisp 2018-02-28T17:39:51Z ckonstanski joined #lisp 2018-02-28T17:39:56Z m00natic quit (Remote host closed the connection) 2018-02-28T17:43:25Z Achylles quit (Quit: Leaving) 2018-02-28T17:44:44Z esthlos quit (Ping timeout: 256 seconds) 2018-02-28T17:45:14Z zooey quit (Ping timeout: 255 seconds) 2018-02-28T17:45:16Z esthlos joined #lisp 2018-02-28T17:46:26Z leo_song_ quit (Ping timeout: 256 seconds) 2018-02-28T17:46:49Z leo_song joined #lisp 2018-02-28T17:47:10Z sbat quit (Ping timeout: 240 seconds) 2018-02-28T17:47:29Z hvxgr quit (Ping timeout: 252 seconds) 2018-02-28T17:47:29Z sbat joined #lisp 2018-02-28T17:47:35Z hiq[m] quit (Ping timeout: 248 seconds) 2018-02-28T17:48:03Z hiq[m] joined #lisp 2018-02-28T17:48:27Z hvxgr joined #lisp 2018-02-28T17:49:23Z FreeBird_ quit (Remote host closed the connection) 2018-02-28T17:51:52Z zooey joined #lisp 2018-02-28T17:54:38Z orivej joined #lisp 2018-02-28T17:55:06Z DonVlad quit (Remote host closed the connection) 2018-02-28T18:05:17Z malice quit (Ping timeout: 276 seconds) 2018-02-28T18:08:57Z saki quit (Ping timeout: 240 seconds) 2018-02-28T18:09:02Z kuwze joined #lisp 2018-02-28T18:12:44Z kajo joined #lisp 2018-02-28T18:15:02Z nika joined #lisp 2018-02-28T18:15:41Z mathrick joined #lisp 2018-02-28T18:16:11Z igemnace quit (Read error: Connection reset by peer) 2018-02-28T18:16:29Z vtomole joined #lisp 2018-02-28T18:19:10Z orivej quit (Ping timeout: 256 seconds) 2018-02-28T18:19:24Z orivej joined #lisp 2018-02-28T18:19:28Z igemnace joined #lisp 2018-02-28T18:19:59Z FreeBirdLjj joined #lisp 2018-02-28T18:20:05Z nika quit (Ping timeout: 268 seconds) 2018-02-28T18:23:01Z Cymew joined #lisp 2018-02-28T18:24:10Z Tobbi_ is now known as Tobbi 2018-02-28T18:25:05Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-28T18:25:31Z learning quit (Remote host closed the connection) 2018-02-28T18:25:58Z saki joined #lisp 2018-02-28T18:27:21Z Cymew quit (Ping timeout: 256 seconds) 2018-02-28T18:28:04Z vtomole quit (Ping timeout: 260 seconds) 2018-02-28T18:29:07Z Cymew joined #lisp 2018-02-28T18:30:38Z Chream_ quit (Ping timeout: 256 seconds) 2018-02-28T18:31:48Z FreeBirdLjj joined #lisp 2018-02-28T18:32:43Z drmeister: Xach: I found the problem in clasp that was leading to a problem with ASDF that was leading to a problem loading quicklisp. 2018-02-28T18:33:02Z Xach: drmeister: is there a short explanation? 2018-02-28T18:33:13Z Cymew quit (Ping timeout: 240 seconds) 2018-02-28T18:34:44Z drmeister: When read-suppress was on, #. was returning (values) and so #-clisp #.(foo) #-(or ...) (bar) --> wouldn't evaluate (bar) 2018-02-28T18:35:30Z drmeister: It was a problem in the reader that I had put in there because I got it in my head that #.(foo) should return (values) when read-suppress was on and I had run with it. 2018-02-28T18:35:33Z wigust quit (Quit: ZNC 1.6.5 - http://znc.in) 2018-02-28T18:36:17Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-28T18:37:34Z phoe: drmeister: hmmm, actually even the example in http://clhs.lisp.se/Body/v_rd_sup.htm states that it would return NIL and not (VALUES) 2018-02-28T18:37:53Z phoe: ...but then again that example does not mean much 2018-02-28T18:38:11Z phoe: because in #'MAPCAR, (VALUES) will get coerced to NIL to fill the missing primary value 2018-02-28T18:39:04Z stacksmith: CLHS *read-suppress* 2018-02-28T18:39:05Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/v_rd_sup.htm 2018-02-28T18:43:32Z axg quit (Ping timeout: 256 seconds) 2018-02-28T18:44:38Z energizer joined #lisp 2018-02-28T18:44:39Z smasta joined #lisp 2018-02-28T18:45:40Z nika joined #lisp 2018-02-28T18:45:44Z FreeBirdLjj joined #lisp 2018-02-28T18:48:44Z vtomole joined #lisp 2018-02-28T18:49:03Z antoszka: Shinmera: cool, thanks. 2018-02-28T18:50:12Z FreeBirdLjj quit (Ping timeout: 245 seconds) 2018-02-28T18:50:28Z nika quit (Ping timeout: 256 seconds) 2018-02-28T18:55:56Z saki quit (Remote host closed the connection) 2018-02-28T18:55:59Z ku is now known as k-hos 2018-02-28T18:59:14Z varjag joined #lisp 2018-02-28T18:59:37Z saki joined #lisp 2018-02-28T19:00:08Z Jesin quit (Quit: Leaving) 2018-02-28T19:00:36Z trocado joined #lisp 2018-02-28T19:00:50Z lnostdal quit (Ping timeout: 255 seconds) 2018-02-28T19:02:07Z damke_ joined #lisp 2018-02-28T19:03:00Z saki quit (Remote host closed the connection) 2018-02-28T19:03:04Z comborico1611 joined #lisp 2018-02-28T19:04:29Z k-stz joined #lisp 2018-02-28T19:04:33Z damke quit (Ping timeout: 264 seconds) 2018-02-28T19:04:57Z saki joined #lisp 2018-02-28T19:05:07Z comborico1611 quit (Client Quit) 2018-02-28T19:05:10Z willmichael quit (Ping timeout: 240 seconds) 2018-02-28T19:05:33Z puchacz joined #lisp 2018-02-28T19:05:33Z willmichael joined #lisp 2018-02-28T19:05:59Z nika joined #lisp 2018-02-28T19:06:00Z Jesin joined #lisp 2018-02-28T19:06:26Z rrp joined #lisp 2018-02-28T19:06:46Z rrp left #lisp 2018-02-28T19:07:19Z smasta quit (Ping timeout: 260 seconds) 2018-02-28T19:07:28Z lnostdal joined #lisp 2018-02-28T19:09:06Z k-stz: hey, I try to bitwise negate a number such that #b1100 -> #b0011 (to read twos complement from a binary memory), `lognot' doesn't solve this, am I missing something simple? 2018-02-28T19:09:25Z Bike: you also want to take the low bits. 2018-02-28T19:09:28Z smasta joined #lisp 2018-02-28T19:09:52Z mathrick quit (Remote host closed the connection) 2018-02-28T19:09:53Z Bike: (ldb (byte 4 0) (lognot #b1100)) => 3 2018-02-28T19:10:05Z nika quit (Ping timeout: 240 seconds) 2018-02-28T19:10:13Z Bike: conceptually, #b1100 could also be written #b01100, or #b0000000001100, or whatever. there's an infinite number of zeroes that also get negated 2018-02-28T19:10:18Z Bike: but you only care about the low four bits 2018-02-28T19:10:58Z mathrick joined #lisp 2018-02-28T19:12:40Z FreeBirdLjj joined #lisp 2018-02-28T19:13:57Z enviando joined #lisp 2018-02-28T19:14:26Z k-stz: Bike: thanks! 2018-02-28T19:15:09Z comborico1611 joined #lisp 2018-02-28T19:15:14Z enviando: Does anyone have a good guide on how to use Roswell? I'm trying to create a very simple shell script (automatically execute 4 commands with SBCL), but it keeps crashing and giving tons of debug data. 2018-02-28T19:15:14Z Bike: i mean, two's complement is with respect to some word size. you gotta specify what size, naturally. 2018-02-28T19:17:05Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-28T19:17:22Z k-stz: Bike: I didn't catch on to the infinite bits part, now it makes perfect sense 2018-02-28T19:17:38Z phoe: enviando: create tickets on its Github page. That's the only working way I have figured out with Roswell dev team. 2018-02-28T19:18:15Z enviando: Okay. Thanks. 2018-02-28T19:18:33Z enviando quit (Client Quit) 2018-02-28T19:19:55Z stacksmith: phoe: it helps to speak Japanese at roswell and lem... 2018-02-28T19:20:35Z smasta quit (Ping timeout: 240 seconds) 2018-02-28T19:20:36Z phoe: stacksmith: they accept tickets written in English. 2018-02-28T19:21:00Z FreeBirdLjj joined #lisp 2018-02-28T19:23:45Z LocaMocha quit (Read error: Connection reset by peer) 2018-02-28T19:25:33Z fikka quit (Ping timeout: 240 seconds) 2018-02-28T19:25:38Z FreeBirdLjj quit (Ping timeout: 255 seconds) 2018-02-28T19:25:44Z fourier joined #lisp 2018-02-28T19:27:17Z axg joined #lisp 2018-02-28T19:28:28Z Ven`` joined #lisp 2018-02-28T19:28:37Z FreeBirdLjj joined #lisp 2018-02-28T19:29:35Z trocado quit (Ping timeout: 240 seconds) 2018-02-28T19:30:39Z fourier quit (Ping timeout: 260 seconds) 2018-02-28T19:32:59Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-28T19:33:14Z nowhereman_ joined #lisp 2018-02-28T19:33:27Z nowhere_man quit (Ping timeout: 240 seconds) 2018-02-28T19:37:04Z makomo_ quit (Ping timeout: 260 seconds) 2018-02-28T19:37:56Z FreeBirdLjj joined #lisp 2018-02-28T19:39:17Z nika joined #lisp 2018-02-28T19:39:57Z smasta joined #lisp 2018-02-28T19:42:13Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-28T19:43:29Z nika quit (Ping timeout: 248 seconds) 2018-02-28T19:44:07Z puchacz quit (Quit: Konversation terminated!) 2018-02-28T19:45:05Z igemnace quit (Quit: WeeChat 2.0.1) 2018-02-28T19:48:05Z lnostdal quit (Remote host closed the connection) 2018-02-28T19:48:11Z ghostyyy is now known as ghostyy 2018-02-28T19:48:59Z vlatkoB quit (Remote host closed the connection) 2018-02-28T19:49:07Z fikka joined #lisp 2018-02-28T19:49:27Z orivej quit (Ping timeout: 240 seconds) 2018-02-28T19:49:56Z smasta quit (Ping timeout: 276 seconds) 2018-02-28T19:51:45Z FreeBirdLjj joined #lisp 2018-02-28T19:53:46Z lnostdal joined #lisp 2018-02-28T19:54:37Z fikka quit (Ping timeout: 256 seconds) 2018-02-28T19:56:17Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2018-02-28T19:56:47Z makomo_ joined #lisp 2018-02-28T19:58:10Z k-stz: Is this result: (= (1- (expt 2 64)) (ldb (byte 64 0) -1)) implementation dependent? 2018-02-28T20:00:01Z k-stz: it hinges on -1 being represented as twos complement internally 2018-02-28T20:02:31Z FreeBirdLjj joined #lisp 2018-02-28T20:03:13Z TLAXKIT quit (Remote host closed the connection) 2018-02-28T20:03:33Z TLAXKIT joined #lisp 2018-02-28T20:03:42Z rme: all the logxxx functions act as though integers are two's complement. that's defined behavior. 2018-02-28T20:03:58Z rme: regardless of how they are represented internally 2018-02-28T20:04:48Z TLAXKIT quit (Remote host closed the connection) 2018-02-28T20:07:10Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-28T20:07:17Z nika joined #lisp 2018-02-28T20:08:56Z phoe: but 2018-02-28T20:09:31Z Bike: -1 is definitely an integer with 1 bits in every position 2018-02-28T20:09:33Z Bike: that's defined 2018-02-28T20:09:34Z vtomole quit (Ping timeout: 260 seconds) 2018-02-28T20:09:52Z phoe: so (ldb (byte 64 0) -1) will give you all ones 2018-02-28T20:09:54Z csauce joined #lisp 2018-02-28T20:09:57Z Bike: so no, the result is not implementation independent. 2018-02-28T20:09:58Z Bike: er 2018-02-28T20:10:02Z phoe: and (1- (expt 2 64)) will, too 2018-02-28T20:10:04Z Bike: it is not implementation dependent. 2018-02-28T20:11:35Z nika quit (Ping timeout: 240 seconds) 2018-02-28T20:11:42Z k-stz: that's good, thanks again 2018-02-28T20:11:51Z fikka joined #lisp 2018-02-28T20:12:20Z milanj quit (Quit: This computer has gone to sleep) 2018-02-28T20:12:57Z csaurus quit (Ping timeout: 240 seconds) 2018-02-28T20:16:22Z blackwolf joined #lisp 2018-02-28T20:16:27Z fikka quit (Ping timeout: 240 seconds) 2018-02-28T20:16:56Z pfdietz: The nice thing about integers in lisp is they are much closer to actual integers, not those mod N travesties you see in other languages. 2018-02-28T20:18:29Z nika joined #lisp 2018-02-28T20:20:03Z smasta joined #lisp 2018-02-28T20:21:14Z fikka joined #lisp 2018-02-28T20:22:42Z nika quit (Ping timeout: 245 seconds) 2018-02-28T20:23:46Z FreeBirdLjj joined #lisp 2018-02-28T20:28:49Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-28T20:29:53Z fikka quit (Ping timeout: 248 seconds) 2018-02-28T20:31:31Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-02-28T20:32:20Z k-stz: the higher abstractions are great, yet, every now and then, one still needs to travel back down to the reality of fixed types and finite sizes 2018-02-28T20:32:36Z phoe: (declare (fixnum foo)) 2018-02-28T20:34:46Z smurfrobot joined #lisp 2018-02-28T20:35:24Z Chream_ joined #lisp 2018-02-28T20:35:45Z shka_ quit (Ping timeout: 248 seconds) 2018-02-28T20:38:47Z FreeBirdLjj joined #lisp 2018-02-28T20:38:48Z hhdave joined #lisp 2018-02-28T20:38:57Z smurfrobot quit (Ping timeout: 245 seconds) 2018-02-28T20:42:26Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-28T20:43:53Z FreeBirdLjj quit (Ping timeout: 276 seconds) 2018-02-28T20:46:57Z smasta quit (Ping timeout: 248 seconds) 2018-02-28T20:48:29Z milanj joined #lisp 2018-02-28T20:52:42Z scymtym quit (Ping timeout: 245 seconds) 2018-02-28T20:52:50Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2018-02-28T20:53:09Z fikka joined #lisp 2018-02-28T20:53:26Z hhdave quit (Read error: Connection reset by peer) 2018-02-28T20:53:39Z hhdave joined #lisp 2018-02-28T20:54:28Z karswell joined #lisp 2018-02-28T20:55:36Z orivej joined #lisp 2018-02-28T20:56:49Z Denommus quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2018-02-28T21:01:33Z damke_ quit (Ping timeout: 264 seconds) 2018-02-28T21:03:28Z damke_ joined #lisp 2018-02-28T21:04:13Z Mutex7 joined #lisp 2018-02-28T21:07:44Z lnostdal quit (Ping timeout: 255 seconds) 2018-02-28T21:09:05Z hhdave quit (Read error: Connection reset by peer) 2018-02-28T21:10:43Z hhdave joined #lisp 2018-02-28T21:11:11Z smasta joined #lisp 2018-02-28T21:13:53Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-02-28T21:19:13Z Chream_ quit (Ping timeout: 240 seconds) 2018-02-28T21:19:24Z Chream_2 joined #lisp 2018-02-28T21:20:57Z lnostdal joined #lisp 2018-02-28T21:20:59Z epony quit (Quit: QUIT) 2018-02-28T21:23:23Z Cymew joined #lisp 2018-02-28T21:24:37Z Jesin quit (Quit: Leaving) 2018-02-28T21:24:49Z kuwze quit (Ping timeout: 260 seconds) 2018-02-28T21:24:59Z fikka quit (Ping timeout: 260 seconds) 2018-02-28T21:25:35Z smurfrobot joined #lisp 2018-02-28T21:25:56Z angavrilov quit (Remote host closed the connection) 2018-02-28T21:27:33Z jmercouris quit (Ping timeout: 256 seconds) 2018-02-28T21:27:34Z fikka joined #lisp 2018-02-28T21:28:01Z Cymew quit (Ping timeout: 248 seconds) 2018-02-28T21:29:40Z Jesin joined #lisp 2018-02-28T21:30:11Z smurfrobot quit (Ping timeout: 245 seconds) 2018-02-28T21:32:05Z fikka quit (Ping timeout: 240 seconds) 2018-02-28T21:33:35Z scymtym joined #lisp 2018-02-28T21:35:05Z fikka joined #lisp 2018-02-28T21:38:41Z nowhereman_ quit (Read error: Connection reset by peer) 2018-02-28T21:39:05Z nowhereman_ joined #lisp 2018-02-28T21:39:22Z orivej quit (Ping timeout: 245 seconds) 2018-02-28T21:40:12Z shifty quit (Ping timeout: 245 seconds) 2018-02-28T21:40:30Z Oddity joined #lisp 2018-02-28T21:40:32Z hhdave quit (Read error: Connection reset by peer) 2018-02-28T21:40:45Z hhdave joined #lisp 2018-02-28T21:45:37Z pjb: k-stz: that's crazy talk. You want Turing Machines! 2018-02-28T21:46:16Z pjb: k-stz: if you consider our finite computers, then none of them is a Turing Machine (no infinite memory), and therefore none of our programming languages are Turing Complete! 2018-02-28T21:46:29Z pjb: What a shame! 2018-02-28T21:46:53Z pjb: So take those infinite cl:integer, and be happy in a temporary illusion of Turing completeness! 2018-02-28T21:49:18Z phoe: pjb: why stop at Turing machines? 2018-02-28T21:49:36Z phoe: we want nondeterministic Turing machines, so we can find solutions to NP-complete problems in polynomial time! 2018-02-28T21:49:41Z phoe goes to #lispcafe with that 2018-02-28T21:49:45Z __rumbler31 quit (Ping timeout: 268 seconds) 2018-02-28T21:49:48Z aeth: I like the way CL handles integers. By default, it's inefficient but safe. If you restrict the integer to a small enough size, the compiler can optimize it. It's sometimes painful to do so, but you have to do it to have safe integers! In C, if you don't do very similar logic, you're writing fragile software! 2018-02-28T21:50:27Z nowhere_man joined #lisp 2018-02-28T21:51:03Z fouric: CL actually allows you to easily choose between safety in speed 2018-02-28T21:51:13Z fouric: in C, the default is speed, and safety is *possible* but clumsy 2018-02-28T21:51:34Z k-hos: does lisp have anything like Cs switch statement, or could I emulate that kind of thing with a cond inside a macro 2018-02-28T21:51:36Z fouric has not written a *ton* of C code but that's been his experience so far 2018-02-28T21:51:42Z phoe: fouric: there's no (declare (optimize safety)) in C 2018-02-28T21:51:47Z aeth: With unsigned integers, if you want wrapping you can use mod with some power of 2 and that will potentially be optimized well by the compiler. 2018-02-28T21:51:51Z fouric: phoe: i mean you can manually insert checks 2018-02-28T21:51:53Z phoe: k-hos: switch, do you mean with fallthrough? 2018-02-28T21:52:11Z k-hos: no just comparing one value against a table of others basically 2018-02-28T21:52:16Z phoe: k-hos: 2018-02-28T21:52:17Z aeth: k-hos: Afaik, the closest thing is case 2018-02-28T21:52:17Z phoe: clhs case 2018-02-28T21:52:18Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_case_.htm 2018-02-28T21:52:26Z phoe: also, ALEXANDRIA:SWITCH 2018-02-28T21:52:32Z phoe: it allows you to specify your custom test function 2018-02-28T21:52:40Z aeth: If you want something similar to case but different, write a macro over cond (or use a library that probably does that) 2018-02-28T21:53:14Z aeth: If you want something exactly like C's switch, I think you'd have to write the macro over tagbody? 2018-02-28T21:53:30Z phoe: yep, something like that 2018-02-28T21:53:34Z k-hos: I was planning on it, since the macro needs a variable number of arguments I didn't know how I would fill that cond out with them 2018-02-28T21:53:40Z rumbler31 quit (Remote host closed the connection) 2018-02-28T21:53:45Z phoe: you could actually emulate a switch with a tagbody 2018-02-28T21:53:54Z orivej joined #lisp 2018-02-28T21:54:03Z phoe: s/emulate/implement/ 2018-02-28T21:54:11Z pilfink joined #lisp 2018-02-28T21:54:18Z k-hos: I don't know what those are 2018-02-28T21:54:21Z aeth: It's a fairly straightforward tagbody implementation 2018-02-28T21:54:41Z nowhereman_ quit (Ping timeout: 268 seconds) 2018-02-28T21:54:55Z aeth: k-hos: tagbody is a safe place for gotos, i.e. GO (the CL goto) is restricted to labels within the tagbody 2018-02-28T21:55:27Z ``Erik quit (Ping timeout: 240 seconds) 2018-02-28T21:55:40Z aeth: tagbody is for (1) implementing basic iteration macros like do (every implementation expands do to a let around a tagbody afaik) and (2) when everything else fails 2018-02-28T21:55:53Z aeth: I suppose, this too: (3) compatibility 2018-02-28T21:55:54Z nika joined #lisp 2018-02-28T21:56:31Z phoe: (tagbody 10 (print "hello world!") 20 (go 10)) 2018-02-28T21:57:41Z ``Erik joined #lisp 2018-02-28T21:57:43Z aeth: If you want function semantics (which usually is preferable unless performance *really* matters), you can just use flet or labels. If you want something with identical semantics to C's switch so you can port Duffy's device, you want tagbody. 2018-02-28T21:58:25Z k-stz: tagbody is also useful to translate assembly code, with its jumping to labels, if the need ever arises... 2018-02-28T21:58:36Z aeth: Although do and the other dofoo forms have an implicit tagbody so you can also target do, which might be better, depending on what you're trying to do with gotos. Switch would be best with tagbody, though 2018-02-28T21:58:51Z jasom: tagbody/go is like a lexical version throw/catch 2018-02-28T21:59:30Z aeth: k-stz: Right. Just implement a register data structure, a memory data structure, and various "instruction" functions, then place them in tagbody, and you have pseudo-assembly afaik. 2018-02-28T21:59:59Z aeth: I guess the jump instructions would have to be macros, not functions, though. 2018-02-28T22:00:25Z nika quit (Ping timeout: 256 seconds) 2018-02-28T22:00:29Z Bike: it's not like c switch with nontrivial fallthrough is super common to begin with. 2018-02-28T22:02:27Z Ven`` joined #lisp 2018-02-28T22:02:41Z Jesin quit (Quit: Leaving) 2018-02-28T22:02:52Z k-hos: I could probably just implement this as a list, since I am basically just checking if a character is in a set of characters or not 2018-02-28T22:02:54Z nika joined #lisp 2018-02-28T22:03:16Z phoe: k-hos: how big is your set of characters? 2018-02-28T22:03:31Z k-stz: aeth: I think the SICP book might describes something like that in its later chapters with scheme 2018-02-28T22:03:56Z k-hos: just whats on the keyboard plus control characters 2018-02-28T22:03:56Z Baggers` joined #lisp 2018-02-28T22:04:03Z Bike: (find char "ndqiDNUP38Cf"), easy 2018-02-28T22:04:05Z k-hos: but it gets checked quite a bit 2018-02-28T22:04:10Z stacksmith: member 2018-02-28T22:04:22Z phoe: k-hos: go for an EQL hashtable if it contains more than 20 characters. 2018-02-28T22:04:38Z k-hos: thats what I have now, except I was trying to use \n style escapes :p 2018-02-28T22:04:50Z phoe: that is two characters 2018-02-28T22:05:02Z k-hos: yes I realize now 2018-02-28T22:05:19Z phoe: #\Newline is a single char in Lisp 2018-02-28T22:05:32Z k-hos: I was going to make a secondary function to check against #\ style characters 2018-02-28T22:05:58Z phoe: k-hos: *all* characters are #\ style characters 2018-02-28T22:06:03Z k-hos: so I would do something like (is-any atom #\newline #\space) ect 2018-02-28T22:06:19Z phoe: #\L #\i #\k #\e #\ #\t #\h #\i #\s #\ #\: #\) 2018-02-28T22:06:53Z k-hos: Unless I am mistaken I can't just go sticking #\a in a string and expect it to be escaped 2018-02-28T22:07:16Z axg quit (Ping timeout: 245 seconds) 2018-02-28T22:07:17Z stacksmith: #\ is a reader notation... 2018-02-28T22:07:38Z stacksmith: not the same as character \ 2018-02-28T22:07:38Z nika quit (Ping timeout: 268 seconds) 2018-02-28T22:07:55Z FreeBirdLjj joined #lisp 2018-02-28T22:08:07Z k-hos: I know 2018-02-28T22:08:28Z phoe: a string is an array of chars 2018-02-28T22:08:33Z Bike: you just make the string in a more complicated way than literally. 2018-02-28T22:08:44Z Bike: #.(format nil "asdf~c" #\Newline) for instance 2018-02-28T22:08:46Z phoe: (coerce '(#\c #\a #\t) 'string) ;=> "cat" 2018-02-28T22:09:19Z Jesin joined #lisp 2018-02-28T22:09:23Z k-hos: I wanted to avoid format 2018-02-28T22:11:29Z Bike: well, coerce then 2018-02-28T22:11:35Z Bike: it doesn't matter, it's a constant at compile time 2018-02-28T22:12:49Z FreeBirdLjj quit (Ping timeout: 248 seconds) 2018-02-28T22:17:02Z Ven`` quit (Read error: Connection reset by peer) 2018-02-28T22:17:35Z Ven`` joined #lisp 2018-02-28T22:17:36Z sz0 joined #lisp 2018-02-28T22:20:23Z Baggers` quit (Remote host closed the connection) 2018-02-28T22:23:40Z FreeBirdLjj joined #lisp 2018-02-28T22:23:42Z hhdave quit (Read error: Connection reset by peer) 2018-02-28T22:24:08Z hhdave joined #lisp 2018-02-28T22:26:00Z pillton: Xach: Thank you for #1457. 2018-02-28T22:26:35Z orivej quit (Ping timeout: 240 seconds) 2018-02-28T22:28:07Z FreeBirdLjj quit (Ping timeout: 245 seconds) 2018-02-28T22:28:44Z nika joined #lisp 2018-02-28T22:31:55Z comborico1611 quit (Quit: Konversation terminated!) 2018-02-28T22:32:00Z Xach: pillton: It would be easier to do the latest release but iirc that was explicitly requested otherwise 2018-02-28T22:32:22Z FreeBirdLjj joined #lisp 2018-02-28T22:33:17Z nika quit (Ping timeout: 256 seconds) 2018-02-28T22:33:25Z asarch quit (Remote host closed the connection) 2018-02-28T22:34:39Z cleanslate joined #lisp 2018-02-28T22:36:35Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-28T22:38:42Z hhdave quit (Read error: Connection reset by peer) 2018-02-28T22:39:09Z hhdave joined #lisp 2018-02-28T22:41:58Z pillton: Xach: Ok. I will request that next time. 2018-02-28T22:42:10Z csauce quit (Ping timeout: 240 seconds) 2018-02-28T22:42:19Z cleanslate: I have small experience in scheme in the past, but I want to get back into functional with some variety of lisp. How should I go about choosing which to learn? 2018-02-28T22:42:30Z rumbler31 joined #lisp 2018-02-28T22:42:51Z blackwolf quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2018-02-28T22:43:06Z Xach: cleanslate: this channel is for those who have chosen common lisp. to (most of) us it is the best choice. 2018-02-28T22:43:39Z rumbler3_ joined #lisp 2018-02-28T22:43:47Z Xach: cleanslate: i'd recommend looking at some books that introduce different lisps and see which you like best. 2018-02-28T22:44:04Z Karl_Dscc quit (Remote host closed the connection) 2018-02-28T22:44:10Z Xach: cleanslate: for common lisp, i liked Practical Common Lisp and Paradigms of AI Programming, both of which are freely available online. 2018-02-28T22:44:36Z cleanslate: I was looking at PAIP as a way of getting into it 2018-02-28T22:44:45Z orivej joined #lisp 2018-02-28T22:45:08Z cleanslate: frankly I'm impressed with Common Lisp's longevity 2018-02-28T22:45:25Z learning joined #lisp 2018-02-28T22:46:57Z rumbler31 quit (Ping timeout: 248 seconds) 2018-02-28T22:47:29Z Xach: it is like a fine wine, or a hot dog that fell behind the refrigerator 2018-02-28T22:49:21Z k-hos: you're saying it has.... a culture? 2018-02-28T22:49:26Z zooey quit (Ping timeout: 255 seconds) 2018-02-28T22:49:51Z zooey joined #lisp 2018-02-28T22:50:39Z Denommus joined #lisp 2018-02-28T22:51:15Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-28T22:52:35Z mishoo quit (Ping timeout: 240 seconds) 2018-02-28T22:53:04Z FreeBirdLjj joined #lisp 2018-02-28T22:53:58Z hhdave quit (Read error: Connection reset by peer) 2018-02-28T22:55:31Z k-stz: in the case of the hot dog, it would be a bacterial culture 2018-02-28T22:56:07Z hhdave joined #lisp 2018-02-28T22:56:59Z pilfink quit (Quit: ERC (IRC client for Emacs 26.0.91)) 2018-02-28T22:58:13Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-28T22:59:29Z LiamH quit (Quit: Leaving.) 2018-02-28T23:00:04Z damke joined #lisp 2018-02-28T23:00:41Z deng_cn quit (Read error: Connection reset by peer) 2018-02-28T23:01:05Z quazimodo joined #lisp 2018-02-28T23:02:27Z smasta quit (Ping timeout: 240 seconds) 2018-02-28T23:02:45Z damke_ quit (Ping timeout: 264 seconds) 2018-02-28T23:02:54Z deng_cn joined #lisp 2018-02-28T23:03:21Z k-stz quit (Remote host closed the connection) 2018-02-28T23:05:19Z Chream_2 quit (Read error: Connection reset by peer) 2018-02-28T23:05:20Z FreeBirdLjj joined #lisp 2018-02-28T23:05:26Z Chream_ joined #lisp 2018-02-28T23:06:54Z Bike quit (Ping timeout: 260 seconds) 2018-02-28T23:09:33Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2018-02-28T23:10:03Z trocado joined #lisp 2018-02-28T23:10:07Z froggey quit (Ping timeout: 256 seconds) 2018-02-28T23:11:39Z froggey joined #lisp 2018-02-28T23:15:08Z Meow-J_ quit (Ping timeout: 255 seconds) 2018-02-28T23:15:32Z johs quit (Ping timeout: 256 seconds) 2018-02-28T23:16:18Z cleanslate quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-28T23:16:24Z hhdave quit (Quit: hhdave) 2018-02-28T23:17:29Z johs joined #lisp 2018-02-28T23:17:41Z CEnnis91 quit (Ping timeout: 256 seconds) 2018-02-28T23:17:55Z angular_mike_ quit (Ping timeout: 265 seconds) 2018-02-28T23:19:13Z python476 quit (Ping timeout: 240 seconds) 2018-02-28T23:19:29Z FreeBirdLjj joined #lisp 2018-02-28T23:19:51Z stylewarning quit (Ping timeout: 265 seconds) 2018-02-28T23:19:52Z Meow-J_ joined #lisp 2018-02-28T23:20:12Z l1x quit (Ping timeout: 256 seconds) 2018-02-28T23:20:14Z stylewarning joined #lisp 2018-02-28T23:20:26Z CEnnis91 joined #lisp 2018-02-28T23:20:47Z p_l quit (Ping timeout: 252 seconds) 2018-02-28T23:21:18Z adulteratedjedi quit (Ping timeout: 265 seconds) 2018-02-28T23:21:25Z angular_mike_ joined #lisp 2018-02-28T23:21:27Z axg joined #lisp 2018-02-28T23:21:46Z terrorjack quit (Ping timeout: 256 seconds) 2018-02-28T23:22:04Z CEnnis91 quit (Max SendQ exceeded) 2018-02-28T23:22:16Z ggherdov quit (Ping timeout: 265 seconds) 2018-02-28T23:22:54Z tazjin quit (Ping timeout: 256 seconds) 2018-02-28T23:23:26Z l1x joined #lisp 2018-02-28T23:23:36Z alms_clozure quit (Ping timeout: 256 seconds) 2018-02-28T23:23:43Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2018-02-28T23:23:47Z CEnnis91 joined #lisp 2018-02-28T23:23:55Z p_l joined #lisp 2018-02-28T23:23:56Z l1x quit (Max SendQ exceeded) 2018-02-28T23:24:04Z terrorjack joined #lisp 2018-02-28T23:24:05Z johs quit (Ping timeout: 252 seconds) 2018-02-28T23:24:07Z p_l quit (Max SendQ exceeded) 2018-02-28T23:24:22Z tazjin joined #lisp 2018-02-28T23:24:34Z p_l joined #lisp 2018-02-28T23:24:34Z CEnnis91 quit (Max SendQ exceeded) 2018-02-28T23:24:36Z jeremyheiler quit (Ping timeout: 256 seconds) 2018-02-28T23:24:41Z jyc quit (Ping timeout: 265 seconds) 2018-02-28T23:24:41Z gendl quit (Ping timeout: 265 seconds) 2018-02-28T23:24:41Z trig-ger quit (Ping timeout: 265 seconds) 2018-02-28T23:24:44Z devlaf quit (Ping timeout: 256 seconds) 2018-02-28T23:24:45Z terrorjack quit (Max SendQ exceeded) 2018-02-28T23:25:09Z l1x joined #lisp 2018-02-28T23:25:10Z drmeister quit (Ping timeout: 265 seconds) 2018-02-28T23:25:18Z adulteratedjedi joined #lisp 2018-02-28T23:25:20Z l1x quit (Max SendQ exceeded) 2018-02-28T23:25:25Z devlaf joined #lisp 2018-02-28T23:25:33Z alms_clozure joined #lisp 2018-02-28T23:25:47Z l1x joined #lisp 2018-02-28T23:25:47Z CEnnis91 joined #lisp 2018-02-28T23:25:48Z dtornabene joined #lisp 2018-02-28T23:25:48Z p_l quit (Max SendQ exceeded) 2018-02-28T23:25:55Z johs joined #lisp 2018-02-28T23:25:58Z jeremyheiler joined #lisp 2018-02-28T23:26:01Z Tobbi quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-02-28T23:26:02Z drmeister joined #lisp 2018-02-28T23:26:05Z adulteratedjedi quit (Max SendQ exceeded) 2018-02-28T23:26:11Z CEnnis91 quit (Max SendQ exceeded) 2018-02-28T23:26:11Z p_l joined #lisp 2018-02-28T23:26:14Z l1x quit (Max SendQ exceeded) 2018-02-28T23:26:15Z drmeister quit (Max SendQ exceeded) 2018-02-28T23:26:23Z smasta joined #lisp 2018-02-28T23:26:28Z p_l quit (Max SendQ exceeded) 2018-02-28T23:26:34Z trig-ger joined #lisp 2018-02-28T23:26:35Z gendl joined #lisp 2018-02-28T23:26:40Z drmeister joined #lisp 2018-02-28T23:26:44Z l1x joined #lisp 2018-02-28T23:26:49Z terrorjack joined #lisp 2018-02-28T23:26:51Z adulteratedjedi joined #lisp 2018-02-28T23:26:52Z p_l joined #lisp 2018-02-28T23:27:00Z drmeister quit (Max SendQ exceeded) 2018-02-28T23:27:00Z CEnnis91 joined #lisp 2018-02-28T23:27:25Z drmeister joined #lisp 2018-02-28T23:27:26Z mbrock quit (Ping timeout: 256 seconds) 2018-02-28T23:27:30Z terrorjack quit (Max SendQ exceeded) 2018-02-28T23:27:33Z jyc joined #lisp 2018-02-28T23:27:34Z jyc quit (Max SendQ exceeded) 2018-02-28T23:27:57Z asedeno quit (Ping timeout: 260 seconds) 2018-02-28T23:28:22Z mbrock joined #lisp 2018-02-28T23:28:25Z ggherdov joined #lisp 2018-02-28T23:28:31Z terrorjack joined #lisp 2018-02-28T23:28:45Z asedeno joined #lisp 2018-02-28T23:28:56Z jyc joined #lisp 2018-02-28T23:29:39Z dmiles quit (Ping timeout: 268 seconds) 2018-02-28T23:30:16Z Amplituhedron joined #lisp 2018-02-28T23:38:39Z FreeBirdLjj joined #lisp 2018-02-28T23:39:37Z dmiles joined #lisp 2018-02-28T23:42:12Z Bike joined #lisp 2018-02-28T23:43:32Z FreeBirdLjj quit (Ping timeout: 265 seconds) 2018-02-28T23:44:33Z Chream_ quit (Ping timeout: 240 seconds) 2018-02-28T23:44:45Z FreeBirdLjj joined #lisp 2018-02-28T23:49:32Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-02-28T23:53:17Z trocado quit (Remote host closed the connection) 2018-02-28T23:56:53Z al-damiri joined #lisp