<drmeister>
It says "For example, if you installed Quicklisp in the default location in your home directory..."
<drmeister>
Which implies that it can be installed elsewhere.
<Bike>
i think you can just move the entire directory
<Bike>
making sure to load setup.lisp from the new location, of course
Kundry_Wag has joined #lisp
Pixel_Outlaw has joined #lisp
<drmeister>
Is that all - just load the setup.lisp from the new location?
<drmeister>
That would be nice.
<Bike>
that's what i remember
blackadder is now known as SaganMan
igemnace_ has joined #lisp
igemnace has quit [Read error: Connection reset by peer]
dddddd has quit [Remote host closed the connection]
kushal has joined #lisp
Oladon has joined #lisp
jinkies has quit [Ping timeout: 265 seconds]
<drmeister>
Well, thank you - I'll try that as soon as I get to that point.
<drmeister>
I'm installing everything - cando, jupyterlab, quicklisp, slime into one directory tree.
Kundry_Wag has quit [Ping timeout: 240 seconds]
orivej has quit [Ping timeout: 240 seconds]
Khisanth has quit [Ping timeout: 248 seconds]
Khisanth has joined #lisp
robotoad has quit [Quit: robotoad]
Kundry_Wag has joined #lisp
robotoad has joined #lisp
<LdBeth>
good morning
Pixel_Outlaw has quit [Quit: Leaving]
Bike has quit [Quit: Lost terminal]
nanoz has quit [Ping timeout: 248 seconds]
meepdeew has quit []
Kundry_Wag has quit [Ping timeout: 260 seconds]
gector has quit [Ping timeout: 240 seconds]
jibanes has quit [Ping timeout: 244 seconds]
gector has joined #lisp
Copenhagen_Bram has quit [Ping timeout: 265 seconds]
Elon_Satoshi has joined #lisp
pjb has quit [Remote host closed the connection]
gigetoo has quit [Ping timeout: 248 seconds]
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
gigetoo has joined #lisp
pointerk has joined #lisp
<beach>
Good morning everyone!
<clhsgang[m]>
hi beach
moei has joined #lisp
pointerk has quit [Remote host closed the connection]
cpape has joined #lisp
<phoe>
morniiing
kozy has quit [Quit: No Ping reply in 180 seconds.]
kozy has joined #lisp
Oladon has quit [Quit: Leaving.]
Inline has quit [Quit: Leaving]
panji has joined #lisp
aeth_ is now known as aeth
Kundry_Wag has joined #lisp
vlatkoB has joined #lisp
v0|d has joined #lisp
gko has quit [Ping timeout: 260 seconds]
nowhere_man has joined #lisp
Fare has quit [Ping timeout: 244 seconds]
gko has joined #lisp
moei has quit [Ping timeout: 256 seconds]
schweers has joined #lisp
tralala has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
shrdlu68 has joined #lisp
<LdBeth>
I guess it would be nice to extend lisp’s language parser with pattern match
ofi has joined #lisp
hiroaki has joined #lisp
<jackdaniel>
LdBeth: check out library optima
<clhsgang[m]>
yeah optima does pattern matching
<beach>
I thought it was another request for updating the standard.
mathZ has quit [Remote host closed the connection]
hiroaki has quit [Ping timeout: 265 seconds]
<clhsgang[m]>
(with-sarcasm (format nil "hey can we add ~a to the standard it's like a very important programming thing" (random-elt '("currying" "polymorphic types" "traits" "memory safety")))
<LdBeth>
It is not wise to request update standard with test and examinations.
<LdBeth>
But I believe it can bring solutions to problems 1. Static analysis 2. Code formatting
<clhsgang[m]>
i can't believe X3J13 voted against DESCRIPTIVE-TEXT-MACROS, gees
moei has joined #lisp
<lieven>
clhsgang[m]: what were those?
<clhsgang[m]>
adds the WITH-SARCASM macro among other text descriptive words /s
<clhsgang[m]>
(no, they're not real.)
hiroaki has joined #lisp
tralala` has joined #lisp
tralala has quit [Ping timeout: 264 seconds]
heisig has joined #lisp
iridioid has quit [Ping timeout: 256 seconds]
drewes has joined #lisp
eminhi has joined #lisp
Khisanth has quit [Ping timeout: 264 seconds]
varjag has joined #lisp
X-Scale has quit [Quit: HydraIRC -> http://www.hydrairc.com <- In tests, 0x09 out of 0x0A l33t h4x0rz prefer it :)]
schweers has quit [Remote host closed the connection]
lel has quit [Ping timeout: 245 seconds]
eminhi has quit [Quit: leaving]
oldtopman has quit [Ping timeout: 240 seconds]
lel has joined #lisp
beach has quit [Ping timeout: 256 seconds]
schweers has joined #lisp
beach has joined #lisp
schweers has quit [Remote host closed the connection]
trafaret1 has joined #lisp
<trafaret1>
hi there
<beach>
Hello trafaret1.
<trafaret1>
can anybody ask me
schweers has joined #lisp
<trafaret1>
for what I need lisp in 21 century?
<Shinmera>
Ok: what do you need lisp for in the 21st century?
<beach>
Heh, you beat me to it.
oldtopman has joined #lisp
<trafaret1>
should I learn it or not
<trafaret1>
be or not to be question
<beach>
trafaret1: You are in a channel dedicated to Common Lisp. Of course we would encourage you to learn it.
<trafaret1>
it's like mammoth shit
<Shinmera>
Is this a markov chain
<beach>
I just got bored with this conversation.
<shrdlu68>
What we need now is a bunch of people learning CL half-heartedly and writing blog posts comparing it unfavourably to some other language.
<trafaret1>
beach: does it gives I mean understand programming in lisp some afflatus
<trafaret1>
or not ?
<schweers>
wtf did I just read there?
<trafaret1>
come on
<schweers>
oh and: Hi Everyone!
<trafaret1>
I not native english speaker
<trafaret1>
don't be picky
<trafaret1>
fucking murican
<beach>
trafaret1: Your trolling would be much more effective if you learned the grammar of English.
angavrilov has joined #lisp
<schweers>
being called an american ... that’s a first :D
<shrdlu68>
I'm not sure he's trolling - English may not be his first language.
Khisanth has joined #lisp
<beach>
shrdlu68: You think? :)
<LdBeth>
I’m not sure if it’s a trolling—English is my second language
<shrdlu68>
Third.
<schweers>
TIL about the word afflatus. I seriously didn’t know it, and it actually does kinda fit the question. So yes, maybe I was too harsh
<Shinmera>
Colleen: define afflatus
<Colleen>
afflatus /əˈfleɪtəs/
<Colleen>
(noun): a divine creative impulse or inspiration.
<varjag>
it's trolling either way
<shrdlu68>
Clearly he's not very enthused about the prospect of learning some mammoth shit.
<schweers>
As to the actual question, whether or not learing lisp will benifit an individual ... just fucking google it already. These is enough on the web to answer that question.
<clhsgang[m]>
well mammoth shit seems pretty interesting
<clhsgang[m]>
mammoths are extinct so that's useful science knowledge
* edgar-rft
has learned Lisp just *because* it's mammoth shit
<varjag>
schweers: noone comes asking that question here in good faith
<schweers>
varjag: you may be right.
<clhsgang[m]>
"damn why did i make this mammoth shit of a language" john mccarthy 1958
<shrdlu68>
varjag: ...especially not with such flowery language.
<varjag>
clhsgang[m]: 'old as mammoth shit' is a common russian idiom
<beach>
Interesting.
<varjag>
plenty russians also think that anyone speaking english has to be american
<clhsgang[m]>
RECURSIVE FUNCTIONS OF SYMBOLIC EXPRESSIONS AND THEIR COMPUTATION BY MACHINE (Part I): why did i do this
<clhsgang[m]>
why the fuck did i just write this mammoth shit please don't fund my research
<LdBeth>
GG
<Shinmera>
That's actually me, but with everything I code
<edgar-rft>
the term "mammoth shit" is badly missing in the CLHS glossary
<beach>
We need to update the standard to include it.
<schweers>
As we have quite a few people here who don’t speak english as a native language ... what do you folks make of Eric Raymond’s advice for would-be hackers to learn proper english?
<clhsgang[m]>
- mammoth shit: see common lisp
<edgar-rft>
with mammoth shit we can make trafaret1 happy :-)
<zigpaw>
so everyone will have to re-buy the print version to have the latest standard version with 'mammoth shit' included? sounds like a plan ;)
<LdBeth>
The update will be distributed as a single page errata
<loke>
schweers: Not surpirsing he'd say something like that, given the author.
<clhsgang[m]>
and this is how commercial CL gets money
<edgar-rft>
no, we just release dpANS4
<schweers>
loke: how so?
<LdBeth>
!clhs gang: by teaching proper English?
<loke>
schweers: read some of esr's writings.
<clhsgang[m]>
releasing revision (incf revision) of the CLHS just to cover mammoth shit
<edgar-rft>
from cover to cover
<clhsgang[m]>
anyways i think people should analyse people like esr's and graham's code, not personal beliefs
<clhsgang[m]>
the code is less shitty than their beliefs so just learn from that
<trafaret1>
it's proved fact that java with clojure moving toword lisp paradigm
<trafaret1>
maybe I'm wrong
<trafaret1>
but ... who can explain
<LdBeth>
No
<LdBeth>
Clojure is defined functional paradigm
tralala` is now known as tralala
<edgar-rft>
before learning Lisp one first sholuld learn howto shit like a mammoth
<schweers>
I don’t think there is such a thing as “lisp paradigm“
<beach>
schweers: I have been in many meetings where English was spoken but where many participants did not master it. It was interesting to observe how the people mastering the language more frequently got their opinions voted on.
<trafaret1>
edgar-rft: lol
<LdBeth>
(? ? ? Paradigm)
<schweers>
beach: what exactly do you mean by “voted on”? They got more feedback and the like?
<beach>
Their ideas were more often adopted.
<beach>
<beach>
Even though they were inferior to those of the non-native speakers.
<LdBeth>
GG
<schweers>
Not surprising. I am guity of zoning off when I have to listen to someone who does not speak the language somewhat competently.
<schweers>
Not something I’m proud of, but it happens.
<loke>
schweers: How many languages do you speal (more or less fluently)?
<loke>
speak, even
<schweers>
So I guess that the ideas of those who did not master the language were simply not will understood by the audience.
<schweers>
Note that I don’t want to blame anyone for not speaking english. I tried to learn french in school and failed miserably.
<edgar-rft>
we shold leran to speak Lisp in our everyday conversations
<schweers>
loke: just two, so I’m not exactly a polyglot.
<beach>
schweers: It was also that they were too shy to protest because they couldn't express the objections very well.
<Shinmera>
schweers: It's not about language, just about how competent people appear. If someone speaks fluently they appear more competent. There's other factors to this too of course.
<schweers>
Shinmera: good point
<shrdlu68>
For the average Random J. D'vloper, one of the first things they picture when someone mentions Lisp is immense age. What good is an antediluvian language? Surely the newer languages were invented for a reason?
<loke>
schweers: Still, I'd have thought that the behaviour you descibed would be more common in people who only speak one language.
<schweers>
loke: my point is actually: I shy away from telling people they must learn a language, because I failed at doing so myself.
<LdBeth>
I would argue there’re not many completely new languages invented
<loke>
schweers: Yes. I agree with you.
<loke>
I find esr to be a hopelessly narrow-minded individual
<schweers>
That I speak two is just a happy accident ;)
<trafaret1>
btw anybody tryed to do programming automation systems with lisp?
<loke>
schweers: which one is the other one?
<schweers>
I must admit that I have not read many of his writings.
<schweers>
loke: German (my mother tongue)
<trafaret1>
schweers: guten tag
<loke>
schweers: It reads like your typical US rightwingnut
<loke>
schweers: Ah, ich habe Deutsch gelernt... Drei jahre, ich glaube.
<schweers>
loke: at first glance he seems to be gun nut, which so does not resonate with me (I hope I’m not starting any flamewars here)
<dim>
there's only one way to get good at anything and that's practice. so if you want to help people to speak a new language, well, the best you can do is offer them more practice opportunities, and that means listening to them, not speaking to them.
<loke>
or soemthing like that. My german is horrible.
<shrdlu68>
schweers: Ein Person desen Haus!
<Shinmera>
Can we get back to lisp?
<schweers>
lol, what did I start here?
<loke>
However, I mostly listen to German music, so there's that.
<LdBeth>
schweers: probably reasons for learning lisp
<schweers>
LdBeth: sorry, what?
<varjag>
schweers: esr is quite right wing, so many feel justified to ignore his personal opinions on hacker culture
<varjag>
as to his code, i know it exists but haven't looked into any
<trafaret1>
how good lisp at programming IoT?
<varjag>
fetchmail?
<varjag>
as good as anything else
<dim>
the question I keep reading about esr and code is: how much did he actually write himself? but again, that's stearing away from our topic
<loke>
dim: who knows? He's very good at taking credit.
<zigpaw>
depends on what you mean by IoT, as this buzzword is quite encompassing (ie a laptop can be considered an IoT device).
<varjag>
iot is embedded for hipsters
<LdBeth>
Lost
<zigpaw>
IoT is considered much more than embedded I think. You even have cloud for IoT sold, and many other "products" that are clearly not embedded goes into this bag.
<dim>
also remember: “The S in IoT stands for Security”.
<zigpaw>
yeah :)
<trafaret1>
don't get me an annoying person but another question for pro programmers
<trafaret1>
I'm just started lean how to programming plc
<LdBeth>
Then congratulations
<trafaret1>
quesion is
<trafaret1>
how to build fms
<trafaret1>
which way would be simple and clearest for this
oldtopman has quit [Read error: No route to host]
oldtopman has joined #lisp
<varjag>
zigpaw: it is considered more than embedded, but in practice *is* embedded
<varjag>
smart lightbulbs? bluetooth doorlocks?
<varjag>
as to the cloud, managing devices via network isn't a new invention
<trafaret1>
and one more question as a nobie I will to know how to design rangs or modes
<trafaret1>
for example 1 - Manual
<trafaret1>
2 - Automat
<trafaret1>
3 - Protectio mode
<trafaret1>
is there good book for this stuff
Denommus has quit [Ping timeout: 264 seconds]
<varjag>
hard to tell what you mean here
eminhi has joined #lisp
Kundry_Wag has joined #lisp
oldtopman has quit [Read error: Connection reset by peer]
oldtopman has joined #lisp
josemanuel has joined #lisp
Kundry_Wag has quit [Ping timeout: 248 seconds]
<trafaret1>
language barrier
gravicappa has joined #lisp
mingus has quit [Remote host closed the connection]
mingus has joined #lisp
<schweers>
I’m reading AMOP chapter 5 and in the section on methods it says that a method contains a generic function, /if/ the method is associated with a generic function. It further states, that a method can be associated with at most one generic function at a time. My question is this: how can a method /not/ be associated with a generic function?
<beach>
schweers: If you just create the method using MAKE-INSTANCE it will not be associated with any generic function.
<beach>
For that you then have to do ADD-METHOD.
<schweers>
does it make sense to do so?
<schweers>
let me rephrase that
<schweers>
does it make senst to have a method not associated with a gf, unless one is about to associate it?
<beach>
Probably not much.
<schweers>
okay, thanks
* no-defun-allowed
backs up on chat
<no-defun-allowed>
okay why do you want methods associated with your girlf.........wait no
<v0|d>
no-defun-allowed: beer overflow?
jsjolen has joined #lisp
<no-defun-allowed>
more like beer underflow
<no-defun-allowed>
i've been so sober it wrapped around to most-positive-fixnum
<v0|d>
beach: do you have something in writing that talks about std-class bein a std-class, what do they call it in GHC, rankN types?
<jsjolen>
no-defun-allowed: Does your body not support a full beer gut tower?
<no-defun-allowed>
not sure
<no-defun-allowed>
it's a very buggy body to say the least. someone compiled it with (DECLARE (Y-CHROMOSOME T)) and now i have to put up with it
<no-defun-allowed>
recompiling the world would be very expensive to say the least.
<jsjolen>
Yeah, it's pretty typical to optimize for unsafety when drunk so that might be why you had wrap-around issues
<no-defun-allowed>
that's probably about right
charh has quit [Remote host closed the connection]
charh has joined #lisp
quipa has joined #lisp
<no-defun-allowed>
unfortunately estradiol isn't in the quicklisp packages so i'll have to find it somewhere else
<v0|d>
offtpc(sry): do anybody know a channel where I can ask about arm asm?
<phoe>
I mean, technically, you can create a method object, equip it with some function, then call that method directly without calling any generic function at all.
<phoe>
If your use case is unusual enough to involve such mechanisms, then it might be feasible for you.
<beach>
As you can see, the word STANDARD-CLASS is in red, meaning that it is an instance of STANDARD-CLASS (because the rectangle is drawn in red).
orivej has joined #lisp
<phoe>
But unless you dive deep into CLOS/MOP internals and have enough knowledge to back you up in case you screw something up, the answer is, no, it doesn't make sense.
<v0|d>
beach: the only red I can see.
<Shinmera>
The point of the blurb is simply that it is possible for methods to exist without generic functions (because they need to be created first and then attached)
<schweers>
thanks for the extra info. It makes sense now
<beach>
v0|d: The color of the text determines the metaclass. If the color is green, the metaclass is built-in-class. If the color is blue, the metaclas is funcallable-standard-class. Etc.
dddddd has joined #lisp
mingus has quit [Remote host closed the connection]
<v0|d>
beach: Do you know a particular algorithm that employs this recursive type? (std-class)
<v0|d>
(sry, I should have not calld std-class a type)
<beach>
It is a type.
lel has quit [Ping timeout: 240 seconds]
<beach>
Well, it is more like this: Since every Common Lisp object is the instance of some class, unless you want infinitely many classes, there has to be a cycle somewhere in the graph.
lel has joined #lisp
random-nick has joined #lisp
<phoe>
with the smallest cycle being (typep (make-instance 'standard-object) 'standard-object) ;=> T
<random-nick>
btw, Mezzano has a channel on freenode
<Inline>
ok, got it
<Inline>
dd bs=1 in=blah out=/dev/blah count=1 ?
<Inline>
one question, does it have networking ?
Fare has quit [Ping timeout: 264 seconds]
<random-nick>
Inline: well, partially
<Inline>
which means ?
<Inline>
can i get out to the internet ?
<Inline>
or not ?
<Inline>
i don't ask for fancy firewall or whatnot....
<random-nick>
it doesn't have DHCP, TCP retransmit, ICMP (but it has enough of it to get ping to work), and it has only 1 network driver
<Inline>
awww
<Inline>
oki
<random-nick>
so only very simple networking things work and you have to manually configure the IP address
<random-nick>
but it can run an IRC client
<Inline>
heh
Fare has joined #lisp
<AeroNotix>
It's funny really. I would have thought a Lisp OS would be the wet dream of every lisper but I haven't seen much interest in Mezzano unfortunately.
<Shinmera>
OSs are hard and only few people have the know-how and/or dedication to commit to it.
Fare has quit [Ping timeout: 264 seconds]
<AeroNotix>
For sure, for sure. I'm part of that group.
<pjb>
AeroNotix: wet dreams or not, during the day the tools I use are: emacs, firefox, bash, posix commands, git, gcc or clang and a bunch of C libraries. If Mezzano cannot support those programs, then I cannot use it, but in wet dreams.
<AeroNotix>
but there are many smart lispers in here that do have the skills to contribute, though obviously probably not the time
<AeroNotix>
pjb: yep, same.
random-nick has quit [Read error: Connection reset by peer]
random-nick has joined #lisp
<pjb>
Unfortunately, long past are the days without the internet, where you could use your own little OS and write your own little programs (even for some customers). With the Internet, network effects have been much stronger, and this excludes for practical purposes all but the two or three main options.
varjag has joined #lisp
<phoe>
AeroNotix: a critical mass of software is required for it to lift off.
<pjb>
What's the market share of Apple already? (You know, the $1T company).
<pjb>
macOS market share is less than 5% and dropping lately…
<pjb>
and they have all the money of the world to develop it!
JuanDaugherty has quit [Quit: Exeunt]
FreeBirdLjj has quit [Remote host closed the connection]
cgay has joined #lisp
cage_ has joined #lisp
FreeBirdLjj has joined #lisp
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jerme has joined #lisp
papachan has joined #lisp
buffergn0me has joined #lisp
Fare has joined #lisp
igemnace has quit [Quit: WeeChat 2.2]
ebrasca has quit [Read error: Connection reset by peer]
<AeroNotix>
at least it makes some more progress for me. It seems that clml.extras package is where the r-datasets package is located...
<jmercouris>
Right, interesting that would make sense
<jmercouris>
there is a system in there that it would be looking for
<AeroNotix>
Not got it loaded for me properly yet, though. I have some issues with sbcl and dynamic heap sizes apparently (???)
<AeroNotix>
"""""ring compilation with SBCL this system requires that the heap space be set to 2560 or greater. ~%This can be set by dynamic-space-size flag when starting sbcl. To resolve restart sbcl as follows:~%""""
<jmercouris>
Yeah that notice is found in the readme of the instructinos
<jmercouris>
s/instructinos/instructions
<jmercouris>
have to invoke sbcl like this: "sbcl --dynamic-space-size 2560"
<AeroNotix>
oh ok
<AeroNotix>
let me try again, then
<jmercouris>
I'm also giving it a try, taking quite a while here
<jmercouris>
I also apparently need to install libplplot
<AeroNotix>
iirc you have a decent spec machine
<AeroNotix>
yes, libplplot seems required
<jmercouris>
Yeah, I have a quite new machine
<AeroNotix>
I'm using a weird machine right now
<jmercouris>
what's strange about it?
<AeroNotix>
repurposed rackmount server
<jmercouris>
Lol nice
<jmercouris>
I assume the graphical performance is terrible
<AeroNotix>
2.4Ghz Xeon, 32GB RAM
<jmercouris>
are you basically using it via tty?
<AeroNotix>
yes, aspeed 2400 chip
<AeroNotix>
having issues with getting the xorg support working with it
<AeroNotix>
It originally had debian on it which had a package for the xorg/gpu drivers but my current distro doesn't.
<jmercouris>
maybe it would be easier to find a pci gpu and one of those 90 degree pci mounting brackets
<AeroNotix>
could be but then that would be effort. I just need a computer that works reasonably well right now
gpiero has joined #lisp
<jmercouris>
I don't like that clml is tied to plplot
<jmercouris>
I feel that is a bad separation of concerns
<jmercouris>
imagine if scikit learn required matplotlib to function
Fare has joined #lisp
<jmercouris>
it seems to be getting a lot farther, but now interesting package errors
<AeroNotix>
Yes, I'm currently loading :clml
<jmercouris>
"R-DATASETS" is already a nickname for "CLML.R-DATASETS"
<AeroNotix>
I got past clml.extras
<AeroNotix>
jmercouris: I 'left this nickname alone'
<AeroNotix>
for both issues
<AeroNotix>
wonder if that will break anythinkg
<jmercouris>
probably if you are using the dataset
<AeroNotix>
but it's loaded after that "just fine"
<jmercouris>
if not, probably not
emacsomancer has joined #lisp
<jmercouris>
I also got it to load nice
<jmercouris>
I'll probably have to change some swank config if I will work with this library at all
buffergn0me has quit [Ping timeout: 260 seconds]
<jmercouris>
aha, you know what it is quite interesting
<mood>
The only real difference is the "root ..." line
<jmercouris>
and somehow that allows static assets?
<jmercouris>
I am used to having a different location like location /static or something, or maybe I am misremembering
<mood>
The "root ..." combined with "try_files $uri ..." does
<jmercouris>
aha, interesting
<jmercouris>
so you have a directory at: /srv/http/link.joram.io which contains static assets?
emacsoma` has quit [Ping timeout: 256 seconds]
<jmercouris>
or rather /srv/http/link.joram.io/
<jmercouris>
so maybe something like /srv/http/link.joram.io/static/file.png and it will try to find that file first?
mindCrime_ has joined #lisp
<jmercouris>
that is quite interesting
mindCrime has quit [Ping timeout: 268 seconds]
lel has quit [Ping timeout: 268 seconds]
NoNumber has joined #lisp
<mood>
Uhh, now I do. Apparently I forgot to make the symlink. But yes, a directory at /srv/http/link.joram.io/ containing files like "Hd.txt". Nginx will look for a file to serve, and forward the request to Hunchentoot if it doesn't exist
gigetoo has quit [Ping timeout: 240 seconds]
<jmercouris>
I wonder if that is less efficient than simply setting up a static dir and pointing to it as I am used to
<Shinmera>
I use nginx' proxy cache for static assets.
<Shinmera>
But this is getting a bit off-topic.
lel has joined #lisp
mindCrime_ has quit [Quit: Leaving]
kajo has joined #lisp
lnostdal has quit [Read error: Connection reset by peer]
angavrilov has quit [Remote host closed the connection]
mindCrime has joined #lisp
papachan has quit [Quit: WeeChat 2.2]
kajo has quit [Quit: From my rotting body, flowers shall grow and I am in them and that is eternity. -- E. M.]
pierpal has quit [Quit: Poof]
pierpal has joined #lisp
kajo has joined #lisp
logicmoo is now known as dmiles
varjag has quit [Ping timeout: 260 seconds]
<AeroNotix>
emaczen: nothing requiring a license
<AeroNotix>
I want to communicate with NOAA satellites at first and, since I live very close to an airport, I want to see what I can listen to from them. Perhaps see if I can "use" their radar somewhat
mindCrime_ has joined #lisp
mindCrime_ has quit [Remote host closed the connection]
mindCrime has quit [Ping timeout: 240 seconds]
mindCrime_ has joined #lisp
mindCrime_ has quit [Max SendQ exceeded]
<AeroNotix>
What's the best way to create a "union" value like in C, I want to have a 16 bit value be addressable via the two bytes.
<pjb>
AeroNotix: C unions don't make sense in lisp, since the type is not associated to the variables, but to the values.
<AeroNotix>
pjb: right but the concept is what I meant. I can't believe I derped over just using logical operators
<pjb>
AeroNotix: so union { int i; float f; char* s } v; is just: (let (v) (setf v 42) (setf v 3.2) (setf v "foo"))
<pjb>
or (setf v #x12) (setf v #x1234) if your union is 1 byte vs. 2 bytes.
<AeroNotix>
seems like it would be nice to write some functions/macros over this though
<pjb>
Otherwise, I prefer using ldb and dpb in general.
<pjb>
But again, it's very bad, because in lisp numbers are not mutable, so dpb creates a new integer.
<AeroNotix>
I'm not bothered about mutability
<pjb>
(trying to shoehorn C concepts in lisp).
<AeroNotix>
I get you.
pierpa has joined #lisp
<Shinmera>
There's binary-types, but I don't know if it allows using its facilities on integers directly.
<AeroNotix>
I'm writing a Z80 emulator for fun (I've had four months away from computers entirely) after a solid 5 years of 80 hour weeks.
varjag has joined #lisp
<AeroNotix>
I want something to do that's fun.
<AeroNotix>
For the 16 bit registers where they're made up of two other registers. A union in C is how you typically would implement that.
<AeroNotix>
but still, in CL. Logical operators will work fine
<pjb>
You can use arrays of bytes, and build the 16-bit values when needed.
<no-defun-allowed>
Bad idea: use a symbol macro
<pjb>
No, not necessarily bad.
<AeroNotix>
pjb: originally I implemented it like that actually. I found it rather un fun
<AeroNotix>
Oh good idea re symbol macro!
<AeroNotix>
I like it
<pjb>
AeroNotix: the fun thing is: 1- hide the details in a functional abstraction.
<AeroNotix>
I'll play with a symbol macro
<pjb>
and 2- use a LUR Last Used Representation.
<AeroNotix>
I'll look up LUR
<AeroNotix>
another question - for accessor functions for slots. Can I point a variable that accessor function?
<pjb>
(defstruct register 16-bit-value low-8-bit high-8-bit) when you write a byte, you set the 16-bit-value to nil and vice versa, and when you read, if it's null you compute it from the other slots.
<pjb>
Ie. lazily convert between the representations.
<AeroNotix>
an option for sure^
<pjb>
accessor functions defined by CLOS are generic functions. As such they are functions. Functions are first class objects in lisp, so you can store them in variables.
<pjb>
(let ((a (function register-16-bit-value))) (funcall a reg))
<AeroNotix>
oh right the accessor tag just creates the function already. For some reason I thought I'd need to pull the accessor function off the class instance and bind it to a variable