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 functio