rumbler31 has joined #lisp
<hooman> aeth, MIT is good? i am terrible with paperwork/beurocracy stuff. i generally pick defaults on starting new projects with the project-starting utils
Amplituhedron has quit [Ping timeout: 276 seconds]
aindilis has joined #lisp
<aeth> hooman: The most permissive licenses are MIT, BSD, and Apache. MIT and BSD are largely interchangable and almost equivalent (except the BSD versions with the advertising clause), but the main argument for the MIT license is generally that there's just one version and "BSD" has to be qualified between 4 or so.
<aeth> (There are very similar licenses to the MIT license, but they have entirely different names, unlike with the BSD variants.)
<aeth> Apache has a patents clause and is much longer, but it is not GPLv2 compatible. Google prefers this license (including in Android, which makes it widespread).
<aeth> There's also the Artistic License, which is almost entirely Perl (but very common in Perl, making it fairly common overall)
p9s has joined #lisp
vydd has quit [Ping timeout: 260 seconds]
<aeth> After that there are copyleft licenses, usually GNU licenses. These are simpler if you restirct yourself to GNU because they just add additional restrictions each time. LGPL is basically for libraries, allowing copyleft on the library but not forcing it on users of the libraries. GPL is for applications or for libraries where you only want GPL users.
papachan has quit [Quit: Leaving]
<aeth> AGPL closes the network loophole in the GPL, e.g. if you make a GPL application, someone using its API over a network can only use it with GPLv3 or AGPLv3 software (there's a special mutual exception between the two).
<aeth> Unfortunately, copyleft makes things way more complicated, and there are at least two versions of all of them, so you have to refer to a compatibility matrix. https://www.gnu.org/licenses/gpl-faq.html#AllCompatibility
papachan has joined #lisp
attila_lendvai has joined #lisp
Josh_2 has quit [Read error: Connection reset by peer]
<aeth> Further complicating things, the CL community has the LLGPL, which is the LGPL v 2.1 with an additional preamble of "clarifications" that change the meaning of the license somewhat.
<aeth> There are other licenses, but those ar epretty mcuh the only ones you'll see
<aeth> "Good" depends on what you want. If you're making libraries, the MIT is maximally compatible so people tend to prefer that. If you're making a desktop application, you might want the GPL instead if you're concerned about someone forking it comercially. And a web application, you may want the AGPL.
<aeth> Some libraries/applications are released under GPL with copyright assignment to one entity. The FSF does this so they can defend it in court (e.g. that's why Xemacs was created, they didn't want to assign copyright like GNU Emacs requires). Most of the other entities do copyright assignment so they can charge if a proprietary application wants to use their GPLed library.
groovy2shoes has quit [Quit: Leaving]
<aeth> The problem is that you can't exclude commercial software without also excluding some free and open source software due to license incompatibility. So the choice of a license for a library is often about whether you care more about excluding proprietary users for a library (e.g. GPL or AGPL) or including as many users as possible, even possibly proprietary (e.g. MIT)
Baggers has quit [Remote host closed the connection]
<aeth> The LGPL is kind of caught in the middle so its usage is declining on license trackers like https://www.blackducksoftware.com/top-open-source-licenses
<ult> LGPL is also easy to misinterpret
markong has quit [Ping timeout: 248 seconds]
nowhere_man has joined #lisp
<aeth> My personal opinion to keep licenses simple (i.e. not having to explain everything in more than 10 lines) is: MIT for everything unless you're writing an end-user application (GPL or MIT) or a web application (AGPL or MIT) depending on if you're concerned about commercial forks (GPL/AGPL) or not (MIT). Of course people will disagree with me.
varjagg has quit [Ping timeout: 260 seconds]
<aeth> The thing is, though, if someone made a commercial fork, they just proved a market exists, and now you can undercut them with more domain expertise. So I think the fear of forks is overrated in most cases (but not all cases!)
<aeth> Would you rather buy Red Hat Enterprise Linux that actually makes the distro or the fork Oracle Linux? (And that example is mostly GPL! So the competitor fork can *still* happen with the GPL!)
nowhereman_ has quit [Ping timeout: 276 seconds]
<aeth> Also note that anything trivial under the AGPL will just be rewritten by someone else. Copyleft only works if what you're doing is hard to replicate in the first place.
kobain has joined #lisp
<dwts> aeth: I think you will like ISC as well since If I remember correctly is based in MIT: https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/share/misc/license.template?rev=HEAD
<aeth> dwts: Imo, always go with the consensus license in a community that does what you want, which in the CL world is overwhelmingly the MIT license for permissive libraries.
<aeth> If everything's the same license, there's basically no headaches and you don't have to put any thought into licenses.
<ult> Licenses like the GPL/AGPL tend to inherit implementation specifics
<dwts> aeth: I don't disagree with you. ISC is a simplified version of MIT, if I understand what I read correctly
<dwts> but I see your point
<aeth> dwts: Well, that ties into my earlier argument for the MIT over the BSD. Variants of the MIT license tend to have different names
<dwts> unfortunately, I feel like I need to study law school to understand everything in GPL
<aeth> You can't just say :license "BSD" in ASDF and be understood
<dwts> sure
thebardian has quit [Remote host closed the connection]
varjagg has joined #lisp
<aeth> Just a quick check of asdf:system-license on my dependencies show (among others) 4 "BSD-2-Clause" and 3 ambiguous "BSD" and 9 "MIT" and 1 "MIT Style License". Your dependencies will vary.
Guest21319 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Ven has joined #lisp
<dwts> aeth: personally I prefer the suckless approach, adding a separate license file, and then adding a note to the top of the file like here: https://git.suckless.org/surf/tree/surf.c
Ven is now known as Guest66362
Guest66362 has quit [Client Quit]
varjagg has quit [Ping timeout: 268 seconds]
pjb has quit [Remote host closed the connection]
Nalzok has joined #lisp
Nalzok has quit [Client Quit]
pjb has joined #lisp
Nalzok has joined #lisp
aautcsh has joined #lisp
FreeBirdLjj has joined #lisp
Nalzok has left #lisp ["Be back later..."]
lemonpepper24 has joined #lisp
bigos has joined #lisp
lisbeths is now known as johnnymacs
FreeBirdLjj has quit [Ping timeout: 276 seconds]
jmercouris has quit [Ping timeout: 248 seconds]
damke has joined #lisp
p9s has quit [Ping timeout: 276 seconds]
damke_ has quit [Ping timeout: 240 seconds]
Jesin has joined #lisp
raphaelss has quit [Ping timeout: 240 seconds]
pjb has quit [Remote host closed the connection]
p9s has joined #lisp
asarch has joined #lisp
papachan has quit [Quit: WeeChat 1.9.1]
raphaelss has joined #lisp
turkja has joined #lisp
aautcsh has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
dansa has joined #lisp
dansa has quit [Changing host]
dansa has joined #lisp
wigust has joined #lisp
attila_lendvai has quit [Quit: Leaving.]
fikka has quit [Ping timeout: 240 seconds]
Ellenor is now known as Reinhilde
EvW has quit [Ping timeout: 246 seconds]
papachan has joined #lisp
aautcsh has joined #lisp
aautcsh has quit [Client Quit]
test1600 has joined #lisp
vancan1ty has joined #lisp
python47` has joined #lisp
damke has quit [Ping timeout: 240 seconds]
damke has joined #lisp
bigos has quit [Remote host closed the connection]
grublet has quit [Quit: Leaving]
sz0 has quit [Quit: Connection closed for inactivity]
python47` has quit [Remote host closed the connection]
python476 has joined #lisp
Tobbi has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Zhivago has joined #lisp
mson has quit [Quit: Connection closed for inactivity]
borei has joined #lisp
<borei> hi all !
<borei> im bit confused with maphash
<borei> how does function has an access to entire table
<borei> ??
dansa has quit [Ping timeout: 248 seconds]
<Xach> borei: it accesses each entry in turn
<borei> well, that i understand - there is iterrator inside maphash (i assume), but how does function has an access to table
fikka has joined #lisp
<Xach> borei: what function?
<Xach> borei: the maphash function, or the function that is passed to maphash?
p9s has quit []
<borei> not to particular key, value pair (that are args for the function), but access to table
<borei> function that is passed to maphash
<borei> see docs i posted
<Bike> um, because that's what maphash does? and the implementation has to support it?
<Bike> you couldn't implement maphash if you only had access to gethash.
<_death> it is a closure, can reference variables in its lexical scope
<Xach> borei: the function has no direct way to access it. but they are often written as closures with access to the table variable in scope.
<borei> trying to build analogy with C - there is no way to do it ?
<Bike> i'm pretty lost :(
<_death> in C it would take a userdata void pointer
<borei> ok ok
<borei> there is hash table - (key, value)
<borei> i have function - fun(key, value) - which processes key,value - that is clear
<borei> now i call maphash #'fun <hashtable>
fikka has quit [Ping timeout: 260 seconds]
<borei> and i can get an access to <hashtable> from fun
<Xach> there is no way for the fun to access the table directly without additional context.
<Xach> context in the form of a closed-over environment.
<Xach> there are many ways to achieve this.
<borei> seems like lambda is key word ?
<Xach> (or you could have the table bound to global variable and use that by convention)
<Xach> borei: that is pretty key
<Xach> borei: for example, you could write something like this: (defun add-table-to-fun (fun table) (lambda (key value) (funcall fun key value table)))
<Xach> (maphash (add-table-to-fun #'fun table) table)
<Xach> then the fun gets three values and can access the table that way
<Xach> there are many other options.
varjagg has joined #lisp
d4ryus2 has joined #lisp
<drmeister> Writing an esrap parser in slime is such a joyous experience compared to writing a yacc parser in C++.
varjagg has quit [Ping timeout: 276 seconds]
d4ryus1 has quit [Ping timeout: 248 seconds]
pierpa has quit [Quit: Page closed]
<Zhivago> Efficiency not being an issue makes a lot of things nicer. :)
groovy2shoes has joined #lisp
igemnace has joined #lisp
kobain has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
mrottenkolber has quit [Read error: Connection reset by peer]
mrottenkolber has joined #lisp
mrottenkolber is now known as Guest86302
dddddd has quit [Remote host closed the connection]
<drmeister> I have small files containing complex grammar. Efficiency is not so important.
thebardian has joined #lisp
vancan1ty has quit [Ping timeout: 250 seconds]
mson has joined #lisp
<drmeister> In a Bison parser I would write this:
<drmeister> How do I so something similar with esrap?
<drmeister> It's an OR clause with a different block of code for each of the possible paths.
fikka has joined #lisp
thebardian has quit [Remote host closed the connection]
<loke`> drmeister: When I built my template language, I used cl-yacc. It is quite good, and easy to understand for anyone familiar with yacc
fikka has quit [Ping timeout: 248 seconds]
<aeth> Just a reminder that the extremely good deal on Common Lisp Recipes expires tomorrow at some point
<aeth> It's on apress.com
<aeth> $9.99 ebook, $12.50 print, $22.49 both
<loke`> Already bought it. :-)
<loke`> The best part of the book is the section on reader macros
<loke`> The one about method combinators is good too
nika has joined #lisp
<drmeister> loke`: I'm trying esrap for a while.
<drmeister> aeth: Good to know - I just ordered it - thanks.
k-stz has quit [Remote host closed the connection]
sjl___ has joined #lisp
z3t0 has joined #lisp
<rocx> loke`: what if you're not familiar with yacc?
<rocx> go get familiar then?
<loke`> rocx: Learningit is not hard.
<aeth> I am disappointed.
<aeth> Common Lisp Recipes has a lot of things that took me hours to figure out earlier this month
<aeth> Just looked up like 5 things that I spent a significant amount of time on
loke` is now known as loke
sjl___ has quit [Ping timeout: 276 seconds]
papachan has quit [Quit: WeeChat 1.9.1]
<aeth> I thought I was being clever for using solution #3 in 6-10
<aeth> Apparently not clever enough if it's in a book
<aeth> (sets as bits)
orivej has quit [Ping timeout: 248 seconds]
<beach> Good morning everyone!
<loke> Hello beach
nowolfer has quit [Ping timeout: 240 seconds]
nowolfer has joined #lisp
damke has quit [Ping timeout: 240 seconds]
damke has joined #lisp
<internet_cafe> hello
<internet_cafe> im having fun learning common lisp
<beach> Hello internet_cafe.
shka has joined #lisp
<internet_cafe> its kind of a bummer that arc lisp never really took off...
<beach> I am sorry you think so.
<aeth> internet_cafe: Arc was a Perl-Lisp hybrid developed during a time of decreasing Perl popularity and released in 2008, when Perl popularity was 1/4 to 1/3 what it was at its measured peak in 2004 (and Perl probably peaked before Google Trends started measuring)
milanj has quit [Quit: This computer has gone to sleep]
<aeth> If Arc had been released closer to its announcement 2001, things might have gone differently. Programming language design had moved on. (And it has moved on one more time since then to focus on type systems.)
p1n34ppl3 has quit [Quit: Lost terminal]
<p_l> it doesn't help that Arc's design was kinda antithetical to what most people want for practical programming
<loke> I think the type-system focus hasn't actually produced anything concrete and useful, other than thousands of academic papers.
eSVG has quit [Ping timeout: 240 seconds]
<aeth> pg is pretty good at promoting things, but that only gets people in the door. People tried Arc and said "What does this add over CL or Racket?"
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
BitPuffin|osx has joined #lisp
<aeth> It looks like there's a related library: https://github.com/markcox80/template-function/
malice` has quit [Remote host closed the connection]
python476 has quit [Ping timeout: 240 seconds]
z3t0 has quit [Quit: Leaving...]
schoppenhauer has quit [Ping timeout: 240 seconds]
schoppenhauer has joined #lisp
eSVG has joined #lisp
fikka has joined #lisp
fikka has quit [Ping timeout: 276 seconds]
Bike has quit [Quit: Lost terminal]
pjb has joined #lisp
Reinhilde is now known as Ellenor
safe has joined #lisp
wigust has quit [Ping timeout: 248 seconds]
python47` has joined #lisp
python47` has quit [Client Quit]
nowhere_man has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
shifty has quit [Ping timeout: 240 seconds]
zmt00 has quit [Ping timeout: 240 seconds]
<xantoz> arc never got UTF-8 support, too, didn't it? for those of us living outside the 7-bit character space, that is pretty much a showstopper
yeticry_ has quit [Ping timeout: 248 seconds]
raphaelss has quit [Remote host closed the connection]
yeticry has joined #lisp
varjagg has joined #lisp
Karl_Dscc has joined #lisp
vlatkoB has joined #lisp
varjagg has quit [Ping timeout: 240 seconds]
asarch has quit [Quit: Leaving]
<aeth> Oh, right, that was the *primary* showstopper iirc.
<aeth> Here's this language designed for websites, released in 2008, and it didn't have UTF-8 support, which can be hard to add later (see: Python)
oleo has quit [Quit: Leaving]
orivej has joined #lisp
nika has quit [Ping timeout: 248 seconds]
smurfrobot has quit [Ping timeout: 240 seconds]
<aeth> And its built in web framework worked in (and still works in, if HN is any indication) HTML tables, so it was outdated on release there, too
nika has joined #lisp
neoncontrails has quit [Remote host closed the connection]
damke_ has joined #lisp
fikka has joined #lisp
damke has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 240 seconds]
dec0n has joined #lisp
sjl___ has joined #lisp
sjl___ has quit [Ping timeout: 240 seconds]
scymtym has quit [Ping timeout: 248 seconds]
Karl_Dscc has quit [Remote host closed the connection]
mingus has joined #lisp
BigSafari has joined #lisp
mishoo__ has joined #lisp
<shka> good morning!
neoncontrails has joined #lisp
<shka> aeth: python is used only because it has appeal for the noobish part of community
<shka> something that lisp in any form didn't have in my lifetime
markong has joined #lisp
wigust has joined #lisp
trosa-work has joined #lisp
<aeth> Sorry, I was unclear. I meant: see Python as an example for how hard it is to add Unicode to a language that wasn't built for it.
fikka has joined #lisp
lemonpepper24 has quit [Ping timeout: 260 seconds]
<Zhivago> Hmm, python does reasonably well due to not having characters.
<Zhivago> Python's main problem isn't supporting unicode -- it's because it decided to try to support everything else.
<Zhivago> Javascript get it right largely because it doesn't try to support shift-jis or euc-kr.
knobo has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
d4ryus2 is now known as d4ryus
Cymew has joined #lisp
Amplituhedron has joined #lisp
mathi_aihtam has joined #lisp
mathi_aihtam has left #lisp [#lisp]
Cymew has quit [Ping timeout: 276 seconds]
Cymew has joined #lisp
<xantoz> even python2 does fairly ok with unicode these days, though. I guess it's mostly library support
shka has quit [Ping timeout: 276 seconds]
<xantoz> [shift-jis, euc-kr] sadly, sometimes you still need to support these encodings. But converting it to unicode on sight might be the sane alternative
juki has joined #lisp
Cymew has quit [Ping timeout: 240 seconds]
Cymew has joined #lisp
CrazyEddy has quit [Ping timeout: 258 seconds]
neoncontrails has quit [Read error: Connection reset by peer]
neoncontrails has joined #lisp
Cymew has quit [Ping timeout: 268 seconds]
<Zhivago> I think it is a language issue in that you have strings for which the encoding is unknown, and separately strings of unicode code points.
<Zhivago> s/unknown/implicit/
mathi_aihtam has joined #lisp
mson has quit [Quit: Connection closed for inactivity]
vydd has joined #lisp
fikka has joined #lisp
fikka has quit [Client Quit]
fikka has joined #lisp
Ellenor is now known as Reinhilde
Cymew has joined #lisp
scymtym has joined #lisp
Cymew has quit [Ping timeout: 276 seconds]
Cymew has joined #lisp
tomaw has quit [Ping timeout: 622 seconds]
safe has quit [Read error: Connection reset by peer]
raphaelss has joined #lisp
<myrkraverk> Is there a simple method to trim unicode whitespace from beginning and end of strings?
jameser has joined #lisp
<myrkraverk> As in, something that satisfies the test function sb-unicode:whitespace-p ?
Cymew has quit [Ping timeout: 246 seconds]
sz0 has joined #lisp
Cymew has joined #lisp
<jdz> myrkraverk: something like (subseq string (or (position-if-not #'sb-unicode:whitesapce-p string) 0) (position-if-not #'sb-unicode:whitespace-p string :from-end t))?
mathi_aihtam has quit [Ping timeout: 276 seconds]
<jdz> myrkraverk: cl-ppcre can also match unicode properties.
<myrkraverk> Ah, I'll probably try cl-ppcre then.
tomaw has joined #lisp
varjagg has joined #lisp
marvin2 has joined #lisp
marvin2 has left #lisp [#lisp]
arduo has joined #lisp
<myrkraverk> strange, http://weitz.de/cl-ppcre/ is 404
Cymew has quit [Ping timeout: 240 seconds]
<myrkraverk> And it's early morning in Europe.
<jdz> For some values of early, yes.
<jackdaniel> 9:40, not that early
Cymew has joined #lisp
varjagg has quit [Ping timeout: 248 seconds]
<myrkraverk> Maybe someone will notice soon enough; I don't know.
kami has joined #lisp
<kami> Good morning.
hajovonta has joined #lisp
<jackdaniel> hey
<myrkraverk> jdz: thanks.
Cymew has quit [Ping timeout: 248 seconds]
nirved has joined #lisp
<hajovonta> hi!
<beach> Hello hajovonta.
<jdz> myrkraverk: you even have that file locally if you have cl-ppcre installed.
Cymew has joined #lisp
<myrkraverk> And actually ~/quicklisp/dists/quicklisp/software/cl-ppcre-2.0.11/doc/index.html
<jdz> Right.
Cymew has quit [Ping timeout: 250 seconds]
Cymew has joined #lisp
angavrilov has joined #lisp
Cymew has quit [Ping timeout: 248 seconds]
_cosmonaut_ has joined #lisp
<myrkraverk> (regex-replace "^\\s+|\\s+$" string "") ; seems to be exactly what I want.
<antoszka> Trimming a string?
<myrkraverk> Yes, with random unicode whitespace.
<myrkraverk> as in, not just ascii whitespace.
<antoszka> okej
<antoszka> clhs string-trim
tfeb has joined #lisp
<antoszka> did you check if that doesn't work?
<antoszka> I realize that defining your custom character bag for *any* whitespace might not be trivial
<antoszka> but since Edi implemented that as \s it's already there somewhere ;)
<myrkraverk> I see " " in real world data (don't know how well that'll transfer through IRC
<antoszka> try converting that into a character list in your lisp
<antoszka> and add those character to the bag in string-trim
<antoszka> that should do without the full regex machinery
Kaisyu has quit [Quit: Connection closed for inactivity]
<myrkraverk> So, why exactly should I do that, when cl-ppcre is doing it already?
<myrkraverk> And there's a good change I'll use cl-ppcre for other tasks in this project.
<antoszka> yeah, sure
fikka has quit [Ping timeout: 240 seconds]
Trasformatore has quit [Ping timeout: 250 seconds]
Cymew has joined #lisp
fikka has joined #lisp
Trasformatore has joined #lisp
tfeb has quit [Quit: Leaving...]
neoncontrails has quit [Remote host closed the connection]
dddddd has joined #lisp
TCZ has joined #lisp
terpri has quit [Remote host closed the connection]
jfb4 has quit [Ping timeout: 276 seconds]
jfb4 has joined #lisp
TCZ has quit [Quit: Leaving]
Niac has quit [Read error: Connection reset by peer]
Niac has joined #lisp
neoncontrails has joined #lisp
GreaseMonkey has quit [Remote host closed the connection]
milanj has joined #lisp
vap1 has joined #lisp
vaporatorius has joined #lisp
vaporatorius has joined #lisp
juki has quit [Quit: ERC (IRC client for Emacs 25.3.1)]
greaser|q has joined #lisp
greaser|q has quit [Changing host]
greaser|q has joined #lisp
greaser|q is now known as GreaseMonkey
scymtym has quit [Ping timeout: 246 seconds]
BitPuffin|osx has quit [Ping timeout: 268 seconds]
fikka has quit [Ping timeout: 240 seconds]
Arcaelyx_ has quit [Ping timeout: 258 seconds]
hhdave has joined #lisp
vap1 has quit [Quit: Leaving]
Arcaelyx has joined #lisp
dddddd has quit [Remote host closed the connection]
CrazyEddy has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
attila_lendvai has joined #lisp
jameser has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<myrkraverk> What options do I have to count the number of substrings?
<myrkraverk> As, in, can I easily count the foos in "foo bar baz foo quux" ?
<Shinmera> That looks a lot more structured than the general query of arbitrary substrings.
<myrkraverk> Yes, in this exercise, I don't need to worry about substrings containng themselves.
<Shinmera> Easiest in terms of writing would be to split and then COUNT
<myrkraverk> Maybe, but in my real world, the tokens aren't whitespace separated.
<myrkraverk> and arbitrary splitting doesn't work.
<Shinmera> Then why would you post that as the example
<myrkraverk> because it's easier to read than "foobarbazfooquux"
<Shinmera> It's also misleading
<myrkraverk> Fair enough.
<myrkraverk> Maybe I can use do-scans in cl-ppcre.
<Shinmera> Use do-matches and STRING=
manualcrank has quit [Quit: WeeChat 1.9.1]
<jackdaniel> optima has ppcre module
<jackdaniel> combining optima and ppcre was a nice experience
<myrkraverk> what is optima?
<jackdaniel> matching library
<jackdaniel> trivia claims to be compatible and faster *but* it's not fully compatible, it requires some stuff to be available at compile time
milanj has quit [Quit: This computer has gone to sleep]
knobo has quit [Ping timeout: 260 seconds]
astronavt has quit [Remote host closed the connection]
sz0 has quit [Quit: Connection closed for inactivity]
astronavt has joined #lisp
schweers has joined #lisp
arduo has quit [Read error: Connection reset by peer]
astronavt has quit [Remote host closed the connection]
<schweers> I have a (hopefully) quick question: I have a (struct) type named GRAPH-EDGE. I also have a loop (using the iterate package) over an array of such objects. I want to declare the variable to be of the appropriate type. (declare (type graph-node var-name)) does not work, as iter initializes variables with NIL. When I specify (declare (type (or null graph-node) var-name)), I get the following error message: Cannot supply
<schweers> value for type (OR (MEMBER NIL) GRAPH-EDGE); using NIL. Any ideas?
astronavt has joined #lisp
Tobbi has joined #lisp
milanj has joined #lisp
mathi_aihtam has joined #lisp
astronavt has quit [Client Quit]
mathi_aihtam has quit [Client Quit]
<schweers> Apparently I asked this question a little too early. It seems that iterate does not know how to initialize the variable. Using let instead of (for var = ...) solves my problem. And unmasks other problems my code has :D
scymtym has joined #lisp
<hajovonta> that's perfectly cool. I always have this kind of problem. But the important thing is, there is always a possibility with Lisp.
<jackdaniel> possibility to have problems with Lisp? So much true ;-)
<loke> schweers: When declaring variables in LOOP, you have to use OF-TYPE.Like so:
<loke> schweers: (for x of-type FOO across some-list do ...)
<schweers> loke: I’m not using LOOP, but ITER from the iterate package
<schweers> but cool, I didn’t know that :)
<loke> schweers: I definitely prefer LOOP, since it's standard.
<schweers> it is, but I really dislike LOOP. I find it both hard to read and write. But maybe that’s just me
orivej has quit [Ping timeout: 240 seconds]
<jackdaniel> I have chills when I remember some of LOOP constructs I saw
<tfb> I think the underlying problem is that CL doesn't have an object like null in Java. I'm not sure it makes *sense* to have such an object in terms of the type graph though
igemnace has quit [Quit: WeeChat 1.9.1]
<schweers> tfb: nil?
<beach> jackdaniel: Weakling! :)
test1600 has quit [Read error: Connection reset by peer]
<tfb> no, NULL would need to be a subtype of every type, and it's not
aijony has quit [Ping timeout: 250 seconds]
<tfb> NIL is but there is no object of type NIL
TheReal_aijony has joined #lisp
damke has joined #lisp
TheReal_aijony is now known as aijony
damke_ has quit [Ping timeout: 240 seconds]
<schweers> ah, that is what you mean
shifty has joined #lisp
dansa has joined #lisp
dansa has quit [Changing host]
dansa has joined #lisp
wigust has quit [Quit: ZNC 1.6.5 - http://znc.in]
damke has quit [Quit: quit]
damke has joined #lisp
fikka has joined #lisp
nika has quit []
<kami> I am looking for implementation-specific ways of setting a file's modification time in these CLs: abcl, ccl, clasp, clisp, cmucl, scl, lispworks, ecl, and mkcl.
<kami> In order to get this change into quicklisp-client: https://github.com/quicklisp/quicklisp-client/pull/154
<kami> I'd appreciate any hint, pointer to docs on the net etc.
knobo has joined #lisp
<jackdaniel> I mean – it isn't implementation-specific, so it may not qualify :p
m00natic has joined #lisp
<kami> jackdaniel: file-write-date is to /read/ the mtime
<kami> I'm looking for a way to /write/ the mtime
<jackdaniel> ah, setting
BigSafari has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<jackdaniel> my bad then
<kami> jackdaniel: np
BigSafari has joined #lisp
Amplituhedron has quit [Quit: Konversation terminated!]
Amplituhedron has joined #lisp
<jackdaniel> regarding hints, I can say for sure - ECL doesn't have mechanism for that
<Shinmera> kami: Could call to POSIX' utime.
<Shinmera> Not sure how well that's gonna work on Windows or BSD
<kami> Shinmera: yes, but I have never used any of those impls, so I don't know which mechanism they'd use for calling utime.
<Shinmera> Or OS X for that matter
<Shinmera> kami: CFFI?
Amplituhedron has quit [Ping timeout: 248 seconds]
<jackdaniel> if it is to be put in quicklisp, that'd assume having cffi bundled
<kami> Shinmera, jackdaniel: I don't know if this would be an acceptable solution for Xach. I'd have to ask.
<kami> I would prefer the solution with the least possible dependencies, if I was him.
<kami> I call utime on Allegro and SBCL, where the POSIX interface is part of the impl.
<kami> Does any of the mentioned implementations have a POSIX package?
Ven has joined #lisp
<jackdaniel> kami: if you open a ticket on ECL tracker to implement it, then it'll probably appear in the next release, but it won't work on older releases anyways
Ven is now known as Guest37997
<jackdaniel> if you limit yourself to posix platforms, you could call /usr/bin/stat
<jackdaniel> most implementations can call externall processes
<jackdaniel> external*
<jackdaniel> s/stat/touch/
angavrilov has quit [Remote host closed the connection]
<kami> jackdaniel: thanks for the idea. That would introduce quite a bit of overhead, if for each lisp files which is unpacked from a quicklisp tarball, an external process would have to be called.
milanj has quit [Quit: This computer has gone to sleep]
<Xach> That is not going to happen.
<Xach> No external processes for quicklisp work.
<Xach> Must also do the right thing on windows.
alms_clozure has quit [Ping timeout: 240 seconds]
<p_l> on CLISP, there's POSIX:SET-FILE-STAT, for CMUCL you might have to play with cl:apropos and search for unix-utime
<p_l> kami: ↑
tfb has quit [Ping timeout: 255 seconds]
mjl has quit [Ping timeout: 250 seconds]
gendl has quit [Ping timeout: 250 seconds]
Meow-J has quit [Ping timeout: 264 seconds]
jerme_ has quit [Ping timeout: 264 seconds]
convexferret has quit [Ping timeout: 264 seconds]
splittist has quit [Ping timeout: 240 seconds]
rann has quit [Ping timeout: 250 seconds]
<kami> Xach: that's what I expected.
fikka has quit [Ping timeout: 240 seconds]
<kami> p_l: thank you!
splittist has joined #lisp
mjl has joined #lisp
alms_clozure has joined #lisp
rann has joined #lisp
jerme_ has joined #lisp
gendl has joined #lisp
Meow-J has joined #lisp
tfb has joined #lisp
<kami> Xach: I was just reading up on MKCL. It seems to have CFFI in its contribs. Would it be acceptable to use CFFI to call utime on Unices?
<Xach> No.
<p_l> CCL doesn't appear to include utime directly, might have to use FFI
fikka has joined #lisp
<p_l> yep
<kami> Xach: if (C)FFI is not an acceptable solution, then I guess you can close the PR
<Xach> FFI is fine, CFFI is not.
<Xach> No FFI is better than FFI, but in a pinch
<p_l> same with ECL, which requires FFI in thsi case
<jackdaniel> p_l: waht do you mean?
angavrilov has joined #lisp
<kami> One of my biggest problems will be to test with all those impls. How well does roswell work?
<jackdaniel> CFFI doesn't implement magically FFI on its own. Each supported implementation has FFI in it.
gargaml has joined #lisp
orivej has joined #lisp
<p_l> jackdaniel: there's no documented interface to POSIX system library, so you need to use ECL's FFI to write the interface for utime()
gargaml has quit [Client Quit]
gargaml has joined #lisp
<p_l> kami: with ABCL, just use the Java classes for it, I think there's API in NIO
<p_l> ah, even in java.io.File, there's support
<kami> p_l: thank you.
zooey has quit [Ping timeout: 248 seconds]
<p_l> clasp & mkcl are same as ECL in this, AFAIK. SCL should work with same code as CMUCL (it's derived from it)
<p_l> LW generally has quite generous OS support so there should be a proper interface somewhere\
zooey has joined #lisp
Guest37997 has quit [Ping timeout: 240 seconds]
EvW has joined #lisp
<kami> p_l: do you have experience with any of the impls on Windows?
* kami wonders which of them runs on Windows at all
<p_l> CLISP claims it should work
<p_l> LW has set-file-dates function which should work on both
Ven_ has joined #lisp
Kaisyu has joined #lisp
Ven_ has quit [Read error: Connection reset by peer]
knobo has quit [Ping timeout: 255 seconds]
Ven has joined #lisp
Ven is now known as Guest32259
neoncontrails has quit [Remote host closed the connection]
Guest81424 has quit [Remote host closed the connection]
Guest81424 has joined #lisp
lrvy has joined #lisp
lrvy has quit [Client Quit]
kami has quit [Ping timeout: 250 seconds]
trosa-work has quit [Remote host closed the connection]
knobo has joined #lisp
<schweers> kami: I know its a bit crude, but … how about you “modify” the file? for instance, read the first byte, write it back again.
rpg has joined #lisp
<schweers> hm, wouldn’t work on empty files ... damn
Trasformatore has quit [Ping timeout: 240 seconds]
TCZ has joined #lisp
damke has quit [Ping timeout: 240 seconds]
vydd has quit [Ping timeout: 240 seconds]
auxo has quit [Ping timeout: 258 seconds]
EvW has quit [Ping timeout: 240 seconds]
Trasformatore has joined #lisp
damke has joined #lisp
<Shinmera> schweers: He wants to go back in time
<schweers> oh. yeah. sorry.
<schweers> I should have thought about that
<Shinmera> Specifically he wants the mtimes saved in Quicklisp's archives to be preserved when they are unpacked.
<schweers> I find it somewhat weird that the CL standard doesn’t provide such a facility.
<lieven> back when the standard was finalized, a fair number of filesystems didn't have that capability
<Shinmera> Consider a version controlled file system. It doesn't make sense for a file to travel back in time from one revision to the next.
<Shinmera> Or consider file systems that have ctimes. They might prevent changing the mtime if you try to set it before the ctime.
<schweers> true, but the again, CL has support for several devices and such, which are not used under unix, and it still works
neoncontrails has joined #lisp
<Shinmera> It's a rare enough use-case and a big enough headache to implement that I don't fault them for leaving it out.
<lieven> for some values of working. the mapping between pathnames and namestrings isn't the same for all CLs targetting unix even.
rumbler31 has quit [Remote host closed the connection]
<schweers> lieven: true
<schweers> I’m quite glad I asked, I hadn’t thought about some of these issues
<lieven> try defining that feature for some really weird stuff like MVS datasets, AS400 and so forth
<Shinmera> Also unix does have devices and it could make sense to encode that in the pathname.
<schweers> Shinmera: I know it does, but they are normally not part of the path, at least not outside of the common lisp world
EvW has joined #lisp
nowhere_man has joined #lisp
<lieven> POSIX even has this weird thing that filepaths starting with 2 slashes invoke implementation defined behaviour whereas 3 or more starting slashes are the same as a single slash
Jesin has quit [Quit: Leaving]
Bike has joined #lisp
<schweers> seriously? What’s supposed to happen with two slashes?
<lieven> the implementation can decide to do something special
<lieven> old SysVs used it for remote file shares in the Windows style
papachan has joined #lisp
mson has joined #lisp
kami has joined #lisp
eSVG has quit [Ping timeout: 276 seconds]
smurfrobot has joined #lisp
convexferret has joined #lisp
<schweers> interesting
rumbler31 has joined #lisp
<Shinmera> schweers: Yes, but I'm saying it can make sense to have that in a CL pathname, making it worthwhile to have even on UNIX systems.
<schweers> you mean that if /path/to/file lies on /dev/sda1, that the device field of a pathname might be set to "/dev/sda1"?
<Shinmera> yes
<schweers> hmm
<schweers> could change over the course of the lifetime of a pathname object
TCZ has quit [Quit: Leaving]
<pjb> myrkraverk: (map 'vector 'identity " " ) #| --> #(#\ #\Tab) |#
mikecheck has joined #lisp
<myrkraverk> pjb: I was sure I had some double width space (from some east asian unicode map) in my real world data, not just tab and spaces.
<myrkraverk> And I'm too lazy to go over the whole unicode table to map all the space characters there, when I don't have to.
milanj has joined #lisp
vmonteco has left #lisp [#lisp]
wxie has joined #lisp
<pjb> myrkraverk: I would just type: (lschar :name "SPACE")
<pjb> com.informatimago.common-lisp.interactive.interactive:lschar
<pjb> results depend on the implementation, they don't use all the same names for unicode characters…
<myrkraverk> in my sbcl, lschar is an undefined function.
<Bike> that's why he put the library it's from
<myrkraverk> Ah.
<myrkraverk> Well, I'm busy with another task right now.
wxie has quit [Quit: Bye.]
<pjb> Anyways, the point is that you don't have to find the characters yourself, you can just write code to have your lisp do it for you.
paul0 has joined #lisp
<myrkraverk> Ah, nice.
<pjb> IIRC, babel gives access to some unicode properties. I don't know if it's complete. If not, it would be a nice project to extend babel to provide all the unicode information possible, and make it easily queryable.
neoncontrails has quit [Remote host closed the connection]
ksool has joined #lisp
LiamH has joined #lisp
neoncontrails has joined #lisp
aindilis has quit [Ping timeout: 268 seconds]
fikka has quit [Ping timeout: 264 seconds]
lerax has joined #lisp
sjl___ has joined #lisp
fikka has joined #lisp
Vicfred has quit [Quit: Leaving]
vydd has joined #lisp
vydd has quit [Changing host]
vydd has joined #lisp
fikka has quit [Ping timeout: 255 seconds]
nyef has joined #lisp
<nyef> Hello all.
<nyef> I'm getting "Error: Unbound variable: +RR-CONFIG-STATUS+" trying to (ql:quickload :clx) on CCL 1.11-r16635 linuxx8664 (though it also happens with linuxx8632). Is this an expected thing, or am I doing something wrong (or both)? Or should I just ask in #ccl?
dyelar has joined #lisp
dyelar has quit [Client Quit]
Guest86302 has left #lisp [#lisp]
mikecheck has left #lisp ["part"]
Jesin has joined #lisp
pjb has quit [Remote host closed the connection]
lnostdal has quit [Quit: https://www.QuantAtaraxia.pw/]
eudoxia has joined #lisp
senecaty has left #lisp [#lisp]
GreaseMonkey has quit [Quit: No Ping reply in 180 seconds.]
murii_ has quit [Ping timeout: 240 seconds]
pjb has joined #lisp
kami has quit [Read error: No route to host]
greaser|q has joined #lisp
<scymtym> nyef: no error here with same ccl version and clx-20170830-git. does your quicklisp distribution have a different version?
<jackdaniel> nyef: ql:update-all-dists
<jackdaniel> this particular error is already fixed
<nyef> I have clx-20171019-git?
<jackdaniel> huh
<jackdaniel> I'll take a look later today
pjb has quit [Ping timeout: 252 seconds]
<nyef> Updating dists gets me clx-20171023-git.
<jackdaniel> commit fixing it should be 8f1915ea3ac13583f7f21256f6fc21718f18d11c (Sun Oct 22 20:02:37 2017 +0200)
<nyef> At a guess... it adds an EVAL-WHEN ?
<jackdaniel> yup
<nyef> Yeah, that cleared it up. Thanks.
<jackdaniel> sure
<nyef> ... And, looking at extensions/randr.lisp, that's exactly what I expected to be the issue.
<jackdaniel> and that is?
<nyef> CCL not evaluating DEFCONSTANT values at compile-time, while SBCL does.
<nyef> Explicitly permitted by the spec, btw, so it was a CLX bug.
dddddd has joined #lisp
<jackdaniel> ah, right
raynold has quit [Quit: Connection closed for inactivity]
<jackdaniel> I thought you refer to some other issue
FreeBirdLjj has joined #lisp
BitPuffin|osx has joined #lisp
Cymew has quit [Remote host closed the connection]
hexfive has joined #lisp
BigSafari has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
fikka has joined #lisp
BitPuffin|osx has quit [Ping timeout: 258 seconds]
Josh_2 has joined #lisp
mrottenkolber has joined #lisp
fikka has quit [Ping timeout: 246 seconds]
rippa has joined #lisp
lerax has quit [Remote host closed the connection]
dec0n has quit [Read error: Connection reset by peer]
mathi_aihtam has joined #lisp
mathi_aihtam has quit [Client Quit]
varjag has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
Bike has quit [Quit: Page closed]
mson has quit [Quit: Connection closed for inactivity]
knobo has quit [Ping timeout: 264 seconds]
knobo has joined #lisp
jmercouris has joined #lisp
<jmercouris> Hey everyone, I just released a new version of nEXT browser, I've made a link on /r/programming, if you'd like to support my project, I would appreciate an upvote, thank you for your time (https://www.reddit.com/r/programming/comments/7fw57u/next_browser_a_next_generation_extensible_lisp/
MonNov has quit [Remote host closed the connection]
yeticry has quit [Ping timeout: 268 seconds]
nowolfer has quit [Ping timeout: 240 seconds]
sjl___ is now known as sjl
<Josh_2> Does it work on linux yet?
yeticry has joined #lisp
<jmercouris> Josh_2: Well, it used to, but not anymore
<jmercouris> I'm working on the Linux version
<jmercouris> I just "perfected" whatever that means lol, the OSX GUI fori t
rocx has quit [Quit: classes]
<jmercouris> most of the coding I have been doing involves no foreign code, I just need to get that point with the GTK version
<jmercouris> I'm also waiting on a user that raised an issue about this on github, maybe they and I can work together
<Josh_2> But how will a user raise an issue about it not working on linux if they use linux and it doesn't work on linux :O
<Josh_2> there will be no linux user to complain lel
<jmercouris> Not sure I understand what you are getting at, but know that I am working on it :D
thinkpad has quit [Ping timeout: 240 seconds]
oleo has joined #lisp
nowolfer has joined #lisp
mathi_aihtam has joined #lisp
<larsen> I like the idea of History as a tree
<jmercouris> larsen: Thank you!
<larsen> it's not clear to me if the user gets any kind of visual cue to decide where he could go
<jmercouris> larsen: yeah they do
<jmercouris> basically you type in M-f instead of C-f and the browser will ask if there is ambiguity
<larsen> (for example, I liked how MacSoup displays a message thread)
<jmercouris> and the minibuffer will show you what possibilities there are
<jmercouris> and you can RET whichever candidate you want
<turkja> jmercouris: i'd love to use something like this on linux, there's definitely some sort of demand for this, now that mozilla is about to drop XUL (= conkeror)
Bike has joined #lisp
<jmercouris> turkja: I hear you, I definitely would like to do a linux version, any support in this is always welcome!
<jmercouris> of course I used to do linux via QT, but I will redo it with GTK because of better lisp bindings
<jmercouris> and it'll be usable with SBCL, CCL, etc on Linux this way as well
<jmercouris> any GTK CL binding reccomendations?
<turkja> heck, i could even consider switching over apple just to get Lisp web browser :D
<turkja> OS is just a bootstrap for emacs+stumpwm anyways, right?
orivej has quit [Ping timeout: 260 seconds]
<ecraven> turkja: emacs + exwm!
<ecraven> I've switched a few days ago, and I regret not doing it years ago ;)
python476 has joined #lisp
<rumbler31> jmercouris: so you think gtk has better lisp bindings but are asking about lisp gtk bindings?
<rumbler31> also, really nice work on the browser
<jmercouris> rumbler31: yes, :D
<jmercouris> rumbler31: Thank you very much!
gargaml has quit [Ping timeout: 264 seconds]
<rumbler31> the windows bug mentioned makes this unusable for windows unless some gtk/windows expert shows up to demystify the behavior
Tristam has quit [Remote host closed the connection]
<larsen> jmercouris: here what I meant with "MacSoup thread style": https://www.zedat.fu-berlin.de/pub/ZEDAT/NetNews-Konfiguration/macsoup-2.8-mac-de-16.png. No idea how difficult it is to implement in your context (and not sure it's convenient, as I guess navigation thread branches less than a Usenet thread)
<rumbler31> according to github, cl-gtk2 while perhaps rather complete, hasn't been touched in quite a while
<jmercouris> rumbler31: I guess that's okay though, I'd be perfectly fine with just Linux, BSD, OSX
<jmercouris> larsen: That's awesome fu-berlin is right by my house lol
Tristam has joined #lisp
araujo has joined #lisp
<jmercouris> larsen: Ah so you mean like a tree view of the history, yeah that would be pretty cool
<turkja> ecrawen: nooo, just managed finally migrate all my systems to stumpwm! :)
araujo has quit [Max SendQ exceeded]
<jmercouris> I have to implement a message echo area in addition to the minibuffer... maybe later :D
SaganMan has joined #lisp
<larsen> jmercouris: ah, you're from Berlin. good to know. I could have some questions soon (I'm on the verge of relocating with my wife)
shifty has quit [Ping timeout: 258 seconds]
araujo has joined #lisp
Tristam has quit [Ping timeout: 240 seconds]
<jmercouris> larsen: nice!
zmt00 has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
k-stz has joined #lisp
_cosmonaut_ has quit [Ping timeout: 268 seconds]
damke_ has joined #lisp
damke has quit [Ping timeout: 240 seconds]
Trasformatore has quit [Ping timeout: 240 seconds]
Trasformatore has joined #lisp
terpri has joined #lisp
jealousmonk has joined #lisp
FreeBirdLjj has joined #lisp
<SaganMan> Good Morning Peeps
hajovonta has quit [Quit: hajovonta]
* beach still doesn't know whether he wants to be a member of that set.
varjagg has joined #lisp
Karl_Dscc has joined #lisp
Guest32259 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
BitPuffin|osx has joined #lisp
mson has joined #lisp
Younder has joined #lisp
fikka has joined #lisp
TCZ has joined #lisp
varjagg has quit [Ping timeout: 260 seconds]
yurichev has joined #lisp
Mandus has quit [Ping timeout: 255 seconds]
fikka has quit [Ping timeout: 248 seconds]
varjagg has joined #lisp
Ven has joined #lisp
Ven is now known as Guest73722
m00natic has quit [Remote host closed the connection]
Kaisyu has quit [Quit: Connection closed for inactivity]
hhdave has quit [Ping timeout: 240 seconds]
Tristam has joined #lisp
auxo has joined #lisp
TCZ has quit [Quit: Leaving]
<jmercouris> beach: Which set? what are you talking about?
shifty has joined #lisp
mikolice has joined #lisp
gargaml has joined #lisp
gargaml has quit [Client Quit]
varjagg is now known as varjag
Guest73722 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
kmb has joined #lisp
fortitude has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
osune` has joined #lisp
fikka has joined #lisp
raphaelss has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 240 seconds]
schweers has quit [Read error: Connection reset by peer]
schweers has joined #lisp
Bike has quit [Ping timeout: 260 seconds]
varjag has quit [Ping timeout: 240 seconds]
yurinew has joined #lisp
raynold has joined #lisp
<yurinew> hi, how similar is lisp to scheme? and would it be reasonable for me to ask a scheme question in here?
<ecraven> yurinew: you might ask in #scheme ;)
<yurinew> okay, i will do so, i just opted for here first since there are many more users in here
<jmercouris> yurinew: You can ask, someone might still be able to help as long as it isn't strongly scheme specific
<yurinew> okay thank you
<yurinew> this is probably considered a very basic question, but how can i store a function within an object that another function returns, such that i can call the function within the object?
Mandus has joined #lisp
<rpg> yurinew: This is actually sort of hard to answer, because the notion of "object" isn't really that standard across scheme implementations. You should probably ask this in #scheme and tell them what implementation you are using.
<yurinew> okay, thank you rpg
<rpg> good luck!
Bike has joined #lisp
<beach> jmercouris: The set of "Peeps" referred to by SaganMan.
<beach> jmercouris: In general, we discourage questions about languages other than Common Lisp.
thebardian has joined #lisp
shka has joined #lisp
<jmercouris> beach: I know, I just empathize with the feeling of not knowing where to ask- and since #lisp is full of talented engineers, it wouldn't hurt to ocassionally ask for their wisdom
<jmercouris> Especially when scheme is so close to cl, it could have been a question we could answer
<beach> It is not very close in my book.
<shka> good evening everyone
<beach> And, the fact that there are a lot of talented people here is not an excuse to ask off-topic questions.
<shka> beach: thanks again for your very valuable input
<beach> shka: Sure. I wanted to tell you that spelling and grammar errors are distracting, and I can't read a text for its contents until those are fixed.
<shka> this is all too familiar
<shka> at this point i am not sure anymore why i even try to make docs
Mandus has quit [Quit: leaving]
Mandus has joined #lisp
<rumbler31> what?
<SaganMan> you can ask them in ##lisp
<SaganMan> #lisp is strictly common lisp, isn't it?
<beach> Yes.
<SaganMan> It's nice otherwise we would often go off rails
<beach> And we still do sometimes.
<SaganMan> haha, happens
<beach> For example, BW^ spent days trying to get help on algorithms for detecting cycles in graphs, just because there are a lot of knowledgeable people here.
<beach> It got very distracting in the end.
<SaganMan> oh
turkja has quit [Ping timeout: 276 seconds]
whyNOP has joined #lisp
fikka has joined #lisp
varjag has joined #lisp
SaganMan has quit [Quit: WeeChat 1.6]
damke has joined #lisp
resttime has joined #lisp
damke_ has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 276 seconds]
Josh_2 has quit [Remote host closed the connection]
yurinew has quit [Ping timeout: 250 seconds]
remi`bd has joined #lisp
mishoo__ has quit [Ping timeout: 248 seconds]
BitPuffin|osx has quit [Ping timeout: 276 seconds]
shifty has quit [Ping timeout: 248 seconds]
brendyn has quit [Ping timeout: 248 seconds]
rippa has quit [Read error: Connection reset by peer]
shifty has joined #lisp
brendyn has joined #lisp
test1600 has joined #lisp
raphaelss has joined #lisp
MochaLoca has quit [Ping timeout: 248 seconds]
<resttime> Almost done with a simple script which spits out files for a program written in C that tests hardware. Dunno what to do when asked to upload what I have to repo for other devs, I am the only who uses lisp lol :<
<resttime> I think I have spent more time trying to document it than actually writing it as of now
test1600 has quit [Read error: Connection reset by peer]
orivej has joined #lisp
<resttime> Like explicitly explaining what functions like MAPCAR does lol
TCZ has joined #lisp
knobo has quit [Ping timeout: 264 seconds]
test1600 has joined #lisp
<resttime> I wonder if I should just rewrite the whole thing in C since it probably shouldn't be too "difficult" and can double as an exercise of some sort.
<resttime> Anyone have any XP with people who don't know lisp encountering it in the wild where they are at?
Josh_2 has joined #lisp
smurfrobot has quit [Ping timeout: 276 seconds]
test1600 has quit [Ping timeout: 248 seconds]
raphaelss has quit [Remote host closed the connection]
mishoo__ has joined #lisp
<rpg> resttime: Aside from the syntax, I wouldn't think Lisp would be too daunting these days. I mean all the new languages seem to be putting mappers in.... So what's so scary about the lisp you have written?
shka has left #lisp ["Konversation terminated!"]
<resttime> I dunno, because to me it seems nice and small but it could be gobbledy-gook to someone else for all I know.
TCZ has quit [Quit: Leaving]
<rpg> resttime: Probably best to sit down with one of your co-workers and see what they say when they eyeball it....
<resttime> rpg: Good idea, I'll hold off on uploading before I show it to people first.
<resttime> I am slightly worried that I might be seen as a crazy lisper
<resttime> Errr, at least not more than already if already >_>
thebardian has quit [Remote host closed the connection]
<resttime> I want to aim for wizard status instead lol
<osune`> resttime: maybe add links to pcl to your doc
<Josh_2> Takes a few years
shka has joined #lisp
<resttime> osune`: Will do, which reminds me I should add in about installing quicklisp and probably SBCL for implementation
<Shinmera> resttime: Just refer to portacle
vlatkoB has quit [Remote host closed the connection]
<resttime> Shinmera: Great, forgot about it since I just use my own setup.
dansa has quit [Ping timeout: 258 seconds]
BigSafari has joined #lisp
dyelar has joined #lisp
fydio has joined #lisp
fe[nl]ix has quit [Remote host closed the connection]
Blkt has quit [Read error: Connection reset by peer]
Blkt has joined #lisp
fe[nl]ix has joined #lisp
Niac_ has joined #lisp
eudoxia has quit [Quit: Leaving]
moei has quit [Quit: Leaving...]
Niac has quit [Ping timeout: 276 seconds]
jmercouris has quit [Remote host closed the connection]
orivej has quit [Ping timeout: 260 seconds]
jmercouris has joined #lisp
knobo has joined #lisp
scymtym has quit [Ping timeout: 240 seconds]
shka has quit [Ping timeout: 258 seconds]
fikka has joined #lisp
SuperJen has joined #lisp
fikka has quit [Ping timeout: 276 seconds]
Guest81424 has quit [Ping timeout: 276 seconds]
nullniverse has joined #lisp
resttime has quit [Quit: Leaving]
fikka has joined #lisp
BigSafari has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
pjb has joined #lisp
varjag has quit [Remote host closed the connection]
varjag has joined #lisp
pierpa has joined #lisp
aindilis has joined #lisp
eSVG has joined #lisp
zachk has joined #lisp
Baggers has joined #lisp
mikolice has left #lisp [#lisp]
sz0 has joined #lisp
SuperJen has quit [Remote host closed the connection]
SuperJen has joined #lisp
dieggsy has joined #lisp
EvW1 has joined #lisp
EvW has quit [Ping timeout: 246 seconds]
EvW1 is now known as EvW
dieggsy has quit [Quit: ERC (IRC client for Emacs 27.0.50)]
dieggsy has joined #lisp
manualcrank has joined #lisp
neoncontrails has quit [Remote host closed the connection]
scymtym has joined #lisp
nullniverse has quit [Read error: Connection reset by peer]
neoncontrails has joined #lisp
mishoo__ has quit [Ping timeout: 240 seconds]
moei has joined #lisp
attila_lendvai has quit [Ping timeout: 260 seconds]
dieggsy has quit [Quit: ERC (IRC client for Emacs 27.0.50)]
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
attila_lendvai has joined #lisp
Bike has quit [Quit: Page closed]
raphaelss has joined #lisp
kobain has joined #lisp
dieggsy has joined #lisp
Niac_ has quit [Read error: Connection reset by peer]
Niac has joined #lisp
papachan has quit [Quit: WeeChat 1.9.1]
rumbler31 has quit [Ping timeout: 268 seconds]
mson has quit [Quit: Connection closed for inactivity]
fydio has quit [Quit: Page closed]
<jmercouris> How do you guys produce binaries for Linux?
<jmercouris> Obviously distro dependent, but let's say for Debian, Suse, the big ones
hexfive has quit [Quit: WeeChat 1.9.1]
klltkr has joined #lisp
neoncontrails has quit [Remote host closed the connection]
Karl_Dscc has quit [Ping timeout: 255 seconds]
dieggsy has quit [Remote host closed the connection]
dieggsy has joined #lisp
<pierpa> uh?
<Shinmera> Since Linus is nice and userspace rarely ever breaks, you can build binaries in one place and not have to worry about anything provided you don't use C libraries.
Arcaelyx has quit [Read error: Connection reset by peer]
knobo has quit [Ping timeout: 250 seconds]
<Shinmera> If you do use C libraries, welcome to hell.
<Shinmera> Depending on a variety of factors like complete dependency tree, ABI compatibility, version constraints in the tree, etc. you can get away with shipping none to some of the shared libraries with your binary.
<Shinmera> If you're unlucky you need to either constrain yourself to releasing packages for each distribution, or grabbing deep into the bag of tricks and do stuff like I do with Portacle.
Arcaelyx has joined #lisp
<Shinmera> You might also consider Docker or AppImage or similar solutions.
<pjb> jmercouris: there's a portability library that lets you generate executable images on several implementations.
<pjb> jmercouris: I don't remember exactly it's name, perhaps cl-launcher?
mson has joined #lisp
<jmercouris> Shinmera: So if I use only CL libraries I should be okay?
<jmercouris> pjb: Is that maybe called portacle?
yurichev has quit [Quit: leaving]
<Shinmera> jmercouris: Provided your implementation does not bind in any C libraries :^)
<jmercouris> pjb: Wait, I'm sorry ignore that
sjl has quit [Ping timeout: 264 seconds]
<Shinmera> If it's just libc/libm/libdyld you can usually get away with it
wxie has joined #lisp
<nirved> aslo depends if the CL libraries use external C libraries
<pjb> it's trivial-dump-core
<jmercouris> I see
<jmercouris> so most of them seem to be centered around this kernel + image idea
<jmercouris> so ECL is actually the odd one out for compiling as a C program then
<Shinmera> Well it is its primary purpose, so
<jmercouris> That makes sense, absolutely yeah
<Shinmera> ABCL can also deploy to a jar for the same reason
<pjb> jmercouris: if you want to distribute on different platform, the best is to distribute the source, and compile for the platform at installation time.
<jmercouris> I started with ECL though, so the other Lisp impementations seem weird to me now :P
<jmercouris> pjb: So creating an install script? or bundling in a deb or rpm file?
<pjb> jmercouris: you may try to distribute fasl files, but this is more risky. Some implementation guarantee that their fas files will work on all the platforms (eg. clisp), but not all do.
<jmercouris> Hmm ok, let me at least get my stuff working on Linux, then I'll worry about deployment
<pjb> jmercouris: yes, both. You write a deb and use an intallation script that will compile automatically the sources to produce the binary.
<jmercouris> I can always just make it "compile it yourself on linux" type thing for a while, I expect that would be okay for most linux users
<pjb> Notice that asdf provide a function to gather all the sources of your system and its dependencies in a single source file, to ease this kind of distribytion.
<jmercouris> pjb: Right, I do seem to remember some directive like as-library or something
auxo has left #lisp ["WeeChat 1.9.1"]
<jmercouris> I can't remember what that's called though, but okay yeah, there is a facility for it, and if your implementation allows, you could do a single fasl file
<jmercouris> got it
damke_ has joined #lisp
<jmercouris> pjb: Thank you for the advice as always!
thinkpad has joined #lisp
damke has quit [Ping timeout: 240 seconds]
Bike has joined #lisp
osune` has quit [Remote host closed the connection]
nirved has quit [Quit: Leaving]
Baggers has quit [Remote host closed the connection]
nowhere_man has quit [Quit: Konversation terminated!]
nowhere_man has joined #lisp
quazimodo has joined #lisp
Jesin has quit [Quit: Leaving]
rumbler31 has joined #lisp
LiamH has quit [Quit: Leaving.]
nowhere_man has quit [Ping timeout: 268 seconds]
jmercouris has quit [Ping timeout: 276 seconds]
vydd has quit [Ping timeout: 264 seconds]
varjag has quit [Quit: ERC (IRC client for Emacs 25.2.1)]
remi`bd has quit [Quit: leaving]
Kaisyu has joined #lisp
sz0 has quit [Quit: Connection closed for inactivity]
wxie has quit [Remote host closed the connection]
bigos has joined #lisp
fikka has quit [Ping timeout: 268 seconds]