p_l changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language | <https://irclog.tymoon.eu/freenode/%23lisp> <https://irclog.whitequark.org/lisp> <http://ccl.clozure.com/irc-logs/lisp/> | ASDF 3.3.4
dvdmuckle has quit [Remote host closed the connection]
dvdmuckle has joined #lisp
dvdmuckle has quit [Remote host closed the connection]
dvdmuckle has joined #lisp
Oladon has quit [Quit: Leaving.]
red-dot has joined #lisp
ahungry has joined #lisp
monokrom has quit [Remote host closed the connection]
<bitmapper> ecl got a new release a couple of days ago?
nwoob```` has joined #lisp
nwoob``` has quit [Ping timeout: 260 seconds]
<ralt> couple of weeks ago now, but yes
Oladon has joined #lisp
shifty has quit [Ping timeout: 256 seconds]
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
jeosol has joined #lisp
bitmapper has quit [Ping timeout: 256 seconds]
bendersteed has quit [Ping timeout: 256 seconds]
Fare has quit [Ping timeout: 246 seconds]
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
ayuce has joined #lisp
zaquest has quit [Quit: Leaving]
zaquest has joined #lisp
Josh_2 has quit [Ping timeout: 246 seconds]
Oladon has quit [Quit: Leaving.]
Fare has joined #lisp
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
ahungry has quit [Remote host closed the connection]
ahungry has joined #lisp
nmg has joined #lisp
igemnace has quit [Quit: WeeChat 2.8]
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
dddddd_ has quit [Ping timeout: 260 seconds]
igemnace has joined #lisp
<White_Flame> When the name of a macro is mistyped, usually the reported error is related to the parameters not evaluating properly, instead of a function name not found. Is this behavior required by the spec?
pilne has quit [Quit: Give a man a fish and he will eat for a day. Teach him how to fish, and he will sit in a boat and drink beer all day]
<pjb> White_Flame: no, error messages are not specified.
<pjb> White_Flame: but (foo a b c) is interpreted by default as a function call, when foo is not a special operator or a macro. There's no otherway to interpret it!
<White_Flame> I speciificall mean which error situation is reached first
<pjb> White_Flame: therefore a b and c will be interpreted as expressions. If they're ill-formed, you get an error.
<pjb> So most often, the error situation reached first is that.
<White_Flame> right, but could it check for FOO being a validly callable function before attempting to evaluate the arguments?
<pjb> No, it could not. More precisely, it doesn't have to: it is not specified if the function is evaluated before the arguments.
<White_Flame> and throw an error before the arguments have a chance to do so?
<pjb> (foo (defun foo (x y) (list x y)) 42) #| --> (foo 42) |#
<pjb> But also possible, an error message about undefined function foo.
<pjb> left to right evaluation only applies to arguments.
<White_Flame> argh, yeah taht would be a confounding example
<pjb> (foo (defun foo (x y) (list x x y y)) 42) #| --> (foo foo 42 42) |# but (foo 42) is also possible (the old foo).
<White_Flame> a warning would suffice for debug assistance, but yeah that's a valid case where the function doesn't exist before the arguments are evaluated
<pjb> White_Flame: happily, lisp is sexp-based and provides you with READ, so you can easily write your own code analyser to signal such problems.
<pjb> Go ahead, write tools!
<White_Flame> well, I'm talking about basic REPL use
<White_Flame> although similar situations occur for source code files on occasion
<pjb> Me too.
Oladon has joined #lisp
nwoob```` has left #lisp ["ERC (IRC client for Emacs 26.3)"]
turona has quit [Ping timeout: 265 seconds]
turona has joined #lisp
rozenglass has quit [Ping timeout: 260 seconds]
<beach> Good morning everyone!
ayuce has quit [Read error: Connection reset by peer]
Tordek has quit [Ping timeout: 260 seconds]
dyelar has quit [Quit: Leaving.]
vert2 has quit [Ping timeout: 256 seconds]
karlosz has quit [Quit: karlosz]
v3ga has quit [Quit: WeeChat 2.7.1]
mrcom has quit [Read error: Connection reset by peer]
Tordek has joined #lisp
vert2 has joined #lisp
marusich has joined #lisp
Lord_Nightmare2 has joined #lisp
marusich has quit [Remote host closed the connection]
Lord_Nightmare has quit [Ping timeout: 258 seconds]
Lord_Nightmare2 is now known as Lord_Nightmare
mrcom has joined #lisp
rozenglass has joined #lisp
FennecCode has joined #lisp
asarch has quit [Quit: Leaving]
karlosz has joined #lisp
<Fare> beach: bonjour!
ayuce has joined #lisp
Bike has quit [Quit: Lost terminal]
ayuce has quit [Remote host closed the connection]
<jeosol> Fare: you are here? been a while
<jeosol> Good morning beach!
<Fare> jeosol, occasionally. But I don't program new stuff in CL anymore. I'm a Gerbil Schemer, these days.
twelvemonkeys has quit [Ping timeout: 256 seconds]
<Fare> I still help maintain the same old CL systems, though.
<jeosol> Yeah, I remember who told me that
<Fare> But I'm eager to pass the baton on these.
<jeosol> So I figured you came back, bu not
<Fare> Even on ASDF, I let Robert do things I would have redone differently if still the maintainer.
<jeosol> So how has your experience with Gerbil been, remember you said something it not having CLOS, not sure it was you
<Fare> Yeah, its object system has many of the features of CLOS, but not all
twelvemonkeys has joined #lisp
<Fare> I'm sometimes missing on method combinations, for instance, though it's easy enough to work around with conventions or macros.
<jeosol> on the asdf, I still have to go do that POIU/graph dependency thing we chatted about. I'd find sometime after I move
<jeosol> I did start to look at the codes though
<Fare> It should not be *that* hard.
<Fare> POIU passes its tests, it just issues a lot warnings, because it's confused by how ASDF now correctly manages multiple phases in one session.
<jeosol> hahaha, I am not at your level ...
nmg` has joined #lisp
<Fare> yeah... you know the story about the expert and the screw.
<jeosol> I will put some time to it.
<jeosol> lol.
nmg has quit [Ping timeout: 246 seconds]
<jeosol> not quite, but i'd look it up.
heisig has joined #lisp
<jeosol> Using numerous suggestions here, from you, and Rob, the code was stable, and I just left it as it and focused on other things for now. I use a corefile to reduce load time and all.
<Fare> The POIU repair looks like a case of that ^
<Fare> cl-launch (and/or uiop:dump-image and asdf:program-op) can help you automate the corefile dumping.
<jeosol> oh ok, cool. I use sbcl and calling save-lisp-and-die. I'd certainly like to automate things
<jeosol> yeah, not portable, but I only use SBCL. I'd try above
<jeosol> fare: cool story. Yeah, knowing where to tap is key
slyrus has joined #lisp
refpga has quit [Ping timeout: 260 seconds]
narimiran has joined #lisp
refpga has joined #lisp
ArthurStrong has quit [Quit: leaving]
sdumi has quit [Ping timeout: 264 seconds]
sdumi has joined #lisp
gxt has quit [Ping timeout: 240 seconds]
gxt has joined #lisp
patlv has quit [Quit: patlv]
Oddity has quit [Ping timeout: 256 seconds]
zulu-inuoe has quit [Read error: Connection reset by peer]
Oddity has joined #lisp
<markasoftware> Can I make a CLOS initarg mandatory?
<no-defun-allowed> You mean the initarg for a slot? Sure.
nmg`` has joined #lisp
<heisig> markasoftware: You can supply an initform that signals an error. See also alexandria:required-argument.
<no-defun-allowed> (slot-name :initarg :some-name :error (error "Please supply :SOME-NAME") ...)
nmg`` has left #lisp [#lisp]
<markasoftware> i like heisig's idea. no-defun-allowed, I don't see :error listed as a slot option on CLOS defclass
<no-defun-allowed> Oops, I meant :initform, not :error
<markasoftware> ah ok lol
<no-defun-allowed> ...which is precisely heisig's idea.
nmg` has quit [Ping timeout: 246 seconds]
<markasoftware> well yes when typed correctly it is
<markasoftware> thank yo uboth
akoana has joined #lisp
vlatkoB has joined #lisp
Oladon has quit [Quit: Leaving.]
refpga has quit [Ping timeout: 260 seconds]
pjb has quit [Remote host closed the connection]
sdumi has quit [Ping timeout: 272 seconds]
refpga has joined #lisp
dale has quit [Quit: My computer has gone to sleep]
shka_ has joined #lisp
<aeth> alternatively, you could MOP up a :required? or :requiredp or :required-p
sauvin has joined #lisp
ayuce has joined #lisp
<aeth> which method(s) to override is an exercise for the reader
axion has quit [Ping timeout: 264 seconds]
Aurora_v_kosmose has quit [Remote host closed the connection]
axion has joined #lisp
rozenglass has quit [Ping timeout: 260 seconds]
rozenglass has joined #lisp
gravicappa has joined #lisp
Aurora_v_kosmose has joined #lisp
holycow has joined #lisp
oxum has joined #lisp
oxum has quit [Remote host closed the connection]
refpga has quit [Ping timeout: 260 seconds]
pjb has joined #lisp
refpga has joined #lisp
holycow has quit [Quit: Lost terminal]
<White_Flame> aeth: verbing a noun into a pun. I've not seen that before (though it's likely quite old) but I like it
ahungry has quit [Remote host closed the connection]
<White_Flame> *I've not seen that particular punning of MOP before, but I like it
EvW has joined #lisp
<flip214> aeth: it would be awesome if keyword arguments could be T just by putting the keyword in the argument list, like with most unix shell commands
<White_Flame> it would be ambiguous, just like with most unix shell commands
<beach> That would create lots of interesting ambiguities.
<White_Flame> I agree in concept that there should be a non-arg way of representing it, but there isn't and the T is simply more regular and clear
<cgay> In Dylan we call that `required-init-keyword:`
<White_Flame> shell commands have --foo vs -foo in some programs, but that's wildly inconsistent as well
<White_Flame> and does windows still do /foo ?
doomlist3 has joined #lisp
<beach> cgay: Wouldn't that make it hard to use the trick that is often used in Common Lisp, which is that an intermediate function that doesn't care about some keyword arguments, just APPPLYs the callee to the &REST arguments?
sdumi has joined #lisp
<cgay> I was responding to "<markasoftware> Can I make a CLOS initarg mandatory?"
<beach> Oh, I see. Sorry!
<Grue`> White_Flame: it does, DOS command flags were designed to be typed without spaces, for example "xcopy/e/i/h/r/y/c/k"
<White_Flame> ew, I never knew that, and I lived through DOS
<aeth> White_Flame: I only seem to pun CLOS things, e.g. CLOSify
<White_Flame> well, that's just verbing a noun, not making an english pun
<Grue`> regarding mandatory initargs, simply omitting the initform will cause an error the first time the slot is accessed. and this access can be forced in initialize-instance :after
<Grue`> although the initform can be inherited, I guess
<aeth> White_Flame, flip214: I think you might be able to use the MOP to create an API like :flags '(:foo :bar :baz :quux)
<aeth> Of course, :flags '(:required-p) is a loss over :required-p t, but you could probably have enough of them
Codaraxis_ has joined #lisp
<p_l> White_Flame: unix uses - because + was too hard to hit and / was taken by directory separator, DOS and Windows use / because of CP/M (and through CP/M, Digital's OSes), and because of that they had to use \ for directories when they ported the idea from Unix
beneroth has joined #lisp
<p_l> (which nicely dovetails into why I like CL path apis :D)
beneroth has left #lisp ["Leaving"]
Codaraxis has quit [Ping timeout: 256 seconds]
<aeth> Would a Lisp OS use : for paths? Or?
<p_l> aeth: MIT-derived Lisp Machines used Multics style ">" as path separator
<no-defun-allowed> Where we're going, we don't need paths^W^W^W^W^W^W^WJust a list of directory names? Why not '("foo" "bar" "baz")?
<aeth> why not a flat filesystem? :-p
<no-defun-allowed> That wasn't very 🆑🅾︎🆘 of you
<p_l> no-defun-allowed: writing a quoted list is more annoying than special syntax for paths, this is lisp which means we got the power to make things easier through non-hairy means
<no-defun-allowed> p_l: I'm kidding; drop the quote at least? :)
<p_l> no-defun-allowed: and doublequotes adn... :P
<p_l> that said, LispM systems used foreign path syntax for foreign hosts
<p_l> HOSTNAME:<host-specific-syntax>
pjb has quit [Ping timeout: 246 seconds]
EvW has quit [Ping timeout: 260 seconds]
jprajzne has quit [Quit: jprajzne]
jprajzne has joined #lisp
FennecCode has quit [Quit: ERC (IRC client for Emacs 26.3)]
JohnMS_WORK has joined #lisp
<Fare> aeth: : is used for the logical or physical "host"
<Fare> CL pathnames are a horrible mess
doomlist3 has quit [Ping timeout: 256 seconds]
<Fare> as are files in general
jprajzne has quit [Client Quit]
jprajzne has joined #lisp
jprajzne has quit [Quit: jprajzne]
jprajzne has joined #lisp
<cgay> Amen, brother.
<cgay> p_l: for that to work the machine type would've had to be in the namespace system i think. was that in fact the case? i can't remember.
<cgay> or was there enough info in the <host-specific-syntax> by itself perhaps.
jprajzne has quit [Client Quit]
<p_l> cgay: partially - different path syntax also corresponded to different remote FS protocols
jprajzne has joined #lisp
<p_l> But yes, namespace system had system type as a standard attribute
doomlist3 has joined #lisp
<p_l> At least on symbolics, I'm less versed with CADR, Lambda and TI
<cgay> Better memory than I...
random-nick has joined #lisp
doomlist3 has quit [Ping timeout: 256 seconds]
frgo has quit [Remote host closed the connection]
ayuce has quit [Remote host closed the connection]
<Fare> on Genera you had to register the host in the machine's namespace before you could use it, indeed.
<Fare> I don't know whether or how you could delegate the namespace service. I believe you could bootstrap access to a server that would thereafter fulfill further namespace queries
doomlist3 has joined #lisp
<Fare> the most modern protocol it supported was only NFS 2.
ayuce has joined #lisp
toorevitimirp has joined #lisp
<Fare> Which makes it interesting to setup a server for it on Nix
emacsomancer has quit [Ping timeout: 264 seconds]
GreaseMonkey has quit [Ping timeout: 256 seconds]
simplegauss has quit [Ping timeout: 265 seconds]
funnel_ has joined #lisp
[df]_ has joined #lisp
tankman has joined #lisp
<p_l> Fare: I guess you had only one Genera running at a time, right?
greaser|q has joined #lisp
<p_l> normal network used a namespace server which every other machine delegated to
nmg has joined #lisp
simplegauss has joined #lisp
<p_l> I think you had to configure the system with the network name of the namespace server then save that as boot image, and that worked as having enough "proto-namespace" to bring up the rest from namespace server
refpga has quit [*.net *.split]
slyrus has quit [*.net *.split]
narimiran has quit [*.net *.split]
zaquest has quit [*.net *.split]
rwcom341 has quit [*.net *.split]
elflng has quit [*.net *.split]
whiteline_ has quit [*.net *.split]
ineiros has quit [*.net *.split]
rixard has quit [*.net *.split]
mgr_ has quit [*.net *.split]
Krystof has quit [*.net *.split]
bkst has quit [*.net *.split]
kingcons has quit [*.net *.split]
Mandus has quit [*.net *.split]
AdmiralBumbleBee has quit [*.net *.split]
funnel has quit [*.net *.split]
luis has quit [*.net *.split]
payphone has quit [*.net *.split]
aap has quit [*.net *.split]
alandipert has quit [*.net *.split]
gabot has quit [*.net *.split]
[df] has quit [*.net *.split]
gko` has quit [*.net *.split]
matijja has quit [*.net *.split]
funnel_ is now known as funnel
refpga has joined #lisp
shifty has joined #lisp
femi has quit [Ping timeout: 246 seconds]
pve has joined #lisp
narimiran has joined #lisp
aap has joined #lisp
matijja has joined #lisp
ineiros has joined #lisp
bkst has joined #lisp
rixard has joined #lisp
zaquest has joined #lisp
luis has joined #lisp
alandipert has joined #lisp
kingcons has joined #lisp
payphone has joined #lisp
gko` has joined #lisp
AdmiralBumbleBee has joined #lisp
Mandus has joined #lisp
rwcom341 has joined #lisp
whiteline_ has joined #lisp
elflng has joined #lisp
slyrus has joined #lisp
mgr_ has joined #lisp
Cymew has joined #lisp
toorevitimirp has quit [Remote host closed the connection]
gabot has joined #lisp
refpga has quit [Ping timeout: 259 seconds]
refpga has joined #lisp
toorevitimirp has joined #lisp
frgo has joined #lisp
frgo has quit [Remote host closed the connection]
frgo has joined #lisp
frgo has quit [Remote host closed the connection]
toorevitimirp has quit [Remote host closed the connection]
frgo has joined #lisp
emacsomancer has joined #lisp
toorevitimirp has joined #lisp
liberliver has joined #lisp
shifty has quit [Read error: Connection reset by peer]
shifty has joined #lisp
toorevitimirp has quit [Remote host closed the connection]
toorevitimirp has joined #lisp
ayuce has quit [Remote host closed the connection]
duncan_ has joined #lisp
<p_l> fun bit about CL pathnames - if one was willing to implement some more windows-specific code in I/O part of a Lisp implementation, all pathname components in CL pathname would get represented
refpga has quit [Ping timeout: 240 seconds]
refpga has joined #lisp
duncan_ has quit [Client Quit]
toorevitimirp has quit [Remote host closed the connection]
rogersm has joined #lisp
<phoe> do you mean NTFS-specific stuff?
ljavorsk has joined #lisp
<White_Flame> likely \\FOO\ for the host portion, and FOO: for the device portion
<Fare> p_l, correct, I only ever had one Genera at a time, but I could see that you could bootstrap your namespace to define a namespace server. Kind of like there are bootstrap mechanisms for DNS.
refpga has quit [Ping timeout: 272 seconds]
refpga has joined #lisp
<White_Flame> does ntfs do automatic file versioning though?
JohnMS_WORK has quit [Read error: Connection reset by peer]
<White_Flame> it obviously has its multiple data streams or whatever they're called per file, but I don't recall versioning specifically
wxie1 has joined #lisp
<p_l> White_Flame: there's versioning support in NT API and ways to implement it over NTFS and not only
<White_Flame> so not an actual filesystem feature?
<White_Flame> but yeah, would at least map CL files -> OS file api
<p_l> White_Flame: it's part of OS API, but details on implementation are left to drivers. There's feature that runs over NTFS to implement it (check "previous versions" tab in file properties) and there's support for CIFS to do it, which is implemented on Samba for example
<p_l> NT pathnames "kind of" lost the device part, as formally it's \\HOST\path\to\object, but there's a registry key of symbolic aliases for DOS-style device names
<p_l> so "C:" doesn't exist once you pass from winapi to NT, it's an alias for real path
<White_Flame> yeah, and becomes more like the Amiga ;)
<p_l> didn't see any Amiga relationship there. Would be closer to Sun Spring, but of course the real source for pretty much everything in NT core is VMS
<p_l> including NTFS
<White_Flame> the amiga let you define any path as any NAME: which are global aliases, and included some standard ones like LIB:
<White_Flame> so you could move standard locations to different drives quite easily
<p_l> White_Flame: ah, VMS had similar setup though it was more similar to using environment variables
<White_Flame> or create different machine contexts by moving to new mappings
<p_l> in this case, it's more to ease the support for DOS-derived code etc.
frgo has quit [Ping timeout: 264 seconds]
refpga has quit [Read error: Connection reset by peer]
refpga has joined #lisp
frgo has joined #lisp
tankman has quit [Quit: Leaving]
Fare has quit [Ping timeout: 260 seconds]
pjb has joined #lisp
karswell_ has joined #lisp
c_nix has joined #lisp
<c_nix> is 2020 going to be a year of LISP?
<c_nix> :P
<phoe> c_nix: sure, just like 2019
<no-defun-allowed> What I learnt in physics class is that things remain at rest unless external forces affect them.
<c_nix> that explains why I see greenskinned multieyed elephants waving flags everywhere
flazh has quit [Ping timeout: 256 seconds]
<no-defun-allowed> Other than that, everything went over my head, but you probably should consider making it so if you want a year of Lisp.
refpga has quit [Ping timeout: 260 seconds]
dvdmuckle has quit [Remote host closed the connection]
dvdmuckle has joined #lisp
<beach> Lets hope that 2020 is NOT going to be the year of "LISP", since that would represent a step backward of a few decades. I vote for it to be the year of Common Lisp instead.
<no-defun-allowed> That's a good point. I don't know if I have any left over teletypes.
<beach> Otherwise, we would all have to write our programs in all capital letters and with no indentation.
<beach> c_nix: You seem to be new here. If you don't already know Common Lisp, I recommend you learn it, whether it becomes the language of this year or not.
<c_nix> im not unfamiliar with lisp
<beach> Great!
doomlist3 has quit [Ping timeout: 256 seconds]
refpga has joined #lisp
orivej has quit [Ping timeout: 265 seconds]
orivej has joined #lisp
frgo has quit [Ping timeout: 258 seconds]
flazh has joined #lisp
wxie1 has quit [Ping timeout: 260 seconds]
pjb has quit [Ping timeout: 272 seconds]
Zakkor has joined #lisp
dddddd has joined #lisp
orivej has quit [Ping timeout: 240 seconds]
cantstanya has quit [Ping timeout: 240 seconds]
femi has joined #lisp
cantstanya has joined #lisp
sdumi has quit [Ping timeout: 246 seconds]
sdumi has joined #lisp
femi has quit [Ping timeout: 256 seconds]
bendersteed has joined #lisp
rogersm has quit [Quit: Leaving...]
femi has joined #lisp
doomlist3 has joined #lisp
refpga has quit [Read error: Connection reset by peer]
refpga has joined #lisp
marcoxa has joined #lisp
shka_ has quit [Ping timeout: 264 seconds]
frgo has joined #lisp
joshcom has joined #lisp
milanj has joined #lisp
joshcom has quit [Ping timeout: 256 seconds]
tichun has joined #lisp
jello_pudding has quit [Ping timeout: 244 seconds]
karlosz has quit [Quit: karlosz]
<tichun> Hi, wanted to study MIT SICP book that uses Scheme, but the software is not available on Raspberry Pi, hence the question: can scheme be replaced by sbcl/clisp/gcl?
<Shinmera> No
<tichun> Thanks
jello_pudding has joined #lisp
<phoe> tichun: you can do the SICP exercises in Common Lisp, but note it's a different dialect of Lisp, and therefore some (if not most) of the exercises will need a little bit of adaptation
marcoxa` has joined #lisp
lacroixboy_ has joined #lisp
rumbler3_ has joined #lisp
jello_pudding has quit [Ping timeout: 244 seconds]
minion has quit [Disconnected by services]
minion has joined #lisp
frgo has quit [Read error: Connection reset by peer]
<no-defun-allowed> tichun: https://www.raspberrypi.org/forums/viewtopic.php?t=14408 says MIT Scheme would run on a Pi, but that's heading into off-topic land.
Kaisyu7 has quit [Remote host closed the connection]
frgo has joined #lisp
Kaisyu7 has joined #lisp
jprajzne_ has joined #lisp
gravicappa has quit [Ping timeout: 246 seconds]
<no-defun-allowed> You may just have to compile it (which may be a "just have to" thing, I haven't tried that before) which should take much less than the 24 hours in that post on a newer Pi.
rumbler31 has quit [Ping timeout: 246 seconds]
acolarh has quit [Ping timeout: 246 seconds]
dxtr has quit [Ping timeout: 246 seconds]
jfb4 has quit [Remote host closed the connection]
thecoffemaker has quit [Ping timeout: 264 seconds]
jfb4 has joined #lisp
specbot has quit [Disconnected by services]
specbot has joined #lisp
gravicappa has joined #lisp
marcoxa has quit [Ping timeout: 246 seconds]
jprajzne has quit [Ping timeout: 246 seconds]
lacroixboy has quit [Ping timeout: 246 seconds]
jprajzne_ is now known as jprajzne
shenghi has quit [Ping timeout: 264 seconds]
dxtr has joined #lisp
karswell_ has quit [Ping timeout: 246 seconds]
dxtr has quit [Changing host]
dxtr has joined #lisp
<flip214> debian has a package mit-scheme, that exists also for the ARM architectures and so for the Rpi.
acolarh has joined #lisp
shenghi has joined #lisp
ayuce has joined #lisp
<no-defun-allowed> Raspbian does its own thing and doesn't use Debian packages, though.
<flip214> raspbian is a debian derivate too, I just "moved over" to debian packages
karswell_ has joined #lisp
<flip214> my RPI3 (amd64, debian) offers a chezscheme package
<flip214> but doing the exercises in CL is very valueable! I did them in CL as well.
thecoffemaker has joined #lisp
<no-defun-allowed> Alright, I recall someone telling me to not just "move over" to Debian packages, but if it works...
<flip214> mit-scheme is x86 only
<flip214> no-defun-allowed: which rpi do you have? 2, 3, 4?
<no-defun-allowed> 2
joshcom has joined #lisp
<flip214> yeah, that's where I switched from raspbian over... on the 3 I had a 64bit suse first
<flip214> no-defun-allowed: if you want a clean install, do a debootstrap on some other machine for the armel architecture, copy the boot things over, and so on... but that's quite some more effort
<flip214> or is rpi2 armhf?
<no-defun-allowed> hf = hardware float, right?
<no-defun-allowed> I think it is armhf.
<p_l> Rpi3 can run hard float
<p_l> not sure about 2
<p_l> (4 can, as well)
<p_l> hmm
<p_l> ahh, yes, all Pi support hard float but no linux distro compiles for 32bit hard float
karswell_ is now known as karswell
milanj has quit [Quit: This computer has gone to sleep]
<no-defun-allowed> So far I haven't heard of any 64-bit Raspbian images (for newer Pis), which is quite a let down for running Lisp programs.
ayuce has quit [Remote host closed the connection]
<p_l> Raspbian is keeping direct compatibility with Rpi1 and Rpi2, thus no 64bit
<p_l> but you can get 64 bit ubuntu image
<flip214> no-defun-allowed: I made myself a debootstrap image and put that on an sdcard
<flip214> using debian testing/unstable
<no-defun-allowed> Oh, there are as of last November. I still can't use them of course, but that's still cool.
<Shinmera> archlinux arm has images for hard float arms and 64bit arm.
<TMA> #lispcafe
<Shinmera> But yes, o/t
<flip214> TMA: how did you know I'm drinking coffee?
ayuce has joined #lisp
pjb has joined #lisp
<TMA> flip214: no sane person does, hence exceedingly common :)
jello_pudding has joined #lisp
refpga has quit [Ping timeout: 272 seconds]
amerlyq has joined #lisp
refpga has joined #lisp
<flip214> sad but mostly true, though I believe it's more correlation than causation
sammich has joined #lisp
jonatack_ has joined #lisp
dvdmuckle has quit [Ping timeout: 256 seconds]
refpga has quit [Ping timeout: 246 seconds]
refpga has joined #lisp
jonatack has quit [Ping timeout: 260 seconds]
tichun has quit [Quit: Leaving]
duncan_ has joined #lisp
scymtym__ has joined #lisp
scymtym_ has quit [Ping timeout: 258 seconds]
pjb has quit [Remote host closed the connection]
pjb has joined #lisp
doomlist3 has quit [Ping timeout: 272 seconds]
flazh has quit [Read error: Connection reset by peer]
flazh has joined #lisp
narimiran has quit [Ping timeout: 256 seconds]
Lord_of_Life_ has joined #lisp
dvdmuckle has joined #lisp
Lord_of_Life has quit [Ping timeout: 260 seconds]
Lord_of_Life_ is now known as Lord_of_Life
heisig has quit [Quit: Leaving]
shifty has quit [Ping timeout: 256 seconds]
joshcom has quit [Ping timeout: 246 seconds]
Zakkor has quit [Quit: Connection closed for inactivity]
milanj has joined #lisp
gko has joined #lisp
refpga has quit [Ping timeout: 246 seconds]
shka_ has joined #lisp
refpga has joined #lisp
epony has quit [Ping timeout: 258 seconds]
monokrom has joined #lisp
stoneglass has joined #lisp
Bike has joined #lisp
<kmeow> are you guys telling me that 32 bit ARMs don't have FPUs
dvdmuckle has quit [Remote host closed the connection]
dvdmuckle has joined #lisp
<kmeow> good thing they can hardware execute jvm bytecode I guess
<White_Flame> linux is too scared to require FPUs for all of them, so it's a software support issue
ayuce has quit [Read error: Connection reset by peer]
<White_Flame> really cheap ARMs like on wifi routers don't have hf
<White_Flame> (or at least didn't, last time I intersected that topic)
ayuce has joined #lisp
<kmeow> WE DO NOT BREAK NETGEAR! seriously
cosimone has joined #lisp
refpga has quit [Read error: Connection reset by peer]
refpga has joined #lisp
momozor has joined #lisp
epony has joined #lisp
karswell has quit [Read error: Connection reset by peer]
EvW1 has joined #lisp
montxero has joined #lisp
Josh_2 has joined #lisp
patlv has joined #lisp
liberliver has quit [Ping timeout: 272 seconds]
liberliver has joined #lisp
narimiran has joined #lisp
fourier has joined #lisp
<p_l> kmeow: it's not a matter of not having FPU, it's a matter of linux ARM ABI starting out in ancient times on hw that makes cheapest home router look like supercomputer
<p_l> soft-float compatible API worked on systems with FPU and those without
<p_l> "armhf" ABI is a misnomer as it's actually dependant on presence of vector floating unit, iirc
|Pirx| has joined #lisp
developernotes has joined #lisp
jonatack_ has quit [Quit: jonatack_]
jonatack has joined #lisp
benderst` has joined #lisp
shka_ has quit [Ping timeout: 264 seconds]
shka_ has joined #lisp
bendersteed has quit [Ping timeout: 256 seconds]
theBlackDragon has quit [Remote host closed the connection]
dyelar has joined #lisp
momozor has quit [Quit: leaving]
dyelar has quit [Client Quit]
hvxgr has quit [Quit: leaving]
theBlackDragon has joined #lisp
fourier has quit [Ping timeout: 260 seconds]
liberliver1 has joined #lisp
benderst` has quit [Ping timeout: 258 seconds]
benderst` has joined #lisp
liberliver has quit [Ping timeout: 256 seconds]
liberliver1 is now known as liberliver
ahungry has joined #lisp
doomlist3 has joined #lisp
nmg has left #lisp ["ERC (IRC client for Emacs 26.3)"]
SGASAU has quit [Remote host closed the connection]
elinow has joined #lisp
easye has quit [Ping timeout: 272 seconds]
montxero has quit [Remote host closed the connection]
SGASAU has joined #lisp
hvxgr has joined #lisp
_Posterdati_ has joined #lisp
<phoe> marcoxa`: you could try using https://github.com/Zulu-Inuoe/trivial-cltl2/blob/master/cltl2.lisp in place of your own implementation-specific code for clast, it'd save you writing a portability layer for cltl2 functionality inside clast.
Posterdati has quit [Ping timeout: 272 seconds]
<Bike> oh i just saw you read my compiler macrolet snippet yesterday, phoe
<Bike> for the record, i think compiler-let probably shouldn't be kept around, the idea seemed to be that it did a dynamic binding within the compiler, but that's just... confusing for multiple reasons
<phoe> Bike: yes
<Bike> using symbol macrolet makes more sense, although having to macroexpand isn't quite as convenient as just writing a variable
<Bike> you could write a (compiler-variable x env) macro, i guess
sjl_ has joined #lisp
X-Scale has quit [Quit: Try HydraIRC -> http://www.hydrairc.com <-]
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
refpga has quit [Read error: Connection reset by peer]
refpga has joined #lisp
easye has joined #lisp
easye has quit [Read error: No route to host]
rogersm has joined #lisp
Cymew has quit [Ping timeout: 240 seconds]
easye has joined #lisp
efm has quit [Ping timeout: 240 seconds]
red-dot has joined #lisp
sdumi has quit [Ping timeout: 260 seconds]
rippa has joined #lisp
efm has joined #lisp
doomlist3 has quit [Ping timeout: 246 seconds]
CrazyPython has joined #lisp
EvW1 has quit [Ping timeout: 256 seconds]
akoana has left #lisp ["Leaving"]
<marcoxa`> phoe I wrote the portability layer inside CLAST many years ago. It works. And the real solution is, in any case, to have the implementors provide the proper interfaces. And, above all, not changing them (as one implmentation did).
_jrjsmrtn has quit [Ping timeout: 260 seconds]
__jrjsmrtn__ has joined #lisp
<phoe> marcoxa`: OK
<marcoxa`> Speaking of which... let me check the latest ABCL.
developernotes has quit [Ping timeout: 256 seconds]
<phoe> that was my concern; the lib I linked seems to support ABCL
heisig has joined #lisp
shangul has joined #lisp
rpg has joined #lisp
efm has quit [Ping timeout: 264 seconds]
<rpg> On SBCL, what's the right element type for a MAKE-STRING-OUTPUT-STREAM for UTF-8? On ACL I was using (UNSIGNED-BYTE 8), but that seems to be wrong for SBCL.
<phoe> rpg: character?
<rpg> phoe: Thanks, that seems to be right.
<rpg> Related question (HTTP client-ing): is there some way to make Drakma print out its full HTTP transmission for debugging purposes?
<travv0> you were using (UNSIGNED-BYTE 8) for UTF-8?
nullniverse has joined #lisp
nullniverse has quit [Changing host]
nullniverse has joined #lisp
<phoe> rpg: just headers, AFAIK.
dvdmuckle has quit [Remote host closed the connection]
dvdmuckle has joined #lisp
CrazyPython has quit [Read error: Connection reset by peer]
developernotes has joined #lisp
orivej has joined #lisp
sdumi has joined #lisp
benderst` has quit [Quit: bye]
cosimone has quit [Read error: Connection reset by peer]
cosimone has joined #lisp
sdumi has quit [Read error: Connection reset by peer]
sdumi has joined #lisp
developernotes has quit [Ping timeout: 256 seconds]
PuercoPope has joined #lisp
PuercoPope is now known as PuercoPop
gko has quit [Ping timeout: 256 seconds]
developernotes has joined #lisp
CrazyPython has joined #lisp
theseb has joined #lisp
Oladon has joined #lisp
CrazyPython has quit [Read error: Connection reset by peer]
Fare has joined #lisp
dvdmuckle has quit [Remote host closed the connection]
<theseb> Are these the only 2 differences between macros and regular functions?..... 1. macros receive *unevaluated arguments* while regular functions get evaluated versions......and... 2. macros are evaluated *twice* ?
<Bike> no, because 2 is you misunderstanding something.
<theseb> Bike: i thought 1st eval makes the expanded source....then 2nd eval evaluates it along with rest of lisp code in program no?
<Bike> No.
<theseb> Bike: is #1 correct?
<Bike> First, the macroexpansion function is called. It gets the macro form as an argument and returns the expanded form. For example if you write (and x y), the macroexpander gets the form (and x y), and returns something like (if x (and y)).
<Bike> Then the (if x (and y)) is compiled/evaluated instead of the original (and x y).
dvdmuckle has joined #lisp
<theseb> Bike: maybe i didn't communicate what i meant well...to use your example....."(and x y) ==> (if x (and y))" is the 1st eval and then when executing the program you do the second eval on "(if x (and y))"
Krystof has joined #lisp
<Bike> describing that as "macros are evaluated twice" is not great, since they're two completely different operations.
<theseb> Bike: oh..i think i see what you mean....
SGASAU has quit [Remote host closed the connection]
<phoe> the "first eval" that you mention actually has a name
<phoe> it's called macroexpansion
<theseb> Bike: once you do the 1st eval (macroexpansion)....the macros is gone and so it isn't really correct to say that you then evaluate the "macro" again
<beach> theseb: The other problem with your description is that macro functions are typically called at compile time, so that no macro expansion is done when the program is executing.
SGASAU has joined #lisp
<beach> phoe: Well, it is an evaluation. It is just that the form happens to be a macro call, so the result of the evaluation is macro-expansion.
<theseb> beach: i think that is correct for a "real" lisp.....i'm implementing an interpreter so i guess everything sort of seems to happen at same time w/o a compilation phase beforehand
<beach> theseb: I see. But it is very confusing (at least to me) that you ask questions about how Common Lisp is doing it, and then, you tell us what your own Lisp is doing.
<beach> theseb: So if your Lisp is a Common Lisp implementation, there are things it must do, but if it is not, you can do whatever you like.
<beach> theseb: So do you plan for it to be an implementation of Common Lisp?
<Bike> that said, even if you are just implementing a toy lisp you should go at least as far as having a compiler
<pjb> theseb: macros can be evaluated more or less than twice! They are evaluated at least once.
<pjb> theseb: note that even if you only have a CL interpreter, you can use COMPILE (or COMPILE-FILE) to perform minimal compilation, which involves expanding the macros once for all.
<beach> pjb: Do you mean "expanded" rather than "evaluated"?
<pjb> Yes.
<theseb> beach: it will be similar to CL...don't know that it will be precisely equivalent
<pjb> expansion of macros consists in evaluating (funcall (macro-function 'moo) '(moo …) the-environment)
CrazyPython has joined #lisp
dvdmuckle has quit [Quit: Bouncer Surgery]
<theseb> beach: sorry..i thought the stuff i was asking was basically the same for all lisps...guess i was wrong
rogersm has quit [Quit: Leaving...]
<Bike> lisp isn't really a well defined category.
dvdmuckle has joined #lisp
<Bike> or, you know, it's more like a family resemblance than a set of commonalities.
<beach> theseb: What Bike says. There is no agreement on what makes a language "a Lisp".
ikki has joined #lisp
<theseb> Bike: oh...i have a thought about that...because it is so easy to make trivial changes to names of funcs and so forth....it seems at least superficially it would be possible for me to make a thin layer that made my lisp interpreter act like CL one day and then Scheme the next! ;)
X-Scale has joined #lisp
<Bike> it's more complicated than function names.
<theseb> Bike: everyone can have their own custom lang
<Bike> for example, in scheme, macroexpansion does not work like how i described.
<theseb> Bike: yea...for real work the differences matter
wheelsucker has joined #lisp
<theseb> it uses something called hygiene
<theseb> i need to learn about that
<Bike> racket has some stuff about different languages in the same system. i don't know much about it. i don't think it goes as far as implementing common lisp.
<Bike> common lisp and scheme are both complicated languages. implementing either is not something you can half-ass, let alone both.
<theseb> yea
<jackdaniel> theseb: if you are interested in analysis of different decisions you can make when impelemnting lisp you may read a book "Lisp in Small Pieces"
shymega has quit [Quit: Ciao.]
<pjb> Bike: however, you can half ass some lisp that runs both on common lisp, emacs lisp and scheme: Have a look at (intersection common-lisp emacs-lisp scheme) http://www.informatimago.com/develop/lisp/com/informatimago/small-cl-pgms/intersection-r5rs-common-lisp-emacs-lisp/
shymega has joined #lisp
<theseb> jackdaniel: i've heard good things about that book
bitmapper has joined #lisp
<jackdaniel> if you want to join a half of CL community who works on CL implementations then you must read it ;)
dyelar has joined #lisp
<jackdaniel> s/a half/the half/
CrazyPython has quit [Ping timeout: 260 seconds]
sdumi has quit [Ping timeout: 272 seconds]
sdumi has joined #lisp
ljavorsk has quit [Ping timeout: 272 seconds]
zooey_ has joined #lisp
corpix has quit [Ping timeout: 240 seconds]
zooey has quit [Quit: quit]
corpix has joined #lisp
scymtym__ has quit [Ping timeout: 246 seconds]
ggole has joined #lisp
dale_ has joined #lisp
dale_ is now known as dale
shangul has quit [Ping timeout: 260 seconds]
shifty has joined #lisp
Oladon has quit [Quit: Leaving.]
rgherdt has joined #lisp
Codaraxis has joined #lisp
gravicappa has quit [Ping timeout: 258 seconds]
Codaraxis_ has quit [Ping timeout: 256 seconds]
gravicappa has joined #lisp
vliss has joined #lisp
scymtym has joined #lisp
vliss has quit [Quit: Quit]
jeosol has quit [Remote host closed the connection]
zmt01 has quit [Read error: Connection reset by peer]
zmt01 has joined #lisp
<markasoftware> should i use a new asdf system or just a new module to put my examples and test code in?
<phoe> markasoftware: I'd use separate systems.
<pjb> I use new systems.
<phoe> If I want to load FOO, I don't always want to load FOO/TESTS and FOO/EXAMPLES, especially in code that is meant to be deployed.
<markasoftware> makes sense
Fare has quit [Ping timeout: 256 seconds]
gravicappa has quit [Ping timeout: 256 seconds]
ggole has quit [Quit: Leaving]
developernotes has quit [Quit: Lost terminal]
efm has joined #lisp
Fare has joined #lisp
Cymew has joined #lisp
shka_ has quit [Ping timeout: 246 seconds]
shka_ has joined #lisp
sauvin has quit [Ping timeout: 260 seconds]
ym has joined #lisp
ym has quit [Remote host closed the connection]
Fare has quit [Ping timeout: 264 seconds]
vladomiro has joined #lisp
karlosz has joined #lisp
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
fourier has joined #lisp
akoana has joined #lisp
westerns has joined #lisp
heisig has quit [Quit: Leaving]
PuercoPop has quit [Remote host closed the connection]
Lycurgus has joined #lisp
gravicappa has joined #lisp
EvW has joined #lisp
Cymew has quit [Ping timeout: 272 seconds]
karlosz has quit [Quit: karlosz]
lucasb has joined #lisp
jprajzne has quit [Quit: jprajzne]
elinow has quit [Ping timeout: 256 seconds]
vlatkoB has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
Zakkor has joined #lisp
vladomiro has quit [Quit: Leaving]
pjb has quit [Ping timeout: 246 seconds]
mixfix41 has quit [Ping timeout: 256 seconds]
ayuce has quit [Remote host closed the connection]
shifty has quit [Ping timeout: 272 seconds]
stepnem_ has quit [Read error: Connection reset by peer]
shifty has joined #lisp
pilne has joined #lisp
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
constptr has quit [Quit: Connection closed for inactivity]
zulu-inuoe has joined #lisp
pilne has left #lisp [#lisp]
yankM has quit [Ping timeout: 260 seconds]
stepnem has joined #lisp
karlosz has joined #lisp
marcoxa` has quit [Ping timeout: 272 seconds]
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rpg has joined #lisp
shifty has quit [Ping timeout: 256 seconds]
shifty has joined #lisp
yankM has joined #lisp
remexre has quit [Quit: WeeChat 2.7.1]
fourier has quit [Ping timeout: 260 seconds]
ikki has quit [Ping timeout: 272 seconds]
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
pjb has joined #lisp
Hssanalajmi has joined #lisp
<Hssanalajmi> hello
Hssanalajmi has left #lisp [#lisp]
<phoe> heyyy
<travv0> lol they're gone
<phoe> such is life™
<boeg> i'm here though
orivej has quit [Ping timeout: 272 seconds]
<boeg> hello
<travv0> howdy
ikki has joined #lisp
duncan_ has quit [Ping timeout: 264 seconds]
red-dot has joined #lisp
Fare has joined #lisp
milanj has quit [Quit: This computer has gone to sleep]
EvW has quit [Ping timeout: 240 seconds]
shka_ has quit [Ping timeout: 256 seconds]
shifty has quit [Ping timeout: 264 seconds]
shifty has joined #lisp
pjb has quit [Ping timeout: 272 seconds]
rozenglass has quit [Ping timeout: 260 seconds]
shka_ has joined #lisp
shka_ has quit [Ping timeout: 264 seconds]
Jesin has quit [Quit: Leaving]
pve has quit [Quit: leaving]
narimiran has quit [Ping timeout: 260 seconds]
Lycurgus has quit [Quit: Exeunt]
EvW1 has joined #lisp
Jesin has joined #lisp
Soltex has joined #lisp
Soltex has left #lisp [#lisp]
Sully_ has joined #lisp
rozenglass has joined #lisp
Fare has quit [Ping timeout: 240 seconds]
Fare has joined #lisp
karayan has quit [Remote host closed the connection]
karayan has joined #lisp
ahungry has quit [Remote host closed the connection]
wheelsucker has quit [Remote host closed the connection]
gravicappa has quit [Ping timeout: 264 seconds]
remexre has joined #lisp
stoneglass has quit [Read error: Connection reset by peer]
shifty has quit [Ping timeout: 264 seconds]
shifty has joined #lisp
CrazyPython has joined #lisp
karlosz has quit [Quit: karlosz]
karlosz has joined #lisp
pjb has joined #lisp
cosimone has quit [Quit: Quit.]
efm_ has joined #lisp
efm has quit [Ping timeout: 246 seconds]
CrazyPython has quit [Ping timeout: 260 seconds]
rpg has joined #lisp
amerlyq has quit [Quit: amerlyq]
sjl_ has quit [Ping timeout: 256 seconds]
|Pirx| has quit [Ping timeout: 246 seconds]
gxt has quit [Ping timeout: 240 seconds]
karlosz has quit [Quit: karlosz]
random-nick has quit [Ping timeout: 246 seconds]
efm_ has quit [Quit: Konversation terminated!]
efm has joined #lisp
karlosz has joined #lisp
frgo has quit [Read error: Connection reset by peer]
frgo has joined #lisp
lucasb has quit [Quit: Connection closed for inactivity]
shifty has quit [Ping timeout: 256 seconds]
shifty has joined #lisp
lxbarbosa has joined #lisp
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
ArthurStrong has joined #lisp
rand_t has joined #lisp
mmkarakaya has joined #lisp
mmkarakaya has quit [Ping timeout: 256 seconds]
Josh_2 has quit [Ping timeout: 272 seconds]
Oladon has joined #lisp
AdmiralBumbleBee has quit [Ping timeout: 256 seconds]
ineiros has quit [Ping timeout: 256 seconds]
red-dot has joined #lisp
gxt has joined #lisp
ineiros has joined #lisp
orivej has joined #lisp
Lord_of_Life_ has joined #lisp
AdmiralBumbleBee has joined #lisp
Lord_of_Life has quit [Ping timeout: 246 seconds]
Lord_of_Life_ is now known as Lord_of_Life
gxt has quit [Ping timeout: 240 seconds]
Josh_2 has joined #lisp
karlosz has quit [Quit: karlosz]
karlosz has joined #lisp
jonatack has quit [Ping timeout: 264 seconds]
jonatack has joined #lisp
dyelar has quit [Quit: Leaving.]