freenode/#lisp - IRC Chatlog
Search
21:47:42
borei
if i want to force compiler to use integer of fixed size will it be correct form - (integer 0 16) - im expecting that var will be unsigend integer with max 2^^16 -1 ?
21:50:31
dim
it's possible to provide one's own read table, with some tweaking, and implement the *quote* nil behaviour from before
22:03:42
dim
(or (find-symbol "MAKE-DEFAULT-CSV-READER" pkg) (find-symbol "MAKE-DEFAULT-CSV-DISPATCH-TABLE" pkg)) ; I don't much like having to do that
22:09:37
dim
so I need to either call (cl-csv:read-csv stream :table ...) or (cl-csv:read-csv stream :csv-reader ...), so now I have that test too
22:12:57
dim
because I don't know when current git is going to make it to QL, and I'm already bitten by the problem in my dev environment (which I could fix, but) and I don't want pgloader users to have to deal with anything like that
23:00:30
dim
maybe pgloader users are asking too much flexibility, but what used to work doesn't anymore... I think I'll sleep on that and see about reporting issues tomorrow
23:05:32
whoman
i guess emacs lisp has multimethods as well. https://github.com/VincentToups/emacs-utils/blob/master/multi-methods.el
23:12:50
krwq
is it possible to open file for :io, read/write some bytes and then truncate the rest of the file?
23:13:52
krwq
Xach: any way to resize the stream? I assume setting the file-position doesn't change the stream size as well, right?
23:15:56
krwq
pjb: the thing is when you implement fuse operations it removes flags truncate flag and instead calls open, truncate
23:18:18
pillton
From chls 25.1.4.1: "An integer indicating the year A.D. However, if this integer is between 0 and 99, the ``obvious'' year is used; more precisely, that year is assumed that is equal to the integer modulo 100 and within fifty years of the current year (inclusive backwards and exclusive forwards). Thus, in the year 1978, year 28 is 1928 but year 27 is 2027. (Functions that return time in this format always return a full year number.) "
23:20:53
krwq
actually i can just recreate the node but kinda annoying on both fuse and CL that they make me do such weird workarounds
0:46:55
borei
trying to create method with type specializer (simple-array single-float *) - compiler is not happy
0:48:17
stylewarning
borei: you can do non-portable and brittle things like specializing on your implementation's classes for those objects, like in SBCL, SB-KERNEL::SIMPLE-ARRAY-SINGLE-FLOAT
0:55:38
fouric
...would anyone happen to know if there exists a concise description of *how* Mezzano works, and if so, where it is?
0:55:55
fouric
I'm willing to read the code if necessary, but there's a *lot* of it, and if a shortcut exists, I would love to take it
1:11:34
aeth
You want specialization-store if you want dispatch on array types. https://github.com/markcox80/specialization-store/
1:12:19
froggey
my very concise description: it compiles everything to native code. the runtime is written in a way that doesn't require any extra support
1:25:14
Zhivago
If you do, it means that you're probably conflating semantics in some terrible fashion.
1:36:05
aeth
Zhivago: Depends. If you're doing linear algebra stuff you have (simple-array single-float (3))s that you might want to treat differently than other things.
8:07:14
phoe
On SBCL, how can I identify the thread that takes up 100% of my CPU if I have several worker threads?
8:09:33
phoe
Yes, sure, but that will not give me the thread name assigned to it by BORDEAUX-THREADS, will it?
8:10:09
phoe
I can see the thread in top or htop, no problem, but I want to identify *which* one it was, and what it was doing.
8:14:26
fourier
in c/c++/java etc ides you can just hit pause in debugger and investigate what your threads are doing. not sure how can you do it in CL other than logging
8:14:28
beach
It's an interesting point though. Any sophisticated Common Lisp debugger must be able to help in such situations.
8:14:52
phoe
I have a hash-table from thread objects to descriptions of the tasks that they are doing now.
8:19:48
beach
fourier: I know. It is even fair to say that no free Common Lisp system even has a debugger worthy of that name.
8:23:26
fourier
I find the general debugging in CL troublesome process. due to the nature of different rules like (if condition statement1 statement2) its not easy to add logging real quick - since I would have to add progn as well. also general unavailability of the nice stepper is a problem - the same with (break) - I have to modify my code and insteart progn there as well
8:24:28
fourier
the only nice debugging tool which fit the bill I found is Stepper in LW - and it was one of the reasons I've purchased it since it made my life so much easier
8:27:41
fourier
if you can record a simple debugging session with it and place on youtube/animated gif/etc I can take a look and tell the difference/similarities
8:29:47
jackdaniel
can anyone successfully call (ql:quickload 'clml) ;? I have a problem with loading package on sbcl
8:34:38
phoe
I could theoretically make a function that repeatedly calls (interrupt-thread thread #'break) on all thread objects, also printing them out for me. And I can watch when the CPU goes down.
8:35:07
phoe
Like, calls #'BREAK consecutively on the next thread when I continue in the current one.
8:35:09
smokeink
fourier: here are some gifs http://malisper.me/debugging-lisp-part-1-recompilation/ "When Tom tries to calculate the tenth Fibonacci with this code, a debugger window pops up because an error was signaled." ...
8:35:10
jackdaniel
OK, I get it – clml depends on some system which is internal to it, but this system is not declared in ql dist
8:35:54
jackdaniel
it may be solved by quickloading clml.utils first (then tgz is downloaded and missing system is found)
8:37:20
fourier
smokeink: I see. this is exactly what I dont like as I said - I want to have a "break" at any statement, and insterting manually (break) doesn't cut it - since it would force me to add progn for single-expression statements
8:38:00
fourier
while in LW I can just set breakpoint at any statement and then it will be hit the stepper will be popped out
8:39:36
smokeink
I was thinking of coding a reader macro called bp! or something, that can be inserted anywhere and that does the progn wrapping and everything automatically
8:40:00
fourier
LW also has a process browser to see which threads are running, so in general its IDE really helps with debugging
8:43:29
smokeink
and one can set a breakpoint keybinding in emacs and have this 'set breakpoint' functionality similar to the one in lispworks. Next, we need the view threads functionality . Doesn't slime have something for threads? slime is not useful for this particular threads issue you're experiencing now phoe?