jackdaniel changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language<http://cliki.net/> logs:<https://irclog.whitequark.org/lisp,http://ccl.clozure.com/irc-logs/lisp/> | SBCL 1.4.5, CMUCL 21b, ECL 16.1.3, CCL 1.11.5, ABCL 1.5.0
quazimodo has quit [Ping timeout: 260 seconds]
Pixel_Outlaw has joined #lisp
<aeth> Would be useful if you can do that non-portably in SBCL. Force back in bounds checks if safety is 0. Mwahahah.
<Bike> odes that really constitute usefulness
<pierpa> looks like the incipit of a nightmare :)
<Beepy> I'm looking to do that exact opposite of that
<pierpa> so that you can have different code according to optimization settings. Good luck :)
<Bike> you want it to be unsafe at safety 3?
<Beepy> I'm adding bounds checking only at safety 3
<pierpa> I don't know the details of sbcl, but maybe there is a finer mechanism for controlling single optimizations, like there is in other implementations.
<Bike> there is, but it's not intended for users
<pierpa> probably for good reasons
<Beepy> I'm working on trying to fix one of the easy bugs in sbcl
<Beepy> so I could probably use it
<pierpa> ok
<Bike> wait, this is for internal code?
<Bike> i think they have their own accessors, then
<Beepy> I'll jump on over to #sbcl and see what they have to say then
<aeth> Not necssarily Lisp-specific, but does anyone know a good way to fill a region enclosed by Bézier curves? I guess I should just do the outline and use a generic flood-fill algorithm? Although I'm not sure how I'd determine the initial inside of a letter.
<White_Flame> well, there's tons and tons of work put into stuff like that, for font renderers & vector graphics
<aeth> The main problem with a more naive way to fill a letter is horizontal lines at the top or bottom of a shape. There's also some issues with odd corners like K
<White_Flame> I believe that one of the basic strategies is to search the bezier curve for where it crosses raster lines, and draw horizontal segments
<White_Flame> of course, if the curvature is low during one segment of the search, you can approximate it with a line
<White_Flame> you need to very carefully define what it means for a pixel to be "inside" the shape, and stick to that definition
<aeth> At the moment, I draw the points where the bezier curve intersects with horizontal lines. This has two special cases: (1) Bezier lines that are horizontal lines and (2) curves that are pretty close to a horizontal line. To handle the 2nd, I just run the same code, except on columns. Now I have a complete outline.
<White_Flame> that's just a line, not an area
<pierpa> if the bezier curve does not add the information of which side is the interior one, how can you tell which side is the one to fill?
<aeth> White_Flame: yes, I have lines
<aeth> s/lines/outlines/
<aeth> pierpa: I have no idea if there's some convention to either TTF or zpb-ttf
<pierpa> hmmm
<White_Flame> outlines have zero width and are generally invisible :)
<aeth> Unfortunately, one of my most reliable sources *does* have a convention, always fill to the right.
<pierpa> k
<White_Flame> unless you specifically define the width of the outline and determine which pixels that actual-width outline shape area overlaps
<aeth> White_Flame: I use round to make the width larger than 0
<aeth> Although I guess even without round, a lucky pixel here or there would land exactly on a whole number and be drawn :-p
<aeth> s/lucky pixel/lucky solution/
<White_Flame> I think you're going to end up with pretty ugly beziers that way
<aeth> It's possible that I can just fill in the outline, if there's no way in TTF or zpb-ttf to figure out the inside of a shpe
<White_Flame> don't do outlines, do spans of pixels that are "inside" the area
<aeth> White_Flame: I can replace round with a more sophistacted method later.
<White_Flame> for each raster line, there are N crossings of the bezier path. That determines the spans
<aeth> What's more important is that I fill the glyphs that are drawn
<aeth> This is a large project, anything that can be procrastinated will be procrastinated.
<aeth> It does look like there are still some edge cases that round doesn't handle effectively, especially at smaller sizes.
Kundry_Wag_ has joined #lisp
markong has quit [Ping timeout: 240 seconds]
<White_Flame> right, it's the mathematical crossing locations, not the pixels, that matter
igemnace has quit [Ping timeout: 264 seconds]
<White_Flame> convert to pixel locations as the very last step
chewzerita has quit [Ping timeout: 256 seconds]
epony has joined #lisp
milanj has quit [Quit: This computer has gone to sleep]
comborico1611_ has quit [Quit: Konversation terminated!]
eli_oat has joined #lisp
warweasle_ has joined #lisp
dented42 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
fikka has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
quazimodo has joined #lisp
smurfrobot has joined #lisp
smurfrobot has quit [Remote host closed the connection]
smurfrobot has joined #lisp
smurfrobot has quit [Remote host closed the connection]
Kundry_Wag_ has quit [Ping timeout: 240 seconds]
<Xach> aeth: have you seen cl-vectors? it does all the work.
<Xach> i like it very much
<Xach> it closed the gap for me for drawing nice shapes into pngs and pdfs
<Xach> well pngs anyway
mejja has quit [Quit: mejja]
nydel has quit [Ping timeout: 260 seconds]
sunshavi has quit [Ping timeout: 240 seconds]
<aeth> Xach: I have to do my own implementation because I'm, at the moment, planning on moving this to the GPU at some point.
<aeth> I can use libraries like zpb-ttf because I can just convert that to whatever format the GPU will expect
<aeth> (It wouldn't be run every frame, it would just be run on the GPU because it's one of those very parallel things that GPU compute should do well.)
EvW1 has quit [Ping timeout: 265 seconds]
dieggsy has joined #lisp
quazimodo has quit [Ping timeout: 240 seconds]
quazimodo has joined #lisp
<Xach> ok, well, cl-vectors is cool and explains & implements the math for pixel coverage of closed bezier curve paths
SaganMan has quit [Ping timeout: 256 seconds]
asarch has joined #lisp
sunshavi has joined #lisp
quazimodo has quit [Ping timeout: 260 seconds]
<aeth> I think I have an algorithm. I now color the outline red for entering the shape and blue for exiting the shape.
Kundry_Wag_ has joined #lisp
<aeth> (if both, i.e. purple, then it's ignored altogether afaik)
ealfonso has joined #lisp
SaganMan has joined #lisp
<ealfonso> is there an API documentation tool in CL?
<pierpa> yes, emacs
<Xach> ealfonso: there are a few. there is not one consensus tool.
dented42 has joined #lisp
alphor_ has quit [Ping timeout: 240 seconds]
<ealfonso> Xach is there one or a few you might recommend?
alphor has joined #lisp
d4ryus1 has joined #lisp
<Xach> ealfonso: hmm, no, sorry.
Oladon has joined #lisp
d4ryus has quit [Ping timeout: 260 seconds]
<ealfonso> https://www.cliki.net/Documentation%20Tool it would be great if those were sorted by last active development date, or by popularity, or something more useful than alphabetical
varjag has joined #lisp
damke has joined #lisp
damke_ has quit [Ping timeout: 268 seconds]
varjag has quit [Ping timeout: 240 seconds]
<ealfonso> s/great/better
<ealfonso> trying out clod, which works by introspection and generates emacs org mode files, which can then be exported to whatever. seems interesting
fikka has quit [Ping timeout: 260 seconds]
warweasle_ has quit [Quit: Leaving]
dieggsy has quit [Remote host closed the connection]
mathZ has joined #lisp
Kundry_Wag_ has quit [Remote host closed the connection]
mathZ has left #lisp [#lisp]
zachk has quit [Quit: Leaving]
iqubic has joined #lisp
ealfonso has quit [Ping timeout: 260 seconds]
ravi has joined #lisp
slyrus2 has quit [Quit: slyrus2]
fikka has joined #lisp
igemnace has joined #lisp
dieggsy has joined #lisp
fikka has quit [Ping timeout: 265 seconds]
loke has quit [Read error: Connection reset by peer]
loke has joined #lisp
dddddd has quit [Remote host closed the connection]
fikka has joined #lisp
eli_oat has quit [Quit: Leaving.]
larme has quit [Quit: WeeChat 1.9.1]
eli_oat has joined #lisp
larme has joined #lisp
igemnace has quit [Read error: Connection reset by peer]
sjl has joined #lisp
sjl has quit [Ping timeout: 260 seconds]
yoonkn has joined #lisp
Arcaelyx_ has joined #lisp
milanj has joined #lisp
nydel has joined #lisp
Arcaelyx has quit [Ping timeout: 246 seconds]
smurfrobot has joined #lisp
pierpa has quit [Quit: Page closed]
Beepy has quit [Ping timeout: 250 seconds]
Kevslinger has quit [Quit: Connection closed for inactivity]
Beepy has joined #lisp
smurfrobot has quit [Ping timeout: 276 seconds]
Beepy has quit [Client Quit]
figurehe4d has joined #lisp
<drmeister> ::notify eudoxia If you designed this (http://lisp-lang.org) - great job! It's really nice. One critical comment about it that I read on Hacker news that made a good point was that there is no indication that one must scroll up to see more.
<Colleen> drmeister: Got it. I'll let eudoxia know as soon as possible.
schoppenhauer has quit [Ping timeout: 250 seconds]
schoppenhauer has joined #lisp
<beach> Good morning everyone!
dieggsy has quit [Remote host closed the connection]
jmtvhax has joined #lisp
jmtvhax has quit [K-Lined]
eli_oat has quit [Quit: Leaving.]
eli_oat has joined #lisp
eli_oat has quit [Client Quit]
<jasom> carmack: a late lisper who was both highly opinionated and active on the c.l.l newsgroup
pierpal has joined #lisp
zooey has quit [Remote host closed the connection]
<jasom> whoops, I was scrolled up ~12 hours
<drmeister> Hi beach
zooey has joined #lisp
makomo has quit [Ping timeout: 260 seconds]
iqubic has left #lisp ["ERC (IRC client for Emacs 25.3.1)"]
<theemacsshibe[m]> hi beach
terpri has quit [Ping timeout: 240 seconds]
Pixel_Outlaw has quit [Remote host closed the connection]
rumbler31 has joined #lisp
igemnace has joined #lisp
rumbler31 has quit [Ping timeout: 268 seconds]
asarch has quit [Quit: Leaving]
yoel has joined #lisp
<LdBeth> helloe
Bike has quit [Quit: Lost terminal]
fikka has quit [Ping timeout: 264 seconds]
Mutex7 has quit [Remote host closed the connection]
fikka has joined #lisp
quazimodo has joined #lisp
DGASAU` is now known as DGASAU
yoel has quit [Remote host closed the connection]
shka_ has joined #lisp
SaganMan has quit [Ping timeout: 240 seconds]
Oladon has quit [Quit: Leaving.]
yoel has joined #lisp
sz0 has quit [Quit: Connection closed for inactivity]
fikka has quit [Ping timeout: 256 seconds]
dented42 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
sukaeto has quit [Quit: WeeChat 1.0.1]
koisoke has quit [Ping timeout: 264 seconds]
ravi has quit [Remote host closed the connection]
JuanDaugherty has quit [Ping timeout: 268 seconds]
ravi has joined #lisp
jcowan has quit [Read error: Connection reset by peer]
damke_ has joined #lisp
fikka has joined #lisp
sauvin has joined #lisp
damke has quit [Ping timeout: 268 seconds]
damke has joined #lisp
orivej has quit [Ping timeout: 255 seconds]
energizer has joined #lisp
damke_ has quit [Ping timeout: 268 seconds]
Kundry_W_ has joined #lisp
Kundry_Wag has quit [Ping timeout: 250 seconds]
Xof has quit [Ping timeout: 256 seconds]
dented42 has joined #lisp
oleo has quit [Quit: Leaving]
<akkad> drmeister: nice "fluff"
<akkad> haha
JuanDaugherty has joined #lisp
terpri has joined #lisp
rumbler31 has joined #lisp
varjag has joined #lisp
damke_ has joined #lisp
rumbler31 has quit [Ping timeout: 268 seconds]
elderK has joined #lisp
elderK has joined #lisp
elderK has quit [Changing host]
damke has quit [Ping timeout: 268 seconds]
flamebeard has joined #lisp
varjag has quit [Ping timeout: 260 seconds]
MYWZB0MobileMatt has joined #lisp
fikka has quit [Ping timeout: 264 seconds]
raynold has quit [Quit: Connection closed for inactivity]
shka_ has quit [Ping timeout: 264 seconds]
matijja has joined #lisp
MYWZB0MobileMatt has quit [Remote host closed the connection]
Satou has joined #lisp
fikka has joined #lisp
vuser_R1ZHRQ has joined #lisp
vuser_R1ZHRQ has quit [Remote host closed the connection]
nika has joined #lisp
deng_cn has quit [Quit: deng_cn]
deng_cn has joined #lisp
runejuhl1 is now known as runejuhl
milanj has quit [Quit: This computer has gone to sleep]
<carmack> jasom: ok, thank you
<carmack> jasom: i read Xah Lee article about this guy
dawnfant` has joined #lisp
dawnfantasy has quit [Read error: Connection reset by peer]
damke_ has quit [Ping timeout: 268 seconds]
Quetzal2 has joined #lisp
ramus has quit [Ping timeout: 264 seconds]
milanj has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
vlatkoB has joined #lisp
scymtym has quit [Ping timeout: 268 seconds]
ramus has joined #lisp
Xof has joined #lisp
dented42 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
sjl has joined #lisp
akkad has left #lisp ["ERC (IRC client for Emacs 25.3.1)"]
fikka has joined #lisp
damke_ has joined #lisp
mlf|2 has joined #lisp
sjl has quit [Ping timeout: 256 seconds]
mflem has quit [Ping timeout: 250 seconds]
<loke> carmack: About whom?
MichaelRaskin has left #lisp [#lisp]
Ven`` has joined #lisp
<beach> Erik Naggum, I would guess.
mlf|2 has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
akkad has joined #lisp
python476 has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
pillton has quit [Remote host closed the connection]
wigust has joined #lisp
<carmack> loke: Erik Naggum
<loke> carmack: I see.
varjag has joined #lisp
<loke> Well, I wouldn't trust anything I see Xah say
yoel has quit [Remote host closed the connection]
<loke> I don't know what he said about Naggum, but knowing Xah you can assume it's wrong. Or at least misguided.
<beach> I second that.
<akkad> does Xah still charge for his emacs notes?
<carmack> akkad: yes :^)
<carmack> akkad: he always want money
<akkad> learning "How to find a job the hardway." by Zed Shaw
beach has left #lisp ["ERC Version 5.3 (IRC client for Emacs)"]
Ven`` has quit [Read error: Connection reset by peer]
Ven`` has joined #lisp
Ven` has joined #lisp
Ven`` has quit [Write error: Connection reset by peer]
mingus` has joined #lisp
scymtym has joined #lisp
<carmack> Xah Lee once wrote to me asking me to send him money in exchange for some of his book
<carmack> :D
<carmack> I wanted to be friends with him, and he wants money. It makes me sad.
pillton has joined #lisp
milanj has quit [Quit: This computer has gone to sleep]
fikka has joined #lisp
<Zhivago> What did Xah write a book on? :)
<carmack> Zhivago: about Javascript
<carmack> Zhivago: nothing special
<carmack> I imprecise put it, this is not a book, but a reference material
<Zhivago> Ah, I was hoping it might have cult potential.
fikka has quit [Ping timeout: 240 seconds]
Satou has quit [Quit: Cya soon guys!]
<Zhivago> Hmm, speaking of Xah, is he dead or something? He seemed to be planning for it a while back.
fikka has joined #lisp
bitch has quit [Ping timeout: 276 seconds]
SaganMan has joined #lisp
<carmack> Zhivago: i don't know
<carmack> I talk about Erik Naggum
<carmack> But Xah Lee epic guy, lol
fraya has joined #lisp
milanj has joined #lisp
raynold has joined #lisp
Ven` has quit [Read error: Connection reset by peer]
Ven`` has joined #lisp
bitch has joined #lisp
Karl_Dscc has joined #lisp
<Zhivago> Well, I'm pretty sure Erik is dead.
Satou has joined #lisp
Ven`` has quit [Read error: Connection reset by peer]
Ven` has joined #lisp
vap1 has joined #lisp
vaporatorius has joined #lisp
vlatkoB_ has joined #lisp
<Zhivago> Maybe there would be a market for a dead lisper app. Perhaps with a betting pool.
<carmack> Zhivago: Erik is dead
Karl_Dscc has quit [Remote host closed the connection]
Ven` has quit [Client Quit]
<carmack> I dream of lisp becoming a popular programming language with a decent salary again. And all hipster programming languages are gone into oblivion.
vlatkoB has quit [Ping timeout: 256 seconds]
turkja has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
mange has quit [Remote host closed the connection]
milanj has quit [Quit: This computer has gone to sleep]
<Zhivago> Become rich and pay people to program in lisp and realize your gream.
makomo has joined #lisp
Satou has quit [Quit: Cya soon guys!]
Satou has joined #lisp
makomo has quit [Ping timeout: 240 seconds]
Ven`` has joined #lisp
Ven`` has quit [Client Quit]
<scymtym> shka: regarding the flamegraph thing. 1) starting with SBCL 1.4.6, sb-sprof exports the required interface 2) the file you found is obsolete and i'm going to delete it. i'm cleaning up a bit and pushing a version to github now. please consider it nothing more than a proof-of-concept nevertheless
Ven`` has joined #lisp
rumbler31 has joined #lisp
<adlai> all you need for a "dead lisper app" is to feed entropy into reverse-sxhash, and then anneal
igemnace has quit [Read error: Connection reset by peer]
rumbler31 has quit [Ping timeout: 248 seconds]
<shka> scymtym: awesome! thanks, i am looking forward for it
yoel has joined #lisp
igemnace has joined #lisp
fikka has joined #lisp
quazimodo has quit [Ping timeout: 240 seconds]
Satou has quit [Quit: Cya soon guys!]
Satou has joined #lisp
vap1 has quit [Quit: Leaving]
mingus` is now known as mingus
quazimodo has joined #lisp
milanj has joined #lisp
<loke> Zhivago: Can you realise by GREAM?
<loke> s/by/my/
nullman has quit [Ping timeout: 260 seconds]
nullman has joined #lisp
Quetzal2 has quit [Read error: No route to host]
quazimodo has quit [Ping timeout: 240 seconds]
hjek has joined #lisp
yoel has quit [Remote host closed the connection]
yoel has joined #lisp
fikka has quit [Ping timeout: 268 seconds]
turkja has quit [Ping timeout: 264 seconds]
turkja has joined #lisp
Satou has quit [Quit: Cya soon guys!]
energizer has quit [Remote host closed the connection]
energizer has joined #lisp
Satou has joined #lisp
orivej has joined #lisp
heisig has joined #lisp
Satou has quit [Client Quit]
fikka has joined #lisp
fikka has quit [Ping timeout: 250 seconds]
damke has joined #lisp
wigust has quit [Quit: ZNC 1.6.6 - http://znc.in]
NOROBO has joined #lisp
Arcaelyx_ has quit [Quit: Textual IRC Client: www.textualapp.com]
damke_ has quit [Ping timeout: 268 seconds]
hhdave has joined #lisp
energizer has quit [Ping timeout: 260 seconds]
jmercouris has joined #lisp
dtornabene has joined #lisp
earl-ducaine has quit [Read error: Connection reset by peer]
<devn> carmack: just do clojure. done deal.
fikka has joined #lisp
light2yellow has joined #lisp
Ven`` has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
earl-ducaine has joined #lisp
d4ryus1 is now known as d4ryus
fikka has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
fikka has joined #lisp
python476 has quit [Ping timeout: 265 seconds]
yoel has quit [Remote host closed the connection]
hjek has quit [Quit: Leaving.]
damke_ has joined #lisp
rumbler31 has joined #lisp
siraben has joined #lisp
varjagg has joined #lisp
damke has quit [Ping timeout: 268 seconds]
rumbler31 has quit [Ping timeout: 246 seconds]
varjagg has quit [Ping timeout: 240 seconds]
<shka> scymtym: ooh, awesome, I will try it out at home
<shka> i have newest sbcl there
siraben has quit [Read error: Connection reset by peer]
orivej has quit [Ping timeout: 260 seconds]
m00natic has joined #lisp
quazimodo has joined #lisp
Kaisyu has quit [Quit: Connection closed for inactivity]
Karl_Dscc has joined #lisp
NOROBO has quit [Quit: Page closed]
orivej has joined #lisp
<jmercouris> Hi everyone, I'm trying to solve a difficult type of problem involving cominbatorials
<jmercouris> imagine this, you have a set of rules
<jmercouris> these rules are irrelevant to the problem
<jmercouris> or rather, the nature of these rules are irrelevant
<jmercouris> you have a set of data, and you must selectively apply different rules to different pieces of the data to maximize some variable
<jmercouris> so imagine this, I have ten pieces of data, and five rules
<jmercouris> I can say something like data piece one + rule 1 = some value
<jmercouris> data piece one + rule 2 = some different value
<White_Flame> genetic algorithm
<jmercouris> wait a second
<jmercouris> that might be an approach, I hadn't thought about that
<White_Flame> the nice thing is that it sounds like you have a very easy to compute fitness function
<jmercouris> yes, I do
<jmercouris> the problem is, the amount of permutations is astronomical
<White_Flame> hence genetic algorithm ;)
<White_Flame> now, if you want to guarantee the maximum across all possibilities, then you might be in a bit more of a pickle
<jmercouris> well, the challenge is that, I would have to train a genetic algorithm for each data set
<jmercouris> and each rule set
<jmercouris> and there are many sets of rules, unfortunately
yoel has joined #lisp
<jmercouris> maybe I should just start with a small subset
<White_Flame> oh, so it's not combine N rules together, but you have a bag of x and a bag of y, and need to find a singular pairing from X and Y that maximizes fitness?
<jmercouris> yes, it is like that
<jmercouris> let me make it more concrete for you, and tell you exactly what the problem I'm trying to solve is
<jmercouris> you have a set of parcels that you want to ship somewhere
<jmercouris> which shipping products can you combine from which carriers to get the cheapest possible shipping
<jmercouris> the thing is, they all have different rules, and prices for a different product may vary based on weight, or other strange factors
<White_Flame> then maybe just monte carlo and see what averages out
<jmercouris> so, you might think, lump them all in a box, and get the carrier with the cheapest quote
<jmercouris> the problem is, that is *not* the cheapest way to ship all the items
<White_Flame> what do you want the result to be?
<White_Flame> a function that you feed in the situation, and it spits out how many packages and to which carriers?
<jmercouris> a set of products (aka USPS first class mail, priority mail) that one should buy to ship a set of packages somewhere for the cheapest price
smurfrobot has joined #lisp
<jmercouris> correct
<White_Flame> well, GAs do build up functions
<White_Flame> or at least, can
<jmercouris> but they'll only be able to respond to sort of "known" set of packages, no?
<White_Flame> so given a set of products, the search space is still too big?
<jmercouris> if you give them a piece of data they haven't been trained against, they'll fail
<jmercouris> given a set of products, the search space is not too big, the issue is the variety of parcels and ways the parcels can be combined together
<jmercouris> even just think about this, you have 3d models of products, even just the challenge of knowing how products could fit together in a box
<jmercouris> we don't have to get into that, but yeah, I've been thinking about this problem for days
<White_Flame> I'm basically asking if the "real" search could be done for each concrete example, instead of trying to conceive of a meta-maximum
<jmercouris> can you please clarify what you mean?
<jmercouris> could someone sit down by hand, and calculate the ideal?
<White_Flame> since you want a function to be generated, you want code which can generate the code which can solve problems
<White_Flame> that's a sort of meta solution
<jmercouris> yes, that is what I would like to do
<jmercouris> so that as the rules change, I can rerun my program
<White_Flame> what I'm asking is that instead of lookign at the entire space, if you just look at "Here's the things I need to ship now", can a reasonable search be done at that instance instead of trying to tackle the meta-problem?
nsrahmad has joined #lisp
<jmercouris> yes, I believe so
pierpal has quit [Quit: Poof]
pierpal has joined #lisp
<White_Flame> "solving" the meta problem wil leave you with a reasonable guess as to a policy which will generate a decision. Doing the real search in every instance will give you optimal results
<jmercouris> I guess what will determine which approach to use would be the compute time cost
<White_Flame> which is why I asked how feasible the search is per instance
<jmercouris> I would say, the cost is very high
<jmercouris> because I can see so many permutations of grouping together parcels and carriers
<White_Flame> this is also a field where expert systems could be used, throwing human-generated preference rules for evaluating the situation
<White_Flame> togehter into a pot and seeing what emerges
<jmercouris> there are no humans in this space, unfortunately
<jmercouris> and giving some supervised learning would be extraordinarly laborious
<White_Flame> your inputs, for each problem run, is a set of items with their weight & dimensions, a set of available containers/dimensions/cost, and the output is a list of containers each of which hold some items?
<jmercouris> yes, correct
python47` has joined #lisp
<White_Flame> and of course the set of items changes constantly, but the available shipping methods also can change
<jmercouris> yes, the set of available shipping methods can change depending on the locale, offers, etc
kushal has quit [Ping timeout: 255 seconds]
<jmercouris> also important to note, the set of available containers/dimensions/cost is not discrete. That is, the price of a parcel will increase by weight, for some products, therefore, there are an infinite number of prices available
<White_Flame> right
<White_Flame> really, it's a pricing algorihm per parcel, not price
<jmercouris> no, it isn't because multiple parcels may be grouped into a bigger parcel to save on overall price
<White_Flame> but presumably those algorithms are from a small set, usually base + N * weight over threshold
<White_Flame> "parcel" as in packed shipping box
<jmercouris> it's not about reducing the total cost per parcel, because parcels may be merged into "meta" parcels
<jmercouris> a packed shipping box may be put into another box with another box
<jmercouris> and that *MAY* be cheaper
<jmercouris> think about when you get items from amazon, and sometimes there are multiple boxes in the box
oldtopman has quit [Ping timeout: 276 seconds]
<White_Flame> I don't think I've ever received nested amazon boxes
<jmercouris> it's about reducing the total cost for the whole shipment (a set of parcels)
<jmercouris> White_Flame: I have
<jmercouris> anyways, the probem is pretty complex
kushal has joined #lisp
<jmercouris> I'm looking into genetic algorithms now
<White_Flame> I do think this is probably an expert system solution
<White_Flame> because there's a lot of human understanding factors of what's possible, as well as rote math to determine weight and if dimensions can fit within each other
<jmercouris> I think maybe I'll decompose the problem into a smaller set of problems and just solve one at a time
nsrahmad has quit [Remote host closed the connection]
<jmercouris> for example, I'll make a program that given a set of parcels calculates the ways that they may be combined into larger, meta parcels
<jmercouris> with some reasonble constraints
nsrahmad has joined #lisp
<jmercouris> and then it returns a set of these parcels
<jmercouris> then maybe another program that generates a set of prices given a set of parcels
<White_Flame> I once ordered 10 smal items from amazon, and each came in their own separate shipping box. I'ts hard to understand how that would have been cheaper
<jmercouris> Well, yeah, maybe the should have combined them in a couple of different ways
pierpal has quit [Read error: Connection reset by peer]
<jmercouris> but the other thing that you don't understand about amazon fulfillment is that it isn't all necessarily coming from the same warehouse
<White_Flame> well, those are all components, but they all need to be integrated functions of the problem solver, not necessarily separated steps
<jmercouris> yes, but they are I think simpler to solve as separate steps
<jmercouris> I'm not a genius :D
<jmercouris> I can't keep it all in my head
<White_Flame> well, they're necessarily sub-problems
<jmercouris> so in my mind they are like mini programs
<White_Flame> it's not making the problem easier, because that's not actually decomposing it
<jmercouris> I'm always thinking of programs in my head as sets of computers and functions with their own APIs
<jmercouris> how would you make the problem easier? and how is breaking apart the problem into sub-problems not decomoposing it?
<White_Flame> you're not transforming the problem into another representation
<White_Flame> it's still the same problem
<jmercouris> well, it is a set of problems, where we pipe information from one step to the next
<jmercouris> true, it is the same set of operations
<White_Flame> like, if you want to figure out how to efficiently mow a yard, you need to figure out how to start the lawnmower. That doesn't actually decompose the difficulty of the problem, to figure out how to operate it
<jmercouris> but by separating the problems with some sort of API, it feels easier to manage for me
<jmercouris> talking with you has been very helpful in helping me sort out my thoughts
<jmercouris> thanks for your time
<White_Flame> sure
Hello_ has quit [Ping timeout: 260 seconds]
quazimodo has quit [Ping timeout: 256 seconds]
quazimodo has joined #lisp
ravi has quit [Ping timeout: 250 seconds]
ravi has joined #lisp
wxie has joined #lisp
Ven`` has joined #lisp
Satou has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
markong has joined #lisp
yoonkn has quit [Read error: Connection reset by peer]
kushal has quit [Remote host closed the connection]
kushal has joined #lisp
light2yellow has quit [Quit: brb]
fikka has joined #lisp
light2yellow has joined #lisp
Kevslinger has joined #lisp
juki has joined #lisp
python47` has quit [Read error: Connection reset by peer]
quazimodo has quit [Ping timeout: 256 seconds]
quazimodo has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
milanj has quit [Quit: This computer has gone to sleep]
pierpal has joined #lisp
pierpal has quit [Read error: Connection reset by peer]
figurehe4d has quit [Ping timeout: 240 seconds]
python476 has joined #lisp
Satou has quit [Quit: Cya soon guys!]
wxie has quit [Quit: Bye.]
nsrahmad has quit [Read error: Connection reset by peer]
damke has joined #lisp
nsrahmad has joined #lisp
Satou has joined #lisp
fikka has joined #lisp
damke_ has quit [Ping timeout: 268 seconds]
SaganMan has quit [Ping timeout: 240 seconds]
Hello__ has joined #lisp
scymtym has quit [Ping timeout: 260 seconds]
Ven`` has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
nsrahmad has quit [Quit: Leaving]
Ven`` has joined #lisp
SaganMan has joined #lisp
milanj has joined #lisp
juki has quit [Quit: ERC (IRC client for Emacs 25.2.2)]
flazh has quit [Quit: flazh]
dtornabene has quit [Quit: Leaving]
rumbler31 has joined #lisp
rumbler31 has quit [Remote host closed the connection]
Ven`` has quit [Ping timeout: 240 seconds]
yoel has quit [Remote host closed the connection]
Ukari has joined #lisp
Ukari has quit [Remote host closed the connection]
Ven`` has joined #lisp
raynold has quit [Quit: Connection closed for inactivity]
flazh has joined #lisp
SenasOzys has joined #lisp
ravi has quit [Read error: Connection reset by peer]
flazh has quit [Client Quit]
flazh has joined #lisp
ebrasca has joined #lisp
flazh has quit [Client Quit]
flazh has joined #lisp
grumble has quit [Read error: Connection reset by peer]
grumble has joined #lisp
joachifm has joined #lisp
flazh has quit [Quit: flazh]
flazh has joined #lisp
Ven`` has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
quazimodo has quit [Ping timeout: 240 seconds]
Plazma has joined #lisp
Ven`` has joined #lisp
damke_ has joined #lisp
LiamH has joined #lisp
flazh has quit [Quit: flazh]
flazh has joined #lisp
oleo has joined #lisp
damke has quit [Ping timeout: 268 seconds]
damke has joined #lisp
flazh has quit [Client Quit]
flazh has joined #lisp
python476 has quit [Ping timeout: 255 seconds]
damke_ has quit [Ping timeout: 268 seconds]
scymtym has joined #lisp
asarch has joined #lisp
damke has quit [Ping timeout: 268 seconds]
flazh has quit [Quit: flazh]
flazh has joined #lisp
flazh has quit [Client Quit]
flazh has joined #lisp
flazh has quit [Client Quit]
flazh has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
varjag has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
nowhere_man has joined #lisp
flazh has quit [Client Quit]
flazh has joined #lisp
wheelsucker has quit [Remote host closed the connection]
flazh has quit [Client Quit]
flazh has joined #lisp
beli has joined #lisp
flazh has quit [Quit: flazh]
flazh has joined #lisp
<beli> hi there. i am trying to install turtle (https://turtlapp.com/docs/server/) and while calling "cl '(load "start")' i get error message that package QL does not exists. it should be loaded due to (ql:quickload :turtl) and quickload is installed on my system. any ideas why it is not found?
void_pointer has joined #lisp
Louge has joined #lisp
turkja has left #lisp [#lisp]
flazh has quit [Quit: flazh]
flazh has joined #lisp
rippa has joined #lisp
flazh has quit [Quit: flazh]
flazh has joined #lisp
flazh has quit [Client Quit]
flazh has joined #lisp
fikka has joined #lisp
SenasOzys has quit [Ping timeout: 276 seconds]
flazh has quit [Client Quit]
flazh has joined #lisp
flazh has quit [Client Quit]
flazh has joined #lisp
Louge has quit [Quit: Louge]
mercourisj has joined #lisp
yoel has joined #lisp
SenasOzys has joined #lisp
flazh has quit [Quit: flazh]
flazh has joined #lisp
jmercouris has quit [Ping timeout: 256 seconds]
Satou has quit [Quit: Cya soon guys!]
flazh has quit [Client Quit]
flazh has joined #lisp
<nirved> beli: load quicklisp first
<beli> nirved: got it....no ql error anymore, but it doesn't find TURTL now
<beli> nirved: debian package did install ql, but not configure/load it automagically
cage_ has joined #lisp
JuanDaugherty has quit [Quit: Exeunt]
<nirved> beli: check *default-pathname-defaults*, maybe use full path in (load "/..../api/start")
Bike has joined #lisp
dtornabene has joined #lisp
Josh_2 has joined #lisp
random-nick has joined #lisp
python476 has joined #lisp
damke_ has joined #lisp
igemnace has quit [Quit: WeeChat 2.1]
<beli> nirved: its using relative paths, but giving fullpath worked though. now i run in a problem with ql again. i need to read more about how it works i guess...but enough for today. thanks for your help
beli has quit [Quit: doh]
epony has quit [Remote host closed the connection]
dddddd has joined #lisp
epony has joined #lisp
sjl has joined #lisp
yoel has quit [Remote host closed the connection]
yoel has joined #lisp
heisig has quit [Ping timeout: 248 seconds]
fikka has quit [Ping timeout: 260 seconds]
pierpal has joined #lisp
Karl_Dscc has quit [Remote host closed the connection]
Satou has joined #lisp
matijja has quit [Ping timeout: 260 seconds]
brucem has joined #lisp
brucem has quit [Changing host]
brucem has joined #lisp
brucem has left #lisp [#lisp]
CrazyEddy has quit [Remote host closed the connection]
<mercourisj> any work on compiling lisp to wasm?
<Xach> mercourisj: doug crosher looked into it a while ago but i haven't heard anything recent.
<mercourisj> Xach: I see, thanks
fraya has quit [Quit: WeeChat 1.8]
fikka has joined #lisp
CrazyEddy has joined #lisp
flamebeard has quit []
dieggsy has joined #lisp
papachan has joined #lisp
<_death> may want to check out https://github.com/Arboreta/arboreta-wasm/
<mercourisj> _death: thanks
quazimodo has joined #lisp
FreeBirdLjj has joined #lisp
Ven`` has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
fikka has quit [Ping timeout: 256 seconds]
slyrus2 has joined #lisp
Josh_2 has quit [Quit: ERC (IRC client for Emacs 25.3.1)]
yoel has quit []
dtornabene has quit [Quit: Leaving]
Trystam has joined #lisp
Tristam has quit [Ping timeout: 250 seconds]
Trystam is now known as Tristam
shka_ has joined #lisp
slyrus2 has quit [Quit: slyrus2]
fikka has joined #lisp
slyrus2 has joined #lisp
AxelAlex has quit [Quit: AxelAlex]
m00natic has quit [Remote host closed the connection]
AntiSpamMeta2 has joined #lisp
AntiSpamMeta2 is now known as AntiSpamMeta
AntiSpamMeta has quit [Killed (wolfe.freenode.net (Nickname regained by services))]
fikka has quit [Ping timeout: 240 seconds]
slyrus_ has joined #lisp
channing has joined #lisp
Oladon_work has joined #lisp
<Oladon_work> drmeister: You are a most eloquent apologist for Lisp — well done! (re: your recent HN comments0
<Oladon_work> )
fikka has joined #lisp
<easye> Oladon_work: which HN comments?
<Xach> https://news.ycombinator.com/threads?id=drmeister is another way to find things
<easye> Thanks Oladon_work, Xach
dyelar has quit [Quit: Leaving.]
dyelar has joined #lisp
fikka has quit [Ping timeout: 268 seconds]
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
void_pointer has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
dyelar has quit [Client Quit]
dyelar has joined #lisp
Bindler has joined #lisp
r5n has joined #lisp
jxy has quit [Quit: leaving]
r5n has quit [Client Quit]
fikka has joined #lisp
<akkad> when the background images are bigger in size than the clhs.
dented42 has joined #lisp
varjag has joined #lisp
dented42 has quit [Client Quit]
makomo has joined #lisp
hhdave has quit [Ping timeout: 256 seconds]
smurfrobot has quit [Remote host closed the connection]
quazimodo has quit [Ping timeout: 240 seconds]
Karl_Dscc has joined #lisp
mflem has joined #lisp
damke has joined #lisp
<drmeister> Thankew.
<Oladon_work> Certainly! Your explication of Lisp's virtues is quite masterful, unlike many of our contemporaries :)
fikka has quit [Ping timeout: 256 seconds]
damke_ has quit [Ping timeout: 268 seconds]
fikka has joined #lisp
<drmeister> Good with words - some say I am. When I have time to think of them.
asarch_ has joined #lisp
dawnfant` has left #lisp ["ERC (IRC client for Emacs 25.3.1)"]
asarch has quit [Read error: Connection reset by peer]
Firedancer has quit [Ping timeout: 264 seconds]
<Oladon_work> drmeister: I hear you!
Firedancer has joined #lisp
smurfrobot has joined #lisp
fikka has quit [Ping timeout: 276 seconds]
oldtopman has joined #lisp
channing has quit [Ping timeout: 255 seconds]
himmAllRight has quit [Ping timeout: 264 seconds]
channing has joined #lisp
Bindler has quit [Read error: Connection reset by peer]
smurfrobot has quit [Remote host closed the connection]
himmAllRight17 has quit [Ping timeout: 268 seconds]
himmAllRight has joined #lisp
PinealGlandOptic has joined #lisp
Satou has quit [Quit: Cya soon guys!]
fikka has joined #lisp
orivej has quit [Ping timeout: 260 seconds]
nowhere_man has quit [Remote host closed the connection]
milanj has quit [Quit: This computer has gone to sleep]
nowhere_man has joined #lisp
innovati has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
light2yellow has quit [Quit: light2yellow]
nowhere_man has quit [Ping timeout: 250 seconds]
cage_ has quit [Read error: Connection reset by peer]
cage_ has joined #lisp
damke_ has joined #lisp
himmAllRight17 has joined #lisp
dawnfantasy has joined #lisp
damke has quit [Ping timeout: 268 seconds]
pierpal has quit [Read error: Connection reset by peer]
pierpal has joined #lisp
dawnfantasy has quit [Read error: Connection reset by peer]
light2yellow has joined #lisp
SenasOzys has quit [Ping timeout: 240 seconds]
smurfrobot has joined #lisp
nika has quit [Quit: Leaving...]
channing has quit [Ping timeout: 265 seconds]
fikka has quit [Ping timeout: 246 seconds]
smurfrobot has quit [Remote host closed the connection]
ravndal has joined #lisp
SenasOzys has joined #lisp
channing has joined #lisp
nolanv has quit [Quit: WeeChat 2.0.1]
sauvin has quit [Remote host closed the connection]
fikka has joined #lisp
fikka has quit [Ping timeout: 264 seconds]
python476 has quit [Ping timeout: 248 seconds]
<varjag> so people, what's the recommended cl web stack/framework in 2018?
<varjag> caveman?
innovati has joined #lisp
random-nick has quit [Ping timeout: 248 seconds]
emaczen has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
fikka has joined #lisp
innovati has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
EvW has joined #lisp
smurfrobot has joined #lisp
zachk has joined #lisp
python476 has joined #lisp
innovati has joined #lisp
Satou has joined #lisp
dented42 has joined #lisp
channing has quit [Quit: WeeChat 1.6]
asarch_ has quit [Quit: Leaving]
innovati has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
scymtym has quit [Ping timeout: 240 seconds]
random-nick has joined #lisp
smurfrobot has quit [Remote host closed the connection]
PinealGlandOptic has quit [Quit: leaving]
nowhere_man has joined #lisp
milanj has joined #lisp
zachk has quit [Changing host]
zachk has joined #lisp
matijja has joined #lisp
innovati has joined #lisp
jjkola has joined #lisp
<jjkola> hi
damke_ has quit [Quit: quit]
dented42 has quit [Ping timeout: 248 seconds]
cage_ has quit [Quit: Leaving]
<cgay> hi
fikka has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
MichaelRaskin has joined #lisp
damke has joined #lisp
fikka has quit [Ping timeout: 276 seconds]
scymtym has joined #lisp
fikka has joined #lisp
nowhere_man has quit [Remote host closed the connection]
nowhere_man has joined #lisp
orivej has joined #lisp
emaczen has quit [Read error: Connection reset by peer]
Satou has quit [Quit: Cya soon guys!]
Satou has joined #lisp
Satou has quit [Client Quit]
Mutex7 has joined #lisp
<aeth> Is there some intermediate step between :build-operation asdf:monolithic-concatenate-source-op and leaving things in a million little files? In particular, I *want* that monolithicness build step, but only in my code because I can't reasonably expect other people's libraries to not break when put in one big file.
<aeth> Searching around ASDF, there appears to be a per-system version, but (1) I couldn't get it to work and (2) I still have many systems.
Satou has joined #lisp
emaczen has joined #lisp
rumbler31 has joined #lisp
Pixel_Outlaw has joined #lisp
<aeth> I basically want the performance and safety benefits of everything being in one file in the final build step of my game engine (not for development, but for end users) without having to put up with everything *actually* being in one file.
<flip214> aeth: at least for SBCL you can simply "cat" files together.
papachan has quit [Quit: WeeChat 2.1]
<aeth> In case anyone's wondering: for performance, SBCL appears to do a limited form of inlining within a compilation unit. Not as good as declaring a function inline, though. It appears to be one pass, so its inlining of (foo 42) where foo is (defun foo (x) (1+ x)) won't simplify it to 43 but to (1+ 42), unlike with declaring foo inline.
<aeth> And for safety, SBCL can do some degree of static type checking when the functions are in the same compilation unit (possibly because of the former step)! (I think they're compilation warnings rather than errors, though.)
<Bike> with-compilation-unit?
<aeth> I test these with with-compilation-unit
<Xof> Bike: there's a special case for file scope in 3.2.2.3
<Xof> it's actually not related to compilation unit, or shouldn't be...
<aeth> And I definitely want the end user to get the version where everything that can be in a compilation unit is. It might need to be more sophisticated than that. There might need to be a separation of utils and everything else, for instance, to prevent having to write eval-whens for functions used in macros
<Bike> clhs 3.2.2.3
<Xof> it's the same thing that caused the bordeaux-threads bug
<Bike> well that's annoying
<aeth> oh, hmm
dieggsy has quit [Ping timeout: 240 seconds]
rumbler31 has quit [Ping timeout: 264 seconds]
vlatkoB_ has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
<Xof> I can't remember if we expand our treatment to compilation-unit
<Xof> I can't even remember where this code is
<aeth> I'm guessing I'll have to write my own build-operation for ASDF that produces the desired result, at least in my three supported implementations of SBCL, CCL, and ECL. (Although I have issues with ECL at the moment. I think it's because I have two different versions of ECL installed with the exact same name in ~/.cache/common-lisp/, one from roswell and one from my distro's package manager, and the caches are probably fighting)
matijja has quit [Ping timeout: 256 seconds]
<aeth> (I don't know why my distro's ECL doesn't use the full distro-specific version name in .cache like SBCL does)
warweasle has quit [Quit: rcirc on GNU Emacs 24.4.1]
smurfrobot has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
<aeth> flip214: Is catting files built into SBCL or do you mean use cat?
makomo has quit [Quit: WeeChat 2.0.1]
smurfrobot has quit [Ping timeout: 256 seconds]
attila_lendvai has quit [Quit: Leaving.]
DemolitionMan has joined #lisp
fikka has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
Quetzal2 has joined #lisp
<aeth> Is there some Emacs/SLIME plugin to detect SBCL-detectable errors before compilation?
<aeth> e.g. consider this file that won't compile in SBCL: (defun foo (x y) (declare (number x y)) (+ x y)) (defun bar () (foo 4 "hi"))
<aeth> In theory, shouldn't that be catchable before the file is compiled? It'd be useful because often I just compile the function, and that's only catchable if the *file* is being compiled.
Satou has quit [Quit: exit();]
<flip214> aeth: "cat" as in the command-line utility, /bin/cat.
rippa has quit [Read error: Connection reset by peer]
<flip214> aeth: does it matter whether Emacs/SLIME do the compilation+warning step, or your Common Lisp?
<flip214> the warning should be given in any case.
<flip214> you could also try
<flip214> (setf sb-ext:*derive-function-types* t)
<aeth> flip214: The compiler error is only given when the file is compiled, via C-c C-k. If bar is compiled alone with C-c C-c then it's not caught.
<flip214> but that's another can of worms....
attila_lendvai has quit [Quit: Leaving.]
figurehe4d has joined #lisp
<aeth> Oh, and it's also only caught at the file level, but in the editor you could probably catch it at any level.
<aeth> i.e. check using the function type that's currently in the environment
<aeth> afaik only SBCL does the whole function type thing, though, so it'd be very specific to SBCL
<aeth> flip214: I guess sb-ext:*derive-function-types* set to T would make the number declaration in foo unnecessary?
<flip214> aeth: yes. and (defun bar ...) should then see that a string is unacceptable.
DemolitionMan has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
<aeth> It would be interesting to turn that on and then run a full application static check (not sure how, SBCL only checks within files/compilation-units) to see if I have any uncaught bugs.
<aeth> Probably not useful outside of a test like that.
<flip214> aeth: this setting just makes SBCL automatically define the function types.
<aeth> Could be interesting to actually make that a CI test.
DemolitionMan has joined #lisp
rk1165 has joined #lisp
<aeth> (1) turn on function type derivation, (2) do a full application static check
innovati has quit [Quit: Textual IRC Client: www.textualapp.com]
<aeth> If the only way to do the latter is to concatenate files, though, then it wouldn't be general purpose because people use separate files to get around having to do eval-whens.
rk1165 has quit [Remote host closed the connection]
<mercourisj> White_Flame: any resources on tree based GA in Lisp?
<flip214> aeth: hmmm, it doesn't warn me even if in the same file.... perhaps that's broken in my version?!
<aeth> Oh, in case anyone's wondering, the reason I'm thinking about all of this is because the 3rd or 4th Python type checker is on HN. https://news.ycombinator.com/item?id=17048446
<flip214> I think I've seen warnings even across files.
<aeth> But SBCL is like 90% of the way there.
<aeth> flip214: Well, the warnings are there for stuff in the CL package like (+ 3 "hi") directly.
<flip214> aeth: hmmm, I'm fairly sure it did derive function arguments as well
smurfrobot has joined #lisp
<aeth> Oh, and looking into all of this, there's apparently something called 'flycheck' in Emacs (like 'flyspell', I guess), but it doesn't look like it has SLIME/CL integration even though there are dozens of languages for it in M-x package-list-packages.
<mercourisj> aeth: you've never heard of flycheck? are you not an emacs user?
<aeth> mercourisj: I use Emacs for CL
<mercourisj> aeth: Huh, I thought you were a full time emacs user, my bad
<aeth> Does SBCL's linter-like functionality have any integration with flycheck or something like it?
<mercourisj> yeah, it definitely does
<mercourisj> when you type in lisp that has errors, it will tell you
dented42 has joined #lisp
<mercourisj> not like flycheck, but upon compilation
<mercourisj> you can also then jump to different errors
<aeth> yes, I'm aware of that
<mercourisj> are you looking sort of for like "live" checking?
<aeth> And compilation is so fast I guess it's normally not an issue
<aeth> mercourisj: Yes because a lot of the checking only works on C-c C-k, not C-c C-c, and I am just too muscle memoried into doing the latter.
smurfrobot has quit [Ping timeout: 264 seconds]
<mercourisj> here's a list of supported flycheck languages: http://www.flycheck.org/en/latest/languages.html#flycheck-languages
dyelar has quit [Quit: Leaving.]
<mercourisj> Common Lisp does not appear to be in that list
Hello__ has quit [Quit: qwebirc exception: Buffer overflow.]
<mercourisj> here is an issue about it: https://github.com/flycheck/flycheck/issues/1369
<aeth> I wonder if the recommended sblint does what I speculated about earlier here, which is turning on sb-ext:*derive-function-types* and then doing some full-application static type check (if that's even possible without combining them in one file) with that on.
<aeth> Because I think something like that is the only static checking anyone would need in CL
<aeth> And it's almost entirely built into SBCL
pfdietz2 has joined #lisp
pfdietz2 has quit [Remote host closed the connection]
pfdietz2 has joined #lisp
<mercourisj> well, one might want some other static checking
<dlowe> I'd be happy with something like that which ran on the whole image
<mercourisj> like for example, malformed parenthesis
comborico1611 has joined #lisp
<mercourisj> I know you can use smartparens, but it would be interesting to have it built into a linter
<mercourisj> maybe some stylistic rules as well
<aeth> or unreachable code, which 95% of the time means there's a logic error somewhere that makes some branch unreachable that should be reachable
<mercourisj> yeah, that would be also cool to have
<mercourisj> bottom line would be, it would be cool to have
<aeth> (...and 5% of the time is a typecase on floats in the order of single-float double-float short-float long-float)
<mercourisj> it would make lisp feel just a little bit more dynamic
emaczen has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
innovati has joined #lisp
smurfrobot has joined #lisp
Quetzal2 has quit [Quit: ?? Bye!]
<aeth> and it's definitely possible to unbalance parens even with something like paredit if you do commenting/uncommenting of regions of code, or other actions on selections of regions
smurfrobot has quit [Ping timeout: 268 seconds]
energizer has joined #lisp
smurfrobot has joined #lisp
energizer has quit [Remote host closed the connection]
smurfrobot has quit [Ping timeout: 240 seconds]
energizer has joined #lisp
smurfrobot has joined #lisp
pfdietz2 has quit [Ping timeout: 246 seconds]
smurfrobot has quit [Ping timeout: 250 seconds]
<aeth> Oh, this is a bit entertaining. It seems like sb-ext:*derive-function-types* derives a function type to be t if you use check-type in the function... because the program will be valid for any input at runtime after you provide it with the correct type if there's a runtime type error!
<mercourisj> that makes sense
<aeth> This makes some sense because iirc check-type and type declarations are mutually exclusive in SBCL. If you declare a type, it will delete the check-type (or at least the part of it that runs for invalid types) as unreachable.
<aeth> s/derives a function type to be t if you use check-type in the function/derives a function variable foo's type to be t if you use check-type on foo in the function/
light2yellow has quit [Quit: light2yellow]
<aeth> Oh, there's at least one common thing that SBCL does not afaik detect: unused imports. Possibly because one-package-per-file is an uncommon style and most things are done on a per-file basis.
<Bike> how could it detect that? it's not like the package is over after the file
<aeth> It could maybe be an optional (turn-off-able) warning if a symbol that is explicitly imported via :import-from or a package is not used in any files of a given package, though. Technically, could be valid anyway, but in practice, someone probably forgot to remove it
Bike has quit [Ping timeout: 260 seconds]
pjb has joined #lisp
pierpal has quit [Quit: Poof]
carmack has quit [Ping timeout: 268 seconds]
pierpal has joined #lisp
python476 has quit [Ping timeout: 264 seconds]
energizer has quit [Remote host closed the connection]
energizer has joined #lisp
smurfrobot has joined #lisp
mercourisj has quit [Remote host closed the connection]
sjl__ has joined #lisp
void_pointer has joined #lisp
sjl has quit [Ping timeout: 276 seconds]
smurfrobot has quit [Ping timeout: 264 seconds]
warweasle has joined #lisp
smurfrobot has joined #lisp
LiamH has quit [Quit: Leaving.]
rumbler31 has joined #lisp
smurfrobot has quit [Ping timeout: 264 seconds]
orivej has quit [Ping timeout: 240 seconds]
warweasle_ has joined #lisp
damke_ has joined #lisp
milanj has quit [Read error: Connection reset by peer]
warweasle has quit [Ping timeout: 260 seconds]
stara has joined #lisp
smurfrobot has joined #lisp
<stara> Hi, how compute x^3-2x^2-9x+18=0 Cardano's formula?
damke has quit [Ping timeout: 268 seconds]
milanj has joined #lisp
sjl has joined #lisp
sjl__ has quit [Quit: WeeChat 2.0.1]
smurfrobot has quit [Ping timeout: 264 seconds]
<aeth> stara: Solve for x in a given cubic function? https://en.wikipedia.org/wiki/Cubic_function#General_formula
<aeth> It's fairly straightforward to solve things given a formula (although I've only done this for quadratic, not cubic). There's probably a fancy, more-correct way to implement it because of how floating point works, though.
EvW has quit [Remote host closed the connection]
<stara> aeth, my result is: p=-31/3 and q=308 ; Did I good compute this?
energizer has quit [Remote host closed the connection]
EvW has joined #lisp
energizer has joined #lisp
milanj has quit [Read error: Connection reset by peer]
<aeth> stara: It's probably a good idea to use Wolfram-Alpha to check your program with some test inputs when you're working with equations that it can solve. https://www.wolframalpha.com/
<aeth> Or some other independent implementation
<stara> OK, but I can't compute this, get out wrong result.
rumbler31 has quit [Remote host closed the connection]
rumbler31 has joined #lisp
rumbler31 has quit [Remote host closed the connection]
Kundry_W_ has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
<aeth> stara: You should probably post your source somewhere and someone here can find the mistake
pierpa has joined #lisp
<aeth> (a pastebin service somewhere)
pjb has quit [Ping timeout: 256 seconds]
Oladon_work has quit [Ping timeout: 260 seconds]
norvic has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
random-nick has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
stara has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
bjorkintosh has joined #lisp
pierpal has quit [Ping timeout: 264 seconds]
OmegaDoug has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
varjag has quit [Quit: ERC (IRC client for Emacs 25.2.1)]
pjb has joined #lisp
Karl_Dscc has quit [Remote host closed the connection]
Arcaelyx has joined #lisp
fikka has joined #lisp
DemolitionMan has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
fikka has quit [Ping timeout: 255 seconds]
Bike has joined #lisp
energizer has quit [Remote host closed the connection]
nowhere_man has quit [Remote host closed the connection]
energizer has joined #lisp
nowhere_man has joined #lisp
warweasle_ has quit [Quit: Leaving]
damke_ has quit [Ping timeout: 268 seconds]
arescorpio has joined #lisp
nowhere_man has quit [Remote host closed the connection]
nowhere_man has joined #lisp
fikka has joined #lisp
pjb has quit [Ping timeout: 250 seconds]
zachk has quit [Quit: Leaving]
Kundry_W_ has joined #lisp
Kundry_Wag has quit [Read error: Connection reset by peer]
rumbler31 has joined #lisp
norvic has quit [Remote host closed the connection]
dented42 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
comborico1611 has quit [Quit: Konversation terminated!]
rumbler31 has quit [Ping timeout: 255 seconds]