<slondr>
My use case is I have some other function that generates note sequences, eg (E G B A C), I just want to hear what that sequence sounds like, preferably without defining instruments or dealing with frequences and all that other stuff
andreyorst_ has quit [Ping timeout: 256 seconds]
<slondr>
Perhaps I am just lazy
<beach>
slondr: That's a very specific use case that you can't expect to have a pre-existing library for.
<beach>
slondr: Normally, you would want to know the instrument, the duration, the volume, etc.
<fiddlerwoaroof>
slondr: common music has something like that, I think
<fiddlerwoaroof>
But I think they switched from CL to scheme a while ago
<slondr>
beach: something like this exists for python I believe
<beach>
Good to know.
<slondr>
moon-child: sadly the download link for CLM 404s, and afaict it's not in quicklisp
<moon-child>
slondr: there are two links; the second works fine for me
<slondr>
oh! I hadn't noticed that
<slondr>
thanks moon-child
bmansurov has joined #lisp
bmansurov is now known as Guest71249
Guest71249 is now known as bmansurov`
bmansurov` is now known as bmansurov_
andreyorst_ has joined #lisp
Jesin has joined #lisp
thmprover has quit [Quit: [Exit, pursued by bear]]
matryoshka has quit [Ping timeout: 260 seconds]
akoana has left #lisp ["Leaving"]
payphone has quit [Quit: WeeChat 2.7.1]
matryoshka has joined #lisp
karlosz has quit [Read error: Connection reset by peer]
karlosz_ has joined #lisp
Bike has quit [Quit: Lost terminal]
waleee-cl has quit [Quit: Connection closed for inactivity]
saganman has joined #lisp
gko_ has joined #lisp
zacts has joined #lisp
zacts has quit [Client Quit]
gutter has quit [Remote host closed the connection]
birdwing has joined #lisp
stzsch|2 has joined #lisp
Nikotiini has quit [Ping timeout: 264 seconds]
stzsch has quit [Ping timeout: 256 seconds]
Nikotiini has joined #lisp
ralt has joined #lisp
Aurora_v_kosmose is now known as aurora\uwu^test
aurora\uwu^test is now known as Aurora_v_kosmose
quazimodo has joined #lisp
JohnnyL has joined #lisp
mindCrime has joined #lisp
luni has joined #lisp
gutter has joined #lisp
slondr has quit [Remote host closed the connection]
rumbler31_ has quit [Ping timeout: 272 seconds]
v88m has quit [Read error: Connection reset by peer]
v88m has joined #lisp
gioyik has quit [Quit: WeeChat 3.0]
shka_ has joined #lisp
narimiran has joined #lisp
galex-713 has quit [Ping timeout: 272 seconds]
aeth has quit [Ping timeout: 246 seconds]
aeth has joined #lisp
rumbler31_ has joined #lisp
galex-713 has joined #lisp
vutral_ has joined #lisp
orivej has joined #lisp
gko_ has quit [Ping timeout: 264 seconds]
marusich has quit [Read error: Connection reset by peer]
marusich has joined #lisp
mindCrime has quit [Ping timeout: 264 seconds]
rogersm has joined #lisp
ted_wroclaw has joined #lisp
hendursa1 has joined #lisp
gko_ has joined #lisp
rogersm has quit [Remote host closed the connection]
hendursaga has quit [Ping timeout: 240 seconds]
ex_nihilo has joined #lisp
ralt has quit [Quit: Connection closed for inactivity]
cage_ has joined #lisp
anticrisis has quit [Read error: Connection reset by peer]
makomo has joined #lisp
gaqwas has joined #lisp
hnOsmium0001 has quit [Quit: Connection closed for inactivity]
pve has joined #lisp
gaqwas has quit [Remote host closed the connection]
<beach>
No, untabify means that you replace TABs by spaces.
<ecm>
oh got it
<ck_>
ecm: emacs has a command called 'untabify' -- M-x untabify
<beach>
Now you need to indent the buffer again, and then untabify it.
<ck_>
which will probably produce the exact same text as before though
<ecm>
ok done
<ck_>
like I predicted ;) your emacs is set to indent using tabs, that's the issue you need to address first
<beach>
So what's the complaint?
<beach>
Ah, yes, still TABs.
<ecm>
I expected crt:with-windows to be indented 2 spaces from crt:with-screen
<beach>
ecm: You need to do C-x h and then M-x untabify.
<ck_>
try M-x customize-variable indent-tabs-mode, set it to off -- that's my guess
<ecm>
beach: now ?
<beach>
Ah, that depends on the definition of the macro WITH-SCREEN.
<beach>
OK, let's see. Have you loaded the system that defines crt:xxx?
<ecm>
yes
<ecm>
I have
<beach>
Hmm.
<beach>
Let me see if I can reproduce it. What's the system?
<ecm>
croatoan, an ncurses library
<ecm>
I've loaded it in slime already
<beach>
But the fact that you did that on the first line doesn't mean it is loaded.
<beach>
OK, let me try it then...
<ecm>
I typed "(ql:quickload :croatoan)" inthe SLIME REPL
<ecm>
if that's what you mean
<beach>
yes, that's what I meant.
<ecm>
When I do a C-M-q it indents it like that
vegansbane6 has joined #lisp
<beach>
Works for me.
<beach>
So, how exactly did you create this code? How did you start emacs, SLIME, and how did you create the buffer?
beach` has joined #lisp
<ecm>
I opened the file as normal, I've added a slime-company hook for the file, I then started slime, loaded croatoan, compiled the file and did a C-M-q expecting to indent properly
cpape` has quit [Quit: ERC (IRC client for Emacs 26.3)]
lotuseater has quit [Remote host closed the connection]
beach has quit [Disconnected by services]
beach` is now known as beach
cpape has joined #lisp
<beach>
Er, C-M-Q?
<beach>
C-x h then C-M=\
<beach>
Sorry, C-x h then C-M-\
<ck_>
what's wrong with cmq? "C-M-q (translated from <escape> C-q) runs the command indent-sexp"
<beach>
I guess if you do it on the first opening parenthesis, it works.
ecm has quit [Quit: ERC (IRC client for Emacs 27.1)]
<beach>
But only for one expression.
<ck_>
I thought that was what this was about, my mistake if not.
ecm has joined #lisp
<beach>
I may be wrong of course.
<ecm>
I restarted emacs just in-case
<beach>
ecm: Did you do C-M-q when the cursor was before (defun?
<ecm>
I did it both ways
<ecm>
inside (defun and on the (
<beach>
What about C-x h and then C-M-\
<beach>
Does that work?
lotuseater has joined #lisp
<ecm>
ok it just worked once I restarted
<ecm>
thanks
orivej has quit [Ping timeout: 240 seconds]
<ecm>
beach: both work now
<beach>
Hmm. Disconcerting! OK, good luck.
<ck_>
did you change indent-tabs-mode in the meantime?
<ecm>
no, I did not
<ecm>
am I not supposed to be using tabs for indentation ?
<ck_>
I think it is the consensus to use spaces today
aeth has quit [Ping timeout: 246 seconds]
aeth has joined #lisp
<beach>
Yeah, everything looks better that way.
<beach>
Git diffs, paste sites, etc.
random-nick has joined #lisp
rjcks has joined #lisp
orivej has joined #lisp
troydm has quit [Ping timeout: 260 seconds]
v88m has quit [Ping timeout: 264 seconds]
rjcks has quit [Quit: leaving]
Blukunfando has joined #lisp
kaftejiman has joined #lisp
troydm has joined #lisp
SpaceIgo` has joined #lisp
SpaceIgo` has left #lisp [#lisp]
waleee-cl has quit [Quit: Connection closed for inactivity]
SAL9000 has joined #lisp
rumbler31_ has quit [Ping timeout: 256 seconds]
ljavorsk has joined #lisp
Robdgreat has left #lisp [#lisp]
frgo_ has joined #lisp
orivej has quit [Ping timeout: 260 seconds]
ljavorsk has quit [Ping timeout: 246 seconds]
frgo has quit [Ping timeout: 246 seconds]
ech has quit [Remote host closed the connection]
ech has joined #lisp
rumbler31_ has joined #lisp
Bike has joined #lisp
puchacz has joined #lisp
Lycurgus has joined #lisp
spoeplau has joined #lisp
<puchacz>
hi, to play with ecl (I am interested in android), I need to sudo apt get ecl first, to get any version, then compile the newest one and follow some tutorials?
<puchacz>
the manual says ecl should be compiled with ecl
Inline has joined #lisp
<spoeplau>
I'm trying to do (defctype foo :pointer) with several types '(foo bar baz), and I'm looking for a way to do something like (dolist (name '(foo bar baz)) (defctype name :pointer)). It doesn't quite work like this because "name" isn't evaluated, and the best I've been able to come up with so far is to define my own macro and then call it just once. Is there a better way?
v88m has joined #lisp
karlosz_ has quit [Quit: karlosz_]
Aurora_v_kosmose has quit [Ping timeout: 240 seconds]
<_death>
the macro is a way.. but if it's just that simple form it's overkill in my opinion
xlei has quit [Ping timeout: 256 seconds]
v88m has quit [Ping timeout: 256 seconds]
Blukunfando has quit [Ping timeout: 256 seconds]
<spoeplau>
_death: I have some more complex cases too, that one was just to illustrate what I'm trying to do
<ralt>
spoeplau: defctype is a macro I assume
<ralt>
You can macroexpand it to see if something else could be done
<spoeplau>
ralt: yep, it's from cffi. I'll have a look...
waleee-cl has joined #lisp
<_death>
spoeplau: you can define a META macro, something like (defmacro meta (form) (let ((generate (gensym))) `(macrolet ((,generate () ,form)) (,generate))))
<_death>
then (meta `(progn ,@(mapcar (lambda (name) `(defctype ,name :pointer)) '(foo bar baz))))
<_death>
Bike: I think I first saw in a Kent Pitman post
lucasb has joined #lisp
* edgar-rft
saw a Kent Pitman ghost
<_death>
with METALIST it would be (metalist (name) "Define a foreign pointer type alias for NAME." `(defctype ,name :pointer) ((foo) (bar) (baz)))
<ralt>
_death: I didn't realize you were the author of the dbus CL library
<ralt>
small world
<_death>
ralt: ;)
<ralt>
I've used that library in anger :P
<_death>
ralt: I remember you had some pull requests.. nice to hear that it worked for you, I wrote it for a thing that became irrelevant t me a year or two later.. the publish part is still broken design
xlei has joined #lisp
Blukunfando has joined #lisp
Lycurgus has quit [Quit: Exeunt]
puchacz has quit [*.net *.split]
pfdietz has quit [*.net *.split]
Bahman has quit [*.net *.split]
jeosol has quit [*.net *.split]
luni has joined #lisp
Blukunfando has quit [Ping timeout: 264 seconds]
v88m has joined #lisp
lansiir has quit [Ping timeout: 268 seconds]
lansiir has joined #lisp
sugarwren has quit [Ping timeout: 272 seconds]
v88m has quit [Ping timeout: 246 seconds]
orivej has joined #lisp
spoeplau has quit [Remote host closed the connection]
ecm has quit [Ping timeout: 264 seconds]
mindCrime has joined #lisp
roelj has joined #lisp
birdwing has quit [Remote host closed the connection]
birdwing has joined #lisp
nicktick has joined #lisp
hendursa1 has quit [Ping timeout: 240 seconds]
sjl has joined #lisp
v88m has joined #lisp
cosimone has joined #lisp
sugarwren has joined #lisp
<flip214>
Is there a library that can translate a SVG to an CL-PDF form, like a macro? translating a SVG to a PDF via eg. inkscape is relatively costly (in CPU terms), so directly writing a PDF would be much better
<frodef>
Is there any kind ov SVG renderer in CL? Seems to me a substantial undertaking.
igemnace has quit [Remote host closed the connection]
<flip214>
frodef: I can read a PDF in inkscape, and save as SVG. SVG is text-only and very similar to PS and PDF, so the typical 99% should be an easy AST => AST translation.
mindCrime has quit [Ping timeout: 264 seconds]
<flip214>
If I can get the SVG => CL-PDF transformation, I can "easily" get a PDF and write "compatible" data from CL.
vaporatorius has joined #lisp
vaporatorius has joined #lisp
<frodef>
flip214: To my knowledge, SVG is a substantial vector-graphics DOM, and "translating" to PDF I suspect is infeasible, beyond rendering to a raster image. Except perhaps a carefully selected subset of SVG.
andreyorst_ has quit [Quit: andreyorst_]
<frodef>
(I could be wrong, but this is my understanding.)
andreyorst_ has joined #lisp
vaporatorius__ has quit [Ping timeout: 260 seconds]
<frodef>
If you have Inkscape save a PDF into SVG, do you get a raster image, or actual SVG?
luckless has quit [Remote host closed the connection]
cantstanya has quit [Write error: Connection reset by peer]
gxt has quit [Read error: Connection reset by peer]
madage has quit [Write error: Connection reset by peer]
ech has quit [Remote host closed the connection]
<flip214>
an actual svg.
<flip214>
and cl-pdf as well as svg have primitives like matrix-transform, text, choose font, etc. so a translation seems feasible.
j0nd0e has joined #lisp
<flip214>
"Hold my beer"
<frodef>
Well.. I won't hold your breath ;-)
<frodef>
would be cool though.
monkey` has joined #lisp
j0nd0e has quit [Ping timeout: 246 seconds]
ech has joined #lisp
sugarwren has quit [Ping timeout: 246 seconds]
Nilby has joined #lisp
JohnnyL has quit [Quit: leaving]
<Xach>
For simple SVGs, vecto could render to PNG.
cosimone has quit [Quit: cosimone]
<Xach>
It's not automatic, you would need to parse the paths in the SVG. But the drawing part after that is not too tricky.
<Xach>
And I'm defining "simple SVGs" as "ones the Vecto image model could support" to make it easy
cantstanya has joined #lisp
nicktick has quit [Ping timeout: 240 seconds]
Inline has quit [Read error: Connection reset by peer]
wooden has quit [Ping timeout: 260 seconds]
wooden has joined #lisp
guanohhh has joined #lisp
gaqwas has joined #lisp
gaqwas has quit [Changing host]
gaqwas has joined #lisp
v0|d has joined #lisp
j0nd0e has joined #lisp
Inline has joined #lisp
Aurora_v_kosmose has joined #lisp
j0nd0e has quit [Ping timeout: 240 seconds]
<mfiano>
is it specified anywhere which accessor will be invoked? (defclass foo () ((%a1 :reader a :initform 1) (%a2 :reader a :initform 2)))
bitmapper has joined #lisp
j0nd0e has joined #lisp
<Inline>
the last one ?
<_death>
probably unspecified
<Inline>
welp
<Inline>
sequential ?
<Inline>
like it generating two defmethods one after the other ?
<Inline>
and the last one is the winning ?
<mfiano>
unspecified is what i assumed after searching. thanks
<_death>
Inline: the question is whether you're willing to bet that all implementations follow your logic
<Inline>
nope
<Inline>
i won't bet on that
<Inline>
lol
Nilby has quit [Ping timeout: 265 seconds]
contrapunctus has left #lisp [#lisp]
<_death>
my first thought was that if the spec had anything to say about it, it would be to signal an error
attila_lendvai_ has joined #lisp
attila_lendvai has quit [Ping timeout: 272 seconds]
amb007 has quit [Read error: Connection reset by peer]
matryoshka has joined #lisp
amb007 has joined #lisp
attila_lendvai_ has quit [Remote host closed the connection]
attila_lendvai_ has joined #lisp
j0nd0e has joined #lisp
sugarwren has joined #lisp
birdwing has quit [Ping timeout: 260 seconds]
j0nd0e has quit [Ping timeout: 240 seconds]
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 256 seconds]
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
attila_lendvai has joined #lisp
Lord_of_Life_ is now known as Lord_of_Life
attila_lendvai_ has quit [Ping timeout: 272 seconds]
luni has quit [Quit: Connection closed]
Jesin has quit [Quit: Leaving]
amb007 has quit [Read error: Connection reset by peer]
abhixec has quit [Quit: leaving]
Jesin has joined #lisp
andreyorst_ has quit [Ping timeout: 246 seconds]
sugarwren has quit [Ping timeout: 272 seconds]
notzmv has quit [Ping timeout: 246 seconds]
attila_lendvai_ has joined #lisp
v88m has quit [Ping timeout: 260 seconds]
monkey` has quit [Ping timeout: 272 seconds]
attila_lendvai has quit [Ping timeout: 272 seconds]
v88m has joined #lisp
sugarwren has joined #lisp
amb007 has joined #lisp
attila_lendvai has joined #lisp
rumbler31_ has quit [Ping timeout: 265 seconds]
attila_lendvai_ has quit [Ping timeout: 272 seconds]
rumbler31_ has joined #lisp
monkey` has joined #lisp
ex_nihilo has quit [Quit: Leaving]
attila_lendvai has quit [Ping timeout: 272 seconds]
notzmv has joined #lisp
rumbler31_ has quit [Ping timeout: 246 seconds]
Oladon has joined #lisp
liberliver has quit [Quit: liberliver]
j0nd0e has joined #lisp
aartaka_d has quit [Read error: Connection reset by peer]
aartaka has joined #lisp
pve has quit [Quit: leaving]
SlashLife has quit [Read error: Connection reset by peer]
sugarwren has quit [Quit: Leaving]
Krystof has quit [Ping timeout: 264 seconds]
mindCrime has joined #lisp
vutral_ has joined #lisp
gproto23 has joined #lisp
rumbler31_ has joined #lisp
SlashLife has joined #lisp
puchacz has joined #lisp
anticrisis has joined #lisp
<puchacz>
jackdaniel, I started playing with ECL:) if I make it run my application, does it mean that it will be possible to create a library / executable from it?
<puchacz>
if I carefully track all (load... ) forms outside normal package management
<shka_>
it can make static lib, shared lib, executable
<shka_>
i never tried to build something that loads anything outside of asdf though
<puchacz>
shka_: yes, I read it today for the first time, and I started playing. but I know from experience that some files are loaded in a non-standard way, e.g. sly contribs. and I sinned as well by using bare (load ) in few places.
<puchacz>
so I will need to track it all, but when I do it, you are saying there are no obstacles to creating a binary
<shka_>
puchacz: well, if you build just asdf system, sly will be ignored
<puchacz>
so I am happy
<shka_>
IIRC
SpaceIgo` has quit [Read error: Connection reset by peer]
<shka_>
it is slightly different from save-lisp-and-die in this regard
<puchacz>
yes, save-lisp-and-die just saves everything that is in memory, no matter how it was loaded.
SpaceIgor2075 has quit [Ping timeout: 246 seconds]
<shka_>
exactly
monkey` has quit [Read error: Connection reset by peer]
<shka_>
while ECL build-system, as far i can tell, works almost like a UNIX make
<puchacz>
but sly is fine too, I know how to force load all contribs. there are also programmatic calls to the compiler, I know for sure this is how web templating works (it creates functions that print out web pages)
<shka_>
at the runtime?
cage_ has quit [Quit: Leaving]
<puchacz>
yes, once
<puchacz>
so I am good too
<shka_>
hmmm
gproto23 has quit [Ping timeout: 272 seconds]
<puchacz>
I do it in sbcl before dumping the image, so I don't need to deploy my core with template files
<shka_>
calling compile at the runtime is almost as evil as eval
<shka_>
:-)
<shka_>
anyway, glad you have a solution at hand
attila_lendvai has joined #lisp
<puchacz>
who says there is no eval somewhere? I did not add eval (for what I remember), but it may be there somewhere :)
<shka_>
heh
<shka_>
eval should work fine though
<shka_>
in fact, i think that compile should work as well
<shka_>
IIRC ECL compile does not compile to C, but to ad bytecode
<puchacz>
but you say as long as it runs with "development mode" startup (with quicklisp etc), I will be able to create the right sequence of binary files.
<shka_>
as long as you build systems defined with asdf i think it should be fine
<jackdaniel>
you may compile a "bundle" straiggt from asd definitions
<shka_>
right
<shka_>
exactly this
<puchacz>
95% is, other 5% are manual calls to load and oddities like sly's contribs
<jackdaniel>
im on phone
<puchacz>
hello :)
<jackdaniel>
hi
<jackdaniel>
manual has a description of compilation
<jackdaniel>
with pictures! ;)
<puchacz>
yes, I read it today for the first time. I am impressed :) and is it true that if I can make ECL run my application, there exists the right sequence of binary files that be produced to make my application binary?
<shka_>
puchacz: i also think that load may also work
<shka_>
if paths are resolved correctly
<jackdaniel>
I dont understand the question
<shka_>
jackdaniel: puchacz has a system that calls LOAD at the runtime
<shka_>
IIRC in such case ECL will simply use bytecode compiler
<puchacz>
yes, but I can make it call all loads on startup, this is what I do for sbcl save-and-die
<jackdaniel>
that's not a problem, load does not compile
<shka_>
oh, ok
hnOsmium0001 has joined #lisp
<shka_>
makes sense
<shka_>
so it should just wokr
<puchacz>
okay, great, thanks :)
<jackdaniel>
but as shka_ said, compiler is available at all times
<puchacz>
sure, then it should work, whatever hacks I discover in the code
<jackdaniel>
if gcc is absent, call (ext:install-bytecodes-compiler)
<jackdaniel>
should be a restart I suppose
<shka_>
yeah, performance can be hard to predict in such case though
<shka_>
but it may not even matter
<shka_>
anyway, have a good evening
<puchacz>
thanks, you too
<jackdaniel>
\o
lowryder has quit [Ping timeout: 264 seconds]
aartaka has quit [Ping timeout: 256 seconds]
sxmx has quit [Quit: WeeChat 2.9]
sxmx has joined #lisp
bilegeek has joined #lisp
abhixec has joined #lisp
shka_ has quit [Ping timeout: 246 seconds]
narimiran has quit [Quit: leaving]
<ralt>
oh hey
<ralt>
I never tried to make a static binary with ECL
<ralt>
I think
<puchacz>
I saw examples - you can even create a binary for arm/android