jackdaniel changed the topic of #commonlisp to: Common Lisp, the #1=(programmable . #1#) programming language | Wiki: <https://www.cliki.net> | IRC Logs: <https://irclog.tymoon.eu/libera/%23commonlisp> | Cookbook: <https://lispcookbook.github.io/cl-cookbook> | Pastebin: <https://plaster.tymoon.eu/> | News: ELS'22 this Monday (2022-03-21), see https://european-lisp-symposium.org
mon_aaraj has quit [Ping timeout: 246 seconds]
mon_aaraj has joined #commonlisp
mon_aaraj has quit [Ping timeout: 272 seconds]
mon_aaraj has joined #commonlisp
pseigo has joined #commonlisp
cosimone has quit [Remote host closed the connection]
cosimone has joined #commonlisp
mon_aaraj has quit [Ping timeout: 268 seconds]
mon_aaraj has joined #commonlisp
sander has quit [Ping timeout: 268 seconds]
mon_aaraj has quit [Ping timeout: 255 seconds]
mon_aaraj has joined #commonlisp
mrcom has quit [Remote host closed the connection]
mrcom has joined #commonlisp
akoana has quit [Quit: leaving]
sander has joined #commonlisp
notzmv has quit [Ping timeout: 272 seconds]
gxt has quit [Ping timeout: 268 seconds]
gxt has joined #commonlisp
yauhsien has joined #commonlisp
jeosol has joined #commonlisp
yauhsien has quit [Ping timeout: 246 seconds]
mixotricha has joined #commonlisp
surabax has quit [Ping timeout: 268 seconds]
santiagopim has quit [Ping timeout: 248 seconds]
pseigo has quit [Quit: left]
pseigo has joined #commonlisp
yauhsien has joined #commonlisp
aartaka has quit [Ping timeout: 276 seconds]
aartaka has joined #commonlisp
<dbotton> is there a cross platform way to make symbolic links, I didn't see anything in UIOP?
pranavats has left #commonlisp [Error from remote client]
pseigo has quit [Quit: left]
pseigo has joined #commonlisp
yauhsien has quit [Ping timeout: 240 seconds]
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
terrorjack has joined #commonlisp
waleee has quit [Ping timeout: 272 seconds]
pseigo has quit [Quit: left]
pseigo has joined #commonlisp
pranavats has joined #commonlisp
igemnace has joined #commonlisp
pseigo has quit [Ping timeout: 264 seconds]
kaskal- has joined #commonlisp
kaskal has quit [Ping timeout: 240 seconds]
notzmv has joined #commonlisp
shka has joined #commonlisp
Bike has quit [Quit: Lost terminal]
_paul0 has quit [Quit: Leaving]
<Nilby> dbotton: Symbolic links don't really work on windows, and on every unix, including even macos it's the same posix interface, so it's not particularly useful.
<jackdaniel> dbotton: maybe osicat?
tyson2 has quit [Remote host closed the connection]
<Nilby> dbotton: Sorry, I forgot about implementation vs O/S portablility, and that most people don't even have a decent posix portability layer.
<dbotton> Understood
<dbotton> Thanks
<contrapunctus> flip214: hey ^^ Could you please make a PR for your fork of `local-time` (with the missing seconds fix)?
pseigo has joined #commonlisp
Josh_2 has quit [Remote host closed the connection]
hineios0 has joined #commonlisp
hineios has quit [Ping timeout: 260 seconds]
hineios0 is now known as hineios
mixotricha has quit [Ping timeout: 252 seconds]
shka has quit [Ping timeout: 246 seconds]
pseigo has quit [Ping timeout: 268 seconds]
yauhsien has joined #commonlisp
yauhsien has quit [Ping timeout: 246 seconds]
asarch has joined #commonlisp
mixotricha has joined #commonlisp
molson_ has joined #commonlisp
jelewis2 has joined #commonlisp
molson has quit [Ping timeout: 240 seconds]
lewisje has quit [Ping timeout: 268 seconds]
<flip214> contrapunctus: here you are.
MajorBiscuit has joined #commonlisp
yauhsien has joined #commonlisp
mixotricha has quit [Ping timeout: 252 seconds]
Algernon69 has joined #commonlisp
yauhsien has quit [Ping timeout: 240 seconds]
attila_lendvai has joined #commonlisp
ttree has quit [Ping timeout: 246 seconds]
karlosz has joined #commonlisp
<Shinmera> Nilby: symlinks have existed on Windows since Vista.
<aeth> wait what
<aeth> no symlinks in XP?
karlosz has quit [Quit: karlosz]
<Shinmera> Correct.
<Nilby> Shinmera: yes, except you have to have admin privs to create them, and most programs don't even recognize them
<Shinmera> one really does have to wonder why it's an admin thing.
<Nilby> it doesn't really seem useful when the windows explorer file manager doesn't cope with them
<Nilby> i'm not sure if the cmd.exe shell does either
<flip214> well, for directories SUBST was good enough ;) and with XP you could use double-letter drives as well -- only explorer.exe didn't know about them, again
<Shinmera> chaos option: fork out a wsl shell and use ln
Algernon91 has joined #commonlisp
<Nilby> i a have a shell that works on windows, and i wanted to use them, but it just creates a thing nothing knows how to deal with. cygwin e.g. makes it's own style of fake symlink
<flip214> cygwin makes a .lnk file, ISTR
<Nilby> i'm not even curious enough about what WSL does to install it
Algernon69 has quit [Ping timeout: 240 seconds]
rendar has quit [Ping timeout: 264 seconds]
<Nilby> i would bet it makes symlinks invisible to windows
Algernon91 has quit [Quit: Leaving]
<Nilby> in the 90s i worked on a unix compatibility for NT and the big trouble was named pipe aka FIFO files, but i think we managed to hack it in somehow. microsoft basicly had WSL in the 90s but kept it mostly secret giving it only to the big corps
Cymew has joined #commonlisp
<contrapunctus> Shinmera: I happened to read your comment about support for async and green threads...what would you say is missing from cl-async ( https://github.com/orthecreedence/cl-async ) and green-threads? ( https://github.com/thezerobit/green-threads )
<Shinmera> cl-async requires libuv, green-threads relies on cl-cont, which is a joke.
<hayley> Not quite Shinmera, but I'm not a big fan of cooperative models, and the latter library uses cl-cont which is lacking around dynamic variables among many other things.
<hayley> There is also the issue that everything (± epsilon) in Common Lisp is written in a blocking style. So I think the only useful userspace concurrency model for Common Lisp would be for the implementation to use green threads.
<Shinmera> this is something that cannot be adequately solved by libraries.
<Shinmera> and even if the implementation does provide it, as hayley pointed out, the next problem is that all other code is written in a blocking style, which leads to having to reimplement large amounts of libraries.
<semz> Is the libuv complaint "just" due to the reliance on FFI or is there a deeper problem with it?
<hayley> CPS is no fun to write, though you could write a CPS-transforming library if you really wanted to. But CPS also obliterates the condition system and dynamic bindings, which cannot be engineered around.
<Shinmera> ffi is what prevents me from even bothering to look at it, but I don't think libuv can solve the kinds of issues that require implementation support to pause threads.
<Shinmera> cl-cont/etc. are the kinds of libraries that to me represent the kind of people that genuinely believe you can do everything with a library in lisp. and you kinda can, except it places such severe restrictions on everything that follows, that it's practically worthless because you'd have to rewrite all other code to work with it.
<Shinmera> it's the turing tarpit equivalent
gxt has quit [Remote host closed the connection]
gxt has joined #commonlisp
pseigo has joined #commonlisp
<Nilby> now i realize i've been sinking in a lisp tarpit this whole time
* Nilby changes project name to tapit
<Nilby> tarpit that is
treflip has joined #commonlisp
yauhsien has joined #commonlisp
mixotricha has joined #commonlisp
Alfr has quit [Quit: Leaving]
mon_aaraj has quit [Ping timeout: 268 seconds]
mon_aaraj has joined #commonlisp
lisp123 has joined #commonlisp
yauhsien has quit [Ping timeout: 268 seconds]
Th30n has joined #commonlisp
attila_lendvai has quit [Read error: Connection reset by peer]
attila_lendvai has joined #commonlisp
rendar has joined #commonlisp
rendar has joined #commonlisp
azimut has joined #commonlisp
kagevf has quit [Ping timeout: 240 seconds]
pve has joined #commonlisp
kagevf has joined #commonlisp
mon_aaraj has quit [Ping timeout: 268 seconds]
mon_aaraj has joined #commonlisp
attila_lendvai has quit [Read error: Connection reset by peer]
attila_lendvai has joined #commonlisp
nijj has joined #commonlisp
attila_lendvai has quit [Read error: Connection reset by peer]
attila_lendvai has joined #commonlisp
nijj has quit [Client Quit]
nijj has joined #commonlisp
cosimone has quit [Remote host closed the connection]
jelewis2 has quit [Quit: Leaving]
notzmv has quit [Ping timeout: 248 seconds]
Brucio-61 has quit [Ping timeout: 260 seconds]
aartaka has quit [Ping timeout: 246 seconds]
asarch has quit [Quit: Leaving]
aartaka has joined #commonlisp
jeosol has quit [Quit: Client closed]
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
santiagopim has joined #commonlisp
Brucio-61 has joined #commonlisp
pseigo has quit [Ping timeout: 260 seconds]
Th30n has quit [Ping timeout: 268 seconds]
tomato0ne has joined #commonlisp
White_Flame has quit [Remote host closed the connection]
White_Flame has joined #commonlisp
pranavats has left #commonlisp [Error from remote client]
yauhsien has joined #commonlisp
tomato0ne has quit [Ping timeout: 268 seconds]
mon_aaraj has quit [Ping timeout: 268 seconds]
Josh_2 has joined #commonlisp
mon_aaraj has joined #commonlisp
flip214 is now known as flip
flip is now known as flip214
nijj has quit [Remote host closed the connection]
nijj has joined #commonlisp
aartaka has quit [Ping timeout: 268 seconds]
aartaka has joined #commonlisp
mon_aaraj has quit [Ping timeout: 268 seconds]
Th30n has joined #commonlisp
yauhsien has quit [Ping timeout: 246 seconds]
mon_aaraj has joined #commonlisp
<nijj> yitzi: Thanks again. I think qlot works beautifully on my side.
tomato0ne has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
attila_lendvai has quit [Read error: Connection reset by peer]
attila_lendvai has joined #commonlisp
attila_lendvai has quit [Remote host closed the connection]
mixotricha has quit [Quit: Client closed]
attila_lendvai has joined #commonlisp
mixotricha has joined #commonlisp
attila_lendvai_ has joined #commonlisp
attila_lendvai has quit [Ping timeout: 255 seconds]
<_death> my experience indicates that the premise is false, and so is the conclusion.. I've used (delimited) continuations fruitfully in CL and didn't need to rewrite everything.. there are others who have done the same (ucw or lol, for instance).. you could always write a full a compiler if you need more (e.g., see Rodney Brooks's L papers)
nijj has left #commonlisp [ERC 5.4 (IRC client for GNU Emacs 28.1)]
mixotricha has quit [Ping timeout: 252 seconds]
yauhsien has joined #commonlisp
rodicm has joined #commonlisp
yauhsien has quit [Ping timeout: 268 seconds]
attila_lendvai_ is now known as attila_lendvai
pranavats has joined #commonlisp
tyson2 has joined #commonlisp
lisp123 has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
<Josh_2> GM COO peepo :sunglasses:
attila_lendvai_ has joined #commonlisp
<_death> I'd also say that the CPS style (including the "async/await" sugar) is obviously terrible when used globally throughout a program (and consequently a mistake on the part of a language designer).. actors or channels are much better
attila_lendvai has quit [Ping timeout: 255 seconds]
asarch has joined #commonlisp
attila_lendvai_ has quit [Client Quit]
attila_lendvai has joined #commonlisp
<lisp123> what are actors?
<lisp123> thx
mon_aaraj has quit [Ping timeout: 240 seconds]
random-nick has joined #commonlisp
<_death> CPS style on your PC computer ;)
<Shinmera> For stuff that needs high concurrency I just use Elixir/Erlang :)
<_death> right, erlang is based on the actor model.. but obviously there are many practicalities that make it adept at large scale.. I've no real experience with it beyond toy programs
Brucio-61 has quit [Remote host closed the connection]
Brucio-61 has joined #commonlisp
<lisp123> yeah CL is not perfect for certain types of programming
<lisp123> but its darn close ;)
tomato0ne_ has joined #commonlisp
lewisje has joined #commonlisp
tomato0ne has quit [Ping timeout: 268 seconds]
notzmv has joined #commonlisp
azimut has quit [Remote host closed the connection]
azimut has joined #commonlisp
Guest6969 has joined #commonlisp
<Guest6969> Hello, anyone knows if (cl-ppcre:regex-replace-all "a" "a" "\\n") is supposed to give "\\n"? Seems strange to me since "\\n" does what it should when used in the matching parameter.
<Guest6969> (by the way, no amount of backslashes tried can get me a newline here)
<hayley> One writes a newline in CL by entering a newline character, rather than an escape sequence.
<semz> It's supposed to. I think the \n syntax is accepted for regular expressions because they're accepted in Perl and CL-PPCRE aims to be compatible.
<semz> because _it_ is accepted in Perl*
<semz> This is also why split removes zero length matches at the end by default
<Guest6969> But replacement strings are part of the RE interface, though (and it does support "\\1", for example)
<hayley> The replacement string is not a regular expression, whereas the first argument is.
<Guest6969> It's not, but it's not a regular string either
<hayley> http://edicl.github.io/cl-ppcre/#regex-replace-all describes the replacement string; it only has special syntax for submatches, whole match, and before and after the match.
<Guest6969> Yeah, I understand, even if I find it strange to support some backslash sequences but not all.
<Guest6969> I guess I'll need cl-interpol to have a disgusting raw newline in my string
<Guest6969> to not have*
<Guest6969> Well, thanks for the help/confirmation
<Shinmera> (string #\Linefeed)
<lisp123> I've been using Trie's recently over regex
<semz> (string #\Linefeed) has the advantage that the string won't depend on your source file encoding
<lisp123> (obviously when there are multiple possible matches)
mon_aaraj has joined #commonlisp
<hayley> Tries? The data structure is a limited sort of deterministic finite automaton if you squint, but not as general as regular expressions. Are there resources on this sort of trie?
<Guest6969> Shinmera thnaks, it'll do
<contrapunctus> _death: could you elaborate as to what premise and conclusion you're referring to?
<contrapunctus> flip214: thanks!
tedwing has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
<lisp123> hayley: I've been more interested in matching whole words to be fair
<lisp123> I wonder if in theory if you introduced a 'wildcard' path to a trie if it could be used for other things
<lisp123> some sort of circular trie
<hayley> A circular trie would be a deterministic finite automaton.
asarch has quit [Quit: Leaving]
<lisp123> Too advanced for me for now, but I might touch on this topic later
<lisp123> Do you think of anything better than RegEx?
TimoT has joined #commonlisp
<hayley> I don't know. I have a regular expression implementation with quite good performance, because it generates Common Lisp code for such an automaton. There might be a similar technique for derivatives of context-free grammars (in a paper called "Yacc is dead", I think), but the technique will be different as there are an infinite number of derivatives of context-free grammars. One would need to see if there is any sort of redundant computations
<hayley> or derivatives that we can compile and skip around.
Oddity has quit [Ping timeout: 248 seconds]
<lisp123> Do you read each character only once?
<lisp123> Say one wanted to match one of 5 possible regex
<lisp123> that's where I'm tripping up with regex, with my primitive understanding, unless I wrote some complex regex, it will need to run the regex search 5 times
<_death> a|b|c|d|e
<hayley> Close enough.
<hayley> We have to read some characters again when there is a certain sort of ambiguity about where one match ends, and we only find out where the match ends after we went past it. Then the next search starts from the end of the last match, and we end up reading characters twice.
<lisp123> I see
<hayley> lisp123: There is a nice concept of a "derivative" for handling these problems (and we say the "derivative of <a regular expression> with regards to <some character>" is the regular expression you need to match after matching that character). The rule for the derivative of the union of two regular expressions is the union of derivatives of those expressions; and you can work out searching for two different regular expressions at once like
<hayley> that.
<hayley> Say, if we want to search for cat|dog, we first check the first character. If it is #\c, we then would need to match "at" of "cat", and we can't possibly match "dog", so the next regex to check is "at". If it is #\d, we can't possibly match "cat", and we then would need to match "og" of "dog", so the next regex to check is "og".
aartaka has quit [Ping timeout: 268 seconds]
<lisp123> Interesting
aartaka has joined #commonlisp
<lisp123> That's pretty cool
<_death> now, a "trie" is also known as "prefix tree".. once you introduce cycles, it's no longer a tree.. a finite state automaton is a graph and may contain cycles.. hayley's maximal munch is expected, but not necessary semantics (such regexp engines may also provide "lazy" control)
<hayley> This also works if there would be overlaps, say, with cat|catfood (and you end up with the regex "|food" after matching "cat"; either you match nothing else, or you match "food"). But these examples can still be matched with tries.
<hayley> You can also avoid having to re-scan if you clone the original regular expression to search for after matching every character. With the cat|dog example, we could search for at|cat|dog after matching a #\c, but you'd need to record where each "clone" starts separately.
<lisp123> I see
<lisp123> doing at | cat | dog -> is that something a sufficiently advanced regex engine might do automatically?
<hayley> Yes.
<_death> maybe something like (ppcre:all-matches "ana" "banana") vs. (ppcre:all-matches "(?=ana)" "banana")
<hayley> I don't think you could do it manually; it's more of an implementation trick rather than an optimisation the user can do.
tomato0ne_ has quit [Ping timeout: 264 seconds]
<hayley> It would be a bit rude but I've considered writing an optimisation "guide" which just says "You are using this library, and there is nothing you can do to affect the performance of matching", because the usual tricks wouldn't seem to work. But then some unusual tricks do work, like exposing strings to use an optimised searching algorithm with, but they aren't very general and so I don't know if they're worth mentioning.
<lisp123> hayley: you should submit your work to an algorithm journal or something
<hayley> The library turned two years old at the start of the month; two years and a bit ago I was bored during holidays and decided to practise for the automata course in 2020. Now I have another "models of computation" course next semester, having transferred university. I wonder how I'll go.
treflip has quit [Quit: i slep]
<hayley> gilberth made the algorithm, not me, I just "published" a free implementation of it.
<lisp123> _death: p.s. thanks for the terminology correction, now I need to study graphs more as well
<lisp123> ah i see
<hayley> There were a few small changes I made, but I would not want to pass it off as my creation.
<hayley> I did try to claim prior study for that course, but the adminstration has an interesting idea on what courses are harder or easier. I got credit for the C++ course, which apparently is harder than the one I did in 2020. But I did not get credit for one of the "programming" courses which involved cyber-security, for which I had submitted a draft of my ELS 2021 paper, and the course involved looking at code to use obsolete encryption algorithms,
<hayley> which the instructor plagarised and didn't even bother to test before class.
<_death> lisp123: you can do the rosalind challenges.. some will make you implement prefix and suffix trees (for the rest of the challenges you'll need to study a bit of probability, dynamic programming, and other graph theory)
<lisp123> _death: oh thank you, I will definitely do that
<lisp123> hayley: that's strange from the university
nijj has joined #commonlisp
<hayley> It was not very nice to think that what I had written was less difficult, in the eyes of the administration, than the course content. But I have been informed that this is not a room for complaining about university, so I'll stop here.
<nijj> I have an issue with a certain CL system while using a latest stable sbcl with an older quicklisp distritubion.
<nijj> I must stick with that older quicklisp, and switching to an older sbcl does solve the problem.
<nijj> I still wonder why and how that is possible to happen though..
yauhsien has joined #commonlisp
<semz> Is it nibbles?
<semz> But why do you have to stick with an older QL?
<lisp123> nijj: Just use the source, asdf - QL is more for distribution of packages
<nijj> semz: I'm working with someone else and he wants to fix that particular version.
<nijj> lisp123: I must use that version of ql dist. It's ok, I can just dropback to older sbcl. I'm here hoping to learn why that could have possibly happened.
lisp123 has quit [Remote host closed the connection]
<semz> It's hard to tell without any error info or even a system name.
Bike has joined #commonlisp
<Josh_2> hayley: University proving itself to be a waste of time huh
yauhsien has quit [Ping timeout: 264 seconds]
<hayley> You needed proof of that?
<beach> It is usually not a waste of time, because the degree at the end has real value. But it is too bad that so much time wasted in suboptimal courses.
yauhsien has joined #commonlisp
<Josh_2> No, its just an "I told you so" moment
<hayley> What beach said is more accurate, I am expecting to get the degree more than I am expecting to learn much in every course.
yauhsien has quit [Ping timeout: 246 seconds]
<nijj> I've been having trouble compiling the older version of sbcl (fetched from https://sourceforge.net/projects/sbcl/files/sbcl/2.0.1/sbcl-2.0.1-source.tar.bz2/download?use_mirror=master). Could someone help? Compilation error message is here: https://bpa.st/N5FQ
scymtym has joined #commonlisp
<semz> nijj: #sbcl might be a better bet
MunsterPlop has joined #commonlisp
waleee has joined #commonlisp
<Shinmera> Why do you want to build such an old version anyhow.
<nijj> For stability issue.. I'm working with someone else and we want to make sure that we have the same setting.
<nijj> Does that compile error message looks familiar with you?
<Shinmera> Well, it looks like your kernel is too new, which is something that'll have been patched in a more recent SBCL.
<Shinmera> My advice is to get whomstoever you're working with to upgrade sbcl instead.
igemnace has quit [Remote host closed the connection]
yauhsien has joined #commonlisp
<nijj> Gotcha.. I didn't know a too-new kernel could have problem compiling old software.. Thanks for letting me know!
<nijj> (That's a sad issue though.. it means many software would be outdated as something irrelevant, the kernel, updates..)
yauhsien has quit [Ping timeout: 264 seconds]
lisp123 has joined #commonlisp
Th30n has quit [Quit: WeeChat 3.5]
tibfulv has quit [Remote host closed the connection]
lisp123 has quit [Ping timeout: 255 seconds]
<beach> I would think that such a situation means either 1. The old software used some feature that was not specified to be supported in the future or 2. The new kernel broke some feature, despite that feature being documented. No?
tibfulv has joined #commonlisp
<nijj> Could be.. I think it's time for me to really learn docker :(
tyson2 has quit [Remote host closed the connection]
dBc has joined #commonlisp
<Nilby> nijj: put "extern" before the one in src/runtime/x86-64-linux-os.c line 52, then it works
<mfiano> The Linux kernel is a moving target. They even go out of their way to intentionally break software they don't agree with. Look at OpenZFS for example...Linux wants people to use their in-tree btrfs instead so they intentionally break things and mark APIs as GPL only so its a cat-and-mouse game.
<beach> mfiano: Do they break things that have previously been specified to work? I mean, if the software they don't agree with was made using features that nobody specified would work, then that might be impolite, but still "correct".
ahlk has quit [Remote host closed the connection]
ahlk has joined #commonlisp
dBc has quit [Client Quit]
<mfiano> beach: From what I understand they have been marking APIs as GPL and changing them slightly to prevent more freely-licensed drivers from using them. I'm not sure if this is as big of an issue for user-space APIs.
theBlackDragon has quit [Ping timeout: 240 seconds]
<nijj> Nilby: INDEED. How did you know right away just by looking at the error message :O (You're deep)
theBlackDragon has joined #commonlisp
waleee has quit [Ping timeout: 260 seconds]
* Nilby knows many things.
<Nilby> But really, it's a typical error I used to get all the time with C.
attila_lendvai has quit [Read error: Connection reset by peer]
* nijj You're great, Nilby :D
attila_lendvai has joined #commonlisp
<mrcom> Linux is very, very paranoid about breaking userland APIs. The one thing guarenteed to get a Torvaldis Tirade is to propose even changing a user API, even if noone can think of a case where it will break something.
yauhsien has joined #commonlisp
<nijj> Nilby: Just wanna learn something.. now your fix did fix the issue, do you think the reason is that my kernel is too new? Or just the source code of sbcl back then was not well written for that part?
<Nilby> mrcom: yes, it probably wasn't the linux version. it was really a minor bug in sbcl which probably worked with a previous version of the linker.
<mrcom> Internal kernel APIs are another matter.
* Nilby is running a kernel so new it's not released
<Nilby> nijj: it's probably the C toolchain version that let a minor bug pass without error
aartaka has quit [Ping timeout: 268 seconds]
yauhsien has quit [Ping timeout: 272 seconds]
attila_lendvai has quit [Read error: Connection reset by peer]
treflip has joined #commonlisp
attila_lendvai has joined #commonlisp
<jackdaniel> mfiano: openzfs had incompatible license from the very beginning, it is not something what was introduced aposteriori
santiagopim has quit [Remote host closed the connection]
attila_lendvai has quit [Read error: Connection reset by peer]
Guest6969 has quit [Quit: Client closed]
attila_lendvai has joined #commonlisp
<mfiano> jackdaniel: Indeed. One of the many reasons I switched to a more permissive kernel.
<jackdaniel> but you've said that they have intentionally broke some api(?), can you back up this claim with a reference?
<mfiano> Not off hand, but if you search around a bit you'll find that Linus and some other top kernel developers feel that because Sun didn't want their code to work on Linux, they feel like it would be in their best interest to prevent ZFS from working on Linux, even though Sun released all rights and open-sourced it.
<jackdaniel> cddl is not compatible with gpl according to many people (including fsf and linux kernel developers), but that's a different thing than maliciously breaking apis to prevent some software from running
<mfiano> Really though, this is just an attempt to make btrfs seem like a more accessible option, after all the bad publicity it got with data corruption.
<hayley> All I have to say is that btrfs hasn't eaten my data since 2015.
<hayley> I don't get it.
<mfiano> Right, I am not talking about licensing issues. I am talking about the intentional changing of APIs to prevent a specific piece of software from working every few kernel releases.
<jackdaniel> that's why I'm asking about the clarification; there is a huge difference between defending your license and breaking your software to not make something you don't like to not work
<jackdaniel> https://www.kernel.org/doc/html/latest/process/stable-api-nonsense.html this explains why the binary interface is not stable
<mfiano> Second paragraph sums up the API https://utcc.utoronto.ca/~cks/space/blog/linux/ZFSNonGPLRisk
<jackdaniel> (unlike the source interfaces)
<jackdaniel> _The Linux kernel doesn't allow kernel modules to use just any internal kernel symbols_ -- isn't it like using (slot-value <xxx> 'package::%foo) ?
<mfiano> This provision was employed specifically for ZFS
tyson2 has joined #commonlisp
<mfiano> Right. They unexport stable APIs or mark them as GPL only as the kernel evolves.
<mfiano> Anyway, I'm not interested in discussing Linux, as I migrated to FreeBSD and am much happier, and this is largely off-topic here anyway.
<jackdaniel> OK; thanks for providing a link; I'll read more about that as time permits
saura has joined #commonlisp
aartaka has joined #commonlisp
<mrcom> [Against my better judgement...] Casual searchin on interwebs shows one recent-ish kernel change, from 2019, that broke ZFS.
saura has quit [Ping timeout: 260 seconds]
<mrcom> Change 12209993e98c5fa1855c467f22a24e3d5b8be205 stopped exporting __kernel_fpu_begin/end.
attila_lendvai has quit [Read error: Connection reset by peer]
attila_lendvai has joined #commonlisp
<mrcom> The in-code comments for those routines had all kinds of caveats about the context it needed to be called in... "must be called with preempt disabled" etc.
<mfiano> The recent 5.18 release unexported things too. The fpu one was the one that got a lot of attention though.
<mrcom> The context requirements are pretty dire and will royally mess up the system, including data corruption, if violatged.
Josh_2 has quit [Remote host closed the connection]
<mrcom> ZFS is an out-of-kernel package that reaches deep into the kernel. Yeah, it's going to get broken sometimes.
<mrcom> I too prefer MIT-ish license to GPL; don't care for manifestos.
<mrcom> But it's a common theme in today's world to ascribe motives to others and start getting all outraged.
<mrcom> It's perfectly reasonable for a project, especially a very, very large and complicated project like Linux, to say "we gotta change internal stuff sometimes."
attila_lendvai has quit [Read error: Connection reset by peer]
<mfiano> In other news, I think I only mentioned this in some side channels, but after 15 years of CL, I recently moved to another language as my go-to. Of course I will still be around to chat and help out when I can, since I like the community.
<Nilby> Yeah, linux does sometime break user API, but it's rare. But it's actually more likely to break Lisp programs than C programs, given how FFI works.
attila_lendvai has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
<treflip> mfiano: I'm curious which language do you prefer now?
<jackdaniel> did you join fare in his gerbil adventure?
<mfiano> I'd rather not say. It will just ensue a language war.
<mfiano> Ha, no not Scheme I promise.
<Nilby> It's weirdly more likely to break freshly compiled programs than old staticly linked binaries.
<treflip> ok
szkl has joined #commonlisp
<contrapunctus> mfiano: Julia :>
<mfiano> shhh
mesaoptimizer has joined #commonlisp
<nijj> :O
<nijj> Julia people sell it as if it's a lisp. I don't get it..
<mfiano> No they don't. The documentation even has a section that points out the differences between it and some other languages, including Lisp.
tyson2 has joined #commonlisp
attila_lendvai has quit [Read error: Connection reset by peer]
attila_lendvai has joined #commonlisp
asarch has joined #commonlisp
attila_lendvai has quit [Read error: Connection reset by peer]
attila_lendvai has joined #commonlisp
MunsterPlop has quit [Remote host closed the connection]
aartaka has quit [Ping timeout: 268 seconds]
attila_lendvai has quit [Read error: Connection reset by peer]
perrierjouet has quit [Quit: WeeChat 3.5]
perrierjouet has joined #commonlisp
attila_lendvai has joined #commonlisp
aartaka has joined #commonlisp
attila_lendvai has quit [Read error: Connection reset by peer]
attila_lendvai has joined #commonlisp
dstein64- has joined #commonlisp
dstein64 has quit [Ping timeout: 256 seconds]
dstein64- is now known as dstein64
perrierjouet has quit [Quit: WeeChat 3.5]
perrierjouet has joined #commonlisp
orestarod has joined #commonlisp
Glaucon has joined #commonlisp
cage has joined #commonlisp
random-nick has quit [Ping timeout: 240 seconds]
saura has joined #commonlisp
surabax has joined #commonlisp
aartaka has quit [Ping timeout: 272 seconds]
aartaka has joined #commonlisp
saura has quit [Ping timeout: 248 seconds]
ttree has joined #commonlisp
aartaka has quit [Ping timeout: 268 seconds]
bitmapper has joined #commonlisp
cosimone has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
nijj has left #commonlisp [ERC 5.4 (IRC client for GNU Emacs 28.1)]
pseigo has joined #commonlisp
son0p has joined #commonlisp
Glaucon has quit [Ping timeout: 264 seconds]
qhong_ has joined #commonlisp
qhong has quit [Read error: Connection reset by peer]
treflip has quit [Remote host closed the connection]
yauhsien has joined #commonlisp
tyson2 has joined #commonlisp
MajorBiscuit has quit [Quit: WeeChat 3.5]
yauhsien has quit [Ping timeout: 255 seconds]
asarch has quit [Quit: Leaving]
Dynom has joined #commonlisp
yauhsien has joined #commonlisp
pseigo has quit [Quit: left]
pseigo has joined #commonlisp
yauhsien has quit [Ping timeout: 246 seconds]
masinter has quit [Quit: ~ Trillian - www.trillian.im ~]
rodicm has quit [Ping timeout: 260 seconds]
<contrapunctus> (Here goes the second such question of the day...) mfiano: What prompted you to explore Julia? What advantages do you find there over Common Lisp?
<mfiano> Eh I'd rather not get into that. Languages are just tools, and no tool is specialized for every task.
masinter has joined #commonlisp
tomato0ne_ has joined #commonlisp
aartaka has joined #commonlisp
mon_aaraj has quit [Ping timeout: 268 seconds]
lisp123 has joined #commonlisp
mon_aaraj has joined #commonlisp
lisp123 has quit [Ping timeout: 240 seconds]
Lord_Nightmare has quit [Quit: ZNC - http://znc.in]
mon_aaraj has quit [Ping timeout: 264 seconds]
tomato0ne_ has quit [Ping timeout: 260 seconds]
aartaka has quit [Ping timeout: 255 seconds]
mon_aaraj has joined #commonlisp
Lord_Nightmare has joined #commonlisp
Oladon has joined #commonlisp
recordgroovy has joined #commonlisp
shka has joined #commonlisp
tomato0ne_ has joined #commonlisp
aartaka has joined #commonlisp
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 268 seconds]
szkl has quit [Quit: Connection closed for inactivity]
TimoT has quit [Quit: Leaving]
attila_lendvai has quit [Read error: Connection reset by peer]
attila_lendvai has joined #commonlisp
attila_lendvai has quit [Read error: Connection reset by peer]
attila_lendvai has joined #commonlisp
mon_aaraj has quit [Ping timeout: 246 seconds]
mon_aaraj has joined #commonlisp
tedwing has quit [Quit: leaving]
aartaka has quit [Read error: Connection reset by peer]
aartaka has joined #commonlisp
<jackdaniel> they say that everything looks like a nail if you have a hammer
Oddity has joined #commonlisp
attila_lendvai has quit [Read error: Connection reset by peer]
jeosol has joined #commonlisp
lisp123 has joined #commonlisp
Fare has joined #commonlisp
lisp123 has quit [Ping timeout: 255 seconds]
tomato0ne_ has quit [Remote host closed the connection]
tomato0ne_ has joined #commonlisp
<_death> most thumbs have nails
rodicm has joined #commonlisp
Fare has quit [Ping timeout: 246 seconds]
Alfr has joined #commonlisp
rodicm has quit [Quit: Leaving]
jmdaemon has joined #commonlisp
gxt has quit [Remote host closed the connection]
tyson2 has quit [Remote host closed the connection]
gxt has joined #commonlisp
cage has quit [Quit: sonno...]
random-nick has joined #commonlisp
tomato0ne_ has quit [Ping timeout: 246 seconds]
Fare has joined #commonlisp
Oladon has quit [Quit: Leaving.]
Dynom has quit [Quit: WeeChat 3.5]
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 240 seconds]
rendar has quit [Quit: Leaving]
nij has joined #commonlisp
nij has left #commonlisp [#commonlisp]
nijj has joined #commonlisp
rendar has joined #commonlisp
rendar has quit [Changing host]
rendar has joined #commonlisp
nijj has quit [Ping timeout: 264 seconds]
scymtym has quit [Ping timeout: 240 seconds]
shka has quit [Ping timeout: 268 seconds]
Brucio-61 has quit [Ping timeout: 268 seconds]
nijj has joined #commonlisp
mixotricha has joined #commonlisp
nijj has quit [Read error: Connection reset by peer]
nijj has joined #commonlisp
nijj has quit [Remote host closed the connection]
waleee has joined #commonlisp
tyson2 has joined #commonlisp
rendar has quit [Quit: Leaving]
pseigo has quit [Ping timeout: 246 seconds]
Brucio-61 has joined #commonlisp
Fare has quit [Ping timeout: 255 seconds]
pseigo has joined #commonlisp
Fare has joined #commonlisp
akoana has joined #commonlisp
orestarod has quit [Ping timeout: 268 seconds]
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 268 seconds]
ad-absurdum has joined #commonlisp
mon_aaraj has quit [Remote host closed the connection]
mon_aaraj has joined #commonlisp
yauhsien has joined #commonlisp
mon_aaraj has quit [Remote host closed the connection]
mon_aaraj has joined #commonlisp
azimut has quit [Ping timeout: 268 seconds]
pseigo has quit [Ping timeout: 272 seconds]
Lord_of_Life has quit [Ping timeout: 268 seconds]
Lord_of_Life has joined #commonlisp
yauhsien has quit [Ping timeout: 268 seconds]
mon_aaraj has quit [Ping timeout: 255 seconds]
pve has quit [Quit: leaving]
mon_aaraj has joined #commonlisp
mon_aaraj has quit [Ping timeout: 255 seconds]
mon_aaraj has joined #commonlisp
torhex-pasmul[m] has joined #commonlisp
mon_aaraj has quit [Ping timeout: 240 seconds]
mon_aaraj has joined #commonlisp
knusbaum has quit [Ping timeout: 276 seconds]
knusbaum has joined #commonlisp
pseigo has joined #commonlisp