phoe changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language | <http://cliki.net/> <https://irclog.tymoon.eu/freenode/%23lisp> <https://irclog.whitequark.org/lisp> <http://ccl.clozure.com/irc-logs/lisp/> | SBCL 1.4.16, CMUCL 21b, ECL 16.1.3, CCL 1.11.5, ABCL 1.5.0
nowhere_man has joined #lisp
Fare has joined #lisp
robdog has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
wxie has quit [Ping timeout: 252 seconds]
pankajgodbole has joined #lisp
jeosol has joined #lisp
robdog has joined #lisp
lucasb has quit [Quit: Connection closed for inactivity]
<jeosol> morning
<Josh_2> Night
Lord_of_Life_ has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
Lord_of_Life has quit [Ping timeout: 250 seconds]
Lord_of_Life_ is now known as Lord_of_Life
<jeosol> any CL library I could call from the CL side to make an 3d image like this https://www.researchgate.net/figure/Reservoir-simulation-grids-with-2-5-and-10-dip_fig2_254533377
<Josh_2> a gnuplot library?
<jeosol> it is a set of 3 grid blocks stack together for fluid flow problems. I have the geometry of all the blocks, but I'll write a function so when call, I get a screen with that image and rotate
<Josh_2> https://github.com/martinkersner/cl-plot I have used this for 2d graphs but never 3d
<jeosol> thanks Josh_2: i'll like to rotate the image, zoom in an out,
<Josh_2> O right
robdog has joined #lisp
Fare has quit [Ping timeout: 245 seconds]
<jeosol> right now, I use paraview (some opensource 3d viewer). I write the input, then fireup that application to view the file. It's too clunky.
<Josh_2> maybe there is a way to write a cl library for paraview?
<jeosol> That could be an option. there are some python wrappers or interface to it.
<jeosol> I recall Baggers has some lisp series about a CEPL library that probably uses OPENGL, that is more like what I'll need. Will check
robdog has quit [Ping timeout: 252 seconds]
<Josh_2> yes
<Josh_2> cepl is a library to make opengl work nicely with a repl basically
<jeosol> I will like to fire up the command from emac side and have some window pop up
Fare has joined #lisp
<jeosol> thanks for that. I guess I'll go check cepl
orivej_ has joined #lisp
orivej has quit [Ping timeout: 272 seconds]
Fare has quit [Ping timeout: 268 seconds]
warweasle has joined #lisp
mooshmoosh has joined #lisp
robdog has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
Aruseus has quit [Remote host closed the connection]
robdog has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
robdog has joined #lisp
aindilis has quit [Ping timeout: 246 seconds]
robdog has quit [Ping timeout: 252 seconds]
impulse has quit [Quit: leaving]
aindilis has joined #lisp
Oladon has joined #lisp
robdog has joined #lisp
aindilis has quit [Remote host closed the connection]
robdog_ has joined #lisp
aindilis has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
makomo has quit [Ping timeout: 272 seconds]
rtypo has quit [Quit: WeeChat 2.4]
robdog_ has quit [Ping timeout: 252 seconds]
robdog has joined #lisp
warweasle has quit [Quit: done]
robdog has quit [Ping timeout: 252 seconds]
robdog has joined #lisp
orivej_ has quit [Ping timeout: 268 seconds]
CuriousCain has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
robdog_ has joined #lisp
robdog_ has quit [Ping timeout: 252 seconds]
robdog has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
dale has quit [Quit: dale]
robdog has joined #lisp
dale has joined #lisp
CuriousCain has quit [Quit: WeeChat 2.2]
Fare has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
robdog has joined #lisp
Oladon has quit [Quit: Leaving.]
potatonomicon has quit [Quit: blap]
robdog has quit [Ping timeout: 252 seconds]
caltelt_ has joined #lisp
Oladon has joined #lisp
dddddd has quit [Read error: Connection reset by peer]
ym555 has quit [Ping timeout: 244 seconds]
orivej has joined #lisp
<LdBeth> jmercouris: presentations are some kind of visual elements from CLIM/Lisp Machine UI that you can click them with mouse.
<LdBeth> It can be used to provide a repl that one can click the printed objects to inspect them
aindilis has quit [Read error: Connection reset by peer]
* didi <3 presentations
aindilis has joined #lisp
Oladon has quit [Ping timeout: 244 seconds]
notzmv has joined #lisp
pfdietz_ has quit [Ping timeout: 256 seconds]
nalkri has joined #lisp
gravicappa has joined #lisp
<loke> LdBeth: CLIM has that, and you can use it today
Bike has quit [Quit: Lost terminal]
SaganMan has joined #lisp
lavaflow_ has quit [Read error: Connection reset by peer]
<beach> Good morning everyone!
<SaganMan> Morning beach
<SaganMan> beach, what do I use to code cl in windows?
<beach> You are asking me?
orivej has quit [Ping timeout: 272 seconds]
<SaganMan> beach, yes, why so surpised?
<SaganMan> beach, I recently bought a new gaming laptop.
<beach> Congratulations.
lavaflow_ has joined #lisp
caltelt_ has quit [Ping timeout: 272 seconds]
dale has quit [Quit: dale]
<verisimilitude> I'd use Emacs, SaganMan.
<verisimilitude> If you can't, then CLISP is a good alternative.
<pjb> SaganMan: ccl works niceley on MS-Windows.
billstclair has quit [Ping timeout: 250 seconds]
CEnnis91 has quit [Ping timeout: 250 seconds]
jhei has quit [Ping timeout: 250 seconds]
tfb has quit [Ping timeout: 240 seconds]
stylewarning has quit [Ping timeout: 250 seconds]
drmeister has quit [Ping timeout: 268 seconds]
pent has quit [Ping timeout: 240 seconds]
gendl has quit [Ping timeout: 250 seconds]
margaritamike has quit [Ping timeout: 250 seconds]
drmeister has joined #lisp
rvirding has quit [Ping timeout: 250 seconds]
asedeno has quit [Ping timeout: 250 seconds]
gko has quit [Ping timeout: 250 seconds]
tehidiot has quit [Ping timeout: 268 seconds]
margaritamike has joined #lisp
pent has joined #lisp
jhei has joined #lisp
stylewarning has joined #lisp
CEnnis91 has joined #lisp
asedeno has joined #lisp
tehidiot has joined #lisp
rvirding has joined #lisp
gko has joined #lisp
billstclair has joined #lisp
tfb has joined #lisp
<SaganMan> thanks guys, I gtg now, cya in evening
SaganMan has quit [Quit: Leaving]
CrazyEddy has quit [Remote host closed the connection]
<no-defun-allowed> SBCL runs fine on Windows from my (limited) testing. You can install Portacle and get the install over with quite quickly from portacle.github.io
<no-defun-allowed> Windows doesn't have a package manager, so it's probably the most convenient way to get SBCL, Quicklisp, Emacs and SLIME.
<verisimilitude> Doesn't the Windows Store qualify as a package manager?
_whitelogger has joined #lisp
zigpaw has quit [Remote host closed the connection]
<no-defun-allowed> as much as flatpak, imho, they just download blobs
<no-defun-allowed> also, have fun installing any free (libre) software using it
robdog has joined #lisp
vsync has quit [Ping timeout: 268 seconds]
sauvin has joined #lisp
Fare has quit [Ping timeout: 252 seconds]
CrazyEddy has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
beach has quit [Ping timeout: 252 seconds]
beach has joined #lisp
<fiddlerwoaroof> I believe there's something called something like Chocalatey?
robdog has joined #lisp
ltriant has quit [Quit: leaving]
<no-defun-allowed> No SBCL there ):
[rg] has joined #lisp
robdog_ has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
robdog_ has quit [Ping timeout: 252 seconds]
libertyprime has quit [Quit: leaving]
Fare has joined #lisp
robdog has joined #lisp
parjanya has quit [Ping timeout: 252 seconds]
lavaflow_ is now known as lavaflow
robdog has quit [Ping timeout: 252 seconds]
zigpaw has joined #lisp
Fare has quit [Ping timeout: 268 seconds]
robdog has joined #lisp
[rg] has left #lisp [#lisp]
robdog has quit [Ping timeout: 252 seconds]
aindilis has quit [Ping timeout: 268 seconds]
ggole has joined #lisp
robdog has joined #lisp
marusich has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
jprajzne_ has joined #lisp
nullheroes has joined #lisp
nullheroes has quit [Client Quit]
nullheroes has joined #lisp
vlatkoB has joined #lisp
aindilis has joined #lisp
Ukari has quit [Ping timeout: 246 seconds]
Ukari has joined #lisp
libertyprime has joined #lisp
makomo has joined #lisp
robdog has joined #lisp
JohnMS_WORK has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
libertyprime has quit [Quit: leaving]
robdog has joined #lisp
Zaab1t has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
manasak has joined #lisp
manasak has quit [Quit: Leaving]
robdog has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
<flip214> why not use portacle?
<no-defun-allowed> I said to use Portacle, since there aren't any good package managers.
robdog has joined #lisp
scymtym has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
nullher0es has joined #lisp
nullheroes has quit [Ping timeout: 268 seconds]
robdog has joined #lisp
karlosz has joined #lisp
cyraxjoe has quit [Ping timeout: 246 seconds]
cyraxjoe has joined #lisp
<splittist> Good morning
robdog has quit [Ping timeout: 252 seconds]
<no-defun-allowed> Morning splittist
nowhere_man has quit [Ping timeout: 252 seconds]
lavaflow has quit [Read error: Connection reset by peer]
<flip214> no-defun-allowed: ah sorry, didn't read careful enough.
<flip214> When using 5AM in a loop, is there some way to name the current iteration? If there's an error then "X evaluated to Y which is not Z" doesn't help that much without the loop iteration or similar data.
gxt has joined #lisp
robdog has joined #lisp
heisig has joined #lisp
<jackdaniel> flip214: how about (5am:is (eql 3 4) "iteration ~A" 42) ;?
robdog has quit [Ping timeout: 252 seconds]
karlosz has quit [Quit: karlosz]
<flip214> jackdaniel: ah, right. Yes, I can annotate each IS test in there with the iteration value -- but then I loose the "expected/got" output!
<flip214> ah no -- you meant to have a _literal_ (EQL 3 4) to provide output?
<flip214> awwwwful. that works for debugging right now, but not for automated testing...
akoana has joined #lisp
robdog has joined #lisp
<flip214> and (5am:PASS ....) doesn't help either
<flip214> What I'd like to have is some (let ((5am:*test-iteration* (list "my test ~d: ~a" i args))) ...) and have that FORMATted on failures as well (or at the first failure in that loop)
p9fn has joined #lisp
<flip214> jackdaniel: are you a maintainer for 5am? would you accept such a patch?
robdog has quit [Ping timeout: 252 seconds]
<jackdaniel> I am not, sorry
<jackdaniel> I didn't mean literal (eql 3 4), just the format args
<jackdaniel> reason-args*
<flip214> yeah, then I don't get the current value of the expression
lavaflow has joined #lisp
robdog has joined #lisp
akoana has left #lisp [#lisp]
<jackdaniel> flip214: how do you feel about adding stealth mixins?
smasta has quit [Ping timeout: 252 seconds]
robdog has quit [Ping timeout: 252 seconds]
<no-defun-allowed> is there a way for FORMAT to emit a newline if and only if the formatter is past 80 columns or so?
<jackdaniel> you mean: wrap lines by character at 80th column?
<no-defun-allowed> well, i'd prefer at the end of objects, so i can have one print-object method that emits #<type :foo [long foo] [newline] :bar [bar]> or #<type :foo [short foo] :bar [bar]>
<jackdaniel> in principle pretty printer should take into account *print-right-margin*
<no-defun-allowed> oh, is there a way to use that to emit the slot list i have in mind?
<jackdaniel> check out (quite memorable) section 22.2.2 in clhs
gxt has quit [Ping timeout: 244 seconds]
<no-defun-allowed> hmm, looks complicated, suppose i only have to learn it once though (:
<jackdaniel> you may also specialize print-object and take into account current column number
<no-defun-allowed> righteo
<jackdaniel> (interesting fact: stream-column-number may return NIL, so do not assume it to be always a number)
<no-defun-allowed> s-c-n doesn't seem to be in CLHS or l1sp search?
<no-defun-allowed> but, well, pprint-logical-block may be simpler to work with
<jackdaniel> stream-line-column*
<jackdaniel> it is part of gray streams
<no-defun-allowed> i see, thought it might be
<jackdaniel> either way there is plenty of options
<no-defun-allowed> indeed
<jackdaniel> it gets nastier when you do not assume fixed width fonts
<jackdaniel> (computationally and implementation-ary speaking)
<no-defun-allowed> oh dear, i'm guessing it's quite a bit harder in CLIM to be sure?
<jackdaniel> if you assume fixed width than it is equally easy ,)
* no-defun-allowed replaces her (write-char #\space) with (pprint-newline :linear)
hhdave has joined #lisp
<no-defun-allowed> ooh that's really nicely layed out, thanks!
hhdave_ has joined #lisp
hhdave has quit [Ping timeout: 252 seconds]
hhdave_ is now known as hhdave
marusich has quit [Remote host closed the connection]
smasta has joined #lisp
robdog has joined #lisp
aerique has joined #lisp
JohnMS has joined #lisp
JohnMS_WORK has quit [Ping timeout: 245 seconds]
smasta has quit [Ping timeout: 268 seconds]
robdog has quit [Ping timeout: 252 seconds]
robdog has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
dddddd has joined #lisp
schweers has joined #lisp
robdog has joined #lisp
amerlyq has joined #lisp
robdog_ has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
smasta has joined #lisp
robdog has joined #lisp
smasta has quit [Ping timeout: 268 seconds]
robdog_ has quit [Ping timeout: 252 seconds]
beach has quit [Disconnected by services]
beach has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
robdog has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
robdog has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
CuriousCain has joined #lisp
robdog has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
robdog has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
JohnMS has quit [Read error: Connection reset by peer]
JohnMS has joined #lisp
tfb has quit [Ping timeout: 252 seconds]
asedeno has quit [Ping timeout: 252 seconds]
jhei has quit [Ping timeout: 252 seconds]
tfb has joined #lisp
asedeno has joined #lisp
jhei has joined #lisp
robdog has joined #lisp
gareppa has joined #lisp
hhdave_ has joined #lisp
hhdave has quit [Ping timeout: 272 seconds]
zigpaw has quit [Quit: Ping timeout (120 seconds)]
hhdave_ is now known as hhdave
robdog has quit [Ping timeout: 244 seconds]
smasta has joined #lisp
smasta has quit [Ping timeout: 252 seconds]
smasta has joined #lisp
verisimilitude has quit [Remote host closed the connection]
gareppa has quit [Quit: Leaving]
robdog has joined #lisp
smasta has quit [Ping timeout: 244 seconds]
m00natic has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
wigust- has joined #lisp
robdog has joined #lisp
wigust has quit [Ping timeout: 245 seconds]
rme_ has joined #lisp
fowlduck_ has joined #lisp
physpi_ has joined #lisp
Zaab1t has quit [Quit: bye bye friends]
ym555 has joined #lisp
robdog_ has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
schweers has quit [Quit: ERC (IRC client for Emacs 26.1)]
spal_ has joined #lisp
azrazalea_ has joined #lisp
spal has quit [Disconnected by services]
spal_ is now known as spal
aeth has quit [Ping timeout: 244 seconds]
lnostdal has quit [*.net *.split]
LdBeth has quit [*.net *.split]
no-defun-allowed has quit [*.net *.split]
mathrick has quit [*.net *.split]
z3t0 has quit [*.net *.split]
physpi has quit [*.net *.split]
spacedbat has quit [*.net *.split]
lieven has quit [*.net *.split]
rme has quit [*.net *.split]
fowlduck has quit [*.net *.split]
azrazalea has quit [*.net *.split]
robdog_ has quit [Ping timeout: 254 seconds]
rme_ is now known as rme
fowlduck_ is now known as fowlduck
physpi_ is now known as physpi
wxie has joined #lisp
aeth has joined #lisp
mathrick has joined #lisp
lieven has joined #lisp
lnostdal has joined #lisp
no-defun-allowed has joined #lisp
robdog has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
smasta has joined #lisp
Lord_of_Life_ has joined #lisp
spoeplau has joined #lisp
Lord_of_Life has quit [Ping timeout: 244 seconds]
Lord_of_Life_ is now known as Lord_of_Life
smasta has quit [Ping timeout: 244 seconds]
CuriousCain has quit [Quit: WeeChat 2.2]
robdog has joined #lisp
spacedbat has joined #lisp
JohnMS_WORK has joined #lisp
lucasb has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
aeth has quit [Ping timeout: 245 seconds]
JohnMS has quit [Ping timeout: 268 seconds]
robdog has joined #lisp
aeth has joined #lisp
ebrasca has joined #lisp
JohnMS_WORK has quit [Ping timeout: 272 seconds]
robdog_ has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
smasta has joined #lisp
smasta has quit [Ping timeout: 252 seconds]
nowhere_man has joined #lisp
robdog_ has quit [Ping timeout: 252 seconds]
playful-owl has joined #lisp
Bike has joined #lisp
nowhere_man has quit [Ping timeout: 252 seconds]
nowhere_man has joined #lisp
robdog has joined #lisp
rippa has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
orivej has joined #lisp
wxie has quit [Ping timeout: 252 seconds]
nalkri has quit [Ping timeout: 244 seconds]
ebrasca has quit [Remote host closed the connection]
akoana has joined #lisp
smasta has joined #lisp
robdog has joined #lisp
smasta has quit [Ping timeout: 252 seconds]
playful-owl has quit [Quit: leaving]
robdog_ has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
robdog_ has quit [Ping timeout: 252 seconds]
robdog has joined #lisp
sz0 has joined #lisp
nowhere_man has quit [Ping timeout: 244 seconds]
robdog has quit [Ping timeout: 252 seconds]
dale_ has joined #lisp
dale_ is now known as dale
sjl_ has joined #lisp
Fare has joined #lisp
sjl_ has quit [Client Quit]
sjl_ has joined #lisp
notzmv has quit [Ping timeout: 244 seconds]
devon has joined #lisp
<devon> Looks like F is (progn (dynamic-extent x) ...) which doesn't establish any bindings.
<devon> But I've read it several times and I'm still not sure I've parsed the prose as intended.
<devon> ¿Am I responding to random noise produced by the M-x irc client?
robdog has joined #lisp
<jackdaniel> devon: most likely, there is no context for what you said right now on a page or two of the history
<devon> LOL
<devon> I presume it's ok to destructively modify the output of (format nil ...) but CLHS seems mum on the topic.
<devon> /output/result/
<sjl_> clhs 22.3
<sjl_> > If destination is nil, format creates and returns a string containing the output
<sjl_> "creates and returns"
<sjl_> it's annoyingly tucked away in that section of the spec, but yeah
<sjl_> (format nil ...) will give you a fresh string
<devon> Ah, there it is, thanks sjl_
<sjl_> someone else pointed me at that months ago when I had the same question. just passing it along.
robdog has quit [Ping timeout: 250 seconds]
robdog has joined #lisp
random-nick has joined #lisp
robdog has quit [Ping timeout: 250 seconds]
akoana has left #lisp [#lisp]
verisimilitude has joined #lisp
<flip214> jackdaniel: a stealth mixin to 5am, to provide the extended reporting? yeah, why not?
Ukari has quit [Ping timeout: 245 seconds]
<pjb> Note that (format nil "foo") == (copy-seq "foo") #| --> "foo" |#
cage_ has joined #lisp
Ukari has joined #lisp
<jackdaniel> flip214: then you could mix a class with slot iteration* to fiveam::test-failure with :initform *iteration* and define a method reason on said class which: calls next-method and then prints whatever you wanted to preserve
<jackdaniel> or rather, concatenate these strings
<jackdaniel> or something like this ,)
<flip214> jackdaniel: yeah, right. though I'd rather try to get a simple patch upstream...
<jackdaniel> sure, that's always preferable
<flip214> my plan was to bind some variable to some explanation; when a test fails, this content would be printed out first (once only!)
<flip214> perhaps you'll beat me to the implementation? ;)
<jackdaniel> I doubt it, recently I've ordered a bucket because plate is not enough to have things on it ,)
<jackdaniel> not sure if the joke is intelligible in English, if it is not, well
ambrevar has joined #lisp
Josh_2 has quit [Remote host closed the connection]
verisimilitude has quit [Remote host closed the connection]
Josh_2 has joined #lisp
LdBeth has joined #lisp
jmercouris has joined #lisp
robdog has joined #lisp
gxt has joined #lisp
robdog has quit [Ping timeout: 250 seconds]
robdog has joined #lisp
verisimilitude has joined #lisp
robdog has quit [Ping timeout: 250 seconds]
robdog has joined #lisp
Oladon has joined #lisp
smasta has joined #lisp
robdog has quit [Ping timeout: 250 seconds]
LiamH has joined #lisp
verisimilitude has quit [Remote host closed the connection]
smasta has quit [Ping timeout: 250 seconds]
smasta has joined #lisp
monokrom has joined #lisp
trafaret1 has joined #lisp
<trafaret1> o/
<trafaret1> just question about common lisp package
<trafaret1> how to figure out what function and parameters it have?
<trafaret1> *s
scymtym has quit [Ping timeout: 252 seconds]
<beach> trafaret1: Common Lisp packages don't have functions and parameters. Only symbols.
smasta has quit [Ping timeout: 250 seconds]
<beach> trafaret1: Or, perhaps you don't mean a "package", but a "system"?
Fare has quit [Ping timeout: 246 seconds]
<trafaret1> beach: i don't have clear vision about lisp but learning it
<sjl_> something like (do-external-symbols (s :alexandria) (when (fboundp s) (print s))) will get you started
<trafaret1> (in-package) (export ...) (import ...) wut?
<sjl_> that will print all of the symbols in the package that have a function
<beach> trafaret1: OK, so how about you tell us which "package" you want this information about?
<sjl_> then you can use (describe 'the-symbol) to get more information about it
ambrevar has quit [Ping timeout: 250 seconds]
<sjl_> well, probably (describe 'package:the-symbol)
<beach> trafaret1: I am introducing too much noise here. I'll leav you in the capable hands of sjl_.
<sjl_> beach is correct in that packages in common lisp are containers for symbols. wrapping your head around symbols is one of the trickier parts of CL if you're coming from other languages.
<sjl_> but if you just want to say "what new functions can I now call if I import package :foo", the snippet I mentioned above will help you out
robdog has joined #lisp
<trafaret1> sjl_:what do you mean by saing "wrap your head around symbols"?
<sjl_> a symbol in common lisp is an object like any other. most programming languages try to hide away their existence from you
<sjl_> e.g. in CL you can do (inspect 'if) to look at the symbol IF
<sjl_> this takes some getting used to
<sjl_> especially if you're coming from Python, where something like "if foo: ..." is parsed into some kind of abstract syntax tree by Python that you never get to see/worry about
robdog has quit [Ping timeout: 250 seconds]
<sjl_> but, to maybe clarify what beach was getting at: a symbol in CL can name many different things. For example, you can have a class and a function with the same name:
<sjl_> (defclass foo () ())
<sjl_> (defun foo () (write-line "hello!"))
<sjl_> (make-instance 'foo) ;=> an instance of foo
<sjl_> (foo) ;=> calls the function
shka_ has joined #lisp
jprajzne_ has quit [Quit: jprajzne_]
<sjl_> You can't export just one or the other from a package, because packages are containers of symbols. You export the symbol foo, not the class or the function it names.
<sjl_> so the snippet I pasted: (do-external-symbols (s :alexandria) (when (fboundp s) (print s))) says "for each exported symbol of the package :alexandria, if it names a function, print it"
<sjl_> Which does (I think) what you were originally asking for (minus the parameters bit, which you can use describe to get at, though I think that might be implementation dependent)
nowhere_man has joined #lisp
<LdBeth> Good morning
heisig has quit [Quit: Leaving]
Fare has joined #lisp
amerlyq has quit [Ping timeout: 252 seconds]
amerlyq has joined #lisp
<jmercouris> Good morning
<beach> Hello jmercouris.
<pjb> trafaret1: to understand "wrap your head round something", you will have to read "Stranger in a Strange Land" and grok the word "grok" (which is a Martian word).
smasta has joined #lisp
<pjb> sjl_: only being fbound doesn't mean name a function: (defmacro foo () 'foo) #| --> foo |# (fboundp 'foo) #| --> #(7100233775316992 #<Compiled-function foo Macroexpander #x3020031D527F>) |#
<pjb> (symbol-function 'foo) #| --> #(7100233775316992 #<Compiled-function foo Macroexpander #x3020031D527F>) |#
<sjl_> sounds like it names a function (which happens to be a macro)
<pjb> it names an array?
<sjl_> Oh, that's odd.
<pjb> odd = implementation dependent.
<sjl_> yeah.
<sjl_> Is there a way to check if a symbol is truly bound to a normal function (and not a macro) then?
Fare has quit [Ping timeout: 250 seconds]
nowhere_man has quit [Ping timeout: 255 seconds]
<pjb> (and (not (eql (find-package "COMMON-LISP") (symbol-package sym))) (fboundp sym) (not (macro-function sym)))
<LdBeth> sjl_: symbol-function-or-nil
<pjb> Unless the implementation is "misbehaved" and define special operators and others in implementation specific packages, so you would have to exclude those packages too.
<sjl_> Yeah, I guess. Ugly, but that should work.
smasta has quit [Ping timeout: 245 seconds]
<LdBeth> From clhs
<pjb> for CL functions (member sym '(car cdr sin cos …)).
<sjl_> Oh, I didn't know about special-operator-p
<sjl_> that's handy
<jmercouris> beach: hello!
ym555 has quit [Ping timeout: 245 seconds]
Oladon has quit [Quit: Leaving.]
JetJej has joined #lisp
pankajgodbole has quit [Ping timeout: 252 seconds]
Ukari has quit [Ping timeout: 255 seconds]
<shka_> jmercouris: i got response on the cl-csv
<shka_> it looks like my changes won't be merged into it so i may fork it
Ukari has joined #lisp
orivej_ has joined #lisp
orivej has quit [Ping timeout: 268 seconds]
<pjb> Why not?
trafaret1 has quit [Ping timeout: 250 seconds]
<fortitude> looks like it wasn't outright rejected, so much as the maintainer doesn't feel like they have the bandwidth to be active on the project
<fortitude> I filed a PR with a bufix a while back and didn't hear from the author, so that's not too surprising
<pjb> ok
<fortitude> they do have some concerns about a class->struct change causing problems for clients
<shka_> i was expecting such response, so no big deal
<fortitude> shka_: I'd noticed the speed issue too; what did you use for profiling? just sb-sprof?
<jmercouris> shka_ that sucks, oh well
<shka_> fortitude: yeah, i like sb-sprof
ebrasca has joined #lisp
<phoe> dim: https://github.com/marijnh/Postmodern/issues/192 you might want to take a look here
lumm has joined #lisp
gareppa has joined #lisp
gareppa has quit [Remote host closed the connection]
Fare has joined #lisp
<shka_> fortitude: i think i may consider creating fork, so i may merge your bugfix as well
<fortitude> shka_: it may very well be worthwhile to fork in order to pursue different goals than the original author
<fortitude> I'm kind of curious if performance can be improved without having to switch to a struct (probably not by as much), but I don't know if I'll have any time to look at it soon
<shka_> fortitude: it would be difficult, those accessors are killing it
Fare has quit [Ping timeout: 246 seconds]
<fortitude> shka_: but if those aren't exported, you might be able to move that data into a struct stored in the class
<fortitude> same interface, but the internals can skip the heftier accessor methods
<fortitude> depends on how it's structured, thouh
<shka_> maybe? but this would break the backward comp anyway
<shka_> and is not a hanging fruit
<shka_> *low hanging fruit
paul0 has quit [Ping timeout: 252 seconds]
nowhere_man has joined #lisp
<fortitude> if you can preserve the interface, you avoid the compatability issues
<fortitude> but it's also more complex, which is why a fork focusing on speed is reasonable
<shka_> i think i will fork it
<shka_> i have huge csv files, cl-csv requires way to much time to chew them up
<fortitude> I saw about 30 seconds to process 80k rows or so with cl-csv, where a javascript library was only a few seconds tops
<fortitude> there's a pretty big speed gap, if you aren't IO-bound
<shka_> yup
<shka_> i may also check fare-csv for speed
<shka_> IIRC it wasn't any faster, but maybe i am wrong
nowhere_man has quit [Ping timeout: 250 seconds]
<shka_> anyway, if both fare-csv and cl-csv are slow, i will roll my own csv reader based on the cl-csv
sauvin has quit [Remote host closed the connection]
<shka_> i will probably optimize it further, so it will be completely on par with the python csv module
Oladon has joined #lisp
ym555 has joined #lisp
themsay has quit [Read error: Connection reset by peer]
themsay has joined #lisp
smasta has joined #lisp
zmt01 has quit [Ping timeout: 264 seconds]
Fare has joined #lisp
makomo has quit [Quit: WeeChat 2.2]
smasta has quit [Ping timeout: 250 seconds]
robdog has joined #lisp
smasta has joined #lisp
jmercouris has quit [Remote host closed the connection]
robdog has quit [Ping timeout: 250 seconds]
smasta has quit [Ping timeout: 250 seconds]
z3t0 has joined #lisp
hhdave has quit [Ping timeout: 245 seconds]
mulk has quit [Quit: ZNC - http://znc.in]
aeth has quit [Ping timeout: 272 seconds]
m00natic has quit [Remote host closed the connection]
aeth has joined #lisp
smasta has joined #lisp
smasta has quit [Ping timeout: 245 seconds]
mulk has joined #lisp
Oladon has quit [Quit: Leaving.]
Josh_2 has quit [Read error: Connection reset by peer]
Josh_2 has joined #lisp
devon has quit [Ping timeout: 252 seconds]
<fiddlerwoaroof> shka_: I had this issue once too
<fiddlerwoaroof> My particular csv file was fairly regular, so I was able to get away with handrolling a CSV parser
<fiddlerwoaroof> I believe someone around here forked and optimized fare-csv for speed
<shka_> well, it sounds like a valuable project more and more
<fiddlerwoaroof> You might also check this fork of cl-csv: https://github.com/dimitri/cl-csv
<shka_> yours?
<fiddlerwoaroof> nevermind, it looks like its behind the master branch of the original
<shka_> i think i will write my own parser using cl-csv as reference
<fiddlerwoaroof> no, it's not mine, but dim is the maintainer of pgloader
<shka_> i see
<fiddlerwoaroof> The code isn't very pretty, but I have a somewhat optimized split function that fixed my issues
<fiddlerwoaroof> My main concerns were to make it faster to process really big strings and to expose the interface of Python's str.split which is, im(ns)ho, the best-designed split function out htere
<shka_> i will start looking into it next week
spoeplau has quit [Ping timeout: 244 seconds]
smasta has joined #lisp
andrei-n has joined #lisp
smasta has quit [Ping timeout: 245 seconds]
andrei-n has quit [Remote host closed the connection]
andrei-n has joined #lisp
polezaivsani has joined #lisp
varjag has joined #lisp
cage_ has quit [Remote host closed the connection]
zooey has quit [Ping timeout: 256 seconds]
zooey has joined #lisp
meepdeew has joined #lisp
smasta has joined #lisp
meepdeew has quit [Remote host closed the connection]
<jasom> beach: Do you have any thoughts on the suitability of SICL for working as a transpiler; e.g. how sane would it be to write a HIR to <some other language> compiler, and how easy would it be to get a large subset of lisp working in that manner?
didi has left #lisp ["O bella ciao bella ciao bella ciao, ciao, ciao."]
<jasom> I know that the bootstrap phase requires some sort of incremental code loading, so it may not be workable for less dynamic languages...
<Bike> sicl uses a HIR to CL translator, and clasp uses a HIR to LLVM-IR translator
<Bike> you'd have to come up with a runtime yourself, though
<jasom> Bike: IIRC SICL only uses an HIR to CL translator for a small subset when bootstrapping, and then the new runtime does the rest?
smasta has quit [Ping timeout: 250 seconds]
<jasom> Clasp uses ECL's runtime and then runs the clasp compiler on top of that ,right?
<jasom> s/ecl/a fork of ecl/
amerlyq has quit [Quit: amerlyq]
<Bike> the HIR to CL translator in SICL can handle all of lisp, i think
<Bike> and yes, that is how clasp works, but the point is the compiler is complete that way
lumm has quit [Quit: lumm]
<jasom> oh, neat; I'll have to look at both of those. The existence of HIR to CL seems to imply that it can handle cases where code is not stored on a user-accessible heap at least.
<Bike> er, I don't understand what you mean.
<Bike> It's just an IR. Doesn't have anything about where code is going.
lumm has joined #lisp
<jasom> The SICL standard library might rely on e.g. "give me the range of PCs for which this function is executing" for e.g. debugging or conditions.
<jasom> The library and the runtime can never be fully divorced
ggole has quit [Quit: Leaving]
<Bike> the SICL standard library is written in lisp, so it doesn't do anything like that
lumm has quit [Client Quit]
<jasom> well there is lisp and then there is lisp. Plenty of lisp code in the SBCL library makes assumptions about how the runtime works, for example.
lumm has joined #lisp
<Bike> the parts of SICL are intended to be usable on other implementations
<jasom> but it sounds like it is worth me learning more about SICL at this point, so thanks for answering...
<Bike> it's hard to actually do that, but that's more because of the standard not being modular than because the SICL code relies on internal representations
<jasom> my goodness yes the standard is not modular.
<jasom> There's not any obvious kernel lisp implementation that is the right basis for building a full CL implementation
* jasom always thought it might be interesting to implement CL in one of the smaller scheme standards just for the sake of portability.
<jasom> It's not obvious that e.g. R4RS is a good kernel language for lisp, but you can run R4RS scheme on just about anything these days.
Grauwolf has quit [Quit: WeeChat 2.3]
lumm has quit [Quit: lumm]
lumm has joined #lisp
Grauwolf has joined #lisp
<Bike> well, i think the point i want to make is that HIR is high level enough that it doesn't involve implementation details at all, except maybe how big fixnums are. and even then if you don't have inline definitions that won't come into play
sz0 has quit [Quit: Connection closed for inactivity]
<Bike> which is good, because sicl and clasp have very different ideas about the runtime
<jasom> but it does seem like it would be hard to do something like CLiCC with SICL since it expects to be hosted in the final runtime (except when bootstrapping), right?
<jasom> both LLVM and CL have in common the fact that you can load new code at runtime.
<Bike> that's not a property of the LLVM-IR language. you could have a C backend, compile things into SOs and then dlopen them
<Bike> I don't know what CLiCC is
<jasom> CLiCC can statically compile a subset of common lisp to portable C. https://www.cliki.net/CLiCC
<jasom> it's distinct from the KCL family in that it is intended for writing static application code that will be compiled once AOT rather than incrementally compiled and loaded.
lumm has quit [Read error: Connection reset by peer]
<Bike> I see.
<Bike> SICL, the implementation, is not intended to do that. beach is all about an interactive system
<jasom> right
<Bike> I see no reason you couldn't do that in Cleavir, but I don't think that's any interesting property of the IR
<Bike> that with Cleavir*, rather
<LdBeth> Apply partial evaluation to MOP?
<Bike> Huh what
<LdBeth> That could be a add on for compiling a static program
meepdeew has joined #lisp
lumm has joined #lisp
rozenglass has joined #lisp
themsay has quit [Read error: Connection reset by peer]
Ukari has quit [Remote host closed the connection]
Ukari has joined #lisp
themsay has joined #lisp
meepdeew has quit [Remote host closed the connection]
gravicappa has quit [Ping timeout: 272 seconds]
makomo has joined #lisp
Bike has quit []
vms14 has joined #lisp
ktp has joined #lisp
smasta has joined #lisp
ktp has left #lisp [#lisp]
ktp has joined #lisp
random-nick has quit [Ping timeout: 255 seconds]
Achylles has joined #lisp
spoeplau has joined #lisp
orivej_ has quit [Ping timeout: 250 seconds]
nullher0es has quit [Quit: WeeChat 2.3]
jxy has quit [Quit: leaving]
andrei-n has quit [Remote host closed the connection]
orivej has joined #lisp
Bike has joined #lisp
JetJej has quit [Quit: [Quit]]
LiamH has quit [Quit: Leaving.]
jxy has joined #lisp
vms14 has quit [Quit: Doing something with my shit life :D]
jfb4 has joined #lisp
meepdeew has joined #lisp
meepdeew has quit [Remote host closed the connection]
Arcaelyx has joined #lisp
lucasb has quit [Quit: Connection closed for inactivity]
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
vlatkoB has quit [Remote host closed the connection]
meepdeew has joined #lisp
Essadon has joined #lisp
Fare has quit [Ping timeout: 255 seconds]
meepdeew has quit [Ping timeout: 246 seconds]
random-nick has joined #lisp
nullheroes has joined #lisp
shka_ has quit [Ping timeout: 250 seconds]
meepdeew has joined #lisp
meepdeew has quit [Ping timeout: 246 seconds]
pjb has quit [Remote host closed the connection]
Fare has joined #lisp
scottj has left #lisp [#lisp]
wxie has joined #lisp
pjb has joined #lisp
Fare has quit [Ping timeout: 245 seconds]
chipolux has quit [Ping timeout: 250 seconds]
scymtym has joined #lisp
chipolux has joined #lisp
Arcaelyx has quit [Read error: Connection reset by peer]
Arcaelyx has joined #lisp
anewuser has joined #lisp
makomo has quit [Quit: WeeChat 2.2]
caltelt_ has joined #lisp
varjag has quit [Ping timeout: 246 seconds]
zmt01 has joined #lisp
random-nick has quit [Ping timeout: 246 seconds]
Fare has joined #lisp
zmt01 has quit [Ping timeout: 250 seconds]
mejja has joined #lisp
Fare has quit [Ping timeout: 250 seconds]
robdog has joined #lisp
tripty has quit [Quit: EliteBNC - http://elitebnc.org (Auto-Removal: idle account/not being used)]
nullheroes has quit [Quit: WeeChat 2.3]
spoeplau has quit [Ping timeout: 245 seconds]
robdog has quit [Ping timeout: 250 seconds]
Achylles has quit [Ping timeout: 258 seconds]
jmercouris has joined #lisp
karlosz has joined #lisp