habamax has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.1)]
habamax has joined #commonlisp
rtypo has quit [Ping timeout: 240 seconds]
reb has quit [Remote host closed the connection]
rogersm has joined #commonlisp
xlymian has joined #commonlisp
rogersm has quit [Ping timeout: 264 seconds]
X-Scale has quit [Quit: Client closed]
rogersm has joined #commonlisp
t_pok has joined #commonlisp
<t_pok>
After doing sicp and some scheme books like the seasoned schemer, what's the best way to get into actual CL, befriend the compiler, understand what libraries to know etc.? The amount of features is overwhelming, making me consider racket also
certainty has joined #commonlisp
rogersm has quit [Ping timeout: 245 seconds]
tyson2 has quit [Remote host closed the connection]
<ixelp>
GitHub - CodyReichert/awesome-cl: A curated list of awesome Common Lisp frameworks, libraries and other shiny stuff.
yitzi has quit [Remote host closed the connection]
<aeth>
most people program CL in GNU Emacs with SLIME (or Sly) and paredit (or something else to automatch parentheses)
<aeth>
to learn a lot, simply play around with the REPL with M-x slime
certainty has quit [Ping timeout: 264 seconds]
<aeth>
the most popular implementation is SBCL; other popular choices on IRC include CCL and ECL
<aeth>
older guides or books may recommend CLISP, but it's a slow interpreter instead of a fast compiler and it's basically on life support (though it's not dead yet); last release in 2010 so any distro is probably going to pick an arbitrary git release as the distributed version
<t_pok>
Thank you Aeth! Much appreciated
<aeth>
you're welcome
<t_pok>
I will definitely go with SBCL
xlymian has quit [Ping timeout: 240 seconds]
<aeth>
and the wiki's here, but parts of it are potentially extremely outdated: https://www.cliki.net/
<ixelp>
CLiki: the common lisp wiki
<t_pok>
Ah, I thought it was dead like c2wiki RIP
<aeth>
history seems to start at 2004; the front page seems to be very current, but any random part of it can be very old
<aeth>
(yes, there's Common Lisp at Google; acquisitions)
<t_pok>
I vaguely recall flights was acquired with a lisp backend
<aeth>
yes
rogersm has joined #commonlisp
<t_pok>
Do you have experience with schemes also? I am curious about racket, which has a lot built in. Yet the "industrial" benefit of CL seems like a nice draw. CL seems to offer (very old) production code to read and many greybeards, while racket seems... To just be there.
bjorkint0sh has joined #commonlisp
CO2 has joined #commonlisp
bjorkintosh has quit [Ping timeout: 258 seconds]
<aeth>
Every Scheme is essentially its own ecosystem extended from one of the major standards. The minimalist R5RS and R7RS-small are one side of a schism (with R7RS-large slowly making progress) while the not-minimalist R6RS is the other side of the schism. Even within one of those two universes, portable code is rare and most libraries are written for a given Scheme implementation, while Common Lisp usually
<aeth>
relies on portability libraries to have its libraries run everywhere, see: https://portability.cl/
<ixelp>
Common Lisp Portability Library Status
<aeth>
Racket is closer to R6RS, but isn't an R6RS. The name change from PLT Scheme to Racket reflects a break with Scheme to some degree. For instance, its lists are immutable.
<t_pok>
That portability link is fascinating, thank you.
<moon-child>
s7 (the best scheme) is allegedly compatible with r5rs and r7rs, and also takes significant inspirate from cl and kernel
<moon-child>
inspiration*
<aeth>
Beyond the language differences that are discussed everywhere online (e.g. two variable/function namespaces in CL and one combined namespace in Scheme), in a practical sense, Schemers usually choose implementations based on unportable features and implementation-specific libraries. By contrast, Common Lisp code is usually portable. This is a fairly large cultural difference.
<mariari>
moon-child: what does s7 add?
<t_pok>
My impression was that SBCL, Allegro and Lispworks are the only relevant CL implementations today (when I aksed about befriending the compiler, I meant SBCL). From the outside, knowing how many companies actually use closed source compilers is impossible, but are they (and/or other implementations) still so important?
<waleee>
seems odd that it added stuff when it was a fork of something called tinyscheme
<moon-child>
mariari: notable stuff that comes to mind is first-class lexical environments (and some prototype oo layered on top) and first-class operatives (e.g. I can say (let ((progn begin)) (progn 1 2 3)) #| --> 3 |#)
<aeth>
Basically, if you go with Scheme, treat each as implementation its own dialect or language and embrace the unportable. This probably means sticking to a major one like Racket (which is kind of a Scheme and kind of not), Guile, or Chicken for the libraries.
<aeth>
If you go with SBCL, you probably have no reason to write directly to SBCL, although there are some nice features at https://www.sbcl.org/manual/
<ixelp>
SBCL 2.3.10 User Manual
<moon-child>
mariari: also the behaviour of multiple values is really cute: (+ 2 (values) (values 3 4)) is 9
<bike>
huh, so everything is an mv call? weird.
<moon-child>
yeah
<moon-child>
also you can return multiple values from map and they'll be appended
<aeth>
t_pok: SBCL is the most popular CL implementation today because it's FOSS and the compiler usually produces the fastest code, but because most Common Lisp code is portable, everyone could move to a faster compiler fairly quickly, mainly by porting the most important 1/2 or 1/3 of portability.cl
<aeth>
Also consider other near-future niches like WASM
<aeth>
No WASM implementation yet, but SBCL might be harder to port
<aeth>
There's an attempt to compile CL to JS called JSCL, but it's hard to do so it's incomplete... and it omits a lot of optional behavior that almost every compiler implements. So there probably won't be a complete CL in the browser until someone compiles one to WASM or writes one for WASM. https://github.com/jscl-project/jscl
<ixelp>
GitHub - jscl-project/jscl: A Lisp-to-JavaScript compiler bootstrapped from Common Lisp
<aeth>
The main reason to not use SBCL is for such platforms, though. That's why ECL (Embeddable Common Lisp) has its niches. And CCL has some Mac interop.
akoana has joined #commonlisp
akoana_ has joined #commonlisp
habamax has quit [Remote host closed the connection]
akoana_ has quit [Remote host closed the connection]
akoana has quit [Remote host closed the connection]
habamax has joined #commonlisp
akoana has joined #commonlisp
akoana_ has joined #commonlisp
akoana has quit [Remote host closed the connection]
akoana_ has quit [Remote host closed the connection]
<aeth>
Oh, and Allegro and Lispworks exist because someone, for some reason, decides to pay for them. Perhaps because they have better GUI support. If I had to write a Common Lisp GUI app in SBCL, I'd probably just write one from scratch on top of the 3D/gamedev stack of SDL2 and OpenGL. This has obvious downsides.
<smlckz_>
When trying to quickload coalton, got ''Heap exhausted, game over.'' What can be done in this situation?
akoana has joined #commonlisp
<waleee>
run sbcl with more --dynamic-space-size
<ldb>
I think R5RS and above says literals are immutable
rogersm has quit [Ping timeout: 264 seconds]
<aeth>
ldb: that is the same as in Common Lisp, where if you mutate '(1 2 3 4) you're not going to have a good time, if your implementation even lets you do that (some catch that now)
<ldb>
although not really much implementations there enforced
<aeth>
ldb: Racket doesn't let you mutate (list 1 2 3 4)
<ldb>
aeth: at some point they ditched scheme lol
<waleee>
smlckz_: does quickload work for other libraries? that message doesn't originate from coalton
<waleee>
(going by a grep of the repo)
<aeth>
ldb: Yes. Imo, all Schemes are dialects that are slowly diverging into their own separate languages, but Racket is just a child language derived from Scheme.
<waleee>
ah from sbcl
<mariari>
moon-child: that is very cute
<mariari>
moon-child: I remember reading about replacing progn with values, I forget which paper back when explaining what horrible effects come from that
<moon-child>
wait what how
<mariari>
also does this mean scheme s7 effectively has an image we can do programming on (or some kind of liveness)?
<ldb>
Allegro is used by some research institutions like SRI or Cornell for it has better performance than SBCL sometimes and much smaller memory footprint. Lispworks has a mature native look GUI development kit
<mariari>
moon-child: I forget where I read the paper or blogpost but it looked into what if progn was values instead
<moon-child>
you can use it interactively but there's no s-l-a-d or anything
<mariari>
moon-child: would the toplevel forced not to be hopeless?
<moon-child>
oh the racket thing--remind me what the deal there is?
<ldb>
The PVS prover is distrubuted with Allegro CL although the prover is under a free software license so can also be used with SBCL.
<moon-child>
but yeah I don't think there's any reason why you couldn't use s7 interactively. Contrariwise, first-class environments in principle mean you can encapsulate properly, so it should be possible to avoid the cl problem where you have stale state and can't fix it
<mariari>
moon-child: if you enter values into the repl it will give a different result than loading it from a file
<moon-child>
why?
<mariari>
moon-child: even without first class environments there are some protections one can do, at least I've noticed the issue is much less in factor, though it undefines things if need be
bjorkint0sh has quit [Remote host closed the connection]
<ldb>
but you should able to force set via gitattributes file
bh34e5 has quit [Ping timeout: 264 seconds]
<aeth>
linguist just isn't very good
t_pok has quit [Quit: Client closed]
<aeth>
e.g. you have to force it to detect every .lisp file as Common Lisp because sometimes it will misidentify Common Lisp as iirc newLISP to the point where probably close to 100% of newLISP on Github and Gitlab (they use the same library) is a false positive from Common Lisp
<aeth>
so at least in the context of #commonlisp it simply doesn't work
<aeth>
iirc, it says "define" is newLISP so if you have a file full of DEFINE-CONDITIONs or custom DEFINE-FOO macros, you might get that file misidentified
<aeth>
so, that's great: you can have an entirely standard Common Lisp program, but if you put your conditions in their own file...
BrokenCog is now known as AndyWarhol
AndyWarhol is now known as Gojira
rogersm has joined #commonlisp
prpldmn has quit [Quit: nya]
akoana has left #commonlisp [Leaving]
habamax has quit [Remote host closed the connection]
habamax has joined #commonlisp
rogersm has quit [Ping timeout: 264 seconds]
waleee has quit [Ping timeout: 240 seconds]
ldb has quit [Ping timeout: 240 seconds]
certainty has joined #commonlisp
certainty has quit [Ping timeout: 264 seconds]
t_pok has joined #commonlisp
certainty has joined #commonlisp
t_pok has quit [Quit: Client closed]
rogersm has joined #commonlisp
certainty has quit [Ping timeout: 272 seconds]
rogersm has quit [Ping timeout: 272 seconds]
hayley has joined #commonlisp
hayley has quit [Changing host]
hayley has joined #commonlisp
vats has joined #commonlisp
rogersm has joined #commonlisp
rogersm has quit [Ping timeout: 258 seconds]
rogersm has joined #commonlisp
chiselfuse has quit [Remote host closed the connection]
chiselfuse has joined #commonlisp
notzmv has quit [Ping timeout: 264 seconds]
avocadoist has quit [Remote host closed the connection]
dcb has quit [Quit: MSN Messenger 4.1.1]
certainty has joined #commonlisp
rogersm has quit [Ping timeout: 264 seconds]
certainty has quit [Ping timeout: 248 seconds]
certainty has joined #commonlisp
szkl has quit [Quit: Connection closed for inactivity]
certainty has quit [Ping timeout: 264 seconds]
igemnace has joined #commonlisp
certainty has joined #commonlisp
rogersm has joined #commonlisp
certainty has quit [Ping timeout: 264 seconds]
rogersm has quit [Ping timeout: 272 seconds]
certainty has joined #commonlisp
certainty has quit [Ping timeout: 264 seconds]
vats has quit [Ping timeout: 258 seconds]
certainty has joined #commonlisp
certainty has quit [Ping timeout: 248 seconds]
pve has joined #commonlisp
shka has joined #commonlisp
Pirx has joined #commonlisp
certainty has joined #commonlisp
rgherdt_ has joined #commonlisp
habamax has quit [Remote host closed the connection]
rogersm has joined #commonlisp
rogersm has quit [Ping timeout: 258 seconds]
danza has joined #commonlisp
notzmv has joined #commonlisp
bendersteed has joined #commonlisp
rogersm has joined #commonlisp
vats has joined #commonlisp
shka has quit [Quit: Konversation terminated!]
vats has quit [Ping timeout: 248 seconds]
shka has joined #commonlisp
anticrisis has quit [Read error: Connection reset by peer]
herjazz has joined #commonlisp
danza has quit [Ping timeout: 264 seconds]
gooba_ has joined #commonlisp
gooba has quit [Ping timeout: 264 seconds]
vats has joined #commonlisp
danse-nr3 has joined #commonlisp
dino_tutter has joined #commonlisp
LW has joined #commonlisp
LW has quit [Client Quit]
kenran has joined #commonlisp
dnhester26 has joined #commonlisp
ahc has quit [Quit: Client closed]
rtypo has joined #commonlisp
szkl has joined #commonlisp
remexre has quit [Ping timeout: 240 seconds]
remexre_ has joined #commonlisp
remexre_ is now known as remexre
mal1 is now known as lieven
pok has quit [Server closed connection]
pok has joined #commonlisp
pok has joined #commonlisp
pok has quit [Changing host]
rgherdt_ is now known as rgherdt
donleo has joined #commonlisp
mgl has joined #commonlisp
vats has quit [Ping timeout: 248 seconds]
akoana has joined #commonlisp
rgherdt has quit [Remote host closed the connection]
rgherdt has joined #commonlisp
akoana has quit [Quit: leaving]
akoana has joined #commonlisp
rogersm has quit [Remote host closed the connection]
varjag has joined #commonlisp
rtypo has quit [Ping timeout: 240 seconds]
CO2 has quit [Quit: WeeChat 4.1.1]
akoana has quit [Quit: leaving]
rgherdt_ has joined #commonlisp
rgherdt has quit [Ping timeout: 260 seconds]
Devon has joined #commonlisp
habamax has joined #commonlisp
rgherdt_ is now known as rgherdt
chomwitt has joined #commonlisp
amb007 has quit [Ping timeout: 264 seconds]
amb007 has joined #commonlisp
<dnhester26>
Hi, I'm trying to save an md5 checksum to a DB: I'm getting a vector of unsigned bytes from ironclad, but for some reason I'm having issues saving it to the DB
<dnhester26>
DB Error: number of array dimensions (1820849183) exceeds the maximum allowed (6) (Code: 54000)
<dnhester26>
[Condition of type DBI.ERROR:DBI-DATABASE-ERROR]
<dnhester26>
This is the error I'm getting:
<dnhester26>
I set up the DB column to be `(md5byte :col-type (or :null (:bytea)))`
<dnhester26>
Does anyone have any idea why?
<beach>
What is DB/DBI?
<dnhester26>
beach it's the library I'm using. Sorry, I'm using a package called mito and that uses another package called DBI. Actually, I think I may have just solved the issue
<dnhester26>
Sorry for bothering
<dnhester26>
I was stuck for an hour and just after I wrote this message I tried something different that seemed to work
rogersm has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
rogersm has quit [Ping timeout: 248 seconds]
dnhester26 has quit [Remote host closed the connection]
rogersm has joined #commonlisp
rogersm has quit [Remote host closed the connection]
rogersm has joined #commonlisp
contrapunctus has left #commonlisp [#commonlisp]
beach` has joined #commonlisp
contrapunctus has joined #commonlisp
beach has quit [Killed (NickServ (GHOST command used by beach`!~user@2a01:cb19:f85:d900:1d14:bcc6:d5cd:80c9))]
beach` is now known as beach
gothnbass has joined #commonlisp
dnhester26 has joined #commonlisp
tyson2 has joined #commonlisp
gothnbass is now known as Equill
kenran has quit [Remote host closed the connection]
dnhester26 has quit [Ping timeout: 255 seconds]
vats has joined #commonlisp
chkhd has joined #commonlisp
danse-nr3 has quit [Read error: Connection reset by peer]
danse-nr3 has joined #commonlisp
chkhd has quit [Quit: Poof...]
dnhester26 has joined #commonlisp
danse-nr3 has quit [Ping timeout: 260 seconds]
doyougnu has joined #commonlisp
random-nick has joined #commonlisp
rogersm has quit [Remote host closed the connection]
rogersm has joined #commonlisp
CO2 has joined #commonlisp
yitzi has joined #commonlisp
drakonis has quit [Server closed connection]
drakonis has joined #commonlisp
rogersm has quit [Ping timeout: 245 seconds]
danse-nr3 has joined #commonlisp
Lycurgus has joined #commonlisp
<dnhester26>
If I want to overwrite how lisp will turn an object into a string, is the correct way to write a defmethod of print-object? If so, what package should I use assuming in a particular package? (defmethod sbcl:print-object)? or cl:print-object?
jonatack has joined #commonlisp
<yitzi>
print-object is in CL package
jon_atack has quit [Ping timeout: 264 seconds]
<dnhester26>
thanks yitzi, so just doing (defmethod print-object) is enough, or cl:print-object? I tried it in the repl and it worked, just not sure about doing it in my own package...
<dnhester26>
or is it cl-user:print-object?
<yitzi>
If your package has a :use #:cl in defpackage then you don't need to prefix with cl:
<dnhester26>
ah ok, thanks yitzi, sorry for the simple questions
<yitzi>
You are welcome...no worries
<dnhester26>
besoros tovos
bjorkint0sh has quit [Quit: Leaving]
rogersm has joined #commonlisp
<yitzi>
ty
bjorkintosh has joined #commonlisp
bjorkintosh has joined #commonlisp
bjorkintosh has quit [Changing host]
vats has quit [Ping timeout: 255 seconds]
edr has joined #commonlisp
habamax has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.1.90)]
rgherdt_ has joined #commonlisp
Lycurgus has quit [Quit: leaving]
rgherdt has quit [Ping timeout: 264 seconds]
herjazz has quit [Quit: leaving]
zxcvz has joined #commonlisp
rogersm has quit [Remote host closed the connection]
zxcvz has quit [Client Quit]
zxcvz has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
random-nick has quit [Ping timeout: 260 seconds]
<varjag>
bloody local-nicknames are breaking a build on an old ccl
<varjag>
whenabout they appeared?
<beach>
Why are you using an old CCL?
<varjag>
because it was new ccl when i started using it
<beach>
I think CCL supports them now. Can you install a new version?
<varjag>
possibly, but then i would need to check if nothing else breaks and that can take a while
<varjag>
or maybe i just revert from jzon to yason
rogersm has joined #commonlisp
Gleefre has quit [Remote host closed the connection]
rogersm has quit [Ping timeout: 240 seconds]
CO2 has quit [Quit: WeeChat 4.1.1]
resttime has quit [Server closed connection]
resttime has joined #commonlisp
dnhester26 has joined #commonlisp
msavoritias has joined #commonlisp
Gleefre has joined #commonlisp
dnhester26 has quit [Ping timeout: 240 seconds]
CO2 has joined #commonlisp
dcb has joined #commonlisp
rogersm has joined #commonlisp
dtman34 has quit [Ping timeout: 240 seconds]
dtman34 has joined #commonlisp
rogersm has quit [Remote host closed the connection]
rogersm has joined #commonlisp
random-nick has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
dnhester26 has joined #commonlisp
rogersm has quit [Quit: Leaving...]
waleee has joined #commonlisp
rgherdt has joined #commonlisp
rgherdt_ has quit [Ping timeout: 248 seconds]
bike has quit [Quit: remakin]
larix1 has joined #commonlisp
jfh is now known as kagevf
danse-nr3 has quit [Read error: Connection reset by peer]
rtypo has joined #commonlisp
<skeemer>
how can i print a newline while using princ?