freenode/#lisp - IRC Chatlog
Search
8:26:55
no-defun-allowed
MichaelRaskin: Sticking to one convention for all languages is probably very, very bad. The closest to writing "Lisp" layout in C could be the GNU standard, and the reverse is the stuff you get on #clschool on a very bad day.
8:27:05
aeth
pjb: That sounds impractical. The Google Common Lisp Style Guide seems more pragmatic because a lot of the time when more than one convention exists, it says to use the existing convention in an area, which helps keep things somewhat locally uniform.
8:29:18
aeth
Well, I guess it's kind of vague there, too. e.g. "Choose wisely, but above all, consistently with yourself and other developers, within a same file, package, system, project, etc."
8:31:30
MichaelRaskin
no-defun-allowed: it's never the same convention, but some consistency of approaching semantically the same things
8:32:33
no-defun-allowed
Perhaps C and Lisp are a worse pair than average, but I don't think I would expect to write things with similar semantics in those, either.
8:33:14
aeth
MichaelRaskin: The problem is that Lisp's expression-oriented nature leads to very different idioms than in most languages. There's no need to set an intermediate variable in a COND, or even return to an intermediate variable in a COND, or even use a COND where an IF will do even if it would look too ugly/complicated with a "? ... : ..." ternary in most languages
8:36:20
aeth
The thing is, in CL nearly everything has a return value (only (values) doesn't, unless someone wrote code that returns (values), which is very unidiomatic and almost always implicitly inserts a NIL, anyway)... and almost all of those return values are meaningful (although it's kind of 50/50 with NIL)
8:37:23
aeth
CL for some reason is even more consistent and ideologically pure here than Scheme (very surprising), which often returns #<unspecified> or some other incredibly literal interpretation of its specification... which can mean different code even betwen CL and Scheme, two very close languages.
8:37:36
easye
I know someone who uses that to indicated that they have thought about the return at that point in the function and declare that it should return without values on purpose.
8:41:21
easye
(VALUES) Is actually preferable than RETURN-FROM 'cuz it makes changing function naming more difficult which often leads to mistakes.
8:44:27
easye
Still, I am probably happy to have RETURN-FROM require one to name the function that one is returning from, as I get a warning at compile time rather than have the program misbehave.
8:45:20
pjb
(defun foo () (block this-function (return-from this-function 'foo))) s/foo/bar/g (bar) still works.
8:46:33
pjb
(defmacro mydefun (name arglist &body doc-decls-and-body) `(defun ,name ,arglist ,@(doc-and-decls doc-decls-and-body) (block this-function ,@(body doc-decls-and-body))))
10:05:25
smokeink
How to tell asdf / sbcl to use the :system-cache ? :system-cache uses the contents of variable asdf::*system-cache* which by default is the same as using ("/var/cache/common-lisp" :uid :implementation-type) http://soc.if.usp.br/manual/cl-asdf/asdf/Controlling-where-ASDF-saves-compiled-files.html#Controlling-where-ASDF-saves-compiled-files
10:06:39
smokeink
I'm reading that doc page but I don't really grasp it. What to write in .sbclrc in order for it to use the system cache
10:10:14
jackdaniel
smokeink: I'm not aware of *system-cache* in asdf, maybe try setting *user-cache* instead?
10:11:23
smokeink
https://www.reddit.com/r/lisp/comments/23azqf/need_help_setting_asdf_cache_output_directory/
13:10:16
Xach
Yes, sorry, just missed the window. But I hope not to wait until the end of december for the december update.
13:10:42
Xach
This month's problems were caused by two libraries not working well together, compounded by my build hardware crashing sporadically
13:14:36
Lycurgus
so that, in your place, if debian is to be the reference, i'd wait a year from realease
13:20:02
jackdaniel
I imagine that testing just on one platform vs one implementation vs all libraries is demanding task
13:22:44
jackdaniel
Lycurgus: could you set such CI for current ql distributions? I think it would be useful for package and implementation maintainers regardless (I could use some reports for ecl i.e)
13:24:27
jackdaniel
Lycurgus: that was directed to you, because you seem to have some expeirence with CI and you are interested in that (justifully so!)
13:25:24
Lycurgus
misperception, I personally am not interested in CI, it doesn't fit in my resource profile for the things I want to do
13:26:37
Lycurgus
i am suggesting that it would be good and doable, not necessarily that anyone do it
13:26:43
MichaelRaskin
I think the only claim was that keeping a CI up is not harder than the work currently done
13:28:03
Lycurgus
in practice I know that there is a rats nest of incompatiblities, strengths and weaknesses in the major implementations, and I color within those lines
13:28:13
Xach
I guess that keeping a CI up would not be (much) harder, but setting it up initially seems like a big task.
13:32:52
Lycurgus
if the resources weren't a problem it might save effort in the end if you used it just as a filter, empirical backing for the not just sbcl criterion
13:58:34
MichaelRaskin
(decided to use my already-there code to check iolib compilation on ECL; ouch it does take time)
14:24:50
MichaelRaskin
But yeah, I kind of have most of the code needed to compute portability matrix for Linux+(SBCL/CCL/ECL/ABCL/CLISP), but I am not patient enough to wait until it builds
14:26:40
jackdaniel
it even makes it easy to construct pivot tables for different versions of the implementation/software
14:28:22
jackdaniel
seems that they are decently up to date; i.e https://common-lisp.net/project/cl-test-grid/library/adw-charting.html
15:15:39
phoe
a perfect situation would be having access to proper hardware where we can spin up virtualized mac/win/lin boxes on demand, and run our CI on those
16:18:31
Demosthenex
ok, so i've in the past used R for simple graphing and stats. i recall seeing (but cant find) a post on reddit that said CL could do all the same stuff with some library. does anyone have a recommendation?
17:07:40
edgar-rft
Demosthenex: if I know this right then XLISP-STAT was one of the predecessors of R and there had been several attempts to port XLISP-STAT to Common Lisp, for example https://github.com/blindglobe/common-lisp-stat
17:08:50
edgar-rft
if that's not what you're looking for see here for alternatives https://www.cliki.net/site/search?query=statistics
17:28:51
Josh_2
How do I convert a string like this https://plaster.tymoon.eu/view/1580#1580 to a list?
17:34:34
pfdietz
Also, use jsown. It's much faster than cl-json, even if you have to intern some of the names yourself.
17:34:37
phoe
and if you want to be super paranoid, set *PRINT-READABLY* to T in case you get an unreadable object
18:11:11
Demosthenex
edgar-rft: yeah, in R i use more the plotting library ... i don't do deep statistics.