freenode/lisp - IRC Chatlog
Search
13:30:50
jackdaniel
warweasle: I'm waiting impatiently until clinch api stabilizes, so I can get back to hacking with it – it was fun afair :)
13:32:29
warweasle
Xach: I had to do some old asdf style manual package management. I should be thanking you.
13:33:43
warweasle
jackdaniel: I have several new examples. It's much nicer now. I expect the API to remain fairly constant. I have a couple of issues but I'll leave them for a while to keep things stable. (pango still uses bad key names :pango_alignment_left, etc)
13:35:20
kuba-orlik
Hi! Could you help me figure out why the last line throws an error? http://pastebin.com/9TmHCHSj
13:42:59
ogamita
kuba-orlik: notice that even emacs lisp has structures and objects, so you don't really need to use this old fashioned style.
13:50:45
daemoz
Is there a way to have emacs store my fasl files somewhere cleaner? Or is it pretty standard for them to live in the source code directory?
14:01:57
daemoz
beach: So far the community has been incredible and has already pointed me at so many amazing resources. About 3/4th of the way through Practical Common Lisp at this point.
14:06:27
White__Flame
kuba-orlik: they're called "earmuffs", and generally indicate that that symbol is a toplevel/global/special variable
14:10:35
warweasle
kuba-orlik: In the repl, however, * ** & *** are the last, second to last, and third last results.
14:11:10
warweasle
kuba-orlik: They are similar to $_ in perl. Some despise them, but I use them all the time.
14:14:16
TMA
I would love to use them, but by the time I figure out whether they are * ** and *** or / // /// or + ++ +++ or - -- --- the result I am interested in is lost (I know, that one of the + or - do not have the double/triple version)
14:20:37
jackdaniel
malice`: sometimes I want to access second returned value, * doesn't give me that
14:24:24
ogamita
TMA: Notice however that ! is a reader macro giving you the expression. so: (incf *x*) !! !! will keep incrementing, while (incf *x*) * * would just print the result again.
14:54:26
ogamita
jam: 3. an improvised performance by a group of musicians, especially in jazz or blues.
14:55:06
axion
The term can also be used to denote a fruit spread, amoung other things. It is quite ambiguous.
15:01:17
didi
So... do you write tests inside the package you're testing or outside it, using another package like foo/test?
15:03:22
ogamita
didi: if you test the API, in a test package using only the public interface of the package (exported symbols).
15:03:38
pebblexe
how can I define a macro that I can pass a condition to? like let's say I want to pass (<= 1 x 10) in as a condition. but what do I do instead of placing x there?
15:03:56
ogamita
But sometimes, you want to test a function or an internal mechanism that is not exported, then the test is in the same package (different files, so you can load the tests optionally).
15:05:21
ogamita
pebblexe: are you sure you want to write a macro? It looks like you'd rather have a function with a predicate parameter: (f (lambda (x) (< 1 x 10)))
15:05:49
ogamita
pebblexe: but with a macro, you could indicate to the macro the list of variables the macro should bind to evaluate the expression: (m (x) (< 1 x 10))
15:06:28
ogamita
pebblexe: probably you should be more specific, and present the code you have so far ( http://paste.lisp.org/new ).
15:08:52
pebblexe
loke___: make match a nice easy looking version of the function I am trying to write
15:10:26
pebblexe
loke___: I am trying to port msgpack to cl, so this is a serialization/deserialization library
15:10:46
pebblexe
I am really trying to port this: https://github.com/edma2/clojure-msgpack/blob/master/src/msgpack/core.clj
15:14:39
flip214
so for an API msgpack is still much easier to use. thanks for the link, though; perhaps I'll use it in some project.
15:18:57
flip214
not sure whether that is constant, ie. whether a GC will change the values, though.
15:21:25
axion
ogamita: I apologize. I thought I was in the #lispgames channel. I can see how you didn't have enough context now as you haven't been there in over a year.
15:49:48
didi
Heh, this "serapeum" looks like my own collection of functions. I think every CL programmer might have one such companion.
16:08:30
loke___
And in line with the JS implementation (here: https://www.npmjs.com/package/isarray), the CL implementation should be:
17:32:01
antoszka
I booked a bed in a dorm, it was crazy cheap, but I suppose „normal” rooms are available as well.
17:34:32
attila_lendvai
antoszka: which dorm? in case I make a last minute decision... I'm considering
17:41:00
Xof
I haven't been following anything about ELS this year. Is there a social activity on the Sunday evening?
17:42:46
jackdaniel
if anything is planned, I'd vote for time after or during ELS, many people arrive at Sunday
17:44:46
antoszka
attila_lendvai: I've no idea which dormitory it is… Just clicked the cheapest one on booking.com
17:45:13
antoszka
attila_lendvai: feel free to ask the hotel staff about my reservation under the name of 'Antoni Grzymala'
17:53:27
antoszka
attila_lendvai: i looked at the reservation e-mail and all it says is just 'dormitory'.
0:21:39
aeth
Does anyone have any idea why something that would perform around 3% CPU in SBCL and around 6% CPU in CCL would struggle at 100% CPU in ECL? I'm guessing something creates a lot of garbage in an inner loop in ECL but not SBCL and CCL, or at least not as much garbage.
0:26:42
jason_m
aeth: Could you get an idea using (time ...) and comparing the number of bytes consed, time spent in gc? i know ccl and sbcl have those things in their time output. Not sure about ecl.
1:05:55
aeth
jason_m: I used to use time, but in SBCL one can just disassemble a function and look for a commented allocation there.
1:09:21
jason_m
aeth: sounds like a more reliable approach. I haven't played with disassembling yet.
1:10:49
aeth
If the function is creating something, there should be one (?) thread.alloc-region and it shouldn't be there if the function is merely modifying something
1:12:45
pillton
The statistical profile in SBCL allows you to profile allocations. (sb-sprof:with-profiling (:mode :alloc) ...)
1:13:39
aeth
Yes, that is one of the things I used to use. Statistical means it misses some tiny allocations, though.
1:14:09
aeth
Disassembling will miss nothing, unless there's some allocation in SBCL that isn't commented in the disassembly
1:27:25
krwq
how do you create a metapackage? what I mean is to create a package - when someone does use-package on that he should automatically also use few other packages
1:29:19
Bike
...and of course you can define a package that's just there to reexport symbols from a bunch of packages.