freenode/#lisp - IRC Chatlog
Search
11:01:23
scymtym_
jackdaniel: i cannot comment on whether the diagram is accurate, but i have the following suggestions: 1) make the edges directed 2) introduce different kind of edges to represent "fork", "project was renamed", "contains code from"
11:19:39
jackdaniel
I agree about the dimension (that's why it's in a different color), but it makes a nice starting point
11:23:58
jackdaniel
H4ns: I find your suggestion very good and I'm still considering removing the box
12:04:13
francogrex
hi all, in one of the queries using clsql and sbcl I get sometimes those errors: http://paste.lisp.org/display/307017
12:05:16
francogrex
I have a feeling that I've done that before but forgotten how now: load asdf without compiling, then when it breaks enter the source file and code to better be focused on where in the src I can modify to dix that error
13:11:55
jackdaniel
https://twitter.com/dk_jackdaniel/status/697769953127043073 hrm, somewhat more complete graph
13:31:27
Shinmera
Trying to concentrate on solving an architectural problem in Colleen3, but it ain't happenin'.
13:36:03
Colleen
loke``: I'm a modularized IRC bot framework written in Common Lisp. For a list of commands, try !help . You can find my source code here: https://github.com/Shinmera/colleen
13:40:18
Shinmera
I'll have a closer look at some point, but there's more fundamental issues to deal with before I can scurry off to implement more clients.
13:40:20
Colleen
HIDDEN ERROR: Usage of "spouse" is not recognizedHIDDEN ERROR: Usage of "children" is not recognizedHIDDEN ERROR: Usage of "signature" is not recognizedHIDDEN ERROR: Usage of "death_cause" is not reco... <https://en.wikipedia.org/wiki/John_Lennon>
13:40:49
Colleen
An Internet bot, also known as web robot, WWW robot or simply bot, is a software application that runs automated tasks (scripts) over the Internet. Typically, bots perform tasks that are both simple a... <https://en.wikipedia.org/wiki/Internet_bot>
13:41:13
Shinmera
Saying anything that isn't a specific command will just result in a wikipedia lookup.
13:42:39
loke``
We have a bot there already, but it's written in Ruby and mainly integrates with out bug tracker and stuff (dplsys bug report info when someone mentions a bug for example). Can colleen be coerced into doing stuff liek that?
13:52:23
Colleen
Cymew: You can retrieve general help information about me in the user manual: http://plaster.tymoon.eu/view?id=5A# . Otherwise help about commands can be retrieved with: !help command
14:26:05
jackdaniel
https://twitter.com/dk_jackdaniel/status/697786715017125888 (added some more ancient CL implementations :)
14:30:49
H4ns
jackdaniel: also, genera is not a lisp, it is an operating system. the lisp is called zeta lisp
14:31:30
jackdaniel
H4ns: regarding genera, Rainer Joswig told me, that OpenGenera inherits from Genera
14:32:30
H4ns
jackdaniel: i did not know that the stuff on the right are common lisp implementations either. are you sure?
14:32:30
jackdaniel
H4ns: most implementations have CL at the end, but I may make exception for allegro for clarity
14:36:31
p_l
generally, you have 3 components in OpenGenera 2.0 distribution, two of which are shared with other implementations partially
14:38:21
p_l
VLM2 contains the famous "Ivory microcode for Alpha" coupled into one binary with LifeSupport (which is based on common code for UX-series and MacIvory. Meanwhile the Genera OS itself differs in driver related code and in targeting Ivory v5 instead of earlier ones (v5 is exclusive to VLM)
14:45:20
Cymew
Have I mentioned that I think Github have crappy search tool. Totally unreleated, naturally.
14:49:14
kenanb
http://eudoxia.me/article/common-lisp-sotu-2015/ is this document a generally agreed upon community guideline
14:49:44
kenanb
because it involves a considerable amount of dangerous bias in its approach to libraries
14:51:13
Shinmera
kenanb: I agree that it is biased, and that's why it bothers me that it's trying to act like some kind of consensus document.
14:51:20
kenanb
"In the area of numerical code, a library I’ve always though was interesting in this domain is Antik, but sadly it depends on the GNU Scientific Library, making it GPL. There’s also mgl-mat and LLA." since when a library being GPL is a "sad" thing :D
14:52:04
H4ns
kenanb: i avoid gpl whenever i can. there you have another reason why there is no "generally agreed".
14:52:53
Shinmera
Well in terms of licenses I think more liberal ones than GPL are much more prevalent in Lisp at least.
14:53:10
kenanb
Shinmera: I know, but it is not sad, it is what it is, just saying beware its GPL was enough IMHO
14:53:13
p_l
kenanb: well, it's very opinionated. I know I wouldn't agree with many bits, for example CL-SQL
14:53:39
Shinmera
kenanb: Sure, but that's probably the least problematic thing in there in my opinion
14:54:08
kenanb
"Kill cl-launch, use Roswell." things like these are the real sad stuff, a library is a hard-work of a person, highly suggesting killing a library in favor of another is very disrespectful
14:54:57
Shinmera
I don't have a beef with that either, but what actually irks me is that for most things theres absolutely zero explanation for the recommended action.
14:57:17
kenanb
H4ns: yeah, I was just trying to understand if the community shares my concerns about the document or people are usually more OK with being a little wrong in favor of providing an easier entry point to newcomers
14:58:10
Cymew
Shinmera: I kind of agree. It looked good to begin with, but then I started to question the lack of reason for some dismissals.
15:10:12
kenanb
Shinmera, H4ns: btw I personally favor GPL for an application, liberal licences for libraries, and if there is anything that can be a library in the application, seperate it and make it a liberal library.
15:11:08
Xof
kami: defmethod returns the method object, so a small wrapper can use reinitialize-instance
15:11:35
kenanb
in CL an application and a library is not as different as some other langs but still
15:11:46
Xof
kami: otherwise, you need to specialize make-method-lambda, which is a slight can of worms
15:13:57
kami
Xof: this paper contains what I would have loved to see http://www.ai.mit.edu/conferences/dow96/DOLA/2.SUB4-5.pdf
15:17:58
Xof
do you want to attach that information to method parameters for programmatic dispatch purposes, or for documentation only?
15:20:18
Xof
if you "just" want to attach extra metainformation on a method for later introspection, a wrapper that uses the method object as a key in a weak hash-table is a straightforward solution that doesn't require any MOP extensions
15:20:37
Xof
if you want to affect dispatch, there are a lot of other things that you need to think about
15:22:55
kami
Xof: the former, and a weak hashtable was what I started with. Then I remembered that I had read something about method metaclasses in AMOP and re-read that chapter again
15:23:46
kami
Xof: I was just curious as whether there is an easy way of achieving the same thing with metaclasses
15:41:47
ysz
Coq is highlighted this year at ESL I'm intrigued how can I use my Coq developments in Common Lisp?
16:02:06
scymtym_
shka: lparallel kernel = threadpool. most of lparallel cannot be used without creating a kernel.
16:15:04
scymtym_
shka: you can pass objects to tasks (i.e. other threads) and receive objects from tasks through channels
16:16:11
shka
so i can glue one channel to another, setup two kernels and i have two stage operation?
16:17:28
scymtym_
you do not need multiple kernels to have more than one thread. a single kernel can manage any number of worker threads
16:39:09
schoppenhauer
hi. does anyone use cl-who? It seems like cl-who:htm only accepts constant strings. is there something that accepts variables?
16:41:35
mordocai
schoppenhauer: I'm not all that familiar, but shouldn't you be using with-html-output or with-html-output-to-string not htm?
16:44:35
ferada
if you don't mean that then you can still write to the cl-who output stream manually
16:51:12
Shinmera
But whether it'll actually allow you to sleep for that short of a time is up to the implementation
16:51:28
myrkraverk
No, I mean, I want to measure my sleep, to know if ti's sleeping for the desired time.
16:54:50
myrkraverk
0.000022 seconds of total run time (0.000012 user, 0.000010 system) <--- os x, but only 0.0 on linux.
16:56:52
jasom
of course if your have sbcl source installed you can just M-. to sleep and see if it uses usleep (it probably does)
16:58:54
myrkraverk
The actual work I do might take longer, between requests, but I'm also trying to be polite.
17:00:55
myrkraverk
So as long as $server-operator is happy and I'm not overloading it, 4us should be fine. I can alwasy increase it.
17:02:16
myrkraverk
I see. In my case, I just ask $server-operator who can tell me to increase the sleep.
17:24:15
jasom
myrkraverk: well it *is* legal to set the keep alive header and then close the connection
17:47:32
H4ns
the documentation says "If keep-alive is T, the server will be asked to keep the connection alive, i.e. not to close it after the reply has been sent. (Note that this not necessary if both the client and the server use HTTP 1.1.) If close is T, the server is explicitly asked to close the connection after the reply has been sent. keep-alive and close are obviously mutually exclusive."
17:49:41
ferada
it's already enforced, just the default isn't setup so that keep-alive implies :close NIL
18:20:54
myrkraverk
Is there something else than cl-ppcre that can be used to put string variables in a string template? Similar to "${foo}+${bar}" does in perl?
18:22:19
myrkraverk
In my case, I want to load these templates from a config file (whether s-expressions or something else).
18:29:41
myrkraverk
Hmm, apparently not, but it's probably what i want if I need to rearrange the inputs.
18:30:04
mordocai
myrkraverk: I don't see a way to do named parameters with format without writing some stuff yourself. So yeah, cl-interpol looks better.
18:54:57
jasom
I wish there were a macro-only version of cl-interpol; I don't mind a couple of extra characters to type, and slime is iffy with reader macros
18:56:26
jasom
If you limited yourself to " as a string delimiter, it can be done just fine as a normal macro
18:56:30
dlowe
that turns out to be important, because you want to intern those symbols at read time
18:57:35
jasom
* is trying to think of a case where *package* is different at read-time and macroexpand time
18:59:09
Bicyclidine
I mean, what macros from interpol do you want? I don't understand and I'm curious.
19:01:03
dlowe
Seems like you don't even want interpol, you just want to do (format-str str1 str2 str3 "whee" str4 num) and have it do the right thing, which is achievable with a basic function
19:44:29
myrkraverk
Well, it'll allow you to expand, say (x "${foo}+${{foo}}" bar) -> "bar+${foo}" ; assuming I understand the convo correctly.
19:45:19
myrkraverk
Or rather, (x "${foo}+${{foo}}" :foo "bar") ; where x is some function or macro.
19:46:41
jasom
dlowe: I meant for things like \t \n &ct. not escaping per-se but for commonly used single characters, though I suppose (format-str "foo" #\Newline "bar") wouldn't be terrible
19:57:37
myrkraverk
Hmm, while it seems py-configparser is what I wanted, I would like a simple example, and not just an api dump and have to guess how to use it.
20:16:23
myrkraverk
"Values which contain interpolations are expanded by default" <--- any idea what this means?
20:20:17
dlowe
InvalidCo: someone confused the issue by converting a python module into CL and then supplying no docs
20:23:56
myrkraverk
Oh, great. Of course it reads comments if they start on the same line as options.
20:24:52
jasom
dlowe: and for once it wasn't me that converted a python module into CL and supplied no docs (though I do have an example).
20:33:17
pjb
minion: memo for emaczen: yes, there's at least one OSX app in the App Store written in CCL: 'Clozure CL.app'.
20:37:09
pjb
p_l: wukix is not at all like ecl or any other CL implementation. It's like clicc (it might have been derived from it, perhaps). Ie. it takes a CL sources, and translates it into a C source, add a library and compile and link in your native environment (Android NDK or iOS). This is much more restricted and incompatible than having a bytecode VM (after all, very good implementations work with just a bytecode VM).
20:45:09
jasom
pjb, p_l, however, combining something like clicc with a bytecode interpreter might be a good solution for OS X.
21:04:06
pjb
jasom: a normal CL implementation (almost all of them have an interpreter or a bytecode VM in addition to the native compiler. Even sbcl nowadays has an interpreter I hear).
21:13:31
pjb
minion: memo for emaczen: you need to write a wrapper Objective-C class with a lisp slot refering to your lisp object.
22:21:37
jasom
pjb: I meant that cross-compile to C everything static, and include a bytecode interpreter for everything else; SBCL has an interpreter, but the way it loads memory images is incompatible with the restrictions of iOS
22:31:48
drmeister
If objects are allocated on the stack/dynamic extent, what does the GC have to do with pointers within the object? Anything?
22:37:07
jasom
when the dynamic extent goes away, then they are no longer roots, and anything that they had been the only reference to will be garbage
22:53:02
drmeister
jasom: They should only be pointed to by other objects on the stack and registers.