2016-12-01T00:00:37Z robotoad quit (Quit: robotoad) 2016-12-01T00:00:40Z White_Flame: but there are certainly good practices and rules of thumb to follow, without going to extremes 2016-12-01T00:00:52Z swflint_away is now known as swflint 2016-12-01T00:01:16Z whartung: no, but perhaps in that instance the "2" is rather important to the proces going on, and a quick "Bumping by 2 to skip filler byte" might be useful 2016-12-01T00:01:24Z White_Flame: exactly 2016-12-01T00:02:35Z fiddlerwoaroof just received a hardcopy of PAIP 2016-12-01T00:02:46Z shka: nice! 2016-12-01T00:02:50Z shka: i have one as well 2016-12-01T00:02:53Z whartung: heh wow 2016-12-01T00:02:57Z shka: good night 2016-12-01T00:03:08Z shka: oh, moment 2016-12-01T00:03:52Z shka: i'm looking for example of CL-PREVALENCE in action 2016-12-01T00:03:55Z whartung: yea, I've had that one for *cough* 22 years... 2016-12-01T00:03:58Z swflint is now known as swflint_away 2016-12-01T00:04:02Z al-damiri quit (Quit: Connection closed for inactivity) 2016-12-01T00:04:49Z cromachina joined #lisp 2016-12-01T00:06:03Z akkad: shka: just looking to store objects? cl-store is great 2016-12-01T00:06:37Z shka: i can use cl-store 2016-12-01T00:06:42Z shka: thanks 2016-12-01T00:06:57Z fiddlerwoaroof: Did you decide against manardb? 2016-12-01T00:07:27Z shka: no, it is just for that slack bot we will be writing tomorrow 2016-12-01T00:07:43Z shka: i need something as simple, as possible 2016-12-01T00:07:56Z whartung: I haven't heard of prevalance in years... 2016-12-01T00:08:17Z shka: i was using it in the past 2016-12-01T00:08:22Z shka: was working fine 2016-12-01T00:08:23Z whartung: Clisp, OpenMCL and Allegro CL do not support serializing structure instances. :( wow bummer 2016-12-01T00:08:25Z _death: fact-base is also simple 2016-12-01T00:08:47Z fiddlerwoaroof: shka: you might just consider dumping JSON into files, since you'll have to deal with JSON for the slackbot anyways 2016-12-01T00:09:22Z CEnnis91 quit (Quit: Connection closed for inactivity) 2016-12-01T00:09:34Z shka: fiddlerwoaroof: i don't like json that much 2016-12-01T00:09:44Z shka: cl-store seems to be just fine 2016-12-01T00:09:50Z shka: ok, enough of that 2016-12-01T00:09:57Z shka: i need to go to work tomorrow 2016-12-01T00:10:02Z shka: or actually today :/ 2016-12-01T00:10:07Z shka: good night! 2016-12-01T00:10:18Z whartung: that's funny, because in Clisp, structs are implemented as CLOS instances... 2016-12-01T00:10:56Z shka: whartung: more like objects with struct metaclass 2016-12-01T00:11:37Z akkad: manardb ftw 2016-12-01T00:11:49Z akkad: shka:manardb works on sbcl/allegro/lispworks/ccl fine 2016-12-01T00:12:39Z fiddlerwoaroof: shka: well, you're going to have to deal with JSON anyways for a slackbot, if you use the websocket API 2016-12-01T00:12:59Z fiddlerwoaroof: You could also use a web framework, webhooks and the rest api, I suppsoe 2016-12-01T00:15:28Z shka quit (Ping timeout: 260 seconds) 2016-12-01T00:16:20Z CEnnis91 joined #lisp 2016-12-01T00:17:32Z akkad has some docs for manardb to commit to the fork 2016-12-01T00:21:49Z xaotuk quit (Ping timeout: 260 seconds) 2016-12-01T00:27:49Z swflint_away is now known as swflint 2016-12-01T00:29:12Z slyrus_ quit (Ping timeout: 250 seconds) 2016-12-01T00:32:28Z robotoad joined #lisp 2016-12-01T00:36:28Z swflint is now known as swflint_away 2016-12-01T00:37:24Z xqbt joined #lisp 2016-12-01T00:37:44Z swflint_away is now known as swflint 2016-12-01T00:40:12Z swflint is now known as swflint_away 2016-12-01T00:41:23Z Zotan quit (Remote host closed the connection) 2016-12-01T00:42:36Z Jubb joined #lisp 2016-12-01T00:42:52Z william_1 joined #lisp 2016-12-01T00:42:57Z william_1 is now known as williamyaoh 2016-12-01T00:43:10Z xqbt: Hi guys. I am trying to turn my program into a package. So, what I have done so far is this. First, I created package.lisp file in which I wrote defpackage with exported functions and usual :use :cl stuff. Second, I created asd file with defsystem and listed the my project's file's with it. 2016-12-01T00:43:13Z swflint_away is now known as swflint 2016-12-01T00:43:23Z xqbt: Now, I use alexandria library, do I just need to list it in depends-on of defsystem? 2016-12-01T00:44:00Z Zotan joined #lisp 2016-12-01T00:45:08Z sharkteeth quit (Quit: Textual IRC Client: www.textualapp.com) 2016-12-01T00:46:43Z Spelndid quit (Quit: Konversation terminated!) 2016-12-01T00:46:49Z fiddlerwoaroof: Yeah 2016-12-01T00:47:38Z fiddlerwoaroof: If you want to load it via ASDF or Quicklisp, you also have to put it somewhere ASDF can find it 2016-12-01T00:47:51Z swflint is now known as swflint_away 2016-12-01T00:48:05Z fiddlerwoaroof: for example ln -s $MY_SYSTEM_ROOT_DIRECTORY $HOME/quicklisp/local-projects/ 2016-12-01T00:48:23Z fiddlerwoaroof: (on unix-likes, at least) 2016-12-01T00:49:01Z swflint_away is now known as swflint 2016-12-01T00:49:56Z xqbt: fiddlerwoarroof: ok, i will put the project in a place where asdf can find it. I want to probably use quicklisp in the future though. Is using asdf:defsystem OK? 2016-12-01T00:50:45Z fiddlerwoaroof: Yes, quicklisp is built on ASDF: it's just a way to find and load ASDF systems 2016-12-01T00:51:51Z xqbt: oh, I see. And about alexandria, after listing it in depends-on, do I still need to ql:quickload it somewhere in my project? 2016-12-01T00:53:25Z fiddlerwoaroof: No, when you ql:quickload your project, it'll pull in alexandria automatically 2016-12-01T00:53:57Z fiddlerwoaroof: quickproject is an easy way to get started with an ASDF system. 2016-12-01T00:54:07Z fiddlerwoaroof: http://www.xach.com/lisp/quickproject/ 2016-12-01T00:55:44Z fiddlerwoaroof: xqbt: http://xach.livejournal.com/278047.html 2016-12-01T00:56:32Z fiddlerwoaroof: Especially the last comment 2016-12-01T00:56:54Z xqbt: fiddlerwoaroof: thank you, right on it 2016-12-01T00:59:23Z macdavid313 quit (Ping timeout: 250 seconds) 2016-12-01T01:00:36Z borodust left #lisp 2016-12-01T01:02:10Z Harag joined #lisp 2016-12-01T01:03:10Z shdeng joined #lisp 2016-12-01T01:06:14Z akkad: shka: there is a fork for osx/bsd that does not use mremap. 2016-12-01T01:06:43Z akkad: shka: http://github.com/ober/manardb is a fork of the work done with additional docs to be added 2016-12-01T01:11:06Z xqbt: fiddlerwoaroof: so, I threw my project into ~/quicklisp/local-projects/ and so .asd file is now located at ~/quicklisp/local-projects/cl-neat/cl-neat.asd but executing (ql:quickload cl-neat) errors "cl-neat is unbounded". What did I miss... 2016-12-01T01:11:06Z fiddlerwoaroof: You have to make cl-neat a string or a keyword 2016-12-01T01:11:06Z fiddlerwoaroof: Lisp thinks it a variable the way you specified it there. 2016-12-01T01:11:07Z fiddlerwoaroof: (i.e. (ql:quickload :cl-neat)) 2016-12-01T01:11:07Z xqbt: ooooh 2016-12-01T01:11:07Z xqbt: i will try it 2016-12-01T01:11:07Z xqbt: nice, the error is gone, thanks! 2016-12-01T01:11:07Z kami quit (Read error: Connection reset by peer) 2016-12-01T01:11:15Z kami joined #lisp 2016-12-01T01:17:29Z cibs quit (Ping timeout: 268 seconds) 2016-12-01T01:17:36Z xqbt quit (Ping timeout: 260 seconds) 2016-12-01T01:19:03Z cibs joined #lisp 2016-12-01T01:19:36Z Petit_Dejeuner joined #lisp 2016-12-01T01:21:35Z al-damiri joined #lisp 2016-12-01T01:29:13Z EvW1 quit (Ping timeout: 245 seconds) 2016-12-01T01:31:10Z Harag quit (Ping timeout: 250 seconds) 2016-12-01T01:37:15Z FreeBirdLjj joined #lisp 2016-12-01T01:38:08Z rszeno joined #lisp 2016-12-01T01:41:39Z FreeBirdLjj quit (Ping timeout: 246 seconds) 2016-12-01T01:42:59Z creat quit (Max SendQ exceeded) 2016-12-01T01:43:20Z creat joined #lisp 2016-12-01T01:43:57Z attila_lendvai quit (Ping timeout: 260 seconds) 2016-12-01T01:44:10Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2016-12-01T01:44:24Z warweasle joined #lisp 2016-12-01T01:44:26Z pierpa quit (Ping timeout: 250 seconds) 2016-12-01T01:45:04Z Niac joined #lisp 2016-12-01T01:45:34Z stardiviner joined #lisp 2016-12-01T01:45:49Z mishoo quit (Ping timeout: 260 seconds) 2016-12-01T01:50:16Z krwq joined #lisp 2016-12-01T01:50:45Z stardiviner quit (Ping timeout: 246 seconds) 2016-12-01T01:50:52Z krwq: hey, how do you export (defun (setf xyz)) in a package definition? 2016-12-01T01:52:15Z warweasle: krwq: Just #:xyz 2016-12-01T01:52:43Z krwq: thanks warweasle! 2016-12-01T01:53:27Z krwq: i am planning to export both but just wondering if i wanted to have setf be accessible only in the package is there a way to export xyz but not setf xyz? 2016-12-01T01:54:35Z warweasle quit (Read error: Connection reset by peer) 2016-12-01T01:54:39Z antoszka quit (Quit: WeeChat 0.4.2) 2016-12-01T01:54:58Z White_Flame: you export symbols, not functionality 2016-12-01T01:55:14Z axion: Yeah, just don't import :cl 2016-12-01T01:55:27Z White_Flame: if you export xyz, then (setf xyz), slot-value of xyz, etc all become visible 2016-12-01T01:57:08Z krwq: i see - thank you! 2016-12-01T01:57:22Z marusich quit (Quit: Leaving) 2016-12-01T01:59:43Z sellout- joined #lisp 2016-12-01T02:04:37Z stardiviner joined #lisp 2016-12-01T02:05:16Z krwq: also another question: when you get compile error in slime (i.e. when writing your package and quickloading it), is there some way of figuring out where in the code that is? I'm getting some cryptic error and no line number or an approximate place where that is 2016-12-01T02:05:58Z fiddlerwoaroof: The repl buffer sometimes have information not in the debugger 2016-12-01T02:06:22Z krwq: what do you mean? 2016-12-01T02:07:00Z fiddlerwoaroof: You should have a buffer *slime-repl sbcl*, sometimes information is put there that doesn't show up in the buffer that pops up on an error 2016-12-01T02:07:37Z krwq: nah, it just says loading "mypackage" 2016-12-01T02:07:57Z fiddlerwoaroof: Also, you can set *break-on-signals* to t, which sometimes helps show errors that would otherwise be muffled 2016-12-01T02:08:41Z LooneyTu` quit (Ping timeout: 260 seconds) 2016-12-01T02:08:49Z fiddlerwoaroof: Also, maybe setting ql:*quickload-verbose* to t would help get more info? 2016-12-01T02:10:35Z krwq: after is set *break-on-signals* i'm getting "failed to find the WRITE-DATE of .../.cache/common-lisp/sbcl-..." 2016-12-01T02:10:45Z krwq: do i need to clean up some temp files perhaps? 2016-12-01T02:11:13Z fiddlerwoaroof: maybe, also, sometimes, break-on-signals will display irrelevant errors that were handled 2016-12-01T02:11:35Z fiddlerwoaroof: Try continuing until you get the error you got before and then look at the error just before that 2016-12-01T02:11:44Z krwq: what do you usually need to clean? i saw some fasl files appearing 2016-12-01T02:11:49Z krwq: ok will try 2016-12-01T02:12:18Z fiddlerwoaroof: It can be helpful just to delete ~/.cache/common-lisp/* 2016-12-01T02:15:50Z FreeBirdLjj joined #lisp 2016-12-01T02:16:11Z krwq: that's weird i found what the issue was: i forgot to add a file to a package - but the error was super cryptic. I had the macro defined in a missing file and instead of complaining that the macro is missing i got an error that it doesn't know what the arg is 2016-12-01T02:16:15Z stardiviner quit (Ping timeout: 260 seconds) 2016-12-01T02:16:56Z fiddlerwoaroof: That's the kind of error you get when you're missing a macro 2016-12-01T02:17:25Z krwq: (i-do-not-exist x y) should display that i-do-not-exist doesn't exist and not that X is unbound 2016-12-01T02:17:46Z fiddlerwoaroof: Macros change the way a form is executed, since they are expanded before the form is evaluated 2016-12-01T02:18:24Z fiddlerwoaroof: So, the evaluator doesn't understand how to process an undefined macro, so it treats it like a regular function call. 2016-12-01T02:19:03Z fiddlerwoaroof: But that means that, it evaluates are the arguments first and then tries to apply the function: so, if one of the arguments is a symbol without a value, evaluating it will produce a "unbound value error" 2016-12-01T02:19:06Z krwq: ok, i haven't given enough thought if this is detectable but seems like whatever missing higher in sexp hierarchy should be reported sooner IMO 2016-12-01T02:19:11Z fiddlerwoaroof: There isn't really anything you can do about this. 2016-12-01T02:19:36Z fiddlerwoaroof: Because, macros can change the syntax in arbitrary ways and they can introduce new bindings 2016-12-01T02:19:43Z krwq: of course there is - in any other language idonotexist(idontexisteither) will tell you about missing function not the arg 2016-12-01T02:19:54Z fiddlerwoaroof: A macro isn't a function 2016-12-01T02:20:19Z krwq: true but if a function or macro is missing why is it evaling args 2016-12-01T02:20:20Z fiddlerwoaroof: It's a program that changes the source code to be evaluated. 2016-12-01T02:20:47Z krwq: evaling args should be first if we have a function but since idonotexist is unbound why is it evaling args? 2016-12-01T02:20:49Z fiddlerwoaroof: Running lisp code is basically (eval (macroexpand (read my-source-code))) 2016-12-01T02:21:24Z fiddlerwoaroof: krwq: because, since the macro wasn't around to be expanded, the evaluator thinks that it's a function call. 2016-12-01T02:21:28Z krwq: so macroexpansion couldn't happen because one of the macros was missing - still doesn't explain not intuitive error 2016-12-01T02:21:48Z krwq: one way or the other it should report missing func/macro first 2016-12-01T02:22:06Z fiddlerwoaroof: It's impossible for the macroexpander to know if idontexist names a macro to be expanded or a function to be called, if the macro doesn't exist yet. 2016-12-01T02:22:38Z krwq: fiddlerwoaroof: so it can't tell if func or macro doesn't exist but can tell something about args? 2016-12-01T02:23:13Z fiddlerwoaroof: The evaluator can tell if a function doesn't exist or if a symbol isn't bound 2016-12-01T02:23:23Z fiddlerwoaroof: But macroexpansion happens before evaluation. 2016-12-01T02:23:50Z krwq: type in your repl (asdadasdas foo) and you will not get anything about missing function asdasdasd 2016-12-01T02:24:41Z krwq: at least not on sbcl 2016-12-01T02:25:50Z manuel__ joined #lisp 2016-12-01T02:25:57Z krwq: IMO decision if args should be checked should be based on the fact if it is macro or func and since it doesn't know i should get an error about missing asdasdasd 2016-12-01T02:27:13Z krwq: but even if i got some more context about the form being evaluated it would be more helpful than "arg is unbound" 2016-12-01T02:29:45Z FreeBirdLjj quit (Remote host closed the connection) 2016-12-01T02:35:33Z arescorpio joined #lisp 2016-12-01T02:43:59Z ASau quit (Remote host closed the connection) 2016-12-01T02:44:13Z lemoinem quit (Ping timeout: 245 seconds) 2016-12-01T02:44:28Z lemoinem joined #lisp 2016-12-01T02:44:52Z ASau joined #lisp 2016-12-01T02:45:03Z fiddlerwoaroof: (foo (defun foo (x) (format nil "Foo is ~s" x))) #| => "Foo is FOO" |# 2016-12-01T02:45:28Z fiddlerwoaroof: Evaluating the argument, in that case, produces the function called in the outer s-expression 2016-12-01T02:46:16Z fiddlerwoaroof: So, there is no way to know whether or not the function being called exists without evaluating the arguments. And, it's just impossible for the implementation to determine if a macro should be expanded. 2016-12-01T02:46:48Z fiddlerwoaroof: s/should be/should have been/ 2016-12-01T02:47:07Z krwq quit (Remote host closed the connection) 2016-12-01T02:47:41Z fiddlerwoaroof: clhs 3.1.2.1.2 2016-12-01T02:47:41Z specbot: Conses as Forms: http://www.lispworks.com/reference/HyperSpec/Body/03_abab.htm 2016-12-01T02:47:56Z fiddlerwoaroof: krwq: that ^ might help understand why you get the error you get. 2016-12-01T02:49:14Z FreeBirdLjj joined #lisp 2016-12-01T02:53:16Z White_Flame: but in the Function Forms section, it states very early " When a function name is not defined, an error of type undefined-function should be signaled at run time; see Section 3.2.2.3 (Semantic Constraints). " 2016-12-01T02:53:32Z tmtwd joined #lisp 2016-12-01T02:54:08Z fiddlerwoaroof: But, the order of evaluation is arguments -> functions. So, you first get evaluation errors from problems with arguments and then you get argument errors from undefined functions, right? 2016-12-01T02:56:59Z fiddlerwoaroof: Hmm, that's undefined. So, the example I gave is non-conforming, but permissible 2016-12-01T02:57:48Z fiddlerwoaroof: wrong phrasing, it's not the required result, but it is a permitted result 2016-12-01T02:59:15Z fiddlerwoaroof: And... ACL doesn't interpret it the way sbcl/ecl/ccl do 2016-12-01T02:59:39Z stardiviner joined #lisp 2016-12-01T03:02:06Z Tex_Nick left #lisp 2016-12-01T03:06:17Z bocaneri joined #lisp 2016-12-01T03:10:08Z robotoad quit (Quit: robotoad) 2016-12-01T03:13:25Z TDT quit (Quit: TDT) 2016-12-01T03:17:16Z robotoad joined #lisp 2016-12-01T03:18:39Z fiddlerwoaroof: How various implementations treat definition of a function in the arguments it is called with http://paste.lisp.org/+74WW 2016-12-01T03:20:05Z manuel__ quit (Quit: manuel__) 2016-12-01T03:23:57Z BusFactor1 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2016-12-01T03:27:58Z tmtwd quit (Ping timeout: 245 seconds) 2016-12-01T03:29:17Z stardiviner quit (Ping timeout: 240 seconds) 2016-12-01T03:32:46Z fisxoj joined #lisp 2016-12-01T03:36:23Z arescorpio quit (Quit: Leaving.) 2016-12-01T03:37:18Z SAL9000 joined #lisp 2016-12-01T03:37:38Z williamyaoh quit (Quit: leaving) 2016-12-01T03:40:03Z TDT joined #lisp 2016-12-01T03:42:30Z gmcastil joined #lisp 2016-12-01T03:43:11Z stardiviner joined #lisp 2016-12-01T03:43:53Z DeadTrickster quit (Ping timeout: 260 seconds) 2016-12-01T03:44:50Z gmcastil` joined #lisp 2016-12-01T03:46:15Z DeadTrickster joined #lisp 2016-12-01T03:46:57Z gmcastil quit (Ping timeout: 240 seconds) 2016-12-01T03:50:05Z tmtwd joined #lisp 2016-12-01T03:58:33Z marusich joined #lisp 2016-12-01T03:59:17Z gmcastil` quit (Ping timeout: 260 seconds) 2016-12-01T04:07:37Z TDT quit (Quit: TDT) 2016-12-01T04:14:02Z al-damiri quit (Quit: Connection closed for inactivity) 2016-12-01T04:17:06Z brfennpocock joined #lisp 2016-12-01T04:24:23Z vicfred joined #lisp 2016-12-01T04:30:20Z ASau quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2016-12-01T04:31:25Z kobain quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2016-12-01T04:44:10Z heddwch is now known as sammwch 2016-12-01T04:46:40Z kregol quit (Quit: Lost terminal) 2016-12-01T04:47:20Z swflint is now known as swflint_away 2016-12-01T04:47:22Z alpert quit (Remote host closed the connection) 2016-12-01T04:47:30Z beach: Good morning everyone! 2016-12-01T04:47:57Z alpert joined #lisp 2016-12-01T04:48:50Z sammwch is now known as pidyn 2016-12-01T04:49:23Z CEnnis91 quit (Quit: Connection closed for inactivity) 2016-12-01T04:52:30Z alpert quit (Ping timeout: 265 seconds) 2016-12-01T04:54:40Z kami: Good morning beach! 2016-12-01T04:55:06Z akkad: 20k inserts/sec/cpu. manardb ftw 2016-12-01T04:55:39Z JuanDaugherty: yello beach 2016-12-01T04:56:17Z pidyn is now known as heddwch 2016-12-01T04:58:38Z CEnnis91 joined #lisp 2016-12-01T05:04:39Z stardiviner quit (Quit: WeeChat 1.6) 2016-12-01T05:04:46Z loke` joined #lisp 2016-12-01T05:04:58Z rszeno quit (Quit: Leaving.) 2016-12-01T05:07:05Z HammyJammy joined #lisp 2016-12-01T05:09:25Z tmtwd quit (Ping timeout: 250 seconds) 2016-12-01T05:10:37Z Jammyham quit (Ping timeout: 240 seconds) 2016-12-01T05:12:33Z marusich quit (Ping timeout: 245 seconds) 2016-12-01T05:16:13Z kami quit (Ping timeout: 268 seconds) 2016-12-01T05:17:24Z ak5 quit (Ping timeout: 260 seconds) 2016-12-01T05:19:09Z william3 joined #lisp 2016-12-01T05:21:02Z Jubb quit (Remote host closed the connection) 2016-12-01T05:21:04Z Jammyham joined #lisp 2016-12-01T05:22:43Z sdothum quit (Quit: ZNC - 1.6.0 - http://znc.in) 2016-12-01T05:23:43Z william3 quit (Ping timeout: 250 seconds) 2016-12-01T05:24:17Z sdothum joined #lisp 2016-12-01T05:24:20Z fisxoj quit (Quit: fisxoj) 2016-12-01T05:24:37Z HammyJammy quit (Ping timeout: 258 seconds) 2016-12-01T05:28:24Z sdothum quit (Client Quit) 2016-12-01T05:28:54Z marusich joined #lisp 2016-12-01T05:30:37Z sdothum joined #lisp 2016-12-01T05:30:49Z sdothum quit (Remote host closed the connection) 2016-12-01T05:31:26Z JitanRo joined #lisp 2016-12-01T05:31:54Z JitanRo quit (Client Quit) 2016-12-01T05:32:03Z LooneyTu` joined #lisp 2016-12-01T05:32:27Z JitanRo joined #lisp 2016-12-01T05:32:39Z vlatkoB joined #lisp 2016-12-01T05:34:02Z sdothum joined #lisp 2016-12-01T05:34:29Z JitanRo left #lisp 2016-12-01T05:37:50Z macdavid313 joined #lisp 2016-12-01T05:40:09Z sdothum quit (Quit: ZNC - 1.6.0 - http://znc.in) 2016-12-01T05:41:13Z sdothum joined #lisp 2016-12-01T05:41:18Z macdavid313 quit (Client Quit) 2016-12-01T05:42:04Z macdavid313 joined #lisp 2016-12-01T05:42:23Z LooneyTu` quit (Remote host closed the connection) 2016-12-01T05:43:17Z nowhere_man quit (Ping timeout: 240 seconds) 2016-12-01T05:44:47Z FreeBirdLjj quit (Remote host closed the connection) 2016-12-01T05:47:52Z alpert joined #lisp 2016-12-01T05:48:33Z kami joined #lisp 2016-12-01T05:53:03Z LooneyTu` joined #lisp 2016-12-01T06:06:45Z macdavid313 quit 2016-12-01T06:09:10Z cibs quit (Ping timeout: 268 seconds) 2016-12-01T06:10:52Z cibs joined #lisp 2016-12-01T06:12:37Z rpg quit (Ping timeout: 240 seconds) 2016-12-01T06:12:59Z neoncontrails quit (Remote host closed the connection) 2016-12-01T06:17:33Z paroneayea quit (Ping timeout: 245 seconds) 2016-12-01T06:19:55Z paroneayea joined #lisp 2016-12-01T06:26:28Z vibs29 quit (Ping timeout: 260 seconds) 2016-12-01T06:27:19Z robotoad quit (Quit: robotoad) 2016-12-01T06:28:35Z stepnem joined #lisp 2016-12-01T06:31:03Z marusich quit (Ping timeout: 260 seconds) 2016-12-01T06:31:04Z vibs29 joined #lisp 2016-12-01T06:34:05Z flamebeard joined #lisp 2016-12-01T06:34:30Z tmtwd joined #lisp 2016-12-01T06:39:51Z Karl_Dscc joined #lisp 2016-12-01T06:46:15Z ASau joined #lisp 2016-12-01T06:46:48Z jleija joined #lisp 2016-12-01T06:47:08Z marusich joined #lisp 2016-12-01T06:49:54Z jleija quit (Client Quit) 2016-12-01T06:50:09Z robotoad joined #lisp 2016-12-01T06:52:48Z MolluskEmpire joined #lisp 2016-12-01T06:56:06Z flip214: Can I get SBCL to do loop-unrolling for a (REDUCE #'+ (MAPCAR #'* array1 +coefficients+))? I can make sure that array1 has at least (or the same number of) values as +coeff+. 2016-12-01T06:59:43Z nowhere_man joined #lisp 2016-12-01T07:05:11Z alpert quit (Read error: Connection reset by peer) 2016-12-01T07:05:27Z alpert joined #lisp 2016-12-01T07:05:44Z fourier quit (Ping timeout: 256 seconds) 2016-12-01T07:07:03Z aeth: this is interesting... (log (+ (abs most-negative-fixnum) most-positive-fixnum 1) 2) 2016-12-01T07:08:06Z aeth: The answer to that, as an integer n, is the '(signed byte n) that is the fixnum in your implementation 2016-12-01T07:08:55Z Karl_Dscc quit (Remote host closed the connection) 2016-12-01T07:09:42Z Bike: you could just do (integer-length most-positive fixnum) 2016-12-01T07:09:44Z Bike: plus one, maybe 2016-12-01T07:09:45Z aeth: SBCL uses a (signed-byte 63), ECL uses a (signed-byte 62), CCL uses a (signed-byte 61) 2016-12-01T07:09:46Z shka joined #lisp 2016-12-01T07:10:21Z aeth: Bike: plus one, always 2016-12-01T07:11:31Z aeth: And CLISP uses a (signed-byte 49) 2016-12-01T07:11:36Z brfennpocock: flip214: if it does not already, you could surely define a compiler macro to do so, if it's significant 2016-12-01T07:11:41Z aeth: Now I just need to find the 12 implementations between CCL and CLISP... 2016-12-01T07:13:33Z neoncontrails joined #lisp 2016-12-01T07:13:38Z Niac_ joined #lisp 2016-12-01T07:13:47Z kami quit (Ping timeout: 250 seconds) 2016-12-01T07:14:20Z Niac quit (Read error: Connection reset by peer) 2016-12-01T07:14:20Z White_Flame: (11 implementations) 2016-12-01T07:14:38Z aeth: so I too fell victim to an off by one error 2016-12-01T07:15:12Z aeth: If humanity goes extinct, it'll probably be something like an off by one error 2016-12-01T07:15:28Z brfennpocock: #9r12 implementations. 2016-12-01T07:15:29Z sdothum quit (Quit: ZNC - 1.6.0 - http://znc.in) 2016-12-01T07:16:57Z flip214: brfennpocock: of course, or I could rewrite as a loop, and have a some kind of macro expand that, etc. 2016-12-01T07:17:25Z flip214: I'd like to know whether loop unrolling is even possible within SBCL, and what pieces of data must be known to the compiler to do that. 2016-12-01T07:20:26Z brfennpocock: Belatedly: (mapcar … ARRAY …) isn't going to do much though. (map 'vector ) perhaps 2016-12-01T07:21:34Z shka: flip214: it is not worth the hassle 2016-12-01T07:26:12Z gomoku5dot5 joined #lisp 2016-12-01T07:28:30Z nowhere_man quit (Ping timeout: 250 seconds) 2016-12-01T07:29:24Z flip214: shka: well, the assembler output doesn't look as nice as the https://ruudvanasseldonk.com/2016/11/30/zero-cost-abstractions one... 2016-12-01T07:29:30Z gomoku5dot5 quit (Quit: Leaving) 2016-12-01T07:30:25Z flip214: haven't benchmarked, but all the looping (and still-existing type-checks?!) make it surely much slower. 2016-12-01T07:30:34Z grublet quit (Quit: Leaving) 2016-12-01T07:31:01Z flip214: yeah, I'm well aware that the example above heavily benefits from C-like "ignore overflows" behaviour. 2016-12-01T07:31:01Z fourier joined #lisp 2016-12-01T07:31:40Z fisxoj joined #lisp 2016-12-01T07:34:13Z Zhivago: C doesn't ignore overflows. 2016-12-01T07:34:18Z django_ joined #lisp 2016-12-01T07:34:24Z Zhivago: It has undefined behavior on overflow. :) 2016-12-01T07:35:00Z brfennpocock: *shrug* Why not implement the same 2016-12-01T07:35:31Z brfennpocock: … fn in CL, add some declarations, and see what comes out the other side? 2016-12-01T07:36:02Z flip214: http://paste.lisp.org/display/332972 in case anyone's interested 2016-12-01T07:38:32Z aeth: someone should write a C that does random behavior during its undefined behavior :) 2016-12-01T07:38:41Z django_: what kind of software re you all working on 2016-12-01T07:39:19Z brfennpocock: aeth: You might have some hope of convincing the Valgrind folks to do that :-) 2016-12-01T07:39:30Z tmtwd quit (Ping timeout: 250 seconds) 2016-12-01T07:39:54Z scymtym quit (Ping timeout: 268 seconds) 2016-12-01T07:40:05Z shka: flip214: "surely" [-) 2016-12-01T07:40:09Z shka: ;-) 2016-12-01T07:40:41Z alpert_ joined #lisp 2016-12-01T07:41:03Z shka: flip214: benchmark first 2016-12-01T07:41:07Z brfennpocock: With SBCL 1.3.4-1.fc24 x64 ⤇ 232 bytes. (The paste = 353) 2016-12-01T07:41:24Z fisxoj left #lisp 2016-12-01T07:41:40Z angavrilov joined #lisp 2016-12-01T07:42:48Z flip214: shka: compare the asm output in the article, and the one I got. then come back and tell me with a straight face that it's the same performance. 2016-12-01T07:42:59Z shka: heh 2016-12-01T07:43:00Z fourier quit (Ping timeout: 258 seconds) 2016-12-01T07:43:00Z alpert quit (Ping timeout: 258 seconds) 2016-12-01T07:43:11Z brfennpocock: http://paste.lisp.org/+74X9 if you care to compare 2016-12-01T07:43:32Z shka: flip214: sure, but if difference is ~5% than i don't care ;-) 2016-12-01T07:43:50Z shka: and without benchmark, we can't tell if it is or it is not 2016-12-01T07:44:31Z Zhivago: I think that tendra had some option lie that. 2016-12-01T07:47:56Z flip214: brfennpocock: yeah, that looks faster. 2016-12-01T07:48:34Z brfennpocock: Although CONS a list in MAPCAR feels rather wrong to me 2016-12-01T07:49:25Z flip214: shka: If I knew how to get the unrolled version in sbcl, I'd like to compare the performance... 2016-12-01T07:55:27Z tmtwd joined #lisp 2016-12-01T07:57:37Z brfennpocock: paste.lisp.org/+74xa is shorter with stdutils:sum-array / map 'vector; but … 2016-12-01T08:01:57Z yeticry quit (Read error: Connection reset by peer) 2016-12-01T08:02:50Z robotoad quit (Quit: robotoad) 2016-12-01T08:06:21Z flip214: with #'* I always get a GENERIC-*; but with the lambda and DECLARE the typechecks are inserted. hmmm. 2016-12-01T08:06:29Z yeticry joined #lisp 2016-12-01T08:07:37Z flip214: hmm, no. the type-checks were due to an (old) sb-c::restrict-compiler-policy in my image. 2016-12-01T08:08:27Z clintm quit (Ping timeout: 252 seconds) 2016-12-01T08:08:59Z xaotuk joined #lisp 2016-12-01T08:10:50Z oleo quit (Quit: Leaving) 2016-12-01T08:12:28Z _main_ joined #lisp 2016-12-01T08:12:30Z Keep0wer joined #lisp 2016-12-01T08:12:32Z Keep0wer quit (Max SendQ exceeded) 2016-12-01T08:12:58Z Keep0wer joined #lisp 2016-12-01T08:15:57Z __main__ quit (Ping timeout: 260 seconds) 2016-12-01T08:16:39Z _main_ is now known as __main__ 2016-12-01T08:19:38Z LooneyTu` quit (Ping timeout: 245 seconds) 2016-12-01T08:23:52Z antoszka joined #lisp 2016-12-01T08:23:56Z el-mikl_ joined #lisp 2016-12-01T08:24:00Z ASau quit (Read error: Connection reset by peer) 2016-12-01T08:24:09Z el-mikl quit (Read error: Connection reset by peer) 2016-12-01T08:24:12Z django_: do you ever use decision trees 2016-12-01T08:24:21Z ASau joined #lisp 2016-12-01T08:25:23Z TMA quit (Ping timeout: 260 seconds) 2016-12-01T08:25:30Z TMA joined #lisp 2016-12-01T08:26:08Z xaotuk quit (Ping timeout: 265 seconds) 2016-12-01T08:26:09Z voidlily quit (Ping timeout: 268 seconds) 2016-12-01T08:26:17Z edgar-rft always tries to avoid decisions 2016-12-01T08:26:45Z django_: edgar-rft, haha 2016-12-01T08:27:25Z shdeng quit (Ping timeout: 244 seconds) 2016-12-01T08:28:56Z myrkraverk_ joined #lisp 2016-12-01T08:29:07Z zymurgy quit (Ping timeout: 260 seconds) 2016-12-01T08:29:55Z mvilleneuve joined #lisp 2016-12-01T08:30:00Z myrkraverk quit (Ping timeout: 244 seconds) 2016-12-01T08:30:02Z myrkraverk_ is now known as myrkraverk 2016-12-01T08:30:53Z tmtwd quit (Ping timeout: 245 seconds) 2016-12-01T08:34:43Z Cthulhux` quit (Ping timeout: 260 seconds) 2016-12-01T08:35:40Z mach quit (Ping timeout: 260 seconds) 2016-12-01T08:36:08Z add^_ quit (Ping timeout: 260 seconds) 2016-12-01T08:36:08Z Velveeta_Chef quit (Ping timeout: 260 seconds) 2016-12-01T08:36:15Z add^_ joined #lisp 2016-12-01T08:36:35Z dwts quit (Ping timeout: 260 seconds) 2016-12-01T08:36:54Z scymtym joined #lisp 2016-12-01T08:37:02Z megalography left #lisp 2016-12-01T08:38:02Z dwts joined #lisp 2016-12-01T08:38:35Z shdeng joined #lisp 2016-12-01T08:39:02Z Cthulhux joined #lisp 2016-12-01T08:39:33Z fourier joined #lisp 2016-12-01T08:40:02Z Velveeta_Chef joined #lisp 2016-12-01T08:40:02Z Velveeta_Chef quit (Changing host) 2016-12-01T08:40:02Z Velveeta_Chef joined #lisp 2016-12-01T08:40:57Z shdeng quit (Client Quit) 2016-12-01T08:41:24Z rumbler31 joined #lisp 2016-12-01T08:42:05Z gingerale joined #lisp 2016-12-01T08:42:49Z mach joined #lisp 2016-12-01T08:43:57Z fourier quit (Ping timeout: 260 seconds) 2016-12-01T08:44:23Z lemonpie quit (Quit: WeeChat 1.7-dev) 2016-12-01T08:45:52Z rumbler31 quit (Ping timeout: 258 seconds) 2016-12-01T08:47:58Z lemonpie joined #lisp 2016-12-01T08:50:35Z burtons quit (Ping timeout: 260 seconds) 2016-12-01T08:52:49Z varjag joined #lisp 2016-12-01T08:53:56Z zymurgy joined #lisp 2016-12-01T08:56:08Z alpert_ quit (Remote host closed the connection) 2016-12-01T08:56:41Z alpert joined #lisp 2016-12-01T09:00:02Z ovenpasta joined #lisp 2016-12-01T09:00:37Z hlavaty joined #lisp 2016-12-01T09:00:49Z alpert quit (Ping timeout: 250 seconds) 2016-12-01T09:01:40Z vlatkoB_ joined #lisp 2016-12-01T09:02:15Z neoncontrails quit (Ping timeout: 260 seconds) 2016-12-01T09:02:25Z nubnub joined #lisp 2016-12-01T09:03:34Z Spelndid joined #lisp 2016-12-01T09:04:05Z schjetne quit (Ping timeout: 248 seconds) 2016-12-01T09:04:49Z nubnub: Dear lispers! Sorry for stupid question, but why the CamelCase style is not used in Lisp programs? Why don't write (defclass MyType nil nil) and same for methods? 2016-12-01T09:05:32Z lemonpie: lisp's history predates lower case characters 2016-12-01T09:05:36Z vlatkoB quit (Ping timeout: 260 seconds) 2016-12-01T09:05:43Z Cymew: I guess the hyphenated method had taken root before anyone invented camel case as well. 2016-12-01T09:06:05Z lemonpie: so using - took hold and momentum has carried it forward 2016-12-01T09:06:13Z Cymew: Most oddities in Lisp comes from historical reasons. 2016-12-01T09:06:48Z Cymew: ...and momentum is a powerful force in the universe. 2016-12-01T09:06:52Z lemonpie: *nod* 2016-12-01T09:07:23Z Cymew: Personally I find it easier to read, as it separates out the words. 2016-12-01T09:07:51Z Cymew: But, as with most things it's obviously also due to force of habit. 2016-12-01T09:08:05Z p_l: there's also a significant reason in the form of non-infix grammar 2016-12-01T09:08:18Z Zhivago: nubnub: It requres pressing the shift key too much. 2016-12-01T09:08:27Z Zhivago: nubnub: Compare FooBarZog with foo-bar-zog. 2016-12-01T09:08:33Z p_l: in Java, A-B is "substract B from A". In Lisp, A-B is A-B 2016-12-01T09:09:03Z lemonpie: well, _ would be the algol style analog :) 2016-12-01T09:09:24Z nubnub: is there are reason to NOT use CamelCase in the modern Lisp code (except the historical reasons)? 2016-12-01T09:09:39Z nubnub: p_l: but in Java A_B can be used 2016-12-01T09:09:41Z hlavaty quit (Remote host closed the connection) 2016-12-01T09:09:48Z groovy2shoes quit (Ping timeout: 260 seconds) 2016-12-01T09:10:08Z p_l: nubnub: yes, but both CamelCase and underscore_separator require shift, and to be honest, are a bit annoying when typing 2016-12-01T09:10:12Z Cymew: Well, coding style have uses if you share code. At home you can do whatever. 2016-12-01T09:10:35Z p_l: Then, then, there comes the fact that default reader configuration in anything other ACL's modern mode is "uppercase" 2016-12-01T09:10:44Z lemonpie: the only technical hurdle i can think of is that not all lisps differentiate Blah, blah and BLAH, as long as you remember that you're probably ok 2016-12-01T09:10:44Z p_l: i.e., when I type in a-b, I get back A-B 2016-12-01T09:10:56Z p_l: and you have the part where lisp symbols are case-sensitive 2016-12-01T09:11:02Z groovy2shoes joined #lisp 2016-12-01T09:11:17Z p_l: lemonpie: well, CL differentiates, depending on reader settings 2016-12-01T09:12:35Z Cymew: Like everything else, the reader can be hacked. 2016-12-01T09:13:03Z aeth: to make it more clear: you'd get either MYTYPE for camelcase or MY-TYPE for the hyphenated style 2016-12-01T09:13:06Z nubnub: Cymew: so, if I want to share the code, its better to avoid CamelCase? 2016-12-01T09:13:18Z Cymew: I'd say so. 2016-12-01T09:13:24Z aeth: so when the REPL angrily shouts at you, it's clearer when you use hyphenated (or underscored, I guess) names 2016-12-01T09:14:09Z Zhivago: Personally I'd prefer to use non-breaking spaces instead of hyphens, but editing technology has yet to catch up. 2016-12-01T09:14:11Z aeth: Also, with foo-bar-baz you can use completion and other helpful features. Even underscores aren't supported in SLIME because they're extremely rare. 2016-12-01T09:14:32Z nubnub: the reason I bother is inconsistency of Lisp code with code in other languages I use. 2016-12-01T09:15:18Z Cymew: Well. Languages have different syntax so you will have inconsistencies. ;) 2016-12-01T09:15:20Z aeth: There's already an inconsistency for me between camelCase and underscore_style so I don't really mind a third that much. 2016-12-01T09:15:59Z aeth: You can write one where the other's expected, but it is similarly out of place 2016-12-01T09:16:09Z lemonpie: the only real problem i have with hyphen style is that i tend to try and use it in C++ if i go back and then wonder why the compiler's angry 2016-12-01T09:16:32Z Cymew recognize that experience 2016-12-01T09:16:46Z nubnub: lemonpie: same 2016-12-01T09:17:28Z Cymew: The obvious solution is to hack gcc to accept the lisp behaviour. 2016-12-01T09:18:01Z nubnub: well, it is not the biggest problem, and thus, I'll follow the conventions of the different languages 2016-12-01T09:18:09Z aeth: A similar mistake I've made is switching between prefix, infix, and postfix (the latter just for stack calculators) 2016-12-01T09:18:28Z aeth: I'll sometimes do infix in Lisp or prefix in Python or something 2016-12-01T09:19:42Z nubnub: CamelCase in Java, underscore and all in lowercase in C++, and hyphen and all in lowercase in Common Lisp 2016-12-01T09:22:19Z misv quit (Ping timeout: 260 seconds) 2016-12-01T09:22:27Z misv joined #lisp 2016-12-01T09:23:10Z nubnub: thanks for the discussion. as always, good feedback from good community :) 2016-12-01T09:24:21Z nubnub left #lisp 2016-12-01T09:25:03Z swflint_away quit (Ping timeout: 245 seconds) 2016-12-01T09:25:12Z itruslove quit (Ping timeout: 260 seconds) 2016-12-01T09:25:44Z aeth: And all of that talk of formatting is not even going into tabs vs spaces. I hate tabs because outside of my editor where they're configured properly, everywhere else seems to take that source code and assume ridiculously long tab lengths like 8 or worse. Fortunately, Lisp chooses the correct side there. How would you even have line length limits with tabs? 2016-12-01T09:25:57Z aeth: I'm glad Lisp doesn't have a formatting holy war, it's basically "whatever emacs does to the Lisp" 2016-12-01T09:26:26Z Amplituhedron joined #lisp 2016-12-01T09:29:23Z CEnnis91 quit (Quit: Connection closed for inactivity) 2016-12-01T09:29:38Z aries_liuxueyang quit (Ping timeout: 245 seconds) 2016-12-01T09:29:41Z Bike quit (Quit: sicken) 2016-12-01T09:30:04Z aries_liuxueyang joined #lisp 2016-12-01T09:30:48Z DrCode quit (Ping timeout: 256 seconds) 2016-12-01T09:32:39Z __main__ quit (Read error: Connection reset by peer) 2016-12-01T09:33:28Z __main__ joined #lisp 2016-12-01T09:34:57Z jackdaniel: three spaces and the tab! 2016-12-01T09:36:45Z lemonpie: lisp-indent-function does actually annoy me quite frequently :/ 2016-12-01T09:37:18Z TMA: aeth: 8 spaces per tab, 80 columns, 24 lines - one tab per indentation level - this is the perfect balance for C. anything less strict makes the C code less manageable 2016-12-01T09:37:23Z william3 joined #lisp 2016-12-01T09:37:44Z TMA: aeth: does not apply to lisp though :) 2016-12-01T09:37:47Z jackdaniel disagrees ;) 2016-12-01T09:38:04Z jackdaniel: 4 spaces (no tabs), 78 columns, … :D 2016-12-01T09:38:18Z lemonpie: when i first started working, our standard was 4 spaces and 76 columns (f77 code) 2016-12-01T09:38:19Z Cymew: I only know that old LispM code with all CAPS makes my head hurt. 2016-12-01T09:38:31Z lemonpie: over time that's dwindled to the point where i prefer 2 spaces in many cases now 2016-12-01T09:38:37Z jackdaniel: right, 76° 2016-12-01T09:38:42Z giraffe quit (Quit: ZNC - http://znc.in) 2016-12-01T09:38:44Z lemonpie: but prefer 170 width terminals 2016-12-01T09:39:03Z lemonpie: (simply because it splits nicely in emacs) 2016-12-01T09:39:47Z jackdaniel: I like 270-width terminals (I have three columns then) 2016-12-01T09:39:57Z lemonpie: my eyes wouldn't like that :P 2016-12-01T09:40:20Z jackdaniel: heh 2016-12-01T09:43:39Z edgar-rft 's first computer's display had only six hex-digits, at that machine I never had problems with tabs :-) 2016-12-01T09:43:45Z lemonpie: ffs, i just tried to C-x o between 2 windows 2016-12-01T09:44:54Z itruslove joined #lisp 2016-12-01T09:47:54Z giraffe joined #lisp 2016-12-01T09:48:54Z swflint_away joined #lisp 2016-12-01T09:49:01Z swflint_away is now known as swflint 2016-12-01T09:51:52Z alpert joined #lisp 2016-12-01T09:55:15Z Zhivago: I use two spaces in C. 2016-12-01T09:57:38Z ryan_vw_ joined #lisp 2016-12-01T09:57:44Z ryan_vw quit (Ping timeout: 245 seconds) 2016-12-01T09:57:46Z zymurgy quit (Ping timeout: 265 seconds) 2016-12-01T09:58:31Z krasnal quit (Remote host closed the connection)