freenode/#lisp - IRC Chatlog
Search
1:22:33
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. :/
1:25:57
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?
1:27:08
sebboh
May I make an actual copy of the list? Or are lists like strings in java--there's only one of each. ?
1:28:25
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.. :/
1:30:15
jcowan
sebboh: Western commas reflect Western number names: thousand, million, billion, .... Indian commas reflect Indian number names: thousand, lakh, crore, ...
1:31:30
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.
1:34:15
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.
1:35:21
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.
1:36:25
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
1:39:23
Bike
so it prints all 3-long combinations of integers between 1 and 10, and prints each combination as smallest to largest?
1:43:51
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.
1:48:21
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.
1:49:48
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. :)
1:50:32
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.
1:51:23
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.
1:51:35
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
1:54:37
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.
1:59:10
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.
2:02:03
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.
2:24:15
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
2:24:56
gendl
and only on Mac & Linux so far (didn't try on Windows yet cause my Windows VM can't see the internet).
2:25:37
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.
2:26:08
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.
2:26:53
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.
2:28:01
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)
2:28:32
gendl
I used Magit to push it into our cl-engines repository, and apparently magit "helpfully" turned it into a sub-module for me.
2:29:19
gendl
There are whole walls of text talking about how to get rid of a sub-module from your repo once you have one.
2:29:43
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.
2:31:13
gendl
aeth: Right. I'm not really seeing how having a C dependency for bootstrapping is so much better than a CL dependency.
2:32:08
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
2:32:11
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.
2:33:16
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
2:33:38
gendl
so if it's gonna be distributed with a bootstrapping binary anyway why not just have it be an SBCL or CCL one
2:34:06
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
2:35:04
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?
2:36:16
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).
2:36:46
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.
2:37:31
aeth
Would just be easier to tell people to run: sbcl --no-initform --non-interactive --load foo.lisp --eval "(foobar:main)"
2:38:06
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
4:11:58
gendl
I wise man once told me that the hours of sleep before midnight are worth more than those after 4am.
4:12:10
beach
My parents took a second job delivering newspapers, because they were awake at 4am anyway.
4:38:01
beach
gendl: You change input modes in Emacs to iso-accents-mode. Then you can use ` as a prefix.
4:40:30
beach
gendl: I mean, when I type "asf" followed by space or punctuation, it automatically expands to "(admittedly small) family".
4:43:05
gendl
I've heard people talk about abbrevs as if they're some kind of gift from God. But I always thought "meh. M-/ is good enough for me"
4:45:49
gendl
(i can look it up but i want to make sure i'm using the same package everyone here uses)
4:49:44
gendl`
Hi, i'm here through emacs now. I'm not sure why my nick has a backtick at the end now.
4:51:37
LdBeth
IRC only allows one nick name login in one place, so ERC automatically appends ` to conflicted nicks
7:56:18
fiddlerwoaroof
devon: I'm not sure if it's possible out of the box, but you might be able to extend it to do that.
11:56:26
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?
12:52:07
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
13:16:14
phoe
This page says nothing about the dangers of using NCONC when the lists in question share structure.
13:19:20
ggole
Defining the exact operation of every list operation for cyclic list structure would probably be a mistake