phoe changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language | <http://cliki.net/> <https://irclog.tymoon.eu/freenode/%23lisp> <https://irclog.whitequark.org/lisp> <http://ccl.clozure.com/irc-logs/lisp/> | SBCL 1.4.14, CMUCL 21b, ECL 16.1.3, CCL 1.11.5, ABCL 1.5.0
LiamH has quit [Quit: Leaving.]
Kundry_Wag has quit [Ping timeout: 245 seconds]
karlosz has quit [Quit: karlosz]
abhixec has joined #lisp
varjag has joined #lisp
Kundry_Wag has joined #lisp
ismay has joined #lisp
varjag has quit [Ping timeout: 250 seconds]
libre-man has quit [Ping timeout: 250 seconds]
Kundry_Wag has quit [Ping timeout: 250 seconds]
FreeBirdLjj has joined #lisp
dale has quit [Quit: dale]
FreeBirdLjj has quit [Read error: Connection reset by peer]
FreeBirdLjj has joined #lisp
mathpacka has quit [Remote host closed the connection]
amerlyq has quit [Quit: amerlyq]
iAmDecim has quit [Ping timeout: 240 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #lisp
ebrasca has quit [Remote host closed the connection]
FreeBirdLjj has quit [Ping timeout: 250 seconds]
libre-man has joined #lisp
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
xkapastel has quit [Quit: Connection closed for inactivity]
edgar-rft has joined #lisp
FreeBirdLjj has joined #lisp
igemnace has joined #lisp
iAmDecim has joined #lisp
quazimodo has quit [Ping timeout: 240 seconds]
fkac has joined #lisp
iAmDecim has quit [Ping timeout: 268 seconds]
quazimodo has joined #lisp
markoong has quit [Quit: Konversation terminated!]
markoong has joined #lisp
metallicus has joined #lisp
markoong has quit [Ping timeout: 250 seconds]
iAmDecim has joined #lisp
FreeBirdLjj has quit [Ping timeout: 245 seconds]
FreeBirdLjj has joined #lisp
karlosz has joined #lisp
fkac has quit [Remote host closed the connection]
metallicus has quit [Quit: WeeChat 2.3]
iAmDecim has quit [Ping timeout: 245 seconds]
Kundry_Wag has joined #lisp
hectorhonn has joined #lisp
<hectorhonn> morning everyone
Kundry_Wag has quit [Ping timeout: 245 seconds]
sauvin_ has joined #lisp
sauvin has quit [Ping timeout: 246 seconds]
orivej has quit [Ping timeout: 240 seconds]
jlarocco has quit [Ping timeout: 245 seconds]
karlosz has quit [Quit: karlosz]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 245 seconds]
milanj has quit [Quit: This computer has gone to sleep]
hectorhonn has quit [Quit: Page closed]
hectorhonn has joined #lisp
esrse has joined #lisp
iAmDecim has joined #lisp
terpri has quit [Remote host closed the connection]
noobineer has joined #lisp
dale has joined #lisp
FreeBirdLjj has quit [Ping timeout: 252 seconds]
cpape has quit [Remote host closed the connection]
cpape has joined #lisp
Oladon has joined #lisp
Kundry_Wag has joined #lisp
FreeBirdLjj has joined #lisp
noobineer has quit [Read error: Connection reset by peer]
noobineer has joined #lisp
Kundry_Wag has quit [Ping timeout: 250 seconds]
sjl_ has joined #lisp
anewuser has joined #lisp
noobineer has quit [Read error: Connection reset by peer]
zotan has quit [Ping timeout: 252 seconds]
zotan has joined #lisp
noobineer has joined #lisp
rumbler31 has joined #lisp
jeosol has joined #lisp
zotan has quit [Ping timeout: 240 seconds]
lemoinem has quit [Ping timeout: 268 seconds]
zotan has joined #lisp
jeosol has quit [Ping timeout: 256 seconds]
noobineer has quit [Read error: Connection reset by peer]
lemoinem has joined #lisp
zotan has quit [Ping timeout: 240 seconds]
zotan has joined #lisp
Kundry_Wag has joined #lisp
space_otter has joined #lisp
robdog has joined #lisp
zotan has quit [Ping timeout: 240 seconds]
sauvin_ is now known as Sauvin
zotan has joined #lisp
Kundry_Wag has quit [Ping timeout: 268 seconds]
zotan has quit [Ping timeout: 245 seconds]
zotan has joined #lisp
nullheroes has quit [Quit: WeeChat 1.9.1]
nullheroes has joined #lisp
sjl_ has quit [Ping timeout: 240 seconds]
<beach> Good morning everyone!
zotan has quit [Ping timeout: 268 seconds]
zotan has joined #lisp
<akoana> good morning
<beach> Hello akoana.
Kundry_Wag has joined #lisp
<beach> How is working through PAIP going?
<akoana> oh, I'm progressing very slowly but steady thanks, currently I'm playing around with ltk
<akoana> s/steady/steadily/
<beach> I am sorry to hear that you prefer ltk over CLIM.
<akoana> I heared about CLIM, but I'm very new to Common Lisp, so I tried to start with something "easy"
<beach> Maybe, but as a result, you went in to FFI land with different semantics of different languages, thereby creating a semantic nightmare and a debugging one too.
Kundry_Wag has quit [Ping timeout: 240 seconds]
<akoana> I agree, tcl/tk is not what I intended to learn :) Just tried to mock a quick gui...
<beach> akoana: But you'll figure it out. One day, you will see the light. :)
<akoana> lol
<akoana> beach: did you mean this https://common-lisp.net/project/mcclim/ ?
<beach> That's the free implementation of the CLIM standard, yes.
<beach> akoana: There is also a #clim channel.
<akoana> I'll have a look into it (I did already a while before, but was in doubt about matureness)
<akoana> pjb: thanks for the link
<akoana> I'd like to create a gui with database "bindings" (crud), I still don't know what's better, doing it web-based with hunchentoot or with something like CLIM
<beach> Well, if you want it to be accessible as a website, CLIM is not the way to go.
nanoz has joined #lisp
<pjb> You can also just use *query-io* and make it a cli program.
<akoana> the amount of packages for Common Lisp is amazing - but hard for a newbee to select
<pjb> Why do you want to make it a GUI?
<beach> akoana: The only way I know to pick the right library is to ask here.
<pjb> or browse http://cliki.net
<akoana> I browsed cliki, but its hard to judge for a beginner what to use...
<beach> Yes, I disagree that browsing cliki is a good way of choosing.
<beach> You never get many negative opinions about libraries that way.
<akoana> pjb: The Gui should server Data entry and querying.
<akoana> s/server/serve/
pjb has quit [Remote host closed the connection]
<no-defun-allowed> I wrote a web program with a nice GUI entirely in CL for a school project.
<beach> I think I just had some insight. Maybe there is so much FFI-based stuff here because people think of Common Lisp as just another scripting language like python etc., so that it is really only useful as such. Perhaps they expect Common Lisp to be as slow as Python so that the C code is necessary to get some performance.
<no-defun-allowed> (ltk's interface occurs over a pipe to a program called "wish", by the way. To me, it's about as FFI as something like Postmodern/CL-SQL then.)
<beach> It would make sense for members of the generations brainwashed by the Unix "philosophy" to think like that.
Bike has quit [Quit: Lost terminal]
<akoana> beach: I did already some successful prototyping in hunchentoot, ningle and cl-dbi (for the database sqlite, but finally postgres) but still thinking how to glue this stuff together.
<beach> I see.
<beach> Which reminds me of how relational databases is another disaster that has been able to brainwash generations of unsuspecting developers.
<akoana> beach: I'm one of the brainwashed Unix people ;), old die hard vi user (but recently an emacs friend)
<no-defun-allowed> If I could have a minute to clean it up somewhat, I can show you the project I did for school, akoana.
<akoana> no-defun-allowed: I would appreciate that very much to get a picture...
<pillton> beach: I think people choose what battles to fight. I also think people don't like having duplicate implementations of functionality.
<beach> akoana: vi is not the main problem here. But I'm not going there today. You can read this document if you like: http://metamodular.com/closos.pdf
<beach> pillton: I suspect most people don't choose at all, because they don't think they have a choice.
* no-defun-allowed posted a file: u02e03.tar.lzma (4KB) < https://matrix.org/_matrix/media/v1/download/matrix.org/WwSzgrBsCBLpxotWdMYqNvRf >
<verisimilitude> I'm similarly disgusted by all of the FFI ``Common Lisp libraries'', beach.
<beach> Anyway, time for a break. Back in 30 minutes or so.
<no-defun-allowed> akoana: this is my school project; it uses Hunchentoot and CL-WHO to generate and serve HTML, Postmodern to read and write from a database, and I think the layout of code is pretty decent.
<akoana> beach: Ah CLOS, thank you, you are the author, I suppose?
<no-defun-allowed> Yes, beach wrote the CLOSOS specification.
<verisimilitude> Unicode is also UNIX idiocy. Should we make it easy to support multiple character sets; no, one character set to rule them all; kill the unbelievers! Should we have GUI tools that aren't awful; no, just turn Unicode into a partial GUI toolkit. I can go further, but I won't.
<akoana> Wow Mr. Robert Strandh, I've tried to read some of his papers, pretty mind boggling :)
<verisimilitude> I'm stuck talking to a terminal if I want a manageable interface that isn't likely to fall out from under me for some reason.
<akoana> no-defun-allowed: your school project is exactly the kind I'm looking after ;)
<aeth> verisimilitude: Unicode is bad, but every other alternative is worse
<aeth> The problem with multiple character sets is multilingual documents. You really expect programs to handle that properly?
<aeth> And with UTF-8 many programs like IRC clients handle it properly for free without being designed for it.
<LdBeth> Well, Unicode doesn’t do any bad unless you’re Chinese linguistics guy and UTF-32 is elegant enough for programming
<verisimilitude> Perhaps the worst thing about UTF-8 is that it penalizes most other character sets, meaning Japan and other countries still use custom ones.
<verisimilitude> Parsing errors in a character set is just icing on the stupid cake.
<LdBeth> Japanese just use custom computer
<verisimilitude> It's as if Ken Thompson thought ``I haven't done enough damage.''.
<LdBeth> In China UTF-8 is the de facto standard for all websites
<LdBeth> *and documents
<djeis[m]> Wait, is your issue with Unicode or UTF-8?
<djeis[m]> Because all Unicode has done is assign semantics to sequences of codepoints.
<djeis[m]> You could, in principle, have a wide variety of encodings that each support different ranges of the unicode space. But you still need to be able to give globally unique codepoints before you hit presentation, unless you want to tie fonts into the encoding used for the text.
FreeBirdLjj has quit [Read error: Connection reset by peer]
<djeis[m]> Which just seems like it'd introduce a massive duplication of effort to me.
iovec has joined #lisp
FreeBirdLjj has joined #lisp
dddddd has quit [Remote host closed the connection]
FreeBirdLjj has quit [Ping timeout: 240 seconds]
<verisimilitude> I dislike Unicode in general, yes, djeis[m].
<djeis[m]> Do you dislike what they came up with, or do you think their idea as a whole was misguided?
<verisimilitude> I'd also disagree with the idea that doing anything similar to Unicode, such as building a system for storing documents with multiple languages in them, makes it a subset or different implementation or anything else of Unicode.
<beach> verisimilitude: I am not "disgusted" by FFI. I am saddened to see all the human endeavor wasted on crappy software infrastructure.
<verisimilitude> It's both.
<beach> Worse, the effort is wasted over and over again, because (no doubt out of necessity) people are solving their own little problems using this crappy infrastructure.
<beach> If only a tiny fraction of that effort were used to improve the infrastructure, we would be more productive and make more progress faster.
<verisimilitude> It's rotten to the core, yes, beach; hopefully it will collapse under its own weight without taking down modern society.
<verisimilitude> If you'd like to read some of my deeper thoughts on this topic, I'll provide you a link, djeis[m].
<pillton> beach: What is the solution though?
<djeis[m]> I would actually, although I'm already pretty tired and may put that off until the morning.
<djeis[m]> I'm honestly curious.
<beach> pillton: I'm not sure. But, for one thing, we need to improve what is taught at universities in their computer science programs. Currently, the teachers (despite having PhDs) are not qualified to do that work. They just don't have the depth of knowledge required to have an opinion about what is being taught.
<verisimilitude> Here it is: http://verisimilitudes.net/2018-06-06
<djeis[m]> ty
<akoana> beach: Thank you for the CLOSOS pdf, I downloaded it - interesting view of Unix and a LispOS, after a first glance
<verisimilitude> This article, as all of my others, really should be rewritten and added to, but it's a decent glimpse into my thoughts, anyway.
dale has quit [Quit: dale]
<beach> akoana: Glad you like it. I also recommend "the Unix haters handbook". Initially I thought it was written by ignorant people, but it is written by people who are avery smart and very knowledgeable so it has a lot of wisdom in it.
nanoz has quit [Quit: Leaving]
<verisimilitude> While I'm at it, have you read what Erik Naggum had to write on these topics, akoana?
<verisimilitude> If not, you should. XachX has an archive on his personal website.
<akoana> beach: I think the writers of the "the Unix haters handbook" had a vision how it could be better.
<verisimilitude> They were using it already.
<beach> akoana: It is worse than that. They knew what they had and saw things getting worse. Much worse.
<beach> akoana: That is the sad part. We knew how to do it better, but with Unix, that knowledge was lost.
<akoana> verisimilitude: I read almost all of Erik Naggum's postings at XachX site, he was an amazing and a bright mind.
<akoana> beach: That what me makes love (and has me attracted to) Common Lisp, security of ones own programming efforts, not having to re-write because of incompatible changes in the programming language
<beach> Sure.
<akoana> beach: and I like to read smart peoples code, and there are a lot of them using Common Lisp.
<beach> True. Or, rather, the proportion of good to bad code is probably better in Common Lisp than in other languages, because the unusual language filters away some of the really bad programmers. Just a hypothesis of mine. No scientific proof.
<akoana> beach: this is my impression also, a kind of "numerus clausus"
<djeis[m]> verisimilitude: Certainly some interesting ideas, although I suspect I'm too tired to really appreciate them. I'll have to discuss this further with you at some point. My first thought is the interesting bits of custom notation trickery that you can get up to in some existing PLs. My other thought is how awkward typing really customized notation can get, although that may just be an input method issue. Unfortunately I have to
<djeis[m]> vanish for the night though, I have an early morning and am already pretty exhausted.
<verisimilitude> I wouldn't be using a keyboard in the way you'd think, djeis[m].
<verisimilitude> In any case, yes, let's discuss this later; I'm glad you found it interesting.
<LdBeth> Is there any evidence suggests Allegro Lisp supports funcall a structure?
<djeis[m]> ttyl then.
<verisimilitude> Good night, then.
<akoana> verisimilitude: good night and thanks for the link to Erik Naggum
<akoana> verisimilitude: sorry I misread you last post :) glad you're stayin here
prite has joined #lisp
FreeBirdLjj has joined #lisp
ismay has quit [Ping timeout: 272 seconds]
Arcaelyx has quit [Quit: Textual IRC Client: www.textualapp.com]
Oladon has quit [Quit: Leaving.]
karlosz has joined #lisp
FreeBirdLjj has quit [Ping timeout: 268 seconds]
wilfredh has quit [Quit: Connection closed for inactivity]
Kundry_Wag has joined #lisp
themsay has joined #lisp
Kundry_Wag has quit [Ping timeout: 246 seconds]
<LdBeth> good eve
<beach> Hello LdBeth.
themsay has quit [Ping timeout: 246 seconds]
iAmDecim has quit [Ping timeout: 246 seconds]
themsay has joined #lisp
abhixec has quit [Ping timeout: 250 seconds]
<LdBeth> hello beach
<LdBeth> Just see CommonDoc yesterday
<LdBeth> Superisingly the html emitter doesn't do pretty printing
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #lisp
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 268 seconds]
housel has quit [Ping timeout: 264 seconds]
jasom has quit [Ping timeout: 252 seconds]
madrik has quit [Remote host closed the connection]
jasom has joined #lisp
jprajzne has joined #lisp
<makomo> morning
<beach> Hello makomo.
<makomo> beach: hmm, regarding your comments about FFI. wouldn't it be wasted effort to just recreate a C library in CL and then have to maintain it (i.e. backport stuff that the original implements later on)?
<beach> Sure.
<beach> The waste arises because it was written in C in the first place.
<makomo> right, but that's set in stone sadly :^(
<beach> Nope.
<makomo> well, it would take quite a lot of time to port all of those useful C libraries to CL, no?
<beach> Then we have to try to estimate how much effort is saved with a Common Lisp version of the library with debugging etc, compared to the wasted effort of having people use libraries written in unsafe languages for unsafe operating systems.
<beach> Yes, it would take a lot of time.
<makomo> right, if you're going to look at it globally like that, i agree
Inline has quit [Quit: Leaving]
<beach> Exactly my point. As long as we look at it as individual efforts trying to solve little problems, we won't make progress.
<makomo> mhm, i see
<beach> Only if we can somehow redirect all that wasted effort into improving the infrastructure will things get better.
<makomo> do you think standardizing on a language is one of the key points to efficient cooperation?
<makomo> i.e. having "one ultimate language" that everyone uses
<beach> The discussion started with ltk vs CLIM, and I think McCLIM is an excellent example of people trying to improve the infrastructure for the common good. Many other such efforts could be created.
<jackdaniel> and McCLIM has now margins on streams ;-) http://hellsgate.pl/files/4b608de4-margins.gif
<beach> I am not in favor of forcing stuff on people. They can use what they want. But, I think we should try to move away from all the unsafe 1960s languages and their "band aid" scripting languages to something safer and faster. I have chosen to do it with Common Lisp. Others my make different choices.
<makomo> jackdaniel: neat
<no-defun-allowed> jackdaniel: that's very nice!
<beach> jackdaniel: Beautiful!
prite has quit [Ping timeout: 268 seconds]
<verisimilitude> Well, C is from 1972.
<verisimilitude> The 1960s languages were superior.
<beach> But it uses 1960s technology.
<jackdaniel> verisimilitude: beach hints, that CL is crappy ;-)
<jackdaniel> it is from '60
<jackdaniel> (LISP is at least)
<verisimilitude> Lisp is from 1958.
<no-defun-allowed> (<= 60 58 69) => false
<jackdaniel> it is hard to joke with people who take words literally, I'll remain serious then and ignore "CL is a silver bullet" thread like I usually do
<beach> verisimilitude: The problem I have is with the idea that we try to emulate a physical machine in one of our processes, so we have this linear address space with access to the stack, and with the requirement that everything be linked into a monolith "executable".
<beach> jackdaniel: It's the medium. IRC doesn't lend itself so much to jokes, irony, etc.
<fiddlerwoaroof> That's what the joke tag ( :) ) is for :)
<makomo> ^^
<no-defun-allowed> LISP 1 wasn't a normal 60s language though. I doubt anyone cared about symbols and conses, and maybe recursion if I can stretch our imagination a bit.
<jackdaniel> I'm pretty sure I get some jokes over the medium (and I did include ";-)", so I'd blame unwillingness here
<no-defun-allowed> bash.org/?top is a good counterexample to "IRC doesn't lend itself so much to jokes" though.
<makomo> no-defun-allowed: LOL this is great
<jackdaniel> so from serious remarks, lisp is a good language imho (I wouldn't use it otherwise) but treating it as an ultimate abstraction sounds too much like a self-congratulation to me (and I'm sure I'd hear the same from "hooked" forth programmers about forth, and from "hooked" erlang programmers about erlang etc)
<verisimilitude> I didn't memorize years like this to not correct people when they're wrong.
<verisimilitude> Oh, I agree, jackdaniel.
<jackdaniel> it is a noble cause to memorize years indeed :)
<verisimilitude> Trying to force a single language is the same issue as with Unicode I mentioned earlier.
<verisimilitude> Instead, it should be easier for languages to interoperate.
<jackdaniel> not my point really. but I have a breakfast to conquer, see you later.
<verisimilitude> C is garbage though and it's unacceptable to have memory errors for doing trivial things just because they've been written in C first.
madrik has joined #lisp
<no-defun-allowed> What was that library that made pretty-looking ASCII equation printouts with the two dimensional fractions named?
q-u-a-n has joined #lisp
<verisimilitude> Are you referring to that Maxima or whatever it was called, no-defun-allowed?
<no-defun-allowed> Not Maxima, no. There was a separate library that typeset equations into ASCII art.
prite has joined #lisp
<aeth> verisimilitude: Unicode is the only solution for multilingual documents. As in, there's literally no other solution that has any kind of real support (well, at least for arbitrary multilingual documents... some languages coincidentally can work together). Sometimes you want one standard for interoperability, like IP. Having Unicode as the standard *helps* languages interoperate.
<aeth> If there were 10 different ways to do things, 9 of them would only be available in C and Java and Python libraries.
<verisimilitude> Being perfectly clear, I don't give a damn about the minor edge case of multilingual documents and even then I think Unicode handles it poorly with its approach.
<aeth> I thought Unicode only handles it poorly in the case of the CJK Unified Ideographs
<verisimilitude> But, a real solution wouldn't have worked well with cat and UNIX and other stupid bullshit, so it wasn't used.
<verisimilitude> Text is the universal interface, aeth. ASCII, I mean EBCDIC, I mean Shift-JIS, I mean UTF-16, I mean UTF-8 is the universal interface, aeth.
<aeth> UTF-8 at the interface, UTF-32 internally in memory when working on a string like an array. Pretty close to universal.
<verisimilitude> Did you entirely miss my point?
<aeth> It seems like you want a perfect way to handle text in an ideal world where you can create a system from complete scratch. That's not how you get a Lisp system that people use. You need ways to interface with the outside world's formats. Lisp machines even had C compilers!
<verisimilitude> Personally, I'd rather get away from the rest of the world.
scymtym has quit [Ping timeout: 240 seconds]
<aeth> Well, personally, I like that text is basically the one place that solved https://xkcd.com/927/
<aeth> (mostly)
<aeth> (interestingly "character encodings" is used as an example there)
<verisimilitude> I've been designing a program for a short while, a first step of sorts towards this goal, aeth. Anyway, the first target of this program was a machine that has no need to interface with the outside world and has no notion of text; when I was designing my metadata format for this, I could've very easily used ASCII for storing some things, but I didn't. Instead, I created my own character set just for this purpose; I much prefer it,
<verisimilitude> too.
kushal has quit [Ping timeout: 256 seconds]
kdas_ has joined #lisp
<fiddlerwoaroof> aeth: the biggest problem with unicode, imo, is the inclusion of emoji and random little pictures
<verisimilitude> So, I try to resist inertia is my point, perhaps, aeth.
<verisimilitude> That seems like a poor way to put it, perhaps.
<aeth> fiddlerwoaroof: Emoji is its Trojan horse. Don't support Unicode and you don't support Emoji so even monolingual Americans complain, even though what really matters is not supporting é and ə and ° etc.
<aeth> Emoji is the hardest part so if you support that you probably support a good chunk of Unicode.
<verisimilitude> I can't even read those, as they don't render.
<no-defun-allowed> 😛
<verisimilitude> But, yes, the inclusion of dead languages, emojis including piles of feces, and other superfluous things is just another reason to dislike Unicode.
<verisimilitude> No, I can't read that either, no-defun-allowed.
<no-defun-allowed> there is one good thing about emojis though: the 🆑 emoji
<fiddlerwoaroof> dead languages is kinda important for the digitization of historical texts
<fiddlerwoaroof> I, for one, am glad that there are code points for me, should I ever decide to learn Linear B
<verisimilitude> I really care about the ability to mix English and Mayan in my filenames, yeah.
anewuser has quit [Ping timeout: 245 seconds]
<aeth> I want a reader macro to program in Lisp with 🌘 and 🌒 instead of ( and )
<verisimilitude> God forbid specialized software for dead languages exist.
<fiddlerwoaroof> the problem with specialized software is that it disappears and then your data is all locked away in a format no one can deal with anymore
<aeth> The problem with specialized software is it's $1999 just because it's rare, not because it has any quality software engineering behind it
<aeth> Oh, and good luck running it on anything other than Windows XP
<verisimilitude> You could have an open standard for encoding it, say.
<fiddlerwoaroof> I've actually worked with people who transcribe manuscripts, and this is a huge issue: they have transcriptions from the 80s that used some random piece of software they had and now they have to re-type 800 pages of manuscripts
<fiddlerwoaroof> verisimilitude: we do, it's called Unicode
<verisimilitude> Well, Unicode sucks and I want to watch it die.
<aeth> That's naïve
<verisimilitude> I have my own ideas about computing and I won't be compelled by those who insist their ideas are great, it's only the entire world needs to adopt it.
<aeth> The difference is close to 99% of the world *has* adopted Unicode.
<verisimilitude> Maybe if you count all ASCII as Unicode.
<aeth> ASCII's dead, transparently converted to UTF-8 with an ugly hack that you don't like.
<aeth> Except such documents at this point are probably only mostly ASCII because they might have a random é or ‽ thrown in.
<verisimilitude> Remember kids: The best way to make a new standard is to make it backwards compatible with the most common standard and then boast about how many users you have.
<verisimilitude> ASCII isn't good, but at least it's smaller than Unicode.
<aeth> Nah, most users are on UCS-16 or whatever Microsoft Windows uses.
<aeth> The future trends of text storage are very clearly UTF-8 thanks to the Internet, though
<aeth> As for ASCII being smaller, that just means it can only handle 99% of English user uses. Lots of edge cases. And the problem is that that 1% is different for everyone.
figurehe4d has quit [Remote host closed the connection]
<verisimilitude> Well, I submitted an article containing some of my thoughts on this earlier; feel free to read it if you want. I'm now busy with something else.
<fiddlerwoaroof> aeth: of course we could always insist that non-English languages just use romanizations /s
<aeth> fiddlerwoaroof: I believe verisimilitude wants every language to have its own encoding
<aeth> (And multilingual documents are apparently too much of an edge case to have encodings, since the combinations would quickly become quite large.)
gxt has joined #lisp
aindilis has quit [Ping timeout: 240 seconds]
Kundry_Wag has joined #lisp
<aeth> (Or, I guess, most charitably, Unicode would only be used for multilingual documents?)
Kaisyu7 has quit [Quit: ERC (IRC client for Emacs 26.1)]
Kundry_Wag has quit [Ping timeout: 240 seconds]
space_otter has quit [Remote host closed the connection]
karlosz has quit [Quit: karlosz]
ravenousmoose has joined #lisp
pierpal has joined #lisp
scymtym has joined #lisp
kdas_ is now known as kushal
orivej has joined #lisp
<LdBeth> Well, you can make programming language independent as much as what DEK did in TeX
<LdBeth> Thanks for his consideration, vanilla TeX can just handle many CJK encodings well while troff requires to link against iconv to just accept UTF-8
ravenousmoose has quit [Quit: Taking a quick nap...ZZzzz]
nowhereman has joined #lisp
varjag has joined #lisp
Lord_of_Life has quit [Ping timeout: 268 seconds]
ravenous_ has joined #lisp
Lord_of_Life has joined #lisp
pvaneynd has quit [Ping timeout: 246 seconds]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 245 seconds]
ravenous_ has quit [Quit: Taking a quick nap...ZZzzz]
ravenousmoose has joined #lisp
orivej has quit [Ping timeout: 250 seconds]
random-nick has joined #lisp
rumbler3_ has joined #lisp
rumbler31 has quit [Ping timeout: 246 seconds]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
ismay has joined #lisp
hectorhonn has quit [Quit: Page closed]
fkac has joined #lisp
fkac has quit [Remote host closed the connection]
quazimodo has quit [Ping timeout: 250 seconds]
Kundry_Wag has joined #lisp
ravenousmoose has quit [Quit: Taking a quick nap...ZZzzz]
figurehe4d has joined #lisp
spoeplau has joined #lisp
Kaisyu has quit [Quit: Connection closed for inactivity]
Kundry_Wag has quit [Ping timeout: 245 seconds]
Josh_2 has joined #lisp
Kundry_Wag has joined #lisp
robdog_ has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
figurehe4d has quit [Remote host closed the connection]
pvaneynd has joined #lisp
orivej has joined #lisp
longshi has joined #lisp
m00natic has joined #lisp
ravenousmoose has joined #lisp
akoana has left #lisp ["Leaving"]
Kundry_Wag has joined #lisp
ravenous_ has joined #lisp
themsay has quit [Ping timeout: 245 seconds]
themsay has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
ravenousmoose has quit [Ping timeout: 250 seconds]
orivej has quit [Quit: No Ping reply in 180 seconds.]
ravenousmoose has joined #lisp
orivej has joined #lisp
<Josh_2> hmm so I have a question about a problem I don't know how to solve. I have an input from a 720p screen and I need to convert the input (which is a coord on the screen) to the same relative position on a 1080p screen or a 4k. This is CL related as I'm using CL for my program :)
ravenous_ has quit [Ping timeout: 250 seconds]
<beach> Do the two have the same aspect ratio?
<Josh_2> Yes
<Josh_2> Although I forgot about aspect ratio... that's something I'll have to figure out
<beach> Doesn't matter.
<beach> Multiply the coordinate by 1080/720
<Josh_2> (/ 1080 720)?
<beach> Yeah. Then maybe round it.
<Josh_2> I'll give that a shot :)
ravenous_ has joined #lisp
<beach> Since it is Common Lisp, you can type 1080/720. It's a perfectly good ratio.
ravenous_ has quit [Client Quit]
pvaneynd has quit [Ping timeout: 268 seconds]
<Josh_2> alrighty thanks :)
<beach> Sure.
ravenousmoose has quit [Ping timeout: 252 seconds]
<phoe> I have found the value of truth in Common Lisp, and it's 29
<beach> Congratulations.
<phoe> (setf *read-base* 36.) t ;=> 29
robdog_ has quit [Remote host closed the connection]
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 240 seconds]
Lord_of_Life_ is now known as Lord_of_Life
ravenousmoose has joined #lisp
<Josh_2> beach: worked like a charm thanks :) now if only I didn't have a curved screen on my phone...
<beach> Glad I could help.
<_death> use a steamroller
drolax has joined #lisp
<Josh_2> ^^
<shka__> _death: it is a smartphone, not a standalone screen, plain old iron should be enough
<shka__> ;-)
<_death> apparently ELS registration is now open
osune has quit [Remote host closed the connection]
drolax has quit [Ping timeout: 252 seconds]
<beach> _death: Are you planning to go?
<_death> beach: I'm considering it, yes
<beach> Great! Where do you live?
<_death> beach: Israel
<beach> That should be doable then.
<_death> beach: I've been to the previous ELS :)
<beach> Sure.
<beach> I just mean that it is not too far, and probably easy to go there.
<_death> yep
ravenousmoose has quit [Quit: Taking a quick nap...ZZzzz]
ravenousmoose[aw has joined #lisp
ravenousmoose[aw has quit [Client Quit]
notzmv has quit [Ping timeout: 250 seconds]
Mr-Potter has joined #lisp
esrse has quit [Ping timeout: 250 seconds]
<Xach> I hope to go
Kundry_Wag has joined #lisp
dddddd has joined #lisp
amerlyq has joined #lisp
Kundry_Wag has quit [Ping timeout: 244 seconds]
nowhereman has quit [Ping timeout: 244 seconds]
markoong has joined #lisp
Josh_2 has quit [Remote host closed the connection]
Josh_2 has joined #lisp
Josh_2 has quit [Remote host closed the connection]
wxie has joined #lisp
nowhereman has joined #lisp
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 250 seconds]
kushal has quit [Remote host closed the connection]
kushal has joined #lisp
<phoe> I'll be at ELS this year
<phoe> I already know my employer will support me in this
longshi has quit [Ping timeout: 246 seconds]
pierpal has quit [Quit: Poof]
pierpal has joined #lisp
<shka__> phoe: how fortunate
pjb has joined #lisp
anewuser has joined #lisp
longshi has joined #lisp
anewuser has quit [Client Quit]
madrik has quit [Remote host closed the connection]
runejuhl has quit [Ping timeout: 250 seconds]
milanj has joined #lisp
xkapastel has joined #lisp
ismay has quit [Ping timeout: 250 seconds]
wxie has quit [Ping timeout: 268 seconds]
<flip214> looks like a colliding business appointment won't be colliding now (proposed for Thu/Fri instead of Mon/Tue), so I guess I'll be there as well!
LiamH has joined #lisp
<phoe> <3
<phoe> easye: will you be able to attend this year?
rippa has joined #lisp
kdas_ has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #lisp
kushal has quit [Ping timeout: 256 seconds]
FreeBirdLjj has quit [Read error: Connection reset by peer]
terpri has joined #lisp
robdog has quit [Ping timeout: 240 seconds]
q3d has joined #lisp
Inline has joined #lisp
orivej has quit [Ping timeout: 245 seconds]
kajo has quit [Ping timeout: 252 seconds]
m00natic has quit [Read error: Connection reset by peer]
libre-man has quit [Ping timeout: 245 seconds]
pvaneynd has joined #lisp
m00natic has joined #lisp
longshi has quit [Ping timeout: 240 seconds]
pvaneynd has quit [Ping timeout: 268 seconds]
Essadon has joined #lisp
Kundry_Wag has joined #lisp
Bike has joined #lisp
cantstanya has quit [Remote host closed the connection]
sjl_ has joined #lisp
Kundry_Wag has quit [Ping timeout: 250 seconds]
cantstanya has joined #lisp
kajo has joined #lisp
spoeplau has quit [Ping timeout: 250 seconds]
shifty has quit [Ping timeout: 250 seconds]
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Ping timeout: 246 seconds]
dale_ has joined #lisp
dale_ is now known as dale
<mfiano> Xach: I posted the wrong link in the request issue. Edited
varjag has quit [Quit: ERC (IRC client for Emacs 25.2.2)]
<Xach> mfiano: are gamebox-math and game-math related?
<mfiano> Domain related, but completely distinct projects
<Xach> ok
JetJej has joined #lisp
jprajzne has quit [Quit: Leaving.]
kdas_ is now known as kushal
sjl_ has quit [Ping timeout: 246 seconds]
sjl_ has joined #lisp
zmv has joined #lisp
zmv is now known as notzmv
tempate has joined #lisp
longshi has joined #lisp
ravenousmoose[aw has joined #lisp
ravenousmoose[aw has quit [Client Quit]
spoeplau has joined #lisp
cage_ has joined #lisp
<phoe> I got some preliminary ACL2 benchmarks for my CCL modification
<phoe> CCL 1.11.5: real 193m55,838s
<phoe> CCL 1.12.dev with PLNs: real 225m41,707s
<phoe> (less is better)
<phoe> that's for acl2 certify-books
<phoe> I'm computing 1.12.def without PLNs now
<phoe> s/def/dev/
<phoe> to have a 1.12 baseline
<phoe> but in the worst case the PLN change has a considerable impact there
nowhereman has quit [Ping timeout: 250 seconds]
CrazyEddy has quit [Remote host closed the connection]
orivej has joined #lisp
trafaret1 has joined #lisp
<trafaret1> hi there
<beach> Hello trafaret1.
<trafaret1> beach: do you programming in common lisp?
<phoe> trafaret1: yes
<beach> trafaret1: Strange question! :) Yes, I do.
<beach> trafaret1: Why do you ask?
<makomo> what's the usual solution to "i would like to establish a binding within a COND clause"?
<makomo> any handy macros from alexandria or such?
<beach> Not sure what you want to do exactly, but On Lisp has a CONDLET macro.
<beach> I used it as an example when I taught "embedded languages" at the engineering school.
<makomo> nice
<makomo> i like the "flatness" of COND, rather than having nested IFs which annoy me
<dlowe> another option that I use occasionally is (let (val) (cond ((setf val (get-val)) ...))
<makomo> but sometimes you need to bind certain stuff before evaluating the condition, in order to avoid recomputing the condition within the clause's body
<makomo> right, but that's ugly :^(
<beach> dlowe: I think that's essentially what the CONDLET macro does.
varjag has joined #lisp
<makomo> in this case i have 2 subexpressions within the condition that i want to save/cache and reuse within the clause's body
<beach> trafaret1: The question is strange because you are in a channel dedicated to Common Lisp.
<dlowe> beach: yeah, seems like a reasonable implementation
<makomo> dlowe: maybe i could get away with that, i'll see how it looks
trafaret1 has quit [Remote host closed the connection]
<makomo> ugh... i would need a PROGN within the condition
<makomo> beach: hmm, that's the reverse of what i'm looking for. the bindings are established only after the clause has been selected (i.e. *after* the condition has been evaluated)
<beach> Oh, OK. Sorry for the noise then.
<makomo> beach: noise? nonsense, thanks for the reference :-)
<makomo> ah also, i just realized, CONDLET's clauses don't have bodies of their own. there's one main body in which the established bindings (acccording to the predicates) are available
<sjl_> 1. write if-let 2. write cond-let to expand to nested if-lets
<sjl_> that's how I'd do it
* sjl_ has already done part 1, never needed part 2
nowhereman has joined #lisp
<makomo> sjl_: now that i wrote out what
<makomo> sjl_: now that i wrote out the usage i had in mind, i'm not sure whether it's more clear or not*
robdog has joined #lisp
q3d has quit [Ping timeout: 256 seconds]
spoeplau has quit [Ping timeout: 268 seconds]
pvaneynd has joined #lisp
tempate has quit [Quit: Leaving.]
<Duns_Scrotus> Hi, I am apparently failing to understand global variables. Can someone explain to me why this doesn't work? https://www.irccloud.com/pastebin/iBDphxFw/huh.lisp
Josh_2 has joined #lisp
Zaab1t has joined #lisp
<phoe> Lisp doesn't have the concept of a global variable
<phoe> also, G is not defined until you run F
<Duns_Scrotus> ok, I am apparently failing to understand function bindings in the global environment
<Duns_Scrotus> phoe: ah!
ravenousmoose has joined #lisp
<phoe> (f) #'g
<phoe> this will work
<Duns_Scrotus> thanks
<pjb> Duns_Scrotus: lisp has a notion of global variables. But it doesn't have a notion of "work" or "doesn't work".
<pjb> Duns_Scrotus: try to refine your question.
<Duns_Scrotus> pjb: no go fuck yourself
<phoe> pjb: wait, does it?
<pjb> (defvar *foo*)
<phoe> aren't these just dynamic variables?
<pjb> Duns_Scrotus: stay an idiot, you're ignored now.
<Josh_2> oofed
<beach> Duns_Scrotus: It is very unusual to want to nest DEFUNs like that.
<pjb> phoe: no, not just. Compare with (let ((*foo*)) (declare (special *foo*)) …)
<phoe> hm
<phoe> I see
<Duns_Scrotus> beach: yes I was just trying to understand how the global environment works
<phoe> that's correct - that's a global dynamic variable
<phoe> Duns_Scrotus: DEFUN is a way of "bind F in the global environment"
<phoe> You evaluate the outer DEFUN
<Duns_Scrotus> yes, I see how it works now
<phoe> The inner DEFUN is not evaluated until you call F though.
fortitude has joined #lisp
shka_ has joined #lisp
pierpal has quit [Quit: Poof]
pierpal has joined #lisp
<pjb> (let ((x 42)) (flet ((f () x) (g () (declare (special x)) (if (boundp 'x) x :unbound))) (list (f) (g) (let ((x 33)) (declare (special x)) (list (f) (g)))))) #| --> (42 :unbound (42 33)) |#
m00natic has quit [Remote host closed the connection]
ravenousmoose has quit [Quit: Taking a quick nap...ZZzzz]
longshi has quit [Ping timeout: 250 seconds]
warweasle has joined #lisp
ravenousmoose has joined #lisp
marvin2 has joined #lisp
frodef has joined #lisp
orivej has quit [Ping timeout: 240 seconds]
<sukaeto> re: "why there is so much FFI stuff"
robdog_ has joined #lisp
<Josh_2> Can I use CLX to determine the number of physical displays connected to my computer?
<sukaeto> I figure it's because CL programmers are being pragmatic, and binding an existing lib is less work than reimplementing the whole thing
<Josh_2> I can get the combined resolution of the created display but not the resolutions of each individual physical device
<sukaeto> and I think binding to C libraries is common in non-scripting languages where the users know that their language is as efficient as C for the same reason
<sukaeto> (e.g. Ada)
gjvc has quit [Remote host closed the connection]
<sukaeto> also, and this is just a dumb anecdote, recently I needed to build a RabbitMQ client in Lisp. I saw there's cl-rabbit (FFI) and cl-bunny (native).
<sukaeto> I wanted to try the native one, I really did. But in the install docs I saw it required a third party library installed on the system.
<sukaeto> and it had a note saying "the version packaged with Debian is broken and doesn't work with this library, don't use it."
<sukaeto> and that was enough for me to just not even bother
robdog_ has quit [Remote host closed the connection]
orivej has joined #lisp
robdog_ has joined #lisp
<sukaeto> Josh_2: I think you want to look at the code that deals with "heads".
<Josh_2> Nothing about that in the clx docs
<sukaeto> (sorry if that's entirely unhelpful - it's the only thing I remember about doing this myself, and I'm not at home so I can't just look in my StumpWM configs to figure it out)
notzmv has quit [Ping timeout: 246 seconds]
abhixec has joined #lisp
ravenousmoose has quit [Quit: Taking a quick nap...ZZzzz]
<scymtym> (xlib/xinerama:xinerama-query-screens *display*) seems to be one way
<Josh_2> Oof that did it :)
<beach> sukaeto: Thanks for confirming my hypothesis.
robdog_ has quit [Remote host closed the connection]
pvaneynd has quit [Ping timeout: 240 seconds]
<sukaeto> hahaha, I just went digging into the stump source
<sukaeto> saw that the xinerama extension is apparently how they do it
<Josh_2> There is no xinerama in clx docs Q_Q
<sukaeto> came back and saw scymtym beat me to it
<Josh_2> Guess i'll have to find the docs for xinerama
<sukaeto> beach: confirmed in what way?
mason has left #lisp [#lisp]
<djeis[m]> Yea there are maybe... a half dozen cases where I consider it not unreasonable to pull in a CFFI lib. One is for tinkering with a particular native lib from somewhere you're comfy, another is for talking platform-level stuff that's only directly exposed as a C API (ie. OpenGL bindings).
orivej has quit [Ping timeout: 272 seconds]
karlosz has joined #lisp
<sukaeto> beach: if you're suggesting that I should've instead spent the time "fixing" the problems with the native client, consider that I'm being paid to make a thing
<sukaeto> as much as I like to improve existing Common Lisp libraries, I can only justify doing so so much
<sukaeto> cl-rabbit worked out of the box. loke suggests that he's used it in production for some time and it's been reliable
<djeis[m]> A third is for adding support for existing platforms to some more abstract API, ie. a lisp lib that has the option to use SDL in order to expand what platforms it supports but doesn't actually require it. But even then, there's a careful cost/benefit analysis that needs to go on there...
<sukaeto> I have no reason to trust him less than I do the authors of cl-bunny
<djeis[m]> sukaeto: If I were to guess, his point is just that relying on a native lib will always cause more trouble than it's worth.
<sukaeto> downloading the source of libfixposix, or whatever it was, compiling and installing it is a complicated extra step that's honestly not worth it
<sukaeto> it's more stuff to put in the docker file that the next person who comes along to maintain it will have to look at and deal with, one more thing that can break down the line
<dlowe> I just apt-get libfixposix
<dlowe> I suppose that doesn't work in docker, obvs
<sukaeto> dlowe: it would work in docker, assuming it works at all :-)
<dlowe> it really does fix a lot of things about FFI with posix
<sukaeto> if it's worked for you, I suppose that means it should work
<sukaeto> I was just going by the docs suggesting that I shouldn't use the Deb package
<dlowe> the problem with posix is that it allows all kinds of things to be implemented with C macros
<djeis[m]> dlowe: that argument hurts me inside, given how much time I spend having to support python code relying on native libs on windows machines...
karlosz has quit [Quit: karlosz]
<dlowe> djeis[m]: I wasn't making an argument for or against anything
<djeis[m]> Fair enough.
<djeis[m]> Still, struck a nerve lol
<dlowe> djeis[m]: I bet the windows API doesn't implement basic functions with C macros though :p
<sukaeto> er, it was in the IOlib docs, not the cl-bunny docs: https://github.com/sionescu/iolib
<dlowe> maybe I'm being naively optimistic
<sukaeto> "As of Debian 9.0 Stable, the libfixposix package uses code from 2011, which is incompatible with the current IOlib and will cause a SEGFAULT on load. Don't use it."
<dlowe> welp
<dlowe> I've been doing just that
<sukaeto> maybe they need to update their docs
<dlowe> no, it really is using a 2011 build
<sukaeto> but said build works, yes?
<dlowe> you know, I'm not really pushing it that hard with my system
gxt has quit [Ping timeout: 250 seconds]
<dlowe> it might fail under some unspecified load
abhixec has quit [Ping timeout: 244 seconds]
ravenousmoose[aw has joined #lisp
ravenousmoose[aw has quit [Client Quit]
dan64 has joined #lisp
<makomo> does anyone know how to print all of the fractional digits of a floating-point number? for example, https://plaster.tymoon.eu/view/1148#1148
<makomo> i've used the IEEE-FLOATS package to confirm that indeed the implementation (SBCL, which should also be using IEEE 754 internally) doesn't lose any information upon the conversion of the rational to a float
<makomo> but for some reason i can't get it to print all of the digits
<verisimilitude> How is it native CL if it still required some foreign library, sukaeto?
<verisimilitude> I'm only vaguely aware of what RabbitMQ is, but is there anything in it that can't be done with standard or even semi-standard Common Lisp?
<sukaeto> verisimilitude: so, apparently cl-bunny makes no claims of being "native". I'm not sure where I've heard it referred to as such.
longshi has joined #lisp
<verisimilitude> Oh, alright.
<sukaeto> I'm guessing here that "native" is a shortcut for "implements the protocol in Lisp, rather than just binds to the C library implementing the protocol"
<verisimilitude> I think it somewhat insults Common Lisp to use a C library; it's not Python, where the language is so poorly designed and implemented that you can't do things efficiently in it with a reasonable implementation. Also, they can be a bother to get working, effectively infinitely more bothersome than a real Common Lisp library that can LOAD without issue.
ravenousmoose[aw has joined #lisp
ravenousmoose[aw has quit [Client Quit]
<phoe> verisimilitude: unless you want to define a UI that works across multiple implementations and operating systems.
<verisimilitude> GUIs are a shitshow, sure.
<phoe> This one simply does not exist yet, unless you boot X servers on other operating systems to launch McCLIM.
<phoe> But hey, X servers aren't Lisp either.
<verisimilitude> I don't like it, in any case, but it's certainly easier to argue for using GTK or Qt, since GUIs under UNIX are always going to be awful for no good reason.
<copec> but macos is unix :-p
<djeis[m]> I agree, except for the hating on Python lol. Python was neither poorly designed nor poorly implemented, it intentionally chose representations and dispatch systems that can't be implemented in a highly performant manner in favor of other design choices. Also, there is a 3rd party McClim backend that uses SDL2, it's just really slow and kinda a mess.
<verisimilitude> I'm still surprised that I'm apparently the first to try to write something comprehensive, instead of just using an Ncurses linking.
<verisimilitude> I've seen I believe one library that didn't link to Ncurses, but it was unfinished and, in my view, rather poorly written.
matijja has joined #lisp
<verisimilitude> The first time I read about Python's one-line limit on lambdas, I thought it was a joke, djeis[m]. There's also no TCO for poor reasons. I've also read an entire article about how Python's halfway equivalent to UNWIND-PROTECT doesn't actually work.
milanj has quit [Quit: This computer has gone to sleep]
shka_ has quit [Quit: Konversation terminated!]
matijja has quit [Remote host closed the connection]
shka_ has joined #lisp
<djeis[m]> The one-line lambdas was dumb, fair. The TCO is intentional tho, TCO can make understanding stack traces harder. And, how is python's finally broken? I'm not aware of that one.
<verisimilitude> Oh, I'll find the link for you, djeis[m].
<copec> From a sysadmin perspective, stuff in python is a godsend over sh
<drmeister> Hi lispers
<drmeister> What do folks think about what is going on in the Java world with Oracle? https://www.reddit.com/r/programming/comments/alvviz/oracles_newest_audit_tactic_focusing_on_java_or/
Zaab1t has quit [Quit: bye bye friends]
<shka_> drmeister: hi
<drmeister> This is going to cause problems for Clojure - no?
<shka_> please go to the lispcafe if you are going to discuss python
<shka_> drmeister: nah
<shka_> drmeister: openjdk is here to stay
<drmeister> That's probably good advice for my comment as well.
<phoe> drmeister: to put it bluntly and somewhat incorrect, only if they use Oracle-licensed code.
<phoe> But, I guess so, yes.
* phoe goes to #lispcafe
* drmeister just hopes minecraft keeps working
<verisimilitude> Play Minetest.
<drmeister> I've checked out minecraft clones in the past. The sheep keep getting stuck in streams.
wigust has joined #lisp
<copec> Is there a minecraft clone in CL?
Gnuxie[m] has joined #lisp
<Gnuxie[m]> yes
<copec> With all these get kids hacking things tying into minecraft, that seems like that would be great
<drmeister> No idea - I'd love to see it though.
<dlowe> you can replicate the code, but it would be very, very hard to replicate the culture that sprang up around the original
<jackdaniel> what about CL implementation implemented in minecraft?
<dlowe> it's like a full-on alternate reality for kids
<jackdaniel> I think I saw a video with a simple computer built on minecraft
<copec> jackdaniel: ahaha
<phoe> jackdaniel: you'd need to craft your own cons cells
<drmeister> Oh dear lord - there goes an hour this weekend checking out https://github.com/pupcraft/sucle
<easye> One can use ABCL to "script" Minecraft, which is almost as good as a "Minecraft clone in CL".
<copec> ^I was wondering about that
<drmeister> easye: Did you do that?
<easye> Yeah.
<copec> any blogs?
<drmeister> Ha ha! Neat!
<easye> Mebbe I should to an ELS 2019 session?
wigust- has quit [Ping timeout: 250 seconds]
<easye> copec: No, but I should blog about it.
<copec> do it!
<drmeister> easye: I would read that blog.
<easye> A little bitrot probably, as I did the integration three-four years ago.
Kundry_Wag has joined #lisp
wigust has quit [Ping timeout: 246 seconds]
<easye> I implemented the "Numberjacks" as animated Minecraft NPCs for my daughter.
<drmeister> Did that come out of our conversation in London?
<phoe> easye: actually I'd love to see that
<phoe> either as a full paper or at least a lightning talk
<copec> drmeister: Do you still wear a white labcoat when you are programming?
<makomo> easye: 1+ from me as well :-)
* drmeister takes no credit for other peoples hard work - but would be tickled.
<easye> drmeister: Encouragement definitely came out of conversations with you and Xach, amongst others.
Sauvin has quit [Read error: Connection reset by peer]
<phoe> "Now let's evaluate this Lisp form to give ourselves diamonds. Diamonds. DIAMONDS!!!1"
<easye> Did we get a one week grace period for ELS submissions?
<phoe> easye: yes
* easye hasn't checked email yet today.
<drmeister> Well, this is the neatest thing I've heard all day.
<phoe> 8th is the deadline
<easye> phoe: Cool. Then I will get one it.
<phoe> easye: if you need any playtesters, I'll gladly spend some time trying to test your stuff on my machine
<easye> phoe: Sure. Lemme get my proverbial bits in a line. Probably have something ready on Monday or so.
<easye> s/one/on/
wigust has joined #lisp
<phoe> some further yak shaving^W^W^W^Wnext step: interface with the ComputerCraft mod to get a Common Lisp REPL in your minecraft game
* drmeister just started playing minecraft again - he's (slowly) working up the minecraft technology stack to explore underwater.
mathpacka has joined #lisp
<djeis[m]> You can actually get OpenComputers to use any registered JVM scripting language.
<djeis[m]> And ABCL implements the proper interfaces to count.
<phoe> djeis[m]: ...so I guess ABCL, too.
<easye> djeis[m]: Yes, thanks to the work of Alessio Stallo.
<phoe> watch out guys, drmeister is going to build an underworld lab to create new crafting recipes in
<drmeister> Minecraft is less depressing than snarfing up political blogs - but it takes so many cycles away from clang compilation.
<easye> But I was working on getting the ABCL REPL in the same process space by including it on the classpath.
Kundry_Wag has quit [Ping timeout: 268 seconds]
<easye> So, one can dynamically introspect and manipulate the Minecraft code via immediate reference, rather than having to bridge some sort of RPC.
<easye> drmeister: But you have many spare cycles for clang compilation, C'est nes pas?
<phoe> easye: clever.
<djeis[m]> That'd be interesting and terrifying, from a minecraft server owner's perspective.
MichaelRaskin has joined #lisp
<easye> I just wanted to animate some bouncing integers...
random-nick has quit [Read error: Connection reset by peer]
<drmeister> easye: I try to keep things ultraportable so I can work anywhere - I am compiling on my macbook Pro all the time. I walk around with it open because it's compiling so much.
<drmeister> easye: How do you deal with the Java obfuscation in Minecraft?
* djeis[m] is considering remote server administration via connecting to a running minecraft server
<phoe> drmeister: it's been dealt with multiple times
<phoe> look at all the mods that have been created
<drmeister> Yeah - but kids have too much time on their hands.
<phoe> drmeister: also, what prevents you from setting up a compile farm for yourself?
<phoe> Someplace that has more cores and RAM than a laptop.
<verisimilitude> Damn kids using Minecraft for server administration instead of DOOM.
<djeis[m]> Does minecraft forge obfuscate it's own symbols?
<drmeister> phoe: I use AWS a lot - but too often I find myself with no internet connection while I'm working on something. I find that maddening.
<drmeister> My laptop is always available.
<phoe> drmeister: I see.
<easye> drmeister: re: obfuscation: by following known hacks that others have done. Recently (last six months) part of the API stabilized by committing a sort of "RPC" interface in one of the Minecraft jars.
<easye> All I needed to do was to periodically add/delete blocks in the world over time.
<drmeister> Jeeeze - I've thought about Common Lisp and minecraft to teach programming so many times over the last decade.
<shka_> drmeister: you are not teaching programming IIRC
<drmeister> I'm not planning on going to ELS this year (crazy, wonderful things are going on here). But ... minecraft... Common Lisp...?!
<phoe> hey, now you'll be able to attach a swank session to a running Minecraft server
<dlowe> Minecraft has been thoroughly decompiled and annotated by hand.
<dlowe> It's an impressive community effort, given the complete lack of interest by its creators.
<drmeister> shka_: Well, I thought, hoped, dreamed I could get my daughter interested in programming.
<phoe> (ql:quickload :mineclasp)
<dlowe> drmeister: it's not for everyone
<shka_> drmeister: IT is horrible, be cautious
<MichaelRaskin> Maybe ABCL could use whatever is known about Minecraft JARs…
<drmeister> Don't get me started. Programming is awesome and terrible at the same time.
<MichaelRaskin> shka_: not being able to program doesn't release you from dealing with IT being horrible, though
<drmeister> Anyway - I need to get ready for a phone conference.
<shka_> yes, but you may not have the bright idea to work in there
<verisimilitude> Modifying this quote comes to mind, drmeister:
<verisimilitude> Hell is other programmers.
<drmeister> easye: I'm really looking forward to seeing what you did there.
<easye> verisimilitude: Uggh. Unfortunately, sometimes true.
<MichaelRaskin> shka_: IT is also proficient at making other places to work horrible, too…
<easye> drmeister: Good. Honestly I didn't end up getting my daughter interested in programming either with this, but it was still cool to do.
* drmeister grumbles - dammit - well - somebody's daughter better get interested in programming.
<sukaeto> I'm not sure I want to inflict this industry on my daughter
<dlowe> my kid is enjoying logo
<sukaeto> on the one hand, if it still pays well when she grows up, it may be worth it
<dlowe> programming is a superpower these days
<dlowe> especially if you don't become a programmer
<sukaeto> on the other . . . literally everything else about this industry
<easye> Well, at least my daughter enjoys discussing mathematics with me, so I am satisfied.
<sukaeto> I'm hoping she'll be willing to learn to program just to be able to automate basic tasks/make her own computer more useful
housel has joined #lisp
<easye> Honestly learning how to type is a big impediment. When I was her age, I spent a lot of time puring over DECWriter printouts, correcting programs ~.
<sukaeto> yeah, it's a shame that typing is less of a necessary skill these days
orivej has joined #lisp
<verisimilitude> If you're going to teach any of your children to type, teach them with a decent layout, such as Dvorak.
<easye> Err. "correcting and writing programs by hand with a pencil"
<easye> s/puring/pouring/
<sukaeto> I honestly believe that it's impossible to communicate as quickly using an onscreen keyboard on a smart phone as it is with a keyboard
<sukaeto> I've heard others express this sentiment as well
<verisimilitude> Using speech recognition seems to be the new popular method.
<aeth> Typing is still a necessary skill for getting real work done, it's just harder to pick it up in leisure activities than in the 1990s. Even on the PC the keyboard is less used. Everywhere. e.g. Back in my day, when I was playing an online FPS, all we had was text chat and if you typed too slowly you got fragged. Kids these days have voice chat in their FPSes, which they often play on consoles without keyboards.
<easye> err s/puring/poring/
<MichaelRaskin> I think even two-thumb physical keyboard might beat on-screen after a minimal learning curve
<MichaelRaskin> (not sure if still true for natural-language input with swipe-a-word interface)
<aeth> By the time I took a typing class in middle school, I was already typing 80-100 WPM
<drmeister> This is what I've been up to for the last couple of months.
<aeth> Oh, and cheat codes in single player PC games (remember cheat codes?) were normally typed, so if you quickly needed resources in Age of Empires II you better get good at quickly writing those four magical words.
<drmeister> Setting up complex molecular simulations with Cando (Common Lisp)
<easye> My daughter can definitely time "m0th3rl0d3" in Sims 4 pretty fast...
<sukaeto> aeth: yeah, that's what I mean. If you were a teenager in the 90s, you talked to all of your friends over AOL instant messenger or ICQ.
<easye> s/time/type/
<sukaeto> there was the brief window where typing was just something you needed to be able to do in every day life
prite has quit [Ping timeout: 245 seconds]
<aeth> sukaeto: You're probably a few years older than me. I had Gaim (now Pidgin) and I had AOL, ICQ, MSNM, and Yahoo and both Yahoo Messenger and ICQ were basically dead, at least in my circles. All of the Americans used AOL IM and all of the international people used MSN Messenger.
<copec> drmeister: I dig seeing you talk about your work in a "non-chemistry colleague" fashion
<sukaeto> aeth: FWIW, all of my international friends used either MSN or ICQ. But the MSN users seemed to be a strict subset of the ICQ users.
<sukaeto> (and yeah, Americans all used AIM)
matijja has joined #lisp
matijja has quit [Remote host closed the connection]
<aeth> What I really miss, though, is being able to use one program (Gaim/Pidgin) for all IM. I don't think I've touched that program since Google Talk went with a proprietary protocol. (Instead, I simply just don't use IM.)
ravenousmoose[aw has joined #lisp
ravenousmoose[aw has quit [Client Quit]
<MichaelRaskin> Pidgin might _still_ be the most multiprotocol client…
<aeth> drmeister: How do you generate the visualizations?
<drmeister> aeth: We ported jupyter widgets and nglview (a molecular visualization jupyter widget) to Cando Common Lisp.
random-nick has joined #lisp
<aeth> ah
<copec> So it is using jupyter as a front end, or like it is reimplemented native?
<drmeister> We are using cl-jupyter. Everything is reimplemented in Common Lisp. There is still the jupyter notebook Python middle-ware and everything on the browser is Javascript (of course and yuck).
<shka_> MichaelRaskin: it is, i am still using it
<copec> drmeister perhaps in the future that could be covered over with JSCL or something
<drmeister> Is there such a thing? JSCL?
<MichaelRaskin> I think it was quite incomplete
<aeth> drmeister: JSCL exists but it doesn't have any interesting (to me) parts of the languages last time I tried the online demo
<drmeister> Ah - I see.
* drmeister should get out more
<MichaelRaskin> I guess the bright future is where Clasp would be able to use LLVM to produce WebAssembly…
* drmeister is waiting for webassembly exception handling and GC - and/or some volunteers to step up.
<phoe> Well, for the good news, package-local nicknames seem not to incur a big runtime penalty on CCL.
<phoe> (For the different-kind-of-good ones, I think I've found other issues in CCL 1.12 while testing.)
<dlowe> :thumbsup:
<copec> Are any of the CL to JS translators full featured?
<phoe> nope
<phoe> getting stuff like the condition system and CLOS to fully work is tricky
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
<LdBeth> Wait, so before CLOS standardized how did they get condition system implemented?
<phoe> the condition system doesn't depend on CLOS, actually
<djeis[m]> The condition system doesn't actually rely on CLOS directly.
<phoe> a portable condition system is implementable just using dynavars
* djeis[m] ninja'd
<phoe> condition objects can be structures like the ones made by DEFSTRUCT.
<phoe> handlers are actually functions that are stored on a stack of sorts. each HANDLER-BIND or HANDLER-CASE actually is equivalent to (let ((*handlers* (append new-handlers *handlers*))) ...)
<djeis[m]> Conditions support multiple inheritance tho, I think.
<phoe> djeis[m]: correct. That's one thing that needs to be handled.
<phoe> I'm talking about a very simple system here though.
<djeis[m]> Yea.
<phoe> SIGNAL searches *HANDLERS* for a list of all handlers that match the type of the signaled condition.
<phoe> think of each element of *HANDLERS* as a cons, (type . function)
<phoe> If TYPE matches, FUNCTION is called with the condition object.
<phoe> If FUNCTION returns normally, the rest of *HANDLERS* is searched until the end.
<phoe> Then SIGNAL returns.
<phoe> If it's ERROR instead, INVOKE-DEBUGGER is called when SIGNAL returns.
<phoe> Restarts are implemented similarly, since they also have dynamic extent.
<phoe> So, if you have a conditionless Lisp, you can create your own condition system.
<phoe> And that's the way it was done to bootstrap a condition system off a conditionless Lisp.
<makomo> how can i print a single-float of value 1.99999988079071044921875 properly, with all of its digits?
<djeis[m]> block lets you handle the nonlocal return, cus you can return-from a block from inside of a nested lambda, and unwind-protect lets you write cleanup code.
<djeis[m]> You can't have a single-float value with that many digits, can you?
<phoe> djeis[m]: you can
<phoe> it's an edge case
<makomo> note that this number is exactly representable within IEEE 754's single-precision floating-point
<makomo> yeah, the mantissa is full
<makomo> but i can't get it to print "properly"
<makomo> even if i specify the number of digits
<makomo> i.e. with ~,60f for example
<makomo> anyone know what the catch is?
<makomo> the funny thing is, INTEGER-DECODE-FLOAT gives back the proper significand and exponent
<makomo> so there was indeed no loss of precision or anything
<nirved> makomo: for precision greater than double-float i usually use clisp long-floats
<makomo> nirved: thing is, that number fits perfectly fine within a single-float
<sukaeto> aeth: FWIW, I still connect to Hangouts via bitlbee
figurehe4d has joined #lisp
<makomo> i think it's just not being printed with the correct number of fractional digits
<sukaeto> I may be doing it through XMPP, I'm not sure (I hardly talk to anyone on Hangouts)
longshi has quit [Quit: WeeChat 2.3]
<makomo> but even if i do something like (format nil "~,50f~%" <value>), it still doesn't print them
ealfonso has quit [Disconnected by services]
<sukaeto> but there is a purple-hangouts plugin that does the proprietary protocol
ravenousmoose has joined #lisp
ravenousmoose is now known as ravenousmoose[aw
<nirved> makomo: single-floats are equivalent after certain precision, no need to print more digits
ravenousmoose[aw has quit [Client Quit]
<makomo> nirved: what do you mean equivalent after certain precision?
<nirved> makomo: same binary representation
<makomo> hm, right, that might be it
<djeis[m]> Right, but the point is that there's a special case of single-floats where the exact decimal representation does actually have that many digits.
<djeis[m]> If I've understood correctly.
<djeis[m]> Although, integer-decode-float gives the same result for 1.99999988079071044921875f0 and 1.9999999f0
<djeis[m]> (On my SBCL lol)
<makomo> right, but along with the number that maps exactly to that floating point number, there are many other values which map to the same floating point number (infinitely many of course)
<makomo> and i guess the printer isn't required to print the exact one, but any of them?
<djeis[m]> The printer is mostly just concerned with print/read consistency.
<makomo> so it can print any of the infinitely many possible values that map into that particular floating pointer number
<makomo> it's still technically correct i guess
<makomo> i guess i would need to implement my own printer if i wanted the described behavior (i.e. always printing the value that maps exactly into the given floating point number, without any error)
<verisimilitude> My figuring was that it's not actually required to adhere perfectly to any standard and so behavior such as this would still be technically correct.
<verisimilitude> So, you can't count on it anyway.
<djeis[m]> Yea, CL doesn't require IEEE floating point, that's why it provides functions for querying the kind of floats you have. It does, however, encourage implementations use IEEE floating point and has a standard feature for supporting it.
<makomo> right, but i've disregarded the actual encoding of the floating-point numbers here
<djeis[m]> The issue is that you've lost those extra decimals once you've stored the value in a single float.
<makomo> hm well, actually, the rationale for the number i picked was IEEE's single-float, but even if SBCL didn't use IEEE 754 to encode the numbers, it still gives back the correct significand and exponent
<makomo> so it's stored properly, without any loss of information
<makomo> INTEGER-DECODE-FLOAT gives 16777215, -23
<djeis[m]> But IEEE single float uses the same bits to represent 1.99999988079071044921875f0 and 1.9999999f0, doesn't it?
<makomo> indeed
<djeis[m]> integer-decode-float gives 16777215, -23 for 1.9999999f0 too.
<makomo> yup
<djeis[m]> So how would the printer know which one is the right one to print?
<makomo> it's a many to one mapping. the issue is that i was expecting the reader to give me the value which maps into my floating-point number *exactly* (without any error)
<makomo> yes, exactly
warweasle has quit [Quit: rcirc on GNU Emacs 24.4.1]
<nirved> floating point numbers are not exact
prite has joined #lisp
<aeth> Well, they can be exact, but they're mostly used to inexactly approximate the real numbers the very important characteristic that they're finite. If they were actually infinite (like bignums) you'd very quickly run out of memory in a lot of problems and things would be much slower. (Technically, even then, there are uncomputable numbers.)
<aeth> s/the real numbers the very/the real numbers with the very/
<aeth> You can actually see this sort of issue in CL when you use rationals for some things. You start with 3/5 and you very quickly wind up with 8792569327849/19765971324829478974811436 in your calculations.
<aeth> (Although in practice you'll probably wind up with it automatically coerced to a float at some point.)
gxt has joined #lisp
pillton has quit [Remote host closed the connection]
pillton has joined #lisp
Josh_2 has quit [Quit: ERC (IRC client for Emacs 26.1)]
keep_learning has quit [Quit: Ping timeout (120 seconds)]
scymtym has quit [Ping timeout: 268 seconds]
quazimodo has joined #lisp
<djeis[m]> Long as you never use a float in your calcs it never will, but that's a tricky restriction sometimes.
lowryder has joined #lisp
<aeth> The problem is that there is no rational-approximation version of EXP, EXPT, SIN, COS, TAN, LOG, etc. So not only will those automatically coerce, they'll coerce to single-float, probably not what you want if you're not caring about performance. (And you couldn't have that without some kind of additional argument or global variable to say how to truncate the rational.)
<aeth> LOG will galdly return single-float if given any number other than a non-single-float float. So (log 64 2) will give you 6.0 even when you might want 6, and that's a bit of a counterintuitive part of the language becuase you'd probably actually want (round (log (coerce 64 'double-float) 2)) if you're passing in an integer (although LOG is a bit of a special case there).
<aeth> (With trig functions you'd probably want some kind of float result)
varjag has quit [Read error: Connection reset by peer]
varjag has joined #lisp
ntbre has joined #lisp
paule32 has joined #lisp
<paule32> hello
pfdietz has joined #lisp
<paule32> by trying to start X11 program, i get: (SB-BSD-SOCKETS:SOCKET-ERROR "connect" 111)
<pfdietz> sbcl version in the channel topic is out of date
ravenousmoose[aw has joined #lisp
phoe changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language | <http://cliki.net/> <https://irclog.tymoon.eu/freenode/%23lisp> <https://irclog.whitequark.org/lisp> <http://ccl.clozure.com/irc-logs/lisp/> | SBCL 1.4.16, CMUCL 21b, ECL 16.1.3, CCL 1.11.5, ABCL 1.5.0
ravenousmoose[aw has quit [Client Quit]
<phoe> pfdietz: please confirm if this is better
<paule32> hi phoe
<phoe> hey paule32
<paule32> #clschool out of time ? :D
<phoe> huh?
scymtym has joined #lisp
<paule32> upgrade code from pjb
<paule32> but i get socket error
<paule32> debugger invoked on a SB-BSD-SOCKETS:CONNECTION-REFUSED-ERROR in thread
eagleflo has quit [Ping timeout: 272 seconds]
pfdietz has quit [Ping timeout: 245 seconds]
karlosz has joined #lisp
<paule32> ok fix it
<paule32> i start Xephyr within X11, but with display :1 instead :0
<paule32> and voila, it work
<paule32> men, hours .. later ... :(
shka_ has quit [Ping timeout: 240 seconds]
<paule32> what i don't understand by lisp is: in the documentation stand's - the eval is from inner to outer box
<paule32> or from right to left
<verisimilitude> You want an explanation of evaluation, paule32?
<paule32> (defin2(define1))
<verisimilitude> Macros and special operators don't necessarily have the normal evaluation rules, paule32.
<paule32> ok
<verisimilitude> So, do you want an explanation or what are you not understanding?
<paule32> ehm, no, was a notice for me
<verisimilitude> Okay.
cage_ has quit [Remote host closed the connection]
<djeis[m]> Evaluation of just function applications is, at each level, left to right. It's just also inner to outer, because all of the arguments need to be evaluated before the function call happens.
figurehe4d has quit [Remote host closed the connection]
frodef has quit [Ping timeout: 250 seconds]
figurehe4d has joined #lisp
drolax has joined #lisp
<paule32> when i try to compile a lisp file to fasl i did: sudo clisp -c lift.lisp
<paule32> i get; Loading "alexandria"
<paule32> *** - Component "alexandria" not found
sjl_ has quit [Ping timeout: 240 seconds]
<no-defun-allowed> Why the hell are you using sudo?
<no-defun-allowed> Don't do that, it's dangerous and odds are asdf and quicklisp won't work right.
drolax has quit [Ping timeout: 250 seconds]
<paule32> how can i install alexandria?
<no-defun-allowed> (ql:quickload "alexandria")
<verisimilitude> Does Alexandria have any dependencies?
<phoe> nope
<verisimilitude> If not, it would probably be easiest to just download it manually, if one doesn't already have Quicklisp.
Bike has quit [Quit: Page closed]
<no-defun-allowed> Nope, but if it did you wouldn't have to bother with finding them, as quicklisp would load those too.
<no-defun-allowed> But, my advice is to install quicklisp anyway, learning CL without it is a bit lonely.
<paule32> the funny thing is
<paule32> (ql:quickload "alexandria")
<paule32> in clisp, dont bring me error
<no-defun-allowed> Yeah, cause that would load it.
<paule32> and (ql:quickload "uiop")
<paule32> work too, if i start clisp first
LiamH has quit [Quit: Leaving.]
<paule32> when starting clisp in console with loading flags, no change to start the application
<aeth> UIOP is weird. You (probably) already have an ancient version of UIOP loaded, as a dependency for ASDF, and Quicklisp just "upgrades" UIOP to the newer version with more features. If you look at the verbose output it's recompiling functions when you quickload it, at least in SBCL.
<pjb> paule32: now, the problem is that X servers nowadays are configured to not listen to TCP ports.
<aeth> And UIOP is written in an odd style to enable this.
<no-defun-allowed> Maybe clisp ignores your init when you load a file like that.
<pjb> paule32: on linux you can use netstat -tnpl|grep 6000 to see if there's a X server listening on port 6000. If not, you won't be able to connect.
<paule32> pjb: yeah
ntbre has quit [Quit: ntbre]
<paule32> i realize that, but don't remember it, bud good to know, a had a project under the table, which use Xephier
prite has quit [Ping timeout: 245 seconds]
<pjb> Adding &key (display 0), I can run (paule-hw::hello-world "127.0.0.1" :display 1) and successfully display this hello world window. ps ax | grep -e 'X.*listen' --> 38628 ?? S 0:00.01 /opt/local/bin/X :1 -listen tcp -iglx
<pjb>
<pjb> paule32: it may be listening to 6001 for :1, 6002 for :2 etc.
iovec has quit [Ping timeout: 252 seconds]
<paule32> pjb: it work very fast
<paule32> my respect
<paule32> no-defun-allowed: http://dpaste.com/1TKWWXB
<pjb> paule32: notice also that DISPLAY can point to a socket; eg. on macOS, it's DISPLAY=/private/tmp/com.apple.launchd.K3QVcZANEn/org.macports:0
<pjb>
<pjb> paule32: this case should be detected and a different way to connect should be used.
Arcaelyx has joined #lisp
<pjb> But perhaps that would require patching clx; I don't know.
iovec has joined #lisp
Khisanth has quit [Ping timeout: 250 seconds]
Arcaelyx has quit [Read error: Connection reset by peer]
Arcaelyx has joined #lisp
shenghi has quit [Ping timeout: 250 seconds]
JetJej has quit [Read error: Connection reset by peer]
Bike has joined #lisp
abhixec has joined #lisp
wxie has joined #lisp
Khisanth has joined #lisp
kajo has quit [Ping timeout: 240 seconds]
kajo2 has joined #lisp
wxie has quit [Ping timeout: 250 seconds]
Inline has quit [Ping timeout: 264 seconds]
Inline has joined #lisp
<lowryder> sjl: I read your "Path to Common Lisp" post some time ago, prompting me to begin a path towards common lisp. I went quite far without worrying about my editor. But now it's maybe time.
<sjl> cool. yeah, if you've gotten comfortable with the language, the next step is the editor
<lowryder> sjl: I'm also a vimmer, and I use vlime. I read on HN that you use a terminal in vim as a direct REPL instead of the read-only bit in vlime
<sjl> Yeah, the neovim terminal split
<lowryder> sjl: (oh man, I didn't expect you to be around so quickly)
<sjl> (I'm about to head to dinner fairly soon)
<lowryder> sjl: I was wondering: if you're modifying a lisp file and you add a function, how do you load just that new function into your running lisp without reloading the whole file?
<lowryder> (I'm sorry if this is very naive. Also, thank you for your post)
random-nick has quit [Ping timeout: 250 seconds]
Mr-Potter has quit [Quit: Leaving]
shenghi has joined #lisp
Mr-Potter has joined #lisp
<sjl> Vlime has a function that will compile the current buffer's file, I have it bound to a keystroke https://hg.sr.ht/~sjl/dotfiles/browse/default/vim/vimrc#L2644
ravenousmoose[aw has joined #lisp
ravenousmoose[aw has quit [Client Quit]
<sjl> So I end up with my files in splits, with a terminal split and the Vlime repl output split also visible, e.g.: https://i.imgur.com/DuBD6WD.png
<sjl> that way I have a normal REPL, but can also use all the Vlime stuff
shifty has joined #lisp
<sjl> I generally use \e more than \f though, to just "compile current top-level expression" rather than the entire file at once
<sjl> Oh, sorry, you said "without loading the whole file". Yeah that's the <localleader>e mapping there.
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 245 seconds]
milanj has joined #lisp
Lord_of_Life_ is now known as Lord_of_Life
kajo2 has quit [Read error: Connection reset by peer]
kajo2 has joined #lisp
eagleflo has joined #lisp