nij- has left #commonlisp [Using Circe, the loveliest of all IRC clients]
taiju has quit [Ping timeout: 240 seconds]
yitzi has joined #commonlisp
recordgroovy has quit [Ping timeout: 256 seconds]
recordgroovy has joined #commonlisp
waleee has quit [Ping timeout: 245 seconds]
recordgroovy has quit [Ping timeout: 265 seconds]
zacts has joined #commonlisp
zacts has quit [Client Quit]
zacts has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
recordgroovy has joined #commonlisp
zacts has quit [Quit: zacts]
akoana has joined #commonlisp
prxq_ has joined #commonlisp
prxq has quit [Ping timeout: 252 seconds]
lottaquestions has quit [Quit: Konversation terminated!]
nick has joined #commonlisp
<beach>
Good morning everyone!
<char>
beach: hello
taiju has joined #commonlisp
nick has quit [Quit: Konversation terminated!]
lottaquestions has joined #commonlisp
lottaquestions has quit [Client Quit]
akoana has quit [Quit: leaving]
Wairu_Goodman has quit [Ping timeout: 240 seconds]
Bike has quit [Quit: leaving]
<hayley>
So, The Art of the Metaobject Protocol turns 30...today or perhaps yesterday depending on time zone.
<beach>
Oh, wow! I'll be sure to celebrate!
<hayley>
I think it happened yesterday for both of us, but better late than never.
<beach>
Yeah.
wilfred has joined #commonlisp
* edgar-rft
always thougth that art is timeless, but whatever makes you happy...
peterhil has quit [Ping timeout: 252 seconds]
Lord_of_Life_ has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 276 seconds]
Lord_of_Life_ is now known as Lord_of_Life
attila_lendvai_ has joined #commonlisp
attila_lendvai_ has quit [Ping timeout: 252 seconds]
shka has joined #commonlisp
selwyn has joined #commonlisp
gaqwas has joined #commonlisp
cjb has joined #commonlisp
pve has joined #commonlisp
hendursa1 has joined #commonlisp
hendursaga has quit [Ping timeout: 244 seconds]
wilfred has quit [Quit: Connection closed for inactivity]
dsk has quit [Ping timeout: 252 seconds]
lisp123_ has joined #commonlisp
cjb has quit [Quit: rcirc on GNU Emacs 28.0.50]
pjb has joined #commonlisp
<lisp123_>
I have question
<lisp123_>
If I define a package, say new-and-improved-lisp, which uses CL (:use :cl)
<lisp123_>
Can I redefine standard functions within this package and they will shadow the standard ones (but where I don't specify them, they will fall back to the standard ones)?
<lisp123_>
I am getting an error "Lock on package COmmon-Lisp violated) - is there a way to suppress this?
fourier_ has joined #commonlisp
fourier has quit [Read error: Connection reset by peer]
<pjb>
The CL (CLOS) standard doesn't impose much introspection/retrospection; just a minimum. This allows to write batch compilers and perform a lot of compilation-time optimizations. The MOP goes 100% Smalltalk: you can redefine everything.
fourier_ has quit [Ping timeout: 265 seconds]
fourier has joined #commonlisp
random-nick has joined #commonlisp
<kakuhen>
that sounds pretty cool
kakuhen has quit [Quit: Leaving...]
Inline has quit [Quit: Leaving]
<lotuseater>
so when someone says to me again this would have nothing to do with OO ...
Inline has joined #commonlisp
<lotuseater>
edgar-rft: timeless for us from the moment on it's discovered :)
waleee has quit [Ping timeout: 272 seconds]
lisp123_ has quit [Quit: Leaving...]
<pjb>
It's completely natural that we have CLOS and the MOP, given that Smalltalk was implemented in lisp originally.
<lotuseater>
haha but again, tell this a blub "OOP software developer"
frgo has quit [Remote host closed the connection]
frgo has joined #commonlisp
yitzi has quit [Quit: Leaving]
froggey-1 has joined #commonlisp
tyson2 has joined #commonlisp
selwyn has quit [Read error: Connection reset by peer]
yitzi has joined #commonlisp
<contrapunctus>
pjb: TIL :o source?
sm2n has quit [Ping timeout: 255 seconds]
<hayley>
I doubt it. I heard that the first Smalltalk-72 VM was written in BASIC though.
<hayley>
And Mr Bobrow of AMOP was a Smalltalk hacker before.
<Josh_2>
'ello
<hayley>
'Allo guv'na.
<Josh_2>
:smirk:
<hayley>
😏
<Josh_2>
hayley: are you no-defun?
<hayley>
Are you no-defun?
<Josh_2>
I'll just assume so then
<hayley>
I reckon pjb is no-defun-allowed.
<hayley>
As the nicks have no letters in common, I bet they thought they could get away with it.
sm2n has joined #commonlisp
kpoeck has joined #commonlisp
nirnam has joined #commonlisp
<jmercouris>
Josh_2: hayley is no-defun-allowed and theemacsshibe
<jmercouris>
I will assume hayley is the actual name
tyson2 has quit [Quit: ERC (IRC client for Emacs 27.2)]
selwyn has joined #commonlisp
zacts has joined #commonlisp
<pjb>
"The first version, termed Smalltalk-71, was created by Kay in a few mornings on a bet that a programming language based on the idea of message passing inspired by Simula could be implemented in "a page of code"."
<pjb>
Well, it's not clear from the linked EarlyHistoryST document if he wrote it in lisp or just was inspired by lisp implementation to write a smalltalk implementation in a similar way.
<pjb>
It's possible the Smalltalk lisp sources I've seen were later implementation in lisp of Smalltalk, on other systems.
<pjb>
You'd do that on any system that has a lisp. You'd implement also LOGO that way…
<pjb>
It's funny that in 70s he worked a lot on the syntax, instead of concentrating on the fundamental mechanism such as message sending and receiving.
<pjb>
A lisper would just implement that; the syntax if sexp didn't suffice, would come later, as way of reader macros…
<pjb>
That's probably why it forked to OO instead of MO.
<Josh_2>
MO?
zacts has quit [Ping timeout: 246 seconds]
silasfox has quit [Ping timeout: 272 seconds]
lad has joined #commonlisp
peterhil has joined #commonlisp
<pjb>
Message Oriented.
<lotuseater>
ahh, like with COP (concurrency oriented)
silasfox has joined #commonlisp
<Josh_2>
ah
<pjb>
Ah yes, Dan Ingalls implemented the first Smalltalk-71 design in BASIC on the NOVA. Hey! Basic wasn't that useless after all :-)
<beach>
In terms of semantics, but not in terms of message to the person reading your code.
<beach>
lisp123_: Use CADR if you have a structure of CONS cells. Use SECOND if you have a list of elements.
<lisp123_>
second = pick the second element, cadr = take the cdr then the car?
<beach>
Yes.
<lisp123_>
thanks
<mfiano>
No
jeosol has joined #commonlisp
<mfiano>
Take the car of the cdr
<mfiano>
Oh i misread, nevermind
<lisp123_>
sorry, i made it confusing ;)
<mfiano>
Read "take the cdr of the car".
<mfiano>
I should wake up, carry on :)
<lisp123_>
beach: have you read SICP?
<lisp123_>
Chapter 4 in particular
zacts has quit [Quit: Client closed]
<beach>
lisp123_: Yes, sometime in the mid 1980s I think.
<beach>
I have it here.
<beach>
Let me check what chapter 4 is about.
<beach>
Got it! What did you want to say about it?
<lisp123_>
Is there a subset of CL for which it can be repeated?
<lisp123_>
I transforming the code now, but I wonder if its something that should be done at a more professional level
<lisp123_>
since it will allow paradigms of logic programming, nondeterministic computing etc, in a standard way
<beach>
It's a very naive approach, meant for pedagogical purposes. You won't get any performance out of it.
<beach>
Other than that, sure I think it is possible.
<beach>
You may also look at Lisp in Small Pieces.
<lisp123_>
Yup its on my list, but I have to get through SICP first and then Design & Analysis of Computer Programming which you recommended and I finally got in the mail
<beach>
Great!
<lisp123_>
if one uses macros will the performance be comparable?
<beach>
You need to compile to native code and do all the traditional compiler optimizations (and then some) to get decent performance.
<lisp123_>
I see
<beach>
lisp123_: I am off to spend the rest of the day with my (admittedly small) family. I hope you can get answers from others in case you have more questions.
<lisp123_>
beach: Enjoy :) Have a great day
psycomic has joined #commonlisp
kpoeck has joined #commonlisp
<nirnam>
is clus still a thing? I'd like something like clhs but in a nicer format
<nirnam>
or something in the sense of linux/posix programmer manual that can pull it out with man page
<lotuseater>
nirnam: you could also download CLHS for reading it offline, also with emacs
<lotuseater>
but ok, having it in org or pdf wouldn't be so bad after all
<lotuseater>
i wonder if the html source is 15MB what size the pdf would be
<jcowan>
WSCL has the final draft ANS in it, which is not as handy as the CLHS, but is public domain
<lotuseater>
nice, i just learned about WSCL from this channel
<nirnam>
have anyone created gnu info version of hyper spec? I suppose could be as light weight and easier to access
<lisp123_>
if I understand correctly, the hyperspec cannot be modified
<lisp123_>
as its under copyright
<nirnam>
but if we distributed it, secretly *wink*
<jcowan>
Correct.
<jcowan>
A side effect of WSCL will be having a truly free hyperspec.
random-nick has quit [Quit: quit]
<lotuseater>
to whom goes the copyright? Kent Pitman and others?
<lisp123_>
LispWorks
<lotuseater>
okay seems reasonable, "--2005"
<nirnam>
I just want cl document/manual that is complete and easy to access without an pdf read or browser
<lotuseater>
nirnam: so emacs :D
<jcowan>
Note that CLHS isn't just the ANS, it has a lot of stuff that kmp added, nottably the issues
<lisp123_>
I mean its mostly well accessible, the only benefit they get is a bit of branding - if its a large FAANG I wouldn't feel bad of 'freeing' it, but don't want to cause any issues to a small company trying to make aliving in lisp :D
<jcowan>
Since anyone can copy the CLHS freely (just not modify it), LispWorks is obviously not making money on it.
<nirnam>
this here is a vim users, I don't want to say it becase I get weird look by other lisper
<lisp123_>
lol, the facts seemed to point to that direction :D
<lisp123_>
does vim have an in built browser? thats all you sort of need
<jcowan>
This here is an 'ex' user (not an ex-user) who drops into vi mode to check paren mattching by bouncing on the % key.
<lisp123_>
a text based browser should be enough
<lotuseater>
and if i now dump parts to pandoc for creating org files and modify them just for myself and educational purpose, LispWorks will hunt me down?
<lotuseater>
"You'll never get this CL qualification!"
<lotuseater>
or better certificate
<nirnam>
well, we just called out to man/info command to veiw document say in C or Perl, there's no reason to use vim itself to veiw the document since it just an editor
<lotuseater>
or use less or this one rust tool that improves less, since less is more
mister_m has joined #commonlisp
<lisp123_>
is there a tool to convert html to man/info?
<lisp123_>
lotuseater: as long as you don't distribute it, I don't think there's any issues, but I am not a lawyer
<lotuseater>
with included batteries for type safe parsing
<lotuseater>
neither am I
selwyn has quit [Read error: Connection reset by peer]
<psycomic>
How is the common lisp exception system implemented? Is it built into the lisp system or is it based on lower level primitives and implemented in lisp itself?
<nirnam>
say if I distribute a script to do exactly that, fetch clhs, parse it to info doc, save it to /usr/share/doc, can I get in trouble with this?
<nirnam>
technically speaking I didn't distribute modified version of the document, I distribute something that does it
<lisp123_>
Not really
<lisp123_>
as in not really, you shouldn't have issues
<lotuseater>
I'm sure LispWorks has an extra department for that, which then comes up with parentheses clubs.
<lisp123_>
On that topic, I bought a copy of the actual standard and was gonna share it publicly, but then ANSI stamped my name on every page lol
<lotuseater>
lol
* lotuseater
bumps out his lambda shield for the next situation
<lotuseater>
it would take me also to the next step writing serious stuff or application software for others
<psycomic>
_death: thank you! i was looking for this
<lotuseater>
maybe in August a project comes up, developing a special system for someone who looks for one since 2019
dsk has joined #commonlisp
lad has joined #commonlisp
selwyn has joined #commonlisp
selwyn has quit [Read error: Connection reset by peer]
psycomic has quit [Quit: Client closed]
kpoeck has quit [Ping timeout: 246 seconds]
lisp123_ has quit [Remote host closed the connection]
lisp123_ has joined #commonlisp
lisp123_ has quit [Ping timeout: 272 seconds]
lisp123_ has joined #commonlisp
lisp123_ has quit [Client Quit]
scymtym has joined #commonlisp
sm2n has left #commonlisp [Leaving]
sm2n has joined #commonlisp
srhm has joined #commonlisp
tfeb has joined #commonlisp
tyson2 has joined #commonlisp
akoana has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 27.1]
tfeb has quit [Remote host closed the connection]
<raeda>
There's LispWorks approved TeX files for the spec hosted on CMU's archive, but I don't know enough about TeX to get it to compile
selwyn has joined #commonlisp
<nirnam>
I think latex is another layer of complication peoples added into thing (but look, pretty formular!), whatever happened to plain old document :<
<nirnam>
I really love pod in Perl, you can embeded your document into your scirpt, and it had to tool to translate it to anything under the sun
tankrim has joined #commonlisp
selwyn has quit [Read error: Connection reset by peer]
zacts has joined #commonlisp
selwyn has joined #commonlisp
tyson2 has quit [Ping timeout: 256 seconds]
yitzi has quit [Quit: Leaving]
recordgroovy has quit [Remote host closed the connection]
meraz_1 has joined #commonlisp
pve has quit [Quit: leaving]
waleee has joined #commonlisp
icepic1984[m] has joined #commonlisp
zacts has quit [Quit: zacts]
psycomic has joined #commonlisp
psycomic has quit [Client Quit]
nij- has joined #commonlisp
<nij->
Hi, I'm wondering if I can make sbcl into a daemon. Something like
<nij->
However, it's achieved by taking many things from clojure, to make `bb` start up very fast.
<nij->
If I have a running repl that will handle the input at any time, I can make use of the full force of CL.
<nij->
s/taking many things/taking many things away/
<nirnam>
yeah that is what server were for, you can imagine that bb is a client that send thing into already running server, process it then send it back
<nij->
IIRC `bb` does it by launching it every time...
<Josh_2>
nij-: if you look into scripting in CL this is how its done
tankrim has quit [Remote host closed the connection]
<mrcom>
nij-: Clozure CL (CCL) is a download-and-run Lisp w/ built-in editor and REPL window. Runs on Mac & Windows. Current version (1.12) seems a bit fragile, though. https://ccl.clozure.com/
tankrim has joined #commonlisp
<kakuhen>
1.12.1 is released on most platforms btw, and if there isn't a binary for your platform you can bootstrap 1.12.1 from 1.12
<kakuhen>
i successfully did this on freebsd/amd64 but became too lazy to edit the portfile and try to convince the maintainer it's a good idea to bootstrap ccl (even though they already do this for sbcl)
<mrcom>
1.12.1 is the version I'm actually running.
<kakuhen>
linux/amd64 gave me strange lisp kernel errors on fedora
<mrcom>
I'm getting strange errors on Mac, too.
wilfred has joined #commonlisp
<kakuhen>
interesting -- my mac hasn't given any problems so far, but I guess I'm not using it too much
<kakuhen>
the most problems i've had with 1.12.1 so far is trying to get a bootstrap working on fedora; it can compile itself just fine, but then loading the bootstrap image will randomly fail when loading some fasl
<mrcom>
I had the same kind of issue (official binary).
<pjb>
Currently, I can't save images with ccl on macOS. No deployment! I'm looking into Lispworks…
<pjb>
Currently, and since a few macOS releases…
Melantha has quit [Ping timeout: 268 seconds]
Melantha has joined #commonlisp
<kakuhen>
huh that's funny, I was able to successfully save a lisp image recently and prepend kernel on some project I'm working on that uses cl-sdl2
<kakuhen>
my only gripe with ccl is that cl-sdl2 will activate my macbook's graphics card even if I specifically ask for software rendering and no hardware acceleration
<moon-child>
no magic envvar? On mesa: LIBGL_ALWAYS_SOFTWARE=1
<kakuhen>
I can "solve" this problem by creating an app bundle and setting NSSupportsAutomaticGraphicsSwitching to YES in the Info.plist file, but that's not a quick solution, or one I can easily automate, yet.
pillton has joined #commonlisp
<mrcom>
pjb: Maybe https://github.com/Clozure/ccl/issues/344 - no saved image on Mojave, Big Sur. SAVE-APPLICATOIN bugging out; TOPLEVEL not reached in PROCESS-EXIT-APPLICATION.
<pjb>
(eq 'pjb 'informatimago) ;-)
tyson2 has joined #commonlisp
<kakuhen>
ok im on catalina and decided to try saving the heap image of this game
<kakuhen>
it "just works"
<kakuhen>
the command in particular I used was (ccl:save-application "a.out" :toplevel-function #'main :prepend-kernel t)
<pjb>
kakuhen: ccl 1.11 or ccl 1.12?
<kakuhen>
CCL 1.12.1 on OS X v10.15
<kakuhen>
It also worked on CCL 1.12
<pjb>
there's something strange happening. I put traces and break and the toplevel form is not reached when it should save the image; only the prepended kernel is saved, but not the image.
<kakuhen>
i will note my program acts funny on mac os when you try to close it the usual way, but that's because cl-sdl2 itself has an issue on mac
<kakuhen>
so on mac your graphics stuff--especially Cocoa-related--needs to be on the main thread (or else the operating system will crash your entire application)
<kakuhen>
but for some reason when you invoke the function to quit sdl, you get stuck on a syscall
<kakuhen>
when I test this game on a REPL I usually run the game in a separate thread with bordeaux threads and kill the thread once I'm done; very gross workaround, but it works.
<kakuhen>
the cl-sdl2 maintainers claim this issue only exists on SBCL, but CCL has the same problem; and I'm not sure how I'd go about collecting information to file an issue
<pjb>
kakuhen: when you quit, ccl uses process-interrupt to terminate the various threads. This may be the source of the problem.
<kakuhen>
i see
<kakuhen>
does it behave differently on freebsd or linux then? because the game quits normally there
<kakuhen>
it's literally just mac os that has this issue, regardless of the implementation I tested it on
<pjb>
I've not posted it to linux yet. It uses mclgui, which implement the GUI classes of MCL on Cocoa (MCL implemented them on the Mac OS Toolbox and Quickdraw).
<mrcom>
I'm getting random SIGSEGVs on main thread when choosing menu items. Usually they work, sometimes they don't.
frgo has quit [Remote host closed the connection]
frgo has joined #commonlisp
silasfox has joined #commonlisp
beach` has joined #commonlisp
srhm has quit [Quit: Konversation terminated!]
beach has quit [Ping timeout: 250 seconds]
gaqwas has quit [Ping timeout: 240 seconds]
selwyn has quit [Read error: Connection reset by peer]
<nij->
Thanks Josh_2. I've been looking into options of CL scripting. But I haven't tested the start-time. I'd still think the fastest way is to have a running CL daemon.