nowhere_man has quit [Remote host closed the connection]
nowhere_man has joined #lisp
Kaisyu7 has joined #lisp
ryan_vw has quit [Ping timeout: 244 seconds]
Achylles has quit [Ping timeout: 264 seconds]
rumbler31 has joined #lisp
Bike has joined #lisp
Achylles has joined #lisp
rumbler31 has quit [Ping timeout: 244 seconds]
vsync has joined #lisp
fikka has joined #lisp
tripty has quit [Read error: Connection reset by peer]
nowhere_man has quit [Ping timeout: 252 seconds]
fikka has quit [Ping timeout: 252 seconds]
nowhere_man has joined #lisp
ryan_vw has joined #lisp
orivej has quit [Ping timeout: 245 seconds]
lumm has quit [Ping timeout: 240 seconds]
robotoad has quit [Remote host closed the connection]
robotoad has joined #lisp
Kundry_Wag has joined #lisp
Kaisyu has joined #lisp
holycow has joined #lisp
Kundry_Wag has quit [Ping timeout: 264 seconds]
didi has joined #lisp
<didi>
I recently needed to format integers with `\,' as a separator of groups of digits (for latex). If you find it useful, the monstrosity I wrote is at https://paste.debian.net/hidden/a17da2fe
ak5 has quit [Quit: WeeChat 2.2]
ym has joined #lisp
<jcowan>
challenge for a formatter: correctly commatize large numbers in Indian style, where 1 crore = 10^7 is written 1,00,00,000
ebzzry has quit [Read error: Connection reset by peer]
Roy_Fokker has quit [Read error: Connection reset by peer]
<oni-on-ion>
just use decimal for the ,000 and print 00 instead of 000
Kundry_Wag has joined #lisp
<sebboh>
What is happening here? Why is 'picks' changing between the top and the bottom of this defun? Is it because I am using pop, which is destructive? ... But I'm not using it on 'picks', I'm using it on temp... https://paste.debian.net/1048712/ ??
<Bike>
you nreverse picks
<Bike>
picks is destructive
<Bike>
nreverse is*
<sebboh>
jcowan: knowing nothing of the history of that number format, I don't like it. I hope this isn't culturally insensitive. Note I'm not worried about it being *perceived* as culturally insensitive, I'm hoping that it isn't *actually* ibid of me, 'cause.. I'm not going to start liking that number format just because. :/
Kundry_Wag has quit [Ping timeout: 244 seconds]
<sebboh>
Bike, ok, I tried this: https://paste.debian.net/1048714/ .. but picks is still destroyed. This is some by-reference vs by-value thing, right? how do I make a 'copy' of my list?
<Bike>
mm, you are confused. nreverse destroys the actual list.
<Bike>
keep-picks and picks are just different names for the same list.
<Bike>
just use reverse instead of nreverse.
<sebboh>
May I make an actual copy of the list? Or are lists like strings in java--there's only one of each. ?
<Bike>
but reverse is effectively the same as nreverse + copy-list.
<sebboh>
ok, I will try reverse, but I fear that if my code worked (for the print part) when I was destroying my list unknowingly, I probably don't understand the code and it works accidentally.. :/
<Bike>
what is the function supposed to do, exactly?
<sebboh>
just a combinatorics exercise
<jcowan>
sebboh: Western commas reflect Western number names: thousand, million, billion, .... Indian commas reflect Indian number names: thousand, lakh, crore, ...
<sebboh>
I am enumerating a set of thing, proceeding through all the possible combinations of the thing in an orderly fashion, assigning a numeric index to each. From that I'll 'do it backwards', then I'll have a function that returns the nth thing for any given integer over some range.
Guest13389 has quit [Ping timeout: 268 seconds]
<sebboh>
Bike, then I can store an int instead of the thing. :)
<Bike>
mhm. i don't get it.
nowhere_man has quit [Remote host closed the connection]
nowhere_man has joined #lisp
<Bike>
it takes a list of numbers and a number. it pops the end of the list, and if it's less than the max, adds one to it, puts it back, and recurses. otherwise it returns the element with the end popped.
<Bike>
but that's just an operational description
<Bike>
seems like it'll just remove the last element of the list eventually?
<jcowan>
So if you have 67890000000000, which is "sixty-seven trillion eight hundred and ninety billion", then the easiest way to see that right off is to punctuate it 67,890,000,000,000. But if you are reading it as "sixty-seven lakh, eighty-nine thousand crore", then it makes more sense to punctuate it as 67,89,000,00,00,000.
<jcowan>
sebboh: ^^
<sebboh>
Bike, I think the thing I'm doing is a thing that is commonly done but maybe I don't know how to describe it. I could easily draw a picture. run the function with '(1 2 3) 10 as arguments, and you'll see it print 1 2 3, 1 2 4, 1 2 5, 1 2 6, ... 1 2 10. Another function increments the 2 to 3 and sets the last number to 4, so this one can then produce 1 3 4, 1 3 5, 1 3 6, etc. In this way, I cover the whole
<sebboh>
space of possible such things, in some reasonable order.
<Bike>
ah, that.
<Bike>
why does it skip 1 3 3?
<sebboh>
becase a b c ... n are all unique and ordered.
<sebboh>
There is no 1 3 4. In fact, when max is say 10, the max thing is 8 9 10.
<sebboh>
s/max/last/
<sebboh>
crap, sorry, s/1 3 4/1 3 3/ ...
<Bike>
so it prints all 3-long combinations of integers between 1 and 10, and prints each combination as smallest to largest?
<sebboh>
yes
<sebboh>
I think
<Bike>
I see. Would passing the arguments (2 5 7) 10 be okay?
Trystam has quit [Quit: Leaving]
meepdeew has quit [Remote host closed the connection]
<sebboh>
that would never be passed by the driver program. 'Cause, it would pass 2 5 6, then 2 6 7. 2 5 7 is one of the outputs of this function... only certain values are inputs, because this function only increments the last number.. another function increments the second to last number. I'm working on getting it to 'walk' down the whole list.
<Bike>
mhm. what i'm thinking is it might not be good to pass a list argument.
<Bike>
I mean you could just pass 3 10, right? and start with 1 2 3, go from there.
Guest13389 has joined #lisp
Achylles has quit [Remote host closed the connection]
<sebboh>
What about when I pass 4 10, under your suggestion? that could be 1 2 4 or 1 3 4 or 2 3 4.
ebzzry has joined #lisp
<Bike>
no, it would be 1 2 3 4
<sebboh>
oh, you're thinking about the driver program. yeah, I just pass it 3 10. It builds a list of three members ( 1 2 3) and moves up from there. The function I pasted is just one. I'd paste the whole thing but like, I think it's time for me to get back to work on it instead. :)
<sebboh>
no, 1 2 3 4 isn't a valid member of the set that includes 1 2 3. The number of members is a thing.
<Bike>
i know, i'm saying 4 indicates the number of members.
<sebboh>
There is some other set that includes 4 members.
<Bike>
so it goes (1 2 3 4) (1 2 3 5) ...
<sebboh>
yeah, yeah. you got it. ok I promise I'll pastebin the whole thing when I'm done or when I quit, whichever comes first.
<Bike>
(loop for i from 1 to 10 do (loop for j from i to 10 do (loop for k from j to 10 do (print (list i j k))))) is how i'd write it for 3 specifically
<sebboh>
oooh, I like that
<Bike>
for a general number, you can just do it recursively
<Bike>
ah, but that has duplicates. do "for j from (1+ i) ..." etc
Kundry_Wag has joined #lisp
<sebboh>
so like I'd .. call it, and my break-out-of-recurse is just (if (< 0 n) and my call recurse is just passes (- n 1), so it only goes n deep. Pardon my off by one, but I think I get it.
<Bike>
yeah, sounds like it.
<sebboh>
ok, now... let's reverse it
<sebboh>
so f(8934257 5 70) emits (1 2 5 40 70) or whatever the 8934257th 5-by-70 is.
<sebboh>
(cf or 3-by-10 examples we've been using.)
<sebboh>
s/or/our/
<Bike>
sounds annoying.
Kundry_Wag has quit [Ping timeout: 244 seconds]
<sebboh>
Somewhere in the back of my head my junior highschool math teacher is scowling at me. I think there is a straigh-up algebraic solution to this, but I'm not sure how to approach it. I figure if I run the enumberation a bit and look at the output maybe it will come to me.
<sebboh>
heysus that's a lot of typos
<Bike>
yeah, i'm sure. it's just annoying because you can't just have the 389th element be 3 8 9 because there are no repeats.
<sebboh>
:)
<sebboh>
hm maybe that's informative. it's gotta be easy to count just the repeats ...
<sebboh>
s/gotta/maybe, I have no idea/
<LdBeth>
Good evening
<no-defun-allowed>
hi LdBeth
rumbler31 has joined #lisp
holycow has quit [Quit: Lost terminal]
rumbler31 has quit [Ping timeout: 240 seconds]
esrse has joined #lisp
robotoad has quit [Quit: robotoad]
devon has joined #lisp
<gendl>
So yeah, I got all excited about Roswell the other night, and it's quite nice as far as it goes, but of course still rough around the edges
<gendl>
I only really got it to work for SBCL, CCL, and Allegro Express.
<gendl>
and only on Mac & Linux so far (didn't try on Windows yet cause my Windows VM can't see the internet).
<gendl>
I'll put a few Issues on its repo but I should hold off on putting too much before i can look into it myself and offer some actual pull requests.
<gendl>
Nobody can expect a single person to maintain a project with an inventory like that. It needs to be a real community effort somehow.
<gendl>
One thing which would be nice would be to pull down binary impls for platforms other than what you're running on at the moment.
robotoad has joined #lisp
<gendl>
Also I managed to wedge an internal cl-engines repo that we keep under git control - Roswell's ccl-bin comes down with a .git in it (which I didn't notice)
<gendl>
I used Magit to push it into our cl-engines repository, and apparently magit "helpfully" turned it into a sub-module for me.
jack_rabbit has joined #lisp
<gendl>
So now I have a sub-module in my repo which turns out to be a strange beast indeed.
<gendl>
There are whole walls of text talking about how to get rid of a sub-module from your repo once you have one.
<aeth>
gendl: A lot of the problems with Roswell are the parts written in C. I understand that they don't want to have any initial CL dependency, but something written in pure CL that *did* depend on CL would be fine imo. A lot of people have at least 1 CL available and just want to run other CLs or want to run a newer version of that CL.
<gendl>
apparently it's not a simple thing to do.
<gendl>
aeth: Right. I'm not really seeing how having a C dependency for bootstrapping is so much better than a CL dependency.
<gendl>
if you want to build Roswell from source, it goes through a whole C make process which forces you to have a C build-essential environment installed
<aeth>
At least from a Linux perspective, every distro probably has at least one. Fedora has SBCL, ECL, and CLISP. And from a Windows/macOS perspective, it's probably not that hard to find one binary. It's the managing of a dozen that's tricky and that could be done better through a tool like Roswell.
<gendl>
Why couldn't Roswell itself be delivered as a prebuilt SBCL binary?
<aeth>
Right, it's not like there's that many platforms.
<gendl>
It's already being delivered as a prebuilt C binary, especially for Windows where you wouldn't want to try building the C code from source
<aeth>
And on Linux your distro will have one, just probably out of date by 6-12 months.
<gendl>
so if it's gonna be distributed with a bootstrapping binary anyway why not just have it be an SBCL or CCL one
<aeth>
The one platform where you don't want a binary (Linux) is the one where it's trivial to bootstrap through your distro's package manger's Lisp
<gendl>
Why wouldn't you want a binary on Linux? Just on principle and because of convention? Or because of dependencies on certain GLIBC versions etc?
<gendl>
Anyway, it's easy for us to sit here and have armchair discussions about it. I'll talk more about it after I've actually studied it a bit more (which hopefully can be soon).
<aeth>
gendl: It's too hard to deliver a binary on Linux because there's... 2 major types of package managers (.deb and .rpm) and a bunch of others, as well as 3 different ways to deliver a sandboxed app (lke Flatpak), and the traditional install script route.
<gendl>
Ok.
<aeth>
Would just be easier to tell people to run: sbcl --no-initform --non-interactive --load foo.lisp --eval "(foobar:main)"
<aeth>
Your distro probably has SBCL, just an old one. It might not have some of the more exotic ones like CMUCL or Clasp or ABCL, and it probably doesn't have the current SBCL. That's where the value of something like Roswell comes in
<gendl>
right.
<aeth>
Of course if you're going to build binaries might as well build the thing as a binary.
<aeth>
Not everything is from source.
dale has joined #lisp
jochens has joined #lisp
Kundry_Wag has joined #lisp
jochens has quit [Ping timeout: 240 seconds]
Kundry_Wag has quit [Ping timeout: 245 seconds]
slightlycyborg has quit [Quit: Lost terminal]
aindilis has quit [Read error: Connection reset by peer]
cranes has joined #lisp
azimut has quit [Ping timeout: 264 seconds]
dale has quit [Quit: dale]
igemnace has joined #lisp
Kundry_Wag has joined #lisp
aindilis has joined #lisp
wanz has joined #lisp
Kundry_Wag has quit [Ping timeout: 252 seconds]
pierpa has quit [Quit: Page closed]
<no-defun-allowed>
does petalisp do similar things to numpy?
aindilis has quit [Read error: Connection reset by peer]
<no-defun-allowed>
nvm
devon has quit [Ping timeout: 246 seconds]
dddddd has quit [Remote host closed the connection]
<beach>
Good morning everyone!
aindilis has joined #lisp
anamorphic has joined #lisp
anamorphic has quit [Client Quit]
anamorphic has joined #lisp
lemoinem is now known as Guest43298
Guest43298 has quit [Killed (asimov.freenode.net (Nickname regained by services))]
lemoinem has joined #lisp
aindilis has quit [Ping timeout: 240 seconds]
anamorphic has quit [Client Quit]
aindilis has joined #lisp
pierpal has joined #lisp
<SaganMan>
Morning beach
pierpal has quit [Read error: Connection reset by peer]
Kundry_Wag has joined #lisp
aindilis has quit [Read error: Connection reset by peer]
Kundry_Wag has quit [Ping timeout: 268 seconds]
aindilis has joined #lisp
aindilis has quit [Read error: Connection reset by peer]
Inline has quit [Quit: Leaving]
aindilis has joined #lisp
<gendl>
Good morning Robert. I'm in North Carolina.
<beach>
Ah, time for bed, then!
<gendl>
should be asleep. Going to see a customer here tomorrow.
<beach>
Good luck!
<gendl>
a very tiny customer which we hope will become a bigger, happier customer.
<beach>
Sounds good.
<gendl>
(i mean, they're not tiny - their use of our stuff is currently tiny)
<beach>
I understood.
<gendl>
You are an early riser in France.
aindilis has quit [Read error: Connection reset by peer]
<gendl>
i've often seen you here before 6am France time.
<beach>
It's a genetic defect in my family.
<gendl>
I wouldn't call it a defect.
<gendl>
I wise man once told me that the hours of sleep before midnight are worth more than those after 4am.
<beach>
My parents took a second job delivering newspapers, because they were awake at 4am anyway.
<gendl>
after 4am the benefit of remaining in bed fall off rapidly.
<beach>
I see.
<gendl>
falls* off
aindilis has joined #lisp
ryan_vw has quit [Ping timeout: 246 seconds]
<beach>
Today, my favorite coauthor will come over for lunch.
<beach>
Maybe we will plan some ELS papers. Or maybe a book.
pierpal has joined #lisp
scottj has joined #lisp
aindilis has quit [Ping timeout: 244 seconds]
pierpal has quit [Ping timeout: 264 seconds]
pierpal has joined #lisp
Kundry_Wag has joined #lisp
wanz has quit [Quit: wanz]
<gendl>
Irene?
<gendl>
i need to figure out how to make that descending accent over the e.
Kundry_Wag has quit [Ping timeout: 272 seconds]
<LdBeth>
Good evening
<LdBeth>
I think I’ll sleep early tonight.
wanz has joined #lisp
<beach>
gendl: Yes.
buffergn0me has quit [Ping timeout: 250 seconds]
pierpal has quit [Read error: Connection reset by peer]
<gendl>
ask her if she thinks it's too late for me to submit the XML to ACM for the DL.
<beach>
gendl: You change input modes in Emacs to iso-accents-mode. Then you can use ` as a prefix.
<beach>
OK, I'll try to remember.
pierpal has joined #lisp
<gendl>
I need to start using emacs for IRC. I'm using IRCCloud
<gendl>
because it keeps track of stuff while i'm gone.
<beach>
Oh, so no abbrevs either?
<beach>
Wow.
<gendl>
IRCCloud through chrome
buffergn0me has joined #lisp
<beach>
How do you manage to get anything done without abbrevs? :)
<gendl>
no abbrevs. Emacs would be nice for sure.
<LdBeth>
Emacs has a TeX based input method, which I found more useful in general case
<gendl>
by abbrevs, do you mean completing with M-x ?
<beach>
No.
<gendl>
oh, with dashes?
<gendl>
like w-o-t-s turns into with-output-to-string
<gendl>
kind of thing?
<beach>
gendl: I mean, when I type "asf" followed by space or punctuation, it automatically expands to "(admittedly small) family".
<gendl>
Oh. How does it do that?
<beach>
"cls" => "Common Lisp" "hs" => Common Lisp HyperSpec, etc.
<beach>
It's a built-in feature of Emacs.
<gendl>
Oh.
<beach>
I mean, you have to define your abbrevs of course.
<beach>
"gme" => "Good morning everyone!"
nowhereman has joined #lisp
<gendl>
Yeah i guess so. How do you define your abbrevs?
<beach>
"fcge" => first-class global environments
nowhereman is now known as Guest75806
nowhere_man has quit [Read error: Connection reset by peer]
shifty has quit [Read error: Connection reset by peer]
shifty has joined #lisp
rumbler31 has quit [Ping timeout: 268 seconds]
asymptotically2 has joined #lisp
asymptotically has quit [Remote host closed the connection]
pjb has quit [Ping timeout: 264 seconds]
frgo has joined #lisp
pierpal has joined #lisp
frgo has quit [Remote host closed the connection]
frgo has joined #lisp
lumm has joined #lisp
Folkol has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
lumm has quit [Ping timeout: 244 seconds]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 252 seconds]
lumm has joined #lisp
pierpal has quit [Ping timeout: 244 seconds]
devon has quit [Ping timeout: 268 seconds]
Guest75806 has joined #lisp
dorothyw has joined #lisp
jcowan has joined #lisp
Lycurgus has joined #lisp
holycow has joined #lisp
<holycow>
question about quicklisp: if i git clone a package into local-projects of a package that is in the ql repos ... which project takes precedence if they are named exactly the same?
<shka_>
holycow: local-projects
<holycow>
it does? great!
<holycow>
thank you
Essadon has joined #lisp
<shka_>
no problem
<shka_>
otherwise it would get really annoying...
<shka_>
because you could not simply keep your development repo in local-projects
<holycow>
oh right. that makes sense.
astronavt has joined #lisp
scymtym has joined #lisp
astronavt_ has joined #lisp
Guest75806 has quit [Ping timeout: 240 seconds]
astronavt has quit [Ping timeout: 240 seconds]
rumbler31 has joined #lisp
igemnace has quit [Quit: WeeChat 2.3]
rumbler31 has quit [Remote host closed the connection]
sunset_NOVA has quit [Quit: leaving]
scymtym has quit [Ping timeout: 250 seconds]
wanz has quit [Quit: wanz]
Folkol has joined #lisp
sunset_NOVA has joined #lisp
astronavt_ is now known as astronvat
kooga has quit [Ping timeout: 276 seconds]
kooga has joined #lisp
Lycurgus has quit [Quit: Exeunt]
lumm has quit [Read error: Connection reset by peer]
scymtym has joined #lisp
scymtym has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
scymtym has joined #lisp
Kundry_Wag has quit [Ping timeout: 246 seconds]
rozenglass has joined #lisp
didi has quit [Remote host closed the connection]
sunset_NOVA has quit [Ping timeout: 252 seconds]
holycow has quit [Quit: Lost terminal]
<phoe>
I need an example for when using MAPPEND is preferred to MAPCAN.
<phoe>
For example, when using MAPCAN invokes undefined behavior and MAPPEND saves the day.
rumbler31 has joined #lisp
trittweiler has joined #lisp
ebzzry has quit [Ping timeout: 240 seconds]
<ecraven>
the more I work at the SLIME repl, the more I understand how powerful PRESENT and ACCEPT actually are :-/ I wish SLIME and Emacs could implement them
<phoe>
so the question belongs to mapcan rather than nconc.
fikka has quit [Ping timeout: 240 seconds]
LiamH has joined #lisp
<Bike>
this seems like a "doctor, it hurts when i do this [slams hand in door]" area
Lord_of_Life has joined #lisp
aindilis has joined #lisp
<Bike>
also, not sure why that hangs in sbcl. if you do (apply #'nconc (mapcar #'identity (list x y))) it's fine.
fikka has joined #lisp
<ggole>
It might tail cons to avoid the intermediate list
<shka_>
Bike: doctor quote is awesome
<Bike>
mm, probably something like that
<ggole>
In which case, the mutation would destroy the second argument?
<ggole>
That's a guess, I haven't looked at the source.
trittweiler has quit [Ping timeout: 272 seconds]
fikka has quit [Ping timeout: 260 seconds]
<Bike>
i mean mapcan uses nconc. that's destructive. pretty much tells you 'oh, the things being nconced ought to be fresh"
varjag has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
<ggole>
There's no variant that uses append, though
<ggole>
Unless you write your own
rumbler31 has quit [Remote host closed the connection]
<phoe>
alexandria:mappend
<Bike>
yes, it's annoying.
fikka has joined #lisp
<Bike>
it is at least a one liner. or a few dozen to save time
<ggole>
Right.
shifty has quit [Ping timeout: 245 seconds]
Kundry_Wag has joined #lisp
shka_ has quit [Quit: WeeChat 1.9.1]
Lycurgus has joined #lisp
Kundry_Wag has quit [Ping timeout: 252 seconds]
Josh_2 has quit [Quit: ERC (IRC client for Emacs 26.1)]
astronvat has quit [Read error: Connection reset by peer]
astronavt_ has joined #lisp
orivej has quit [Ping timeout: 272 seconds]
<flip214>
when loading a big XML file using CXML, how would I parse only the first few levels via callbacks in the handler but either skip entire subtrees or get them as a CONS tree structure?
jack_rabbit has quit [Ping timeout: 264 seconds]
Josh_2 has joined #lisp
Inline has joined #lisp
jack_rabbit_ has joined #lisp
jack_rabbit_ has quit [Remote host closed the connection]
<flip214>
I guess I should be using KLACKS, and then pass the sub-documents via SERIALIZE-ELEMENT to MAKE-XMLS-BUILDER...?!
<phoe>
(By the way, I apologize - I'm way too nitpicky nowadays. My day job is seriously getting on my nerves and wrecking my calmness.)
angavrilov has quit [Remote host closed the connection]
<Josh_2>
You can come live with me phoe xD
<Josh_2>
pay in tutelage
<sjl_>
I know that feeling. My solution was to quit the job (luckily I was able to find a new one).
angavrilov has joined #lisp
<oni-on-ion>
is the money worth it, we've got to ask ourselves
<oni-on-ion>
especially when we notice it getting better or worse (nothing stays the same)
fikka has joined #lisp
sz0 has joined #lisp
angavrilov has quit [Read error: Connection reset by peer]
fikka has quit [Ping timeout: 246 seconds]
solyd has quit [Ping timeout: 252 seconds]
<phoe>
I'll find out by the end of the year if the *new* money is worth it. New, as in, the amount I ask for.
pjb has joined #lisp
rozenglass has quit [Remote host closed the connection]
warweasle_afk is now known as warweasle
<oni-on-ion>
hopeful =)
shka_ has joined #lisp
fikka has joined #lisp
pierpal has quit [Ping timeout: 245 seconds]
fikka has quit [Ping timeout: 264 seconds]
eddof13 has joined #lisp
robotoad has joined #lisp
fikka has joined #lisp
fikka has quit [Read error: Connection reset by peer]
frgo_ has joined #lisp
frgo has quit [Ping timeout: 244 seconds]
frgo_ has quit [Remote host closed the connection]
didi has joined #lisp
<beach>
flip214: Thanks for the feedback on CLOSOS!
<beach>
flip214: I have some questions for you, if that's OK.
<didi>
So, as far as I can tell, when calling a function using `~/package:function/' with `format', `format' doesn't care if the symbol `function' is exported or not.
<beach>
flip214: First one: How is ASLR unrelated to the fact that a Unix process has full access to its entire address space?
fikka has joined #lisp
<ggole>
ASLR means that instructions are mapped into the process at (boundedly) randomised locations
<beach>
I know.
<ggole>
It has nothing to do with denying access
<beach>
I don't think I claim it does.
<ggole>
Perhaps I've misunderstood the comment?
francogrex has quit [Quit: ERC (IRC client for Emacs 25.3.1)]
<beach>
I claim that ASLR would not be necessary if the process did not have access to its entire address space.
fikka has quit [Ping timeout: 260 seconds]
<shka_>
it would be a good idea in some niche cases
<beach>
What would be a good idea?
<shka_>
ASLR
<beach>
You mean niches like Unix?
<shka_>
i mean even if the process did not have access to its entire address space in unix
<beach>
Then it would not be Unix.
<ggole>
How could that work, given the machines we have?
Josh_2 has quit [Remote host closed the connection]
<shka_>
well, ok
<beach>
ggole: How would what work?
Josh_2 has joined #lisp
<ggole>
Processes not having access to their parts
<shka_>
ggole: DIRECT access
<ggole>
You pretty much need direct access to instruction memory if you want to be able to call a function
<beach>
In the same way as a Common Lisp system does not let the user access an arbitrary address on the stack or on the heap.
kajo has quit [Ping timeout: 250 seconds]
<beach>
ggole: OK, fine.
<beach>
I should be more precise.
<beach>
I thought I could skip that part, because my question was relative to the CLOSOS document.
<beach>
I am not sure I am up to re-typing the entire argument here and now. I have had a long day already.
<ggole>
Are you intending to rely on well defined, safe software to avoid entirely the possibility of the things that ALSR is a mitigation for?
Guest75806 has joined #lisp
<ggole>
eg, no memory unsafety, no pointer fabrication tricks
<beach>
Correct.
<ggole>
OK
<beach>
The technique has a name.
kajo has joined #lisp
<beach>
"trusted compiler".
<ggole>
I think 'access to its address space' is not the best way to invoke that idea
fikka has joined #lisp
pjb has quit [Ping timeout: 260 seconds]
<beach>
*sigh*, again, I thought I could rely on flip214 knowing what I refer to. Sorry about that. I should be more precise in the future.
Folkol has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<ggole>
Right, I probably should not have interposed in the conversation.
<beach>
You have the full right to do so.
<beach>
Many people here already know what I am referring to, and I should not have assumed that everyone does.
<oni-on-ion>
he may be afk. is the CLOSOS doc public ?
<beach>
oni-on-ion: It used to be entitled "LispOS", but I had to give it a name.
milanj has joined #lisp
fikka has quit [Ping timeout: 268 seconds]
<oni-on-ion>
ohhh =) *loads*
<beach>
So what happened was that flip214, who is an excellent proofreader, did what he often does and for which I am grateful, namely he took a document I have written and went over it with a fine-tooth comb.
<beach>
Most of his remarks are uncontroversial and I just go ahead and incorporate them. But occasionally I have questions about them.
<beach>
And this was one such case.
angavrilov has joined #lisp
Bike_ has joined #lisp
Bike has quit [Ping timeout: 256 seconds]
<beach>
oni-on-ion: I can't very well call it CLOS.
<phoe>
beach: that's cl(os)²
<oni-on-ion>
heh
<oni-on-ion>
yeah. i've no alternative, so i cant directly say anything, just that it felt wierd to type and read in both upper and lower cases
rk[ghost] has joined #lisp
<beach>
oni-on-ion: It is my best guess that most people will never have to neither read nor type it.
<pfdietz>
CLOSOS is fine
<oni-on-ion>
again, havent said it is not fine, also have not suggested to change it or anything. just asking if there was particular reason for what it *is* currently
bendersteed has joined #lisp
vtomole has joined #lisp
vtomole has quit [Client Quit]
jkordani has joined #lisp
orivej has joined #lisp
bendersteed has quit [Read error: Connection reset by peer]
ggole has quit [Quit: ggole]
jkordani_ has quit [Ping timeout: 240 seconds]
meepdeew has joined #lisp
pierpal has joined #lisp
pjb has joined #lisp
jochens has quit [Remote host closed the connection]
jochens has joined #lisp
jochens has quit [Ping timeout: 240 seconds]
flip214 has quit [Read error: Connection reset by peer]
flip214_ has joined #lisp
orivej has quit [Ping timeout: 252 seconds]
rumbler31 has joined #lisp
Copenhagen_Bram has quit [Quit: So long, and thanks for all the fish! 2.2 Weechat is best Weechat]
rumbler31 has quit [Remote host closed the connection]
hhdave has quit [Ping timeout: 272 seconds]
nly has quit [Read error: Connection reset by peer]
nly has joined #lisp
SaganMan has quit [Ping timeout: 240 seconds]
Bike_ is now known as Bike
frgo has joined #lisp
pierpal has quit [Quit: Poof]
pierpal has joined #lisp
pierpal has quit [Read error: Connection reset by peer]
pierpal has joined #lisp
fikka has quit [Ping timeout: 264 seconds]
Kundry_Wag has quit [Remote host closed the connection]
nly has quit [Read error: Connection reset by peer]
nlyy has joined #lisp
Josh_2 has quit [Ping timeout: 245 seconds]
rozenglass has joined #lisp
Lycurgus has quit [Quit: Exeunt]
<jackdaniel>
coCLOSseus
fikka has joined #lisp
sauvin has quit [Ping timeout: 264 seconds]
Lord_of_Life has quit [Ping timeout: 268 seconds]
fikka has quit [Ping timeout: 264 seconds]
<pfdietz>
The Forbin Project? :)
shrdlu68 has joined #lisp
<shka_>
ThisTimeReallyNotUnix or TTRNU
fikka has joined #lisp
WorldControl has joined #lisp
Lord_of_Life has joined #lisp
solyd has joined #lisp
rozenglass has quit [Remote host closed the connection]
m00natic has quit [Remote host closed the connection]
nirved has quit [Quit: Leaving]
Kaisyu has quit [Quit: Connection closed for inactivity]
WorldControl has quit [Quit: Exeunt]
solyd has quit [Quit: solyd]
WorldControl has joined #lisp
rumbler31 has joined #lisp
WorldControl has quit [Client Quit]
Josh_2 has joined #lisp
WorldControl has joined #lisp
scymtym has quit [Ping timeout: 276 seconds]
WorldControl has quit [Client Quit]
rumbler31 has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 252 seconds]
fikka has joined #lisp
Selwyn has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 245 seconds]
orivej has joined #lisp
nanoz has joined #lisp
fikka has joined #lisp
WorldControl has joined #lisp
scymtym has joined #lisp
<oni-on-ion>
shka_: heh
<oni-on-ion>
GNU.io / GNU.js
fikka has quit [Ping timeout: 252 seconds]
jkordani_ has joined #lisp
jkordani has quit [Ping timeout: 252 seconds]
nanozz has joined #lisp
milanj has quit [Quit: This computer has gone to sleep]
jmercouris has joined #lisp
fikka has joined #lisp
<LdBeth>
morning
nanoz has quit [Ping timeout: 264 seconds]
bandrami has joined #lisp
fikka has quit [Ping timeout: 272 seconds]
<jcowan>
two questions: how strong is the convention that package names (at least user-visible ones) use only uppercase letters and hyphens?
jmercouris has quit [Remote host closed the connection]
<jcowan>
second, is CLtL1 online anywhere? I have a hard copy, but I wanted to look up something quickly
<pfdietz>
Hyphens vs. underscores is traditional. I suspect it goes back to the character sets at the start of Lisp not having underscore.
WorldControl has quit [Quit: Exeunt]
Lycurgus has joined #lisp
<pfdietz>
Package names being upper case comes from the default reader, which is again traditional, and which upper cases everything. Lower case characters would require escaping with | |.
<oni-on-ion>
hi LdBeth
fikka has joined #lisp
<didi>
I always wonder what would break if I change `readtable-case'. For example, how many packages use `foo' and `"FOO"' as synonyms.
<jcowan>
pfdietz: But do people use digits or other non-letters?
<jcowan>
I know they can, but does it actually happen?
astronavt_ has joined #lisp
<ecraven>
I've definitely seen digits
<pfdietz>
And / is quite common.
lavaflow_ has joined #lisp
<Xof>
sb-cltl2
<Xach>
. is also common
<jcowan>
Thanks, all
dale_ has joined #lisp
<pfdietz>
Download a full quicklisp dist and look at all the code, if you want a sense of various styles "in the wild".
dale has quit [Disconnected by services]
dale_ is now known as dale
<Xach>
i like the tag library that defines a package named "<" so it has forms like (<:p> ...) or something.
<Xach>
It's not quite that, but not far off.
koenig1 has joined #lisp
<oni-on-ion>
o_o
whartung_ has joined #lisp
azimut_ has joined #lisp
nckx- has joined #lisp
kozy_ has joined #lisp
<pfdietz>
The first lisp program I ever wrote was on a computer that did not have underscore in its character set.
<didi>
pfdietz: Was it broken?
<shrdlu68>
The function "SB-C::CHECK-DS-LIST" shows up near the top in my profiler output. I looked at its source but couldn't tell what it does. Does anyone know what it is and if it can be optimized away?
<pfdietz>
No, it used 6 bit BCD, which lacked underscore. This was an IBM 7094.
<oni-on-ion>
never seen lisp with underscores. safe!
<oni-on-ion>
any language with '::' needs some serious revisiting. imo.
eagleflo_ has joined #lisp
scottj has quit [Killed (card.freenode.net (Nickname regained by services))]
<didi>
non-exported symbols?
<Bike>
shrdlu68: i'm guessing it's a safety function in destructuring-bind
makomo has joined #lisp
<oni-on-ion>
'dot' is okay; not to give java any points but, why FOUR dots???
<pfdietz>
We're in our dotage, oni-on-ion
<Bike>
shrdlu68: or maybe lambda lists more generally.
<shrdlu68>
Bike: I _am_ using destrucuring-bind. (safety 0) doesn't seem to affect it.
<pjb>
pfdietz: not the forbin project, the loopbin project ;-)
jkordani_ has quit [*.net *.split]
nlyy has quit [*.net *.split]
pierpal has quit [*.net *.split]
rippa has quit [*.net *.split]
astronavt has quit [*.net *.split]
lavaflow has quit [*.net *.split]
azimut has quit [*.net *.split]
Guest13389 has quit [*.net *.split]
mingus has quit [*.net *.split]
nckx has quit [*.net *.split]
easye has quit [*.net *.split]
HDurer has quit [*.net *.split]
funnel has quit [*.net *.split]
Posterdati has quit [*.net *.split]
kozy has quit [*.net *.split]
n3k0_t has quit [*.net *.split]
troydm has quit [*.net *.split]
whartung has quit [*.net *.split]
thijso has quit [*.net *.split]
eagleflo has quit [*.net *.split]
mfiano has quit [*.net *.split]
gabot has quit [*.net *.split]
acolarh has quit [*.net *.split]
koenig has quit [*.net *.split]
Colleen has quit [*.net *.split]
bandrami has quit [Quit: Leaving]
whartung_ is now known as whartung
<Bike>
yeah, if you macroexpand (destructuring-bind (a b c) (list 1 2 3) ...) you'll see a check-ds-list call
acolarh has joined #lisp
<Bike>
it doesn't look conditional on policy either, no
astronavt_ is now known as astronavt
troydm has joined #lisp
mfiano has joined #lisp
Guest13389 has joined #lisp
<Bike>
on the bright side, if your most expensive calls are to something dumb like that you're probably doin alright
funnel has joined #lisp
<shrdlu68>
Would declaring the type of the list help?
<phoe>
It seems that the only difference is that ENSURE-FUNCTION does not work in case of lambda forms.
jkordani_ has quit [Read error: Connection reset by peer]
terpri_ has quit [Read error: Connection reset by peer]
terpri_ has joined #lisp
jfb4 has joined #lisp
dueyfinster has joined #lisp
fikka has joined #lisp
eddof13 has quit [Quit: eddof13]
fikka has quit [Ping timeout: 245 seconds]
shifty has joined #lisp
rumbler31 has joined #lisp
eddof13 has joined #lisp
rumbler31 has quit [Remote host closed the connection]
nly has quit [Ping timeout: 250 seconds]
Roy_Fokker has quit [Read error: Connection reset by peer]
Roy_Fokker has joined #lisp
fikka has joined #lisp
frodef has quit [Ping timeout: 246 seconds]
fikka has quit [Ping timeout: 240 seconds]
warweasle has quit [Quit: rcirc on GNU Emacs 24.4.1]
meepdeew has joined #lisp
<didi>
In `format', can I fix the value of `v' so it's used for multiple args? For example, instead of writing (format t "~{~vD~}" (list 5 1 5 2 5 3)) so (eql v 5), I want to write something like (format t "~{~vD~}" 5 (list 1 2 3)), that is, `5' only once.
<pjb>
didi: yes, the function must be global in the cl-user package.
<didi>
Ah, you mean the value.
<pjb>
Or you need to qualify ~/pack:fun/
<didi>
pjb: Indeed.
<didi>
Thank you.
fikka has joined #lisp
pierpal has quit [Quit: Poof]
pierpal has joined #lisp
kajo has quit [Ping timeout: 252 seconds]
<pjb>
~/ is probably under-utilised.
<didi>
It's a little brittle. I wrote a version of ~D that also accepts strings as arguments to use with ~/.
kajo has joined #lisp
fikka has quit [Ping timeout: 245 seconds]
Josh_2 has quit [Quit: ERC (IRC client for Emacs 26.1)]
martylake has joined #lisp
<pjb>
~D already accepts strings. ~A is left align, and ~D is right align: (format nil "~5A ~:*~5D" "Foo") #| --> "Foo Foo" |#
<pjb>
But strangely (well, not really), only clisp implements padchar with ~D correctly for non-integers: (format nil "~5,,,'*A ~:*~5,'>D" "Foo") #| --> "Foo** Foo" |# "Foo** >>Foo" in clisp.
<didi>
pjb: Thank you, but I was talking also about commachar.
<didi>
I've got to go.
didi has quit [Quit: O bella ciao bella ciao bella ciao, ciao, ciao.]
Bike has joined #lisp
robotoad has quit [Quit: robotoad]
robotoad has joined #lisp
robotoad has quit [Client Quit]
fikka has joined #lisp
dueyfinster has quit [Quit: My iMac has gone to sleep. ZZZzzz…]