yitzi has quit [Remote host closed the connection]
Lazarou has quit [Ping timeout: 260 seconds]
cmack` has quit [Ping timeout: 252 seconds]
xlymian has joined #commonlisp
lucasta has joined #commonlisp
<bjorkintosh>
zizitop: how many lispers have you met?
<zizitop>
You got me! I've met pretty much zero of them.
<zizitop>
Meeting in the external world, of course.
<zizitop>
A shame, in fact.
<zizitop>
I've met people who appreciate Lisp and know a bit about them. But to me a Lisper must write at least one real-world program with the language.
<zizitop>
Including all the Schemes and all the rest of it.
<zizitop>
That's the sorry situation of Lisp.
<zizitop>
But that's also an exploitable fact.
random-nick has quit [Read error: Connection reset by peer]
<JuanDaugherty>
closest i ever came to paid lisp was some code maintenance at UPS in the 90s which was actually C but the C implemented a cobbled lisp
<JuanDaugherty>
it processed the signatures when you sign for a pkg
<JuanDaugherty>
looking i have not been able to find a single english parser with the sort of level of completion of the grammar i would have expected by now
<JuanDaugherty>
in any lang
<JuanDaugherty>
the stastical model dominance is that total
<JuanDaugherty>
(i changed the subject there)
<zizitop>
It's alright.
<zizitop>
This is the status quo of IRC.
<zizitop>
It is harder than NNTP for sure.
<zizitop>
I hope all of you hang out at comp.lang.lisp, by the way.
<zizitop>
The group could use some a good conversation.
semz has quit [Quit: ZNC 1.8.2+deb2build5 - https://znc.in]
<zizitop>
Anyway, I hope I can come back more often.
<zizitop>
Let me go to sleepe.
<zizitop>
Good night, you all.
zizitop has left #commonlisp [ERC (IRC client for Emacs 27.1)]
semz has joined #commonlisp
synchromesh has quit [Read error: Connection reset by peer]
synchromesh has joined #commonlisp
<JuanDaugherty>
wow newsgroups, even more retro than irc
troojg has quit [Ping timeout: 260 seconds]
<paulapatience>
I'm aware zizitop left, but for the record my name is Paul
<JuanDaugherty>
is apatience a sirname?
<paulapatience>
Patience is my last name, A. is the initial of my middle name
<JuanDaugherty>
ah
<bjorkintosh>
shouldn't matter. on the internet, no one knows you're the famous intergalactic singer Bjork.
<bjorkintosh>
JuanDaugherty: btw, do you see a problem with the statistical model?
<JuanDaugherty>
only that it's irrelevant to parsing
<kanuba>
For all we know, you could be a cat with an incredible strike of luck.
gioyik has quit [Ping timeout: 260 seconds]
<JuanDaugherty>
so typically things supposedly processing sentences arent even parsing, their predicting
<JuanDaugherty>
*they're
<bjorkintosh>
oh of course.
<JuanDaugherty>
there are actual parsers of course
<JuanDaugherty>
but if same resources had gone into that, there would be much more capable ones i think
<JuanDaugherty>
not that I'm complaining, just doing diligence on the matter of fact before concluding it's the case
bubblegum has joined #commonlisp
<JuanDaugherty>
since it's fairly astonishing isn it
thuna`` has joined #commonlisp
ebrasca has quit [Remote host closed the connection]
<beach>
JuanDaugherty: I have wanted to write a grammar checker for some time. That would require a parser, but I think a different one from the ones that attempt to do things like translation or language "understanding".
<JuanDaugherty>
beach, acknowledged
<JuanDaugherty>
it's something of an ineffable point
<JuanDaugherty>
sentences have structure and ofc any structure you could derive by parsing you could approximate in some way statistically
<JuanDaugherty>
approximate satisfactorily for grammar checking, less so perhaps for "understanding"
<beach>
You think so? I have been "convinced" that an ordinary parser would be required for grammar checking.
<JuanDaugherty>
well trynna give popular devils their due
<JuanDaugherty>
as i said 'astonishing'
bubblegum has quit [Quit: disappeared]
bubblegum has joined #commonlisp
Lazarou has joined #commonlisp
bubblegum has quit [Client Quit]
bubblegum has joined #commonlisp
JuanDaugherty has quit [Quit: JuanDaugherty]
istewart has quit [Quit: Konversation terminated!]
Lazarou has quit [Ping timeout: 276 seconds]
danse-nr3 has joined #commonlisp
synchromesh has quit [Ping timeout: 248 seconds]
brokkoli_origin has quit [Ping timeout: 260 seconds]
brokkoli_origin has joined #commonlisp
synchromesh has joined #commonlisp
decweb has quit [Ping timeout: 245 seconds]
bubblegum has quit [Ping timeout: 276 seconds]
bubblegum has joined #commonlisp
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 252 seconds]
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 252 seconds]
shawnw has joined #commonlisp
Lazarou has joined #commonlisp
<Pixel_Outlaw>
I hear backquote is pretty squirrely to implement. Or perhaps it's just done differently Lisp to Lisp. But I want to be sure I do it correctly.
<aeth>
` is fine, multiple `s are... uh... well, to be fair, you shouldn't really nest `s to begin with
<Pixel_Outlaw>
I see, is that considered a "hack" to do?
<aeth>
parts of languages are mocked as read-only or write-only, but nested backquotes are both hard to write and read
Lazarou has quit [Ping timeout: 260 seconds]
amb007 has joined #commonlisp
Bubblegumdrop has quit [Quit: ZNC 1.9.0+deb2+b1 - https://znc.in]
mgl has joined #commonlisp
bubblegum has quit [Read error: Connection reset by peer]
bubblegum has joined #commonlisp
<beach>
Pixel_Outlaw: Are you saying you are implementing the standard backquote macro?
<Pixel_Outlaw>
Is there a non-standard variant?
<Pixel_Outlaw>
I've seen it in nearly all serious Lisps.
<beach>
No, but I was checking whether you are just a user, or whether you are working on some Common Lisp implementation.
<Pixel_Outlaw>
I'm working on a small hobby Lisp using Common Lisp as a general guide, because I'm tired of seeing non-traditional syntax noise Lisps. :)
<beach>
Well, let me modify that. The implementation of it is not standardized.
<beach>
Ouch!
danse-nr3 has quit [Quit: on the move]
<beach>
Pixel_Outlaw: I recommend you look at Eclector, in code/reader/quasiquote-macro.lisp.
<ixelp>
Eclector/code/reader/quasiquote-macro.lisp at master · s-expressionists/Eclector · GitHub
<beach>
Pixel_Outlaw: By the way, ROOM is not SBCL, it's a standard function.
<Pixel_Outlaw>
Ah, nice. I didn't know where the line was offhand.
<Pixel_Outlaw>
But yes, Common Lisp is a very thoughtful Lisp.
<beach>
Pixel_Outlaw: Can I ask why you are implementing a small hobby Lisp?
<Pixel_Outlaw>
I feel it's a milestone of being a Lisp fan. I'm implementing it in kind of a hostile oddball language so I can draw in the multimedia aspects that come bundled with that language too.
<beach>
Hmm.
<Pixel_Outlaw>
beach, the code is not exactly ready yet, but if you like I can shoot you a link via /query.
<beach>
Pixel_Outlaw: Can I assume you are aware of the numerous libraries we have created lately (and some not so lately) that each implements some part of the Common Lisp standard, so that part does not have to be implemented again?
<Pixel_Outlaw>
I've got a REPL
<Pixel_Outlaw>
I am. I'd probably use the Allegro wrapper, Borodust's work or Shinmera's work if I was serious.
<beach>
No, that's fine. I am not in favor of implementing Common Lisp in anything other than Common Lisp.
<Pixel_Outlaw>
On real lisp bare metal? :D
<Pixel_Outlaw>
CADR or bust?
<beach>
Not necessarily.
<beach>
But there is no particular reason to use a language other than Common Lisp to implement Common Lisp.
<Pixel_Outlaw>
So I'm using my first serious programming language as a kid. There is some sentimental value.
<Pixel_Outlaw>
It will probably be my final project in that language.
<aeth>
You should probably skip writing your own LOOP and CLOS... LOOP is a 1000-2000 line macro that you can just take from a portable implementation. And CLOS is probably even larger.
<aeth>
I'm not aware of another part of CL that would be difficult, but there probably are a few more pieces.
<Pixel_Outlaw>
I don't know that I'll get that far. This is for learning. I may actually have to implement Lisp in some form of hostile language. Say I want Lisp in Excel or I want a better Lisp in CAD and end up having C# as the host environment.
<ixelp>
Creating a Common Lisp implementation (Part 1) - Online Lisp Meeting #4, 06.07.2020 - YouTube
<Pixel_Outlaw>
beach, thank you. I am.
<beach>
aeth: For LOOP, we recommend Khazern
<beach>
aeth: For CLOS, we have Clostrophilia, but it can be tricky to use.
<beach>
Pixel_Outlaw: For example (of libraries), Constrictor implements all the functions in the Cons dictionary, except CAR, CDR, RPLACA, and RPLACD.
<aeth>
writing your own cons may be part of the fun, though, even if it's suboptimal
<aeth>
but I think e.g. LOOP is going to be firmly on the not-fun side for most people
<beach>
Pixel_Outlaw: The videos explain why it is not easy to implement Common Lisp in something other than Common Lisp.
<Pixel_Outlaw>
I can appreciate that.
<Pixel_Outlaw>
I will probably watch them tomorrow. I am interested for sure.
<Pixel_Outlaw>
It's getting late here in MT>
psilord has joined #commonlisp
<beach>
Montana?
<Pixel_Outlaw>
Yep, currently half on fire. :P
<beach>
Do you know the song by Zappa?
Th30n has joined #commonlisp
Pixel_Outlaw has quit [Ping timeout: 252 seconds]
King_julian has joined #commonlisp
Th30n has quit [Read error: Connection reset by peer]
synchromesh has quit [Quit: WeeChat 4.0.5]
shka has joined #commonlisp
wacki has joined #commonlisp
shawnw has quit [Ping timeout: 252 seconds]
Bubblegumdrop has joined #commonlisp
pve has joined #commonlisp
Th30n has joined #commonlisp
pieguy128_ has joined #commonlisp
pieguy128 has quit [Ping timeout: 252 seconds]
danse-nr3 has joined #commonlisp
synchromesh has joined #commonlisp
kamafam has joined #commonlisp
oneeyedalien has joined #commonlisp
oneeyedalien has quit [Max SendQ exceeded]
john2 has joined #commonlisp
oneeyedalien has joined #commonlisp
oneeyedalien has quit [Max SendQ exceeded]
john2 has quit [Quit: WeeChat 4.0.5]
kamafam has quit [Remote host closed the connection]
kamafam has joined #commonlisp
danse-118 has joined #commonlisp
john2 has joined #commonlisp
danse-nr3 has quit [Read error: Connection reset by peer]
<phoe>
hybrid so far, but we'll see how the search goes; tbh I expect the pool of polish lispers to go dry at some point, at which point keepit will need to hire remote lispers or grown their own
<beach>
phoe: Are you involved in this company yourself?
<JuanDaugherty>
looks like a standard grift from keepit.com
<JuanDaugherty>
guess it being lisp is supposed to affect that somehow
<phoe>
beach: yes, I am working there and we need more lisp developers on board
<phoe>
JuanDaugherty: ^
<beach>
I see.
<JuanDaugherty>
don't mind me i'm a pensioner and don't have to work for others
<phoe>
congratulations, I want to end up in that position one day :D
<selwon>
phoe: were you talking to the wasm people about porting the non local control flow operators there?
<phoe>
selwon: it was ages ago and not really effective IIRC
<selwon>
also, unfortunately i am currently gainfully employed
<phoe>
nice
<selwon>
phoe: i ask because i recently ported clisp to wasm without even proper setjmp
<selwon>
and it was not easy
<JuanDaugherty>
again as with language parsers that don't parse, crass shops running the same tired ass ol deals are not bad news as a class, happy to set foot on the field of competition with them
<phoe>
selwon: I'm out of sync with the current wasm control flow status, so you'll need to ask someone who's fresh
<selwon>
im more or less done with that project now
<JuanDaugherty>
apologies, wage labor shit sets me off, forgot this wasn a ## channel
<selwon>
i am all too aware of the wasm control flow status xd
<phoe>
oh
<phoe>
my condolences then
<selwon>
hope you are well
dino_tutter has joined #commonlisp
aadcg has quit [Ping timeout: 264 seconds]
<phoe>
yes, well enough; thanks
beach` has joined #commonlisp
beach has quit [Killed (NickServ (GHOST command used by beach`!~user@2a01:cb19:682:4600:90b1:f062:26b6:7ac5))]
danse-118 has quit [Quit: on the move]
beach` is now known as beach
<selwon>
implementing common lisp in another language has a tendency to expose the host language's deficiencies imo
psilord` has joined #commonlisp
<beach>
The main problem as I see it, is that you then need to write the Common Lisp code in a "pidgin" language defined by what you have written in the host language so far, and the Common Lisp modules you have loaded so far.
psilord has quit [Ping timeout: 265 seconds]
<beach>
And keeping track of what "pidgin" version is allowed for each module can be a major problem.
donleo has joined #commonlisp
thuna`` has joined #commonlisp
szkl has quit [Quit: Connection closed for inactivity]
john2 has joined #commonlisp
thuna`` has quit [Ping timeout: 252 seconds]
danse-nr3 has joined #commonlisp
thuna`` has joined #commonlisp
JuanDaugherty has quit [Quit: JuanDaugherty]
Cymew has joined #commonlisp
john2 is now known as synchromesh
synchromesh2 has joined #commonlisp
synchromesh2 has quit [Ping timeout: 256 seconds]
psilord` is now known as psilord
prokhor has quit [Ping timeout: 252 seconds]
prokhor has joined #commonlisp
zetef has joined #commonlisp
zetef has quit [Client Quit]
<selwon>
beach: indeed
<selwon>
i suppose you could have a similar problem even when you implement in common lisp depending on the bootstrapping situation
oneeyedalien has joined #commonlisp
johnjaye has quit [Ping timeout: 248 seconds]
johnjaye has joined #commonlisp
oneeyedalien has quit [Quit: Leaving]
Inline has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
thuna`` has quit [Read error: Connection reset by peer]
pillton has quit [Remote host closed the connection]
thuna`` has joined #commonlisp
King_julian has quit [Ping timeout: 264 seconds]
mgl has quit [Ping timeout: 245 seconds]
yitzi has joined #commonlisp
luca_ has joined #commonlisp
luca_ is now known as OwlWizard
decweb has joined #commonlisp
OwlWizard has quit [Quit: OwlWizard]
X-Scale has joined #commonlisp
mgl has joined #commonlisp
Cymew has quit [Quit: Konversation terminated!]
Cymew has joined #commonlisp
King_julian has joined #commonlisp
X-Scale has quit [Ping timeout: 256 seconds]
X-Scale has joined #commonlisp
zxcvz has joined #commonlisp
X-Scale62 has joined #commonlisp
inline__ has joined #commonlisp
Inline has quit [Killed (iridium.libera.chat (Nickname regained by services))]
inline__ is now known as Inline
X-Scale has quit [Ping timeout: 256 seconds]
<beach>
selwon: Absolutely!
<beach>
selwon: But we are trying to fix that. :)
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
danse-nr3 has quit [Quit: lunch time]
luca_ has joined #commonlisp
luca_ is now known as OwlWizard
random-nick has joined #commonlisp
ym has joined #commonlisp
Cymew has quit [Quit: Konversation terminated!]
Cymew has joined #commonlisp
X-Scale62 has quit [Ping timeout: 256 seconds]
kamafam has quit [Read error: Connection reset by peer]
Cymew has quit [Ping timeout: 252 seconds]
zxcvz has quit [Quit: zxcvz]
Cymew has joined #commonlisp
chkhd has joined #commonlisp
King_julian has quit [Ping timeout: 252 seconds]
OwlWizard has quit [Quit: OwlWizard]
thuna`` has quit [Ping timeout: 245 seconds]
thuna`` has joined #commonlisp
X-Scale has joined #commonlisp
yitzi has quit [Remote host closed the connection]
X-Scale has quit [Ping timeout: 256 seconds]
wacki has quit [Ping timeout: 252 seconds]
wacki has joined #commonlisp
King_julian has joined #commonlisp
danse-nr3 has joined #commonlisp
awlygj has joined #commonlisp
<Shinmera>
Well, not like your CLOS bootstrapping doesn't also have similar issues
uhuh has joined #commonlisp
<beach>
Can you be more specific?
<beach>
I mean, I don't see the issues of my CLOS bootstrapping to be similar, hence my question.
JuanDaugherty has joined #commonlisp
msv has quit [Remote host closed the connection]
msv has joined #commonlisp
rtypo has joined #commonlisp
<Shinmera>
You also proceed in steps of different environments that have expanding capabilities
<beach>
No, they don't have expanding capabilities. They have the same capabilities from the first one.
Inline has quit [Quit: Leaving]
thuna`` has quit [Quit: Quit]
chkhd has quit [Quit: ZZZzzz…]
<beach>
That's the very essence of SICL bootstrapping. The first environment contains full CLOS, because it uses the host CLOS. That way, I can use the existing CLOS code to load Clostrophilia CLOS into the next environments.
<beach>
I think I have made the right decision to stop writing papers for ELS. Clearly, I am not very good at explaining things, and the referees seem to accept the papers anyway.
Inline has joined #commonlisp
Cymew has quit [Quit: Konversation terminated!]
mwnaylor has quit [Ping timeout: 276 seconds]
mwnaylor has joined #commonlisp
cage has joined #commonlisp
yitzi has joined #commonlisp
X-Scale has joined #commonlisp
danse-nr3 has quit []
Th30n has quit [Quit: going off]
X-Scale has quit [Ping timeout: 256 seconds]
chkhd has joined #commonlisp
Inline has quit [Ping timeout: 264 seconds]
chkhd has quit [Quit: ZZZzzz…]
mgl has quit [Ping timeout: 248 seconds]
Inline has joined #commonlisp
JuanDaugherty has quit [Quit: JuanDaugherty]
chkhd has joined #commonlisp
Inline has quit [Quit: Leaving]
gioyik has joined #commonlisp
eddof13 has joined #commonlisp
King_julian has quit [Ping timeout: 252 seconds]
Inline has joined #commonlisp
Inline has quit [Ping timeout: 265 seconds]
synchromesh has quit [Read error: Connection reset by peer]
john2 has joined #commonlisp
john4 has joined #commonlisp
john2 has quit [Ping timeout: 260 seconds]
gioyik has quit [Ping timeout: 260 seconds]
wacki_ has joined #commonlisp
wacki has quit [Ping timeout: 252 seconds]
chkhd has quit [Quit: ZZZzzz…]
lucasta has joined #commonlisp
gioyik has joined #commonlisp
edgar-rft_ has joined #commonlisp
danse-nr3 has joined #commonlisp
edgar-rft has quit [Ping timeout: 245 seconds]
gioyik has quit [Ping timeout: 260 seconds]
thuna`` has joined #commonlisp
shawnw has joined #commonlisp
msv has quit [Remote host closed the connection]
Inline has joined #commonlisp
alcor has joined #commonlisp
gioyik has joined #commonlisp
contrapunctus has quit [Ping timeout: 248 seconds]
gioyik has quit [Ping timeout: 260 seconds]
contrapunctus has joined #commonlisp
brokkoli_origin has quit [Remote host closed the connection]
NotThatRPG has quit [Ping timeout: 276 seconds]
brokkoli_origin has joined #commonlisp
gioyik has joined #commonlisp
dans76272 has joined #commonlisp
gioyik has quit [Ping timeout: 260 seconds]
danse-nr3 has quit [Read error: Connection reset by peer]
Inline has quit [Quit: Leaving]
incesguest has joined #commonlisp
lagash has quit [Ping timeout: 260 seconds]
<incesguest>
Hello all,
<incesguest>
I want to learn common lisp, but I would like to use an implementation on which compiling programs is relatively easy.
<incesguest>
I used one on which compiling programs seemed relatively complex to me compared to C for example.
<incesguest>
Anyone has any advice concerning this?
<beach>
incesguest: Most people here probably use SBCL.
<dlowe>
incesguest: compiling common lisp programs is typically done by running an implementation and then loading lisp code in
<beach>
incesguest: Compilation is standardized, and made easier by the use of ASDF.
<dlowe>
incesguest: you start your program by calling an initial function instead of running an executable
<beach>
incesguest: Right, as dlowe points out, compilation is different in Common Lisp from what it's like in traditional batch languages.
<incesguest>
Okay, so besides learning to structure the program in a specific way there should not be any problem.
<incesguest>
And ASDF should make it even easier.
<incesguest>
Is ASDF another implementation? different than SBCL?
<beach>
No, ASDF is a library that is present by default in all major implementations.
dans76272 has left #commonlisp [#commonlisp]
<beach>
incesguest: You create an ASDF system definition in a .asd file and then you use (asdf:load-system ...) or something similar to compile your code and load it into the running image.
<dlowe>
is lem ready to be the thing to point newbies to?
gioyik has joined #commonlisp
Inline has joined #commonlisp
edgar-rft_ is now known as edgar-rft
<mwnaylor>
There are some packages in quicklisp that help by automating some of the process.
<incesguest>
Okay, thanks for the avdice!
gioyik has quit [Ping timeout: 260 seconds]
<beach>
incesguest: If you are a newbie Common Lisp programmer, you might want to join #clschool. People hang out there specifically to answer questions about Common Lisp.
<incesguest>
Sounds good!
<incesguest>
I will go hang out there.
uhuh has quit [Remote host closed the connection]
incesguest has quit [Quit: Client closed]
Inline has quit [Quit: Leaving]
gioyik has joined #commonlisp
<dlowe>
guess I'll try lem myself then :)
gioyik has quit [Ping timeout: 260 seconds]
Inline has joined #commonlisp
<beach>
dlowe: Looking forward to a report. :)
thuna`` has quit [Quit: Quit]
lucasta has quit [Quit: Leaving]
gioyik has joined #commonlisp
awlygj has quit [Quit: leaving]
gioyik has quit [Ping timeout: 260 seconds]
semarie has quit [Ping timeout: 260 seconds]
gioyik has joined #commonlisp
yitzi_ has joined #commonlisp
yitzi_ has quit [Read error: Connection reset by peer]
yitzi has quit [Ping timeout: 276 seconds]
yitzi has joined #commonlisp
gioyik has quit [Ping timeout: 260 seconds]
amb007 has quit [Ping timeout: 248 seconds]
Inline has quit [Quit: Leaving]
waleee has joined #commonlisp
amb007 has joined #commonlisp
gioyik has joined #commonlisp
dbotton has quit [Excess Flood]
dbotton has joined #commonlisp
gioyik has quit [Ping timeout: 260 seconds]
Inline has joined #commonlisp
mgl has joined #commonlisp
gioyik has joined #commonlisp
mgl has quit [Ping timeout: 272 seconds]
gioyik has quit [Ping timeout: 260 seconds]
mgl has joined #commonlisp
NotThatRPG has joined #commonlisp
gioyik has joined #commonlisp
msv has joined #commonlisp
gioyik has quit [Ping timeout: 260 seconds]
lagash has joined #commonlisp
JuanDaugherty has joined #commonlisp
gioyik has joined #commonlisp
zxcvz has joined #commonlisp
zxcvz has quit [Client Quit]
gioyik has quit [Ping timeout: 260 seconds]
mgl has quit [Ping timeout: 248 seconds]
varjag has joined #commonlisp
gioyik has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
gioyik has quit [Ping timeout: 260 seconds]
prokhor has quit [Remote host closed the connection]
gioyik has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 29.4]
gioyik has quit [Ping timeout: 260 seconds]
prokhor has joined #commonlisp
gioyik has joined #commonlisp
gioyik has quit [Ping timeout: 260 seconds]
Pixel_Outlaw has joined #commonlisp
modula has quit [Ping timeout: 248 seconds]
gioyik has joined #commonlisp
defaultxr has joined #commonlisp
gioyik has quit [Ping timeout: 260 seconds]
<yottabyte>
how do people usually deal with config files in cl? I have normally worked with .properties files
<Inline>
asdf ?
<yitzi>
with *read-eval* nil you can just CL:READ
<yitzi>
In other words, just use s-expressions
<Inline>
yeah, you can just load any config file via (load "/path/to/blah")
<yitzi>
Don't use load
<yitzi>
That will eval
<Inline>
well, if that's the intent.....
<yitzi>
For a properties file? I think the intent is basically with-standard-io-syntax with *read-eval* NIL and then CL:READ.
gioyik has joined #commonlisp
<yottabyte>
not sure what "with *read-eval* nil you can just CL:READ" means... but are you saying I can just write a .config file with like (*something* "abc") in it?
<dlowe>
you don't need *read-eval* nil if you control it
<yottabyte>
basically I have some api keys that I don't want to commit, so I'm going to gitignore them but I need to load them in for my program
<dlowe>
last time I did a config file sort of thing I just had a bunch of forms that I scooped up into a single structure and then looked up the values with assoc
<yitzi>
Nobody controls a plain text config file.
gioyik has quit [Ping timeout: 260 seconds]
<dlowe>
explain?
<yitzi>
yottabyte: CL:READ can call CL:EVAL via #.( ... )
<dlowe>
No, explain why nobody controls a plain text config file
<yitzi>
yottabyte: To prevent evaluation from happening when you call CL:READ you can bind *READ-EVAL* to NIL. That will prevent that. Also, the read-table might be fiddled with, so WITH-STANDARD-IO-SYNTAX will set up a default read-table and read/print bindings.
Ruby has quit [Ping timeout: 260 seconds]
<dbotton>
has anyone written a guide on various usages of packages with classes/methods/generic functions and the play on information hiding
<ixelp>
The Complete Idiot’s Guide to Common Lisp Packages | Common Lisp Docs
<dlowe>
wait, no, that's not the one I wanted
<dbotton>
first time saw that site
gjvc has joined #commonlisp
attila_lendvai has joined #commonlisp
gioyik has joined #commonlisp
<dlowe>
well I can't find the one I wanted. That one is okay, though
<dbotton>
it does not cover the topic at all
<dbotton>
At least from what I see, I see no discussions on handling classes across packages etc
<dlowe>
It doesn't come up - packages are groupings of names not hard boundaries
<dlowe>
There isn't information hiding in the sense of private members
gioyik has quit [Ping timeout: 260 seconds]
<dlowe>
If you want to use a class from package A, you can always (make-instance 'a::the-class)
gioyik has joined #commonlisp
<paulapatience>
For hiding slots, one style is to prefix their name with %, and expose just normally named accessors
<dlowe>
You can then call or create generic functions based on its class
<dlowe>
yes, in CL we have speedbumps not barriers
<dlowe>
for unimported symbols, you have to specify :: instead of :
<paulapatience>
You can still access them, like dlowe showed, but it communicates the intent of privateness
<dlowe>
for accessor-less slots you can use SLOT-VALUE but it's annoying
<dlowe>
You can hide data by stashing them in a closure but it's unidiomatic
gioyik has quit [Ping timeout: 260 seconds]
<dbotton>
there are always loops around things, but I am looking for a simple guide on things like say you have a derivative class, the child requires symbols from another package
<dbotton>
how to make sure the intended interface (protocol guess for CL) is complete for the derivative classes users
<dbotton>
etc
<dbotton>
I am looking to see if anyone wrote such a guide (which funny if haven't)
<dbotton>
before writing one myself
<dbotton>
same goes for the fact that I can "information hide" by preventing some aspects of the "protocol/interface" to be exported to the user
mulk has quit [Ping timeout: 264 seconds]
<dlowe>
If you use a symbol from another package, the symbol is available in the user package
varjag has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.2)]
<dlowe>
(defpackage a (:export foo)) (defpackage b (:use :a)) 'b::foo => a::foo
alcor has quit [Ping timeout: 264 seconds]
<dlowe>
that's true if you import the package too
<dlowe>
(defpackage a) (defpackage b (:import-from a foo)) 'b::foo => a::foo
mulk has joined #commonlisp
gjvc has quit [Ping timeout: 252 seconds]
gioyik has joined #commonlisp
ym has quit [Ping timeout: 265 seconds]
pve has quit [Quit: leaving]
gioyik has quit [Ping timeout: 260 seconds]
<paulapatience>
You might define the protocol of generic functions in one package, and various implementations of it in other packages
<paulapatience>
Then the other packages' classes might have additional accessors which are not part of the principal protocol, which might be accessible only from the secondary package
benkard has joined #commonlisp
mulk has quit [Ping timeout: 260 seconds]
benkard is now known as mulk
yitzi has quit [Remote host closed the connection]
gioyik has joined #commonlisp
X-Scale has joined #commonlisp
gioyik has quit [Ping timeout: 260 seconds]
gioyik has joined #commonlisp
X-Scale has quit [Ping timeout: 256 seconds]
<dbotton>
There really needs to be a paper on this, I am surprise the early works all assumed everything in one package
eddof13 has quit [Quit: eddof13]
shka has quit [Ping timeout: 244 seconds]
eddof13 has joined #commonlisp
char has joined #commonlisp
amb007 has quit [Ping timeout: 252 seconds]
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
attila_lendvai has quit [Ping timeout: 244 seconds]
eddof13 has quit [Quit: eddof13]
<paulapatience>
I think the style of using multiple packages is relatively recent, partly thanks to package-local nicknames.
<paulapatience>
At least, it has become more common
uhuh has joined #commonlisp
wacki_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
wh413 has joined #commonlisp
xlymian has quit [Ping timeout: 276 seconds]
uhuh has quit [Ping timeout: 265 seconds]
<NotThatRPG>
dbotton: I have a vague memory of Fare creating some interface family that aimed at enforcing completeness or at least detecting incompleteness, but I could be misremembering
<dbotton>
Fare?
<dbotton>
Looking to make some tools soon to at least document better actual interfaces/protocols to classes so would be a help