Amplituhedron has quit [Ping timeout: 248 seconds]
<ym>
How do I convert PDF to cons tree? I found only cl-pdf, but seems like it can only generate and parse.
<pierpa>
(cons 'pdf 42)
jmercouris has quit [Ping timeout: 248 seconds]
varjag has quit [Ping timeout: 268 seconds]
thebardian has quit [Remote host closed the connection]
Arcaelyx has joined #lisp
dra has quit [Ping timeout: 248 seconds]
Arcaelyx_ has quit [Ping timeout: 250 seconds]
pjb has joined #lisp
EvW has quit [Ping timeout: 250 seconds]
schoppenhauer has quit [Ping timeout: 248 seconds]
fikka has quit [Ping timeout: 248 seconds]
Rawriful has quit [Quit: WeeChat 1.4]
varjag has joined #lisp
Tobbi has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jlarocco has joined #lisp
mson has quit [Quit: Connection closed for inactivity]
turkja has joined #lisp
varjag has quit [Ping timeout: 260 seconds]
Arcaelyx has quit [Read error: Connection reset by peer]
keep_learning has joined #lisp
Arcaelyx has joined #lisp
lisp_guest has quit [Ping timeout: 248 seconds]
<ym>
Seems like prescript is what I need.
raynold has quit [Quit: Connection closed for inactivity]
pjb has quit [Ping timeout: 240 seconds]
asarch has joined #lisp
<asarch>
You are in your new job, sitting in front of a brand new All-In-One HP PC desktop, you cannot change nor install anything in that system, your only Lisp environment to improve your work is a copy of the last release of Emacs.
<asarch>
Is Emacs a "decent" Lisp environment?
<asarch>
You know, the best is SBCL but in life...
<Bike>
it's not common lisp. it's a different language
<aeth>
Emacs superficially looks like Common Lisp, and even borrows most of Common Lisp in the form of cl-foo macros/functions, but it is not Common Lisp under the hood and the intuition built for one doesn't apply to the other.
pjb has joined #lisp
<aeth>
Emacs Lisp is slow and interpreted, so you mostly want to rely on built-ins. Writing fast Emacs Lisp is a totally different experience than writing fast Common Lisp.
<asarch>
I know, I know, but actually, it is somehow Lisp
<aeth>
Common Lisp is full of rich types, many libraries, and is usually quite optimized.
yrk has joined #lisp
<aeth>
Emacs Lisp is basically 1983ish Lisp programming because that's what RMS was used to when writing GNU Emacs.
<aeth>
Sure, Common Lisp itself is kind of stuck in the 90s in many ways, but that's a whole extra decade of convenience
Amplituhedron has joined #lisp
JenElizabeth has quit [Ping timeout: 240 seconds]
FreeBirdLjj has joined #lisp
marvin2 has quit [Ping timeout: 248 seconds]
marvin2 has joined #lisp
<aeth>
One huge issue with historic Lisps (and even many Schemes) compared to Common Lisp is that you rely on lists far too often to do things that you'd use a different (and probably more efficient and faster) thing for in CL.
drcode has quit [Ping timeout: 248 seconds]
<aeth>
It might be more elegant, but you could easily get an accidental 10x slowdown, which is a noticably worse experience.
JenElizabeth has joined #lisp
<aeth>
Unless you have immutable lists and are willing to do a lot of magic behind the scenes in the compiler, you're going to have to use something other than lists for most things. The historic approach of using lists for everything, which many historic Lisps encourage, doesn't work more efficiently than alternatives when those lists are mutable cons cells.
eazar001 has joined #lisp
<aeth>
e.g. For representing matrices, you probably want a 1D array with a special matref function, or a 2D array (which ideally would be just as efficient when compiled as the former), or even use foreign C memory like the static-vectors library does. Not lists.
<aeth>
And mathematical vectors are small enough that you could even consider just having multiple return values as an efficient representation!
yeticry_ has joined #lisp
<aeth>
That's the flexibility that CL gives you.
yeticry has quit [Ping timeout: 250 seconds]
Amplituhedron has quit [Ping timeout: 248 seconds]
quazimodo has quit [Read error: Connection reset by peer]
thebardian has joined #lisp
dotc has quit [Quit: restart, brb]
attila_lendvai has quit [Quit: Leaving.]
dotc has joined #lisp
jlarocco has quit [Ping timeout: 260 seconds]
borei has joined #lisp
<borei>
hi all !
<borei>
quick question - i need to generate key for hash table, the approach that i found is the following:
<borei>
(symbol-name (gensym (symbol-name(type-of *atom1*)))), where *atom1* is gonna be value for that key
<aeth>
asarch: well, usually people use Emacs as the Common Lisp development environment, with slime and paredit (or something similar for parentheses management)
<aeth>
There is real no FOSS competition for Lisp (slime) and Scheme (geiser) development.
<asarch>
Thank you
<asarch>
There is a programming language called Elm (it transpiles into JavaScript). A guy wrote Ellie, the Elm on-line development environment written entirely in JavaScript. You can use as many cores as your system have to compile the code and even use it off-line:
<borei>
i started to dive into lisp and emacs 5-6 months ago - from real scratch, i had 0 experience with both of them. Initially i was f...g out, but now once i started to gain some momentum it's getting better. It's just inconvinient some time, not as usual as it was befor. Im trying to follow drmeister approach ".... those languages are just the languages that people started using and so they keep using them. It is not a choice most people
<borei>
make – it is inertia." I was fighting my inertia, still fighting, but i see results.
skali has joined #lisp
test1600 has joined #lisp
<drmeister>
Yes, yes! Let the s-expressions flow through you...!
<borei>
too early :-)
drcode has quit [Ping timeout: 248 seconds]
skali has quit [Ping timeout: 248 seconds]
<turkja>
borei: it for sure is syntactically totally alien in the beginning... i'm also still getting into it.. i've been programming in lisp for about 1,5 years. it's just that i can't go back anymore because of the way lisp code is developed. I mean, lisp/emacs/slime, and the whole thing concept of iterative/interactive/live programming, and the integration of everything, having the live compiler in the image... heck you could even patch the comp
<turkja>
iler live etc. This i cannot get anywhere else, so no turning back.
<Xal>
turkja: ever tried haskell?
<turkja>
Xal: no, i started with CL and have checked other lisp dialects every now and then, but i feel i have still like 10 years of fun with CL :)
nowhere_man has quit [Read error: Connection reset by peer]
pjb` has joined #lisp
nowhere_man has joined #lisp
<turkja>
Xal: with "anywhere else" i mean mostly the usual suspects, like C++, java, python..
pjb has quit [Ping timeout: 240 seconds]
<pjb`>
borei: so first you see it's not a quick question. second, you would be better served if you explained what you want to do, since it looks like your proposed form is inadequate for anything.
neoncontrails has joined #lisp
<aeth>
turkja: Smalltalk would probably be the closest language to what you're talking about.
<aeth>
At least according to Wikipedia, this is basically just Smalltalk and Lisp.
<borei>
to "have fish" against "to know hot to fish" :-)
<borei>
"how to fish" ^^
nowhere_man has joined #lisp
vzerda has quit [Ping timeout: 240 seconds]
<turkja>
aeth: Smalltalk is cool... i mean i never programmed it but still :D
Kaisyu has joined #lisp
papachan has quit [Quit: WeeChat 0.4.2]
brendyn has joined #lisp
<loke`>
turkja: It's kind of neat, but I have issues with it.
<borei>
when i've created object of certain type and i request value of that object, im getting (#<obj-type {numbers}>) that numbers what is it ?
drcode has joined #lisp
<borei>
address ?
EvW1 has joined #lisp
eazar001 has quit [Quit: WeeChat 1.9.1]
<loke`>
borei: It could be. It has no meaning other than to help you distinguish multilpe instanes of the same class.
<loke`>
It can't really be the address, since a relocating collector may move an object around.
<borei>
tks !
<loke`>
borei: If you7 want to implement your own textual representation of the object, just implementt he PRINT-OBJECT method
LiamH has quit [Quit: Leaving.]
d4ryus1 has joined #lisp
d4ryus has quit [Ping timeout: 240 seconds]
<pjb`>
borei: beware that type and class are two different concepts in Common Lisp.
pjb` is now known as pjb
<pjb>
When objects are printed with #< it's the class name that is used, not the type of the object. The type can be different, notably for instances of system classes.
thebardian has quit [Remote host closed the connection]
nika has joined #lisp
thebardian has joined #lisp
shifty has joined #lisp
EvW1 has quit [Ping timeout: 240 seconds]
nowhere_man has quit [Remote host closed the connection]
nowhere_man has joined #lisp
fikka has joined #lisp
dieggsy has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 260 seconds]
<beach>
Good morning everyone!
<drmeister>
In Clasp (and I'm told in sbcl) they allocate simple-base-string's with one extra byte for null terminated strings for C interoperation. Is there ever a reason to allocate more space like that for anything else?
hellcode has joined #lisp
vancan1ty has quit [Ping timeout: 252 seconds]
<drmeister>
In order to support the Memory Pool System GC I need to be able to calculate the size of objects from their contents and I just realized that I need to special case simple-base-string for the reason above. I can add a more general mechanism - but I don't see a compelling reason to do so.
vancan1ty has joined #lisp
<Bike>
other than alignment and padding stuff nothing comes to mind.
mson has quit [Quit: Connection closed for inactivity]
_whitelogger has joined #lisp
asarch has quit [Quit: Leaving]
skali has joined #lisp
<drmeister>
Ok - thanks.
skali has quit [Ping timeout: 260 seconds]
<pjb>
drmeister: more vectors are null terminated in usual C programming.
<pjb>
drmeister: for example, envv and argv.
<pjb>
drmeister: ie. "lists" implemented as vectors of variable length are often terminated with a null pointer.
<drmeister>
Hmmm, those are good examples - but the terminating null would be counted in their length.
<drmeister>
Not so with null terminated strings.
ahungry has joined #lisp
vancan1ty has quit [Ping timeout: 250 seconds]
Gordo has joined #lisp
<pfdietz>
TYPE-OF returns a type specifier, which can be a symbol, a list, or a class object. Is there a clhs bot?
jstoddard has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
fikka has joined #lisp
hellcode has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 248 seconds]
<pjb>
drmeister: perhaps you want to be able to do (execv (vector "ls" "-l")) without copying the vector and adding null?
White_Flame has joined #lisp
Bike has quit [Quit: Lost terminal]
nsrahmad has joined #lisp
<drmeister>
How would I do that?
<pjb>
Well, it depends on the representation of data, but the idea would be to add a 0-element to all the vectors, so the case for strings wouldn't be an exception. But of course, it would means that any pointer to a cl:string would have to be a pointer to the cstring (C array of char), and the lisp attributes would have to be stored at other (probably negative) offsets.
<pjb>
This could be an implementation strategy for a CL implementation that would aim for data types compatible with C.
orivej has quit [Remote host closed the connection]
orivej has joined #lisp
nsrahmad has quit [Quit: nsrahmad]
<beach>
Sounds bad.
<pjb>
yes
dddddd has quit [Remote host closed the connection]
<dim>
Shinmera: yeah, I'm trying to get ideas to debug, I feel stuck
<jackdaniel>
there are traps with moving handler-case into handler-bind, because despite superficial similarity they work different
<Shinmera>
dim: Try using call-with-style
<dim>
line 137 of the same file uses the macro
<dim>
jackdaniel: it was an handler-bind already before, because I need to catch a lower level signal (babel decoding)
<dim>
pgloader calls into qmynd that calls into babel, and the error handling is done in pgloader
<dim>
Shinmera: mmm, okay, trying
<Shinmera>
Anyway, there are no "gotchas" specifically related to what you're asking.
<dim>
I didn't think there would be, but I've been surprised before
<Shinmera>
Try *break-on-signals* to see if it is even happening
<dim>
(surprised as in wrong)
<jackdaniel>
macro looks just fine at first glance
<Shinmera>
*if the condition is even happening
<jackdaniel>
(as in - should work)
fikka has quit [Ping timeout: 248 seconds]
<dim>
oh I have a backtrace with 0: ((:INTERNAL (PGLOADER.SOURCES:MAP-ROWS (PGLOADER.MYSQL:COPY-MYSQL))) #<BABEL-ENCODINGS::INVALID-GBK-BYTE #x30200543D73D>) Locals: PGLOADER.MYSQL::C = #<BABEL-ENCODINGS::INVALID-GBK-BYTE #x3020051C24CD>
<jackdaniel>
you don't catch invalid-gbk-byte
<dim>
invalid-gbk-byte has Super classes: #<STANDARD-CLASS BABEL-ENCODINGS:CHARACTER-DECODING-ERROR>
<jackdaniel>
aha
<dim>
sorry didn't type and copy/paste fast enough
<dim>
pgloader is now able to do fully automated database migrations from X to PostgreSQL, for X being MS SQL, SQLite and MySQL
<dim>
customers are asking about Oracle and Sybase, so I guess that's next
fikka has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
aeth has quit [Ping timeout: 240 seconds]
drcode has joined #lisp
drcode has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 248 seconds]
<loke`>
dim: We could definitely use Oracle and Sybase.
<loke`>
Those are the database our customers use, and we'll support mssql soon.
<loke`>
We have a similar internal conversion tool, but it's slow as fuck./
<loke`>
pgloader would be very useful here.
<loke`>
Although the Postgres support isn't implemented yet. :-)
Amplituhedron has quit [Remote host closed the connection]
test1600 has quit [Read error: Connection reset by peer]
fikka has joined #lisp
drcode has joined #lisp
anonus has left #lisp ["WeeChat 1.9.1"]
zaquest has joined #lisp
nika has quit []
fikka has quit [Ping timeout: 260 seconds]
<dim>
as a source you mean?
<dim>
loke`: I will be very happy to have a contributor to pgloader if you're interested in joining the fun!
<dim>
otherwise your company can sponsor my work to add Oracle/Sybase!
damke has joined #lisp
<loke`>
dim: Right now we don't need to copy to postgres yet, because the application hasn't been ported to Postgres. They will (hopefully) do that once the mssql port is finished.
<loke`>
If you have mssql as a destimation, we could use it right now.
<phoe>
"A binary protocol is a protocol which is intended to be read by a machine rather than a human being, as opposed to a plain text protocol such as IRC, SMTP, or HTTP. "
<jackdaniel>
they are both not part of the standard
<jackdaniel>
but series are implemented as a library for sure
<jackdaniel>
not sure about the generators
damke has joined #lisp
damke_ has quit [Ping timeout: 240 seconds]
<Achylles>
I would like to define, say a N function, just for me to remember the natural set numbers using lisp instead of writing down everything on a paper with a pen...
<Achylles>
I do not know if it is possible to study maths with lisp...
<beach>
Achylles: What would that function do?
<jdz>
Wouldn't one of the symbolic maths programs more suited for this?
oleo has joined #lisp
<jackdaniel>
you may represent it as a symbol, but I think that you confuse a little computing with math
<jackdaniel>
like in: say how vs say what
<Achylles>
the thing is that, I want to learn lisp while studying maths...
<Achylles>
or the other way round...
<jmercouris>
Achylles: I don't think that's a good idea, Lisp is distinctly different from Math
<pjb>
Achylles: do you mean ℕ ?
<Achylles>
yes.
<pjb>
ℕ is a set. If you want to consider it as a function, then it is characterised by its indicator function.
<Achylles>
Should I give up using lisp for studying maths? What do you think...
<jackdaniel>
maxima is written in lisp
<jackdaniel>
and you still can drop down to repl if you want
<pjb>
ACL2 is a theorem prover based on a subset of CL (and implemented in CL).
<Achylles>
jdz, some of them uses python
<Achylles>
like sage...
<Achylles>
but, I am interested more in lisp
<pjb>
Achylles: definitely use lisp to study maths (and anything else).
<jdz>
Learning everything at once is a sure way to get confused.
sjl has joined #lisp
<Colleen>
sjl: Shinmera said at 2017.11.10 11:54:16: I reworked the docs for Harmony and included some actual examples. Hope that helps! https://shirakumo.github.io/harmony/ Still haven't completed the CoreAudio backend or made buffer-sources convenient, though.
neoncont_ has quit [Remote host closed the connection]
Tobbi has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
fikka has quit [Ping timeout: 260 seconds]
dyelar has joined #lisp
eudoxia has joined #lisp
deba5e12 has quit [Quit: WeeChat 1.9.1]
deba5e12 has joined #lisp
fikka has joined #lisp
Tobbi has joined #lisp
cromachina has quit [Read error: Connection reset by peer]
_cosmonaut_ has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
malice has joined #lisp
eudoxia has quit [Quit: Leaving]
Patzy has joined #lisp
Tobbi has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
hexfive has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
Tobbi has joined #lisp
rippa has joined #lisp
pjb has quit [Ping timeout: 240 seconds]
pjb has joined #lisp
fikka has joined #lisp
didi has joined #lisp
Jesin has joined #lisp
<didi>
When you define a macro, and use it inside your package, do you define it in a separate file, loaded first?
<jmercouris>
didi: Yes, many do
margeas has quit [Ping timeout: 248 seconds]
<jmercouris>
didi: I have a file called macro.lisp which gets loaded before all of my other files
<didi>
jmercouris: Thanks.
<jmercouris>
didi: No problem!
Josh_2 has joined #lisp
_cosmonaut_ has joined #lisp
<Shinmera>
I don't
<Shinmera>
I define the macro where it is appropriate contextually. Singling macros out as some kind of special thing seems odd.
<didi>
Shinmera: But how do you compile them? If I use a macro before defining it, the compiler barfs.
Tobbi has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Tobbi has joined #lisp
<jmercouris>
Shinmera: You know, I thought so as well at first, but whenever I had a macro that combined two or more functions from discrete files it was hard to think about the placement of said macro
<jmercouris>
Shinmera: Obviously that is to say you are far more experienced than me, but I prefer just loading them before everything else to avoid any ambiguity
norserob has quit [Quit: leaving]
<Shinmera>
didi: You just put it in the file before you use it?
<Bike>
"combined"?
<pjb>
The thing is that the functions used by the macro must be available in the evaluation environment used by the compilation environment to expand the macros.
<didi>
Shinmera: Indeed. But then I start a dance of killing and yanking macros.
<Bike>
didi: the compiler goes through files top to bottom compiling. if it sees a defmacro it will install the macro right then. if it sees a macro form but the macro hasn't been installed, it will probably think it's a function call and problems will happen. so, macros first
_rumbler31 has joined #lisp
<pjb>
The file macros.lisp should contain those functions (and not necessarily the macros), so that you may easily load this file in the startup environment, (from which the evaluation environment is initialized).
<Shinmera>
jmercouris: I've literally never seen people place macros into a separate file called "macros.lisp"
<pjb>
find ~/quicklisp -name macro\*.lisp
<Shinmera>
pjb: I don't doubt the existence. I just haven't come across it in my own viewings.
flamebeard has quit [Quit: Leaving]
<scymtym>
Shinmera: i do that frequently but with the opposite rationale: the file is almost always the final file of the (ASDF) module and provides a layer of syntatic sugar that is independent of the function-based interface of the module
BitPuffin|osx has joined #lisp
<pjb>
The thing is that if you have function used by macros that also use some of your macros (which further use other functions you define), and furthermore, you define constants that you want to use at read time eg. for case labels, etc, you quickly end up having to put the whole file in (eval-when (:compile-toplevel :load-toplevel :execute) …).
flazh has quit [Ping timeout: 240 seconds]
<pjb>
In this situation, it's simplier to put them in separate files, and loading them in the required order.
EvW has joined #lisp
flazh has joined #lisp
<Achylles>
thx to all for the help and orientation...
<Achylles>
Probably, maxima is what I as looking for...
<Bike>
having separate files for compile time stuff would make sense if we commonly used actual phasing
<pjb>
Achylles: depends on the kind of maths you want to do. Maxima is not symbolic enough for me…
<jmercouris>
Shinmera: When I first asked about this question several weeks ago, perhaps months now, the response I got was, "sure, I put them in separate file" from a few people
<jmercouris>
Bike: I had reversed the order in my head, I meant to say that two or more discrete forms within two different files depend on the same macro
<Achylles>
pjb, ok. Any advice about a symbolic enough for you?
<Shinmera>
jmercouris: :shrug: I can only report on what I know.
<pjb>
Achylles: I'd have more fun with ACL2 I guess. (if only I had the time to do so).
<pjb>
Or I'd make my own euclidian geometry mathematician in lisp…
<Achylles>
pjb, installing acl2 here to have a try...
happy-dude has joined #lisp
<Achylles>
:)
lnostdal has joined #lisp
hexfive has quit [Ping timeout: 240 seconds]
eudoxia has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
Xal has quit [Ping timeout: 248 seconds]
Xal has joined #lisp
hyp3rbor3a has joined #lisp
dec0n has quit [Read error: Connection reset by peer]
hyp3rbor3a has quit [Quit: Leaving]
hyp3rbor3a has joined #lisp
vlatkoB has joined #lisp
<_rumbler31>
so when a defun form is read, any macros that it uses must be already defined?
<_rumbler31>
and is the same true of functions?
hyp3rbor3a has quit [Client Quit]
<Shinmera>
No
<Shinmera>
To both
<_rumbler31>
this might sound stupid, but I know what happens in c, but I've heard a lot about *correct* build order in lisp and haven't yet encountered situations where I had to be specific
<Shinmera>
When a form is /compiled/ that contains macro forms, then those macros must already be defined. Naturally.
<Shinmera>
When a form is /evaluated/ that contains function calls, then those functions must already be defined. Naturally.
<_rumbler31>
I see what you mean
Denommus has quit [Ping timeout: 250 seconds]
hexfive has joined #lisp
Jesin has quit [Ping timeout: 240 seconds]
<_rumbler31>
although I still don't think I understand *what* happens *when*, for example. I have a file with a function that uses a macro. When I (load the file, does it matter which is placed first in the file? Same question for different files
<Shinmera>
When a file is loaded, each form in the file is compiled and loaded one by one.
<Shinmera>
So yes, the macro must be defined before the function.
Jesin has joined #lisp
<Shinmera>
Or rather, the macro must be defined before its usages, or the compiler will compile the forms with standard evaluation rules in place, meaning it will probably be interpreted as a function call.
<sjl>
Has anyone written a beginners guide to the various "times" in CL? e.g. read vs compile vs load vs execute
<sjl>
It would be helpful to point folks to.
<Shinmera>
I plan to write about that in my book, but that doesn't exist yet.
knobo has joined #lisp
<sjl>
"Why do I need an eval-when around this function?" -> "Because macro X later in the file needs it during macroexpansion, but normally it wouldn't be evaluated til later"
<Shinmera>
I feel like a lot of people get confused because they have preconceptions about how things work in other languages, even though the process isn't very complicated in CL.
<Xach>
That's the peril of differential learning of new stuff
<Shinmera>
Indeed.
<sjl>
If the process isn't very complicated, it should be easy to clearly document then :)
varjag has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
<Shinmera>
Simply documenting it, and fighting people's ideas of what's going on to actually help them grasp it, are two different things.
<sjl>
"Hey, this works differently than languages you're used to. Here's a guide that explains how all the pieces work."
<Shinmera>
It ain't that easy
<sjl>
Correct, because we don't have the guide.
* Shinmera
sighs
<sjl>
"the guide" is random fragments of IRC
<sjl>
people explaining bits and pieces of the process
xrash has joined #lisp
<sjl>
we tell people "no, macros don't need to be available at read time" and then a week later they wonder why their reader macros aren't working
rocx has quit [Quit: classes]
<Bike>
fare's is the only one i remember, not counting the clhs
<Bike>
normally i'd say the clhs is fine, except that the compile file handling has that ridiculous table
<Shinmera>
fare's more for people that are curious about details than for people that just need to grok the fundamentals.
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #lisp
<Xach>
sjl: in K&R's C book, they say "this works differently from pascal and fortran like so"
<Xach>
sjl: amusing to read even in the 90s and not getting any more timely
<sjl>
heh
<Xach>
but, into voids like these can spring terrible "tutorials", like erann gat's package guide
<Xach>
so a good guide would be good, i think
FreeBirdLjj has quit [Remote host closed the connection]
thinkpad has quit [Ping timeout: 240 seconds]
pjb has quit [Ping timeout: 240 seconds]
<dim>
Xach: when you have time, could you have a look at https://github.com/dimitri/pgloader/issues/667 ; it might be a QL/buildapp bug there (sorry for reposting, didn't use a memo, and not sure you've seen it)
damke_ has joined #lisp
malice has quit [Remote host closed the connection]
<XachX>
Ok
damke has quit [Ping timeout: 240 seconds]
didi` has joined #lisp
didi has quit [Disconnected by services]
didi` is now known as didi
_rumbler31 has quit [Quit: Leaving...]
caseyowo has joined #lisp
_rumbler31 has joined #lisp
margeas has joined #lisp
pjb has joined #lisp
skali has joined #lisp
FreeBirdLjj has joined #lisp
jollygood2 has quit [Ping timeout: 268 seconds]
caseyowo has quit [Ping timeout: 260 seconds]
_cosmonaut_ has quit [Ping timeout: 248 seconds]
epony has quit [Read error: Connection reset by peer]
knobo has quit [Ping timeout: 250 seconds]
damke has joined #lisp
damke_ has quit [Ping timeout: 240 seconds]
varjag has joined #lisp
papachan has quit [Quit: WeeChat 0.4.2]
Karl_Dscc has joined #lisp
caseyowo has joined #lisp
dcluna has quit [Ping timeout: 240 seconds]
dcluna has joined #lisp
<didi>
To change/add alist key/values I use (union (list cons) alist :key 'car :test my-key-test). Is there a common name for this form or a form that doesn't use (list cons)?
<Bike>
you should just put new conses in front, probably. assoc has to go left to right.
<Bike>
do you have to do it non destructively?
<didi>
Bike: Hum. I think "yes", but what if I didn't? alexandria's (setf (assoc ...))?
<Josh_2>
should I still use the naming convention of adding a p to the end of my fun name if it returns a list or nil?
<Josh_2>
It will be used like a predicate
fikka has joined #lisp
Karl_Dscc has quit [Remote host closed the connection]
<Bike>
didi: setf assoc-value in alexandria is what i was thinking of, yeah.
<Bike>
Josh_2: seems fine. the standard has digit-char-p which returns a useful value and not just a boolean
<didi>
Bike: Thank you.
<sjl>
digit-char-p is the function I always forget exists, specifically because its name ends in -p
papachan has joined #lisp
Denommus has joined #lisp
epony has joined #lisp
<Bike>
if it returns a list but you don't use that fact it's certainly fine
<Josh_2>
Thanks Bike
<sjl>
make sure the list that it returns is never nil
xrash has quit [Ping timeout: 248 seconds]
Tobbi has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
xrash has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
mson has joined #lisp
hhdave has quit [Ping timeout: 258 seconds]
zaquest has quit [Quit: Leaving]
Tobbi has joined #lisp
<Xach>
dim: took a peek at the log, but i've never seen anything like that. that is normally the point at which sbcl exits.
<Xach>
oh, hmm. i see more.
<Xach>
dim: i'm really curious to know more about the systems.cdb-tmp thing. it seems like a possible race between two quicklisp activities in parallel
<Xach>
the sort of thing that would happen with two independent processes or two threads trying to build the systems cache at once.
attila_lendvai has joined #lisp
rgrau has joined #lisp
<pjb>
didi: (setf alist (acons k v alist))
m00natic has quit [Remote host closed the connection]
<pjb>
or (push (cons k v) alist)
<pjb>
of course, in general it's combined with a binding, so you only have (let ((alist (acons k v alist))) …)
<dim>
Xach: yeah it looked foreign to me too, hence asking your help
<Xach>
dim: if it's reproducible, a backtrace could help track down what's up.
<Xach>
dim: if my guess about a race is right, though, it possibly won't be reproducible.
<Xach>
dim: i wonder about maybe make -j parallelism somewhere?
<dim>
do you want to ask on the issue at github, or should I proxy your questions? (happy to if you prefer)
<didi>
pjb: Thanks. I don't think comfortable mutating this particular data structure tho. Also, it will later be used to write a particular format to disc and the function don't keep track of already written key to disc, so there will be duplicates.
<Xach>
dim: proxy svp
<didi>
s/think/feel
dra has joined #lisp
<pjb>
didi: acons and push doesn't mutate anything!
EvW has quit [Quit: EvW]
<scymtym>
Xach: i think that is likely, looking at the rest of the output. for example, the initial git clone operations seem interleaved as well. maybe the reporter has something in their environment that enables make parallelization by default
<didi>
pjb: True.
Tobbi has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<Xach>
dim: scymtym is more observant than i!
flak has joined #lisp
dra has quit [Quit: Leaving]
<dim>
thanks scymtym and Xach, answering to that effect then
<dim>
I totally missed that :/
shka has joined #lisp
rippa has quit [Ping timeout: 248 seconds]
<shka>
good evening
<Josh_2>
hey slime just had a heart attack
dcluna has quit [Ping timeout: 250 seconds]
<Josh_2>
I kept getting an error about a thread lockout
asarch has joined #lisp
dcluna has joined #lisp
rgrau has quit [Ping timeout: 268 seconds]
fikka has quit [Ping timeout: 240 seconds]
asarch has quit [Client Quit]
caseyowo has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
<Shinmera>
sjl: CoreAudio drain now finally works.
<sjl>
nice
<Shinmera>
Harmony now has native backends for all three major OSs
<Shinmera>
Unsurprisingly, OS X and Windows were the worst to work with.
Amplituhedron has joined #lisp
caseyowo has joined #lisp
vlatkoB has quit [Remote host closed the connection]
papachan has quit [Quit: WeeChat 0.4.2]
vlatkoB has joined #lisp
<pjb>
Impedence mismatches…
<Shinmera>
More like undocumented mess for one, and overly involved and complicated for the other.
gendl has quit []
caseyowo has quit [Ping timeout: 240 seconds]
gendl has joined #lisp
raynold has joined #lisp
fortitude has joined #lisp
aeth_ has joined #lisp
kmb has joined #lisp
vlatkoB has quit [Read error: Connection reset by peer]
zaquest has joined #lisp
vlatkoB has joined #lisp
aeth has quit [Ping timeout: 240 seconds]
zaquest has quit [Remote host closed the connection]
EvW1 has joined #lisp
georgiy has joined #lisp
Fare has joined #lisp
pseudonymous has joined #lisp
aeth_ is now known as aeth
Rawriful has joined #lisp
<Fare>
Hi
neoncontrails has joined #lisp
<Fare>
What's the best library to read and write binary data off/on a byte stream?
<Shinmera>
fast-io is pretty nice.
<Shinmera>
It doesn't do stuff like letting you declare container layouts, but it gives you a fast, low-level mechanism to read binary data.
neoncontrails has quit [Remote host closed the connection]
skali has quit [Ping timeout: 240 seconds]
skali has joined #lisp
neoncontrails has joined #lisp
neoncontrails has quit [Remote host closed the connection]
neoncontrails has joined #lisp
<Shinmera>
Speaking of that, do we have a byte-wise UTF8 decoder? Babel requires you to read the entire string into a byte buffer first.
<Shinmera>
Being able to decode directly to a string would be nice.
skali has quit [Ping timeout: 248 seconds]
<Bike>
how would you do that efficiently? read into a shorter byte buffer, and if you end halfway through a codepoint get the next buffer a bit earlier?
damke_ has joined #lisp
<Shinmera>
It would have to track bytes until it has a complete codepoint, yeah.
<Shinmera>
Sounds like a job you can do perfectly fine without continuations to me
damke has quit [Ping timeout: 240 seconds]
<easye>
The branchless decoder is neat, I must admint.
<easye>
s/admint/admit/
<Fare>
yeah, I remember that very utf8 issue. Ugh.
<Fare>
I'm happy to be using Gerbil now, with both continuations and lightweight threads.
<vutral>
p
<Fare>
I was trying to do incremental parsing of data from hundreds / thousands of clients using utf8 character strings in CL... not as nice as I wanted.
<Fare>
I had retrofitted lightweight threads on top of CL using arnesi's call/cc implementation... but if the I/O primitives of the platform are supposed to block a heavy-weight thread, you lose.
fiveop has joined #lisp
<Fare>
and doing utf8 input could block waiting for the next packet, so had to be specifically avoided.
<didi>
What is a lightweight thread?
<Fare>
a thread implemented on top of call/cc
<Fare>
so it carries very little extra state.
<didi>
Is it preemptive? Is there a timer?
neoncontrails has quit [Remote host closed the connection]
<Fare>
they can be preemptive, but only with compiler support
<didi>
The running thread has to explicitly release control?
neoncontrails has joined #lisp
<phoe>
I guess so, they need to return their continuation after all if they're call/cc-based
<didi>
I see.
<shka>
is there anything like cl-cuda but for opencl instead?
Fare has quit [Remote host closed the connection]
<Shinmera>
if I remember correctly no, but you can use OpenGL's compute shaders if what you really want is a portable GPU compute engine.
dieggsy has joined #lisp
<shka>
i see, thank you
nullniverse has joined #lisp
Ober has joined #lisp
LocaMocha has quit [Ping timeout: 248 seconds]
takitus has joined #lisp
turkja has quit [Read error: Connection reset by peer]
dieggsy has quit [Remote host closed the connection]
christoph_debian has quit [Ping timeout: 240 seconds]
saunahead has joined #lisp
<saunahead>
please check out wirktech.com - and contribute with your talent.
<Ober>
or not
christoph_debian has joined #lisp
caseyowo has joined #lisp
vlatkoB has quit [Remote host closed the connection]
epony has quit [Read error: Connection reset by peer]
thebardian has joined #lisp
epony has joined #lisp
<jackdaniel>
not necessarily, you may have a scheduler which interrupts the green thread with a signal after time slice (if it doesn't yield)
<jackdaniel>
funnily enough, I'm working on that right now
<jackdaniel>
fwiw arnesi's call/cc implementation is more emulation than the real thing
Denommus has quit [Quit: going home]
EvW1 has quit [Ping timeout: 246 seconds]
EvW has joined #lisp
eudoxia has quit [Quit: Leaving]
thebardian has quit [Remote host closed the connection]
dieggsy has joined #lisp
mson has quit [Quit: Connection closed for inactivity]
saunahead has left #lisp [#lisp]
fiveop has quit []
dyelar has quit [Quit: Leaving.]
zaquest has joined #lisp
k-stz has joined #lisp
scymtym has quit [Ping timeout: 240 seconds]
tumdum_ has joined #lisp
tumdum has quit [Ping timeout: 260 seconds]
okflo has quit [Remote host closed the connection]
dyelar has joined #lisp
WorldControl has joined #lisp
schoppenhauer has joined #lisp
nirved has quit [Quit: Leaving]
flak has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
Achylles has quit [Ping timeout: 248 seconds]
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #lisp
neoncontrails has quit []
neoncontrails has joined #lisp
<Guest44476>
using Silence. not 'on' Signal anymore.
dyelar has quit [Quit: Leaving.]
wooden has joined #lisp
damke has joined #lisp
damke_ has quit [Ping timeout: 240 seconds]
orivej has quit [Ping timeout: 268 seconds]
varjag has quit [Ping timeout: 240 seconds]
Jesin has quit [Quit: Leaving]
varjag has joined #lisp
varjag has quit [Remote host closed the connection]
dieggsy has quit [Remote host closed the connection]
klltkr has joined #lisp
jmercouris has quit [Remote host closed the connection]
jmercouris has joined #lisp
jasom has quit [Ping timeout: 255 seconds]
jasom has joined #lisp
caseyowo has quit [Ping timeout: 248 seconds]
fikka has quit [Ping timeout: 248 seconds]
pierpa has joined #lisp
tumdum_ has quit [Ping timeout: 240 seconds]
didi has quit [Remote host closed the connection]
JenElizabeth has quit [Remote host closed the connection]
JenElizabeth has joined #lisp
knobo has joined #lisp
alms_clozure_ has joined #lisp
splittist_ has joined #lisp
rumbler31 has quit [Remote host closed the connection]
mjl_ has joined #lisp
jeremyheiler_ has joined #lisp
rann_ has joined #lisp
Josh_2 has quit [Ping timeout: 268 seconds]
MightyJoe has joined #lisp
ineiros_ has joined #lisp
add^__ has joined #lisp
Kaisyu has quit [Quit: Connection closed for inactivity]
zotan has quit [Ping timeout: 255 seconds]
ggherdov has quit [Ping timeout: 255 seconds]
les has quit [Ping timeout: 255 seconds]
jeremyheiler has quit [Ping timeout: 255 seconds]
rann has quit [Ping timeout: 255 seconds]
alphor has quit [Ping timeout: 255 seconds]
alms_clozure has quit [Ping timeout: 255 seconds]
Sovereign_Bleak has quit [Ping timeout: 255 seconds]
<phoe>
a manual slime-update-indentation fixed this
<Shinmera>
The indentation works as expected for me
<Shinmera>
Without having to update anything
<phoe>
weird
<phoe>
slime does not autoupdate indentation then
<Shinmera>
Well it sure does for me
xaotuk has joined #lisp
georgiy has quit [Ping timeout: 260 seconds]
Tobbi has joined #lisp
<pseudonymous>
Have anyone used ningle and had issues reloading (slime-compile-and-load-file) where requirements functions don't seem to ever get redefined ?
Jesin has joined #lisp
happy_gnu[m] has joined #lisp
akr has joined #lisp
Jach[m] has joined #lisp
dahs81[m] has joined #lisp
CharlieBrown has joined #lisp
RichardPaulBck[m has joined #lisp
dirb has joined #lisp
equalunique[m] has joined #lisp
Guest34211 has joined #lisp
Sovereign_Bleak has joined #lisp
astronavt[m] has joined #lisp
thorondor[m] has joined #lisp
hiq[m] has joined #lisp
hdurer[m] has joined #lisp
l04m33[m] has joined #lisp
trigt[m] has joined #lisp
ArthurAGleckler[ has joined #lisp
_rumbler31 has quit [Ping timeout: 240 seconds]
Ven has joined #lisp
Ven is now known as Guest78171
WorldControl has quit [Quit: Ex Chat]
fikka has quit [Ping timeout: 248 seconds]
bkst_ has quit [Quit: leaving]
bkst has joined #lisp
Rawriful has quit [Quit: WeeChat 1.4]
LiamH has quit [Quit: Leaving.]
xaotuk has quit [Ping timeout: 264 seconds]
Amplituhedron has quit [Ping timeout: 240 seconds]
Bike has quit [Ping timeout: 240 seconds]
hexfive has quit [Quit: WeeChat 1.9.1]
Karl_Dscc has joined #lisp
hhdave has joined #lisp
scymtym has joined #lisp
fikka has joined #lisp
moei has quit [Ping timeout: 248 seconds]
fikka has quit [Ping timeout: 240 seconds]
georgiy has joined #lisp
Guest78171 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
moei has joined #lisp
Karl_Dscc has quit [Remote host closed the connection]
<raynold>
ahh it's a wonderful day
fikka has joined #lisp
<Shinmera>
Good night!
klltkr has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
fikka has quit [Ping timeout: 240 seconds]
Achylles has joined #lisp
thinkpad has joined #lisp
fikka has joined #lisp
neoncontrails has quit [Remote host closed the connection]
hhdave has quit [Quit: hhdave]
fikka has quit [Ping timeout: 240 seconds]
<emaczen>
How can I get a finer time precision than seconds i.e. #'get-universal-time won't give me milliseconds as far as I know.
Bike has joined #lisp
fikka has joined #lisp
<phoe>
emaczen: implementation-dependent
<phoe>
generally try get-internal-run-time
Tobbi has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<phoe>
but local-time has microsecond precision under sbcl
BigSafari has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
neoncontrails has joined #lisp
johs has joined #lisp
ggherdov has joined #lisp
<jmercouris>
minion: memo for BigSafari: Not sure what you mean about applying "and" to reduce it to one value, if you mean one boolean value, you can use the (and) function (and value1 value2)
<minion>
Remembered. I'll tell BigSafari when he/she/it next speaks.
rumbler31 has joined #lisp
<jmercouris>
Who programmed the minion?
<pjb>
minion: who programmed you?
<minion>
superman
<pjb>
minion: where are your sources?
<minion>
behind you!
<jmercouris>
Is it possible to change he/she/it to just say "they" speak, it feels like it would be far simpler
<jmercouris>
Lol, very helpful responses from the minion