freenode/#lisp - IRC Chatlog
Search
18:12:53
mfiano
Oh, nevermind. I thought you were the maintainer of McCLIM. Sigh, I am getting really confused lately.
18:31:26
mfiano
Likewise, but moreso that something like this could be created in a such a short period.
18:34:51
phoe
People can prepare their libraries in advance, but they start coding at a given hour of a given day and they must finish coding before a given hour of another day.
18:36:14
mfiano
jackdaniel: Thanks for the excellent work in McCLIM if I never thanked you (and all the other contributers too).
18:39:53
mfiano
Some months ago I saw that my pngload library was forked in preparation for the mezzano port, and I'd like to know if that ever got anywhere
18:40:34
jackdaniel
well, as far as I know it works just fine on mezzano, I think he needs to tie some loose ends here and there and it will be merged upstream
18:41:02
jackdaniel
he was a little blocked by me, because I was refactoring mirror class hierarchy until two weeks ago
18:43:10
mfiano
After the jam deadline (tonight/tomorrow depending where you live), everyone will have 4 days to play and then rate their favorites, so stop by again then :)
18:44:46
jackdaniel
but that will have to wait until I'm done with things (now I'm hacking on ECL and I'm learning Forth)
19:12:38
phoe
flip214: https://github.com/phoe/protest/blob/master/src/1am/1am.lisp that's my integration code
19:14:17
flip214
phoe: but neither quickdocs nor quicklisp:system-apropos nor a listing of my ~/quicklisp/.../software found any matching system name!
19:21:15
phoe
jackdaniel: I promise you that the next testing framework I create will be called HALF-PAST-TWO
19:21:25
flip214
phoe: I looked for "4", "5", and "6", each "pm" and "am", but couldn't find anything.
19:22:33
phoe
jackdaniel: thanks for the heads-up, I'll think of integrating it with PROTEST based on my 1AM code
19:23:40
jackdaniel
do whatever you please. I'm not planning to put it on quicklisp, I'm already confused with unit test frameworks we have, not going to make the problem bigger
19:44:43
Xof
Bike: that (:method-combination machine) looks surprisingly sane. Doesn't use arguments or generic-function, though :-)
19:49:59
Bike
so really we'd like to have an infinite number of metnod groups. define method combination is not powerful enough, obvs
20:02:48
Xof
but you can make your machine method combination work with sbcl by making :start a method-combination argument
20:39:52
Petit_Dejeuner
Anyone want to reccomend a testing framework? I was just going to use lisp-unit or maybe 5am, but my reccomendations are 11 years old now.
20:41:37
jackdaniel
as of other gazzilion unit testing frameworks – can't tell. 1am is good for running tests by hand and stress tests
23:59:08
pfdietz_
I've found it useful to run unit tests repeatedly in random order. In systems with hidden state this can expose bugs. Found a bug in clisp doing this.
2:07:32
pierpa
"My advisor (Dan Friedman) used to express it like this in the 1980s: \"Software crisis? What software crisis? Just put all programmers in front of a Lisp machine and your crisis is over.\"" -- Matthias Felleisen, 1 hour ago.
2:41:45
pierpa
(MFs point, though, is that at the time they were wrong. He wrote this in a rant *against* Lisp Machines style of developing software)
3:40:56
ealfonso
I'm trying to debug a condition raised in my hunchentoot , but I don't want to resort to print statements when I have slime. Is there a way to get backtraces from hunchentoot handlers in slime?
3:45:32
shrdlu68
Did LispMachines of old have system calls as we know them today? I'm trying to gain perspective on whether it would be possible/desirable to expose the OS's API by some other means, perhaps through a pseudo-filesystem of network.
3:49:38
p_l
what the oldest of them had was multi-threaded VM lying deep inside the CPU that handled some of the work in a way that could be considered "syscalls", but more adequately formed the "Virtual Machine" in which the code lived
3:53:51
p_l
also classic windows pre 4.x (i.e. 1.01 - 3.x) which was implemented essentially as a bunch of shared libraries you linked with
3:54:30
shrdlu68
I'm wondering whether it would make sense to expose syscalls in Linux in some other way, such that one doesn't have to rely in C/Assembly to interface with the kernel.
3:55:57
p_l
shrdlu68: well, you need to do the actual call. Though VDSO kinda does exactly that, for some specialized calls that don't actually do any context switch
3:57:21
p_l
shrdlu68: also, several systems had language-agnostic call interfaces, it's more of an Unix thing that brought C-defined interfaces itno life
3:58:40
beach
shrdlu68: Is it something like this that you are thinking of? http://metamodular.com/POSIX-API/
3:58:45
p_l
shrdlu68: the documentation for VMS should be still out there on HP webservers, it was one of the more language agnostic systems
3:59:18
p_l
MVS (now called z/OS) is old enough to not care, and had significant amount of code written to this day in assembly
3:59:49
p_l
While a lot of windows is now in C land, the COM system is *heavily* used to provide API and handle ABIs
4:00:11
p_l
especially since you can't depend on such silly things as malloc() and free() being the same for two different libs
4:02:26
p_l
I *suspect* AS/400 (now called IBM i) might have Lisp Machine-style lack of system calls across all languages outside of the POSIX environmnet
4:02:57
p_l
but that's because it has capability-style addressing, so calling a function might actually trigger apropriate security measures
4:04:10
p_l
I do sometimes envy the people who got to actually experience or build the things I only got to read about or use emulators for
4:05:19
beach
p_l: I can see that. So how about you help build a LispOS according to my specification? Then you would be part of something like that.
4:08:02
p_l
hard to say. Current priorities involve paying off debts ASAP, in order to free up capital for a planned move to france
4:08:56
p_l
beach: girlfriend likes warm climates, wants spacious area far away from people and a big house :)
4:08:58
beach
shrdlu68: Not really, no. For my LispOS project I don't plan to have anything POSIX like.
4:10:08
shrdlu68
beach: I'm not sure I understand the document. I'm thinking of writing a kernel module that would facilitate language-agnostic syscalls in the Linux kernel. Is this something like that?
4:12:08
beach
shrdlu68: I would need more time to think about it. I haven't had my coffee yet, and it is still early in the morning. :)
4:12:27
p_l
shrdlu68: ahh, one more interesting thing to read, possibly, is classic x86 segmentation and permission handling involved
4:12:46
vtomole
Why does (apply '+ '(1 2))=> 3 and (apply 'and '(1 NIL)) =>The function COMMON-LISP:AND is undefined.?
4:13:03
p_l
shrdlu68: I haven't looked at it in a long time, but it had "call gates" which controlled how you could call from different "modules" with different permission levels
4:14:55
shrdlu68
p_l: You've left me with enough material for a lot of reading. Does what I'm planning make sense?
4:15:51
p_l
I have a bit more pragmatic streak so I always look into things like security model and dealing with both having restricted system *and* hackable system
4:16:19
shrdlu68
I guess what I'm wondering is why this has not been done before. I was inspired by namespaces and cgroups in Linux. The former is implemented in syscalls while the latter is implemented through a pseudo-filesystem.
4:16:54
p_l
shrdlu68: funnily enough, both namespaces and use of pseudo-filesystems the way cgroups are done come from the same OS
4:17:15
shrdlu68
I ahve thought about security a little, not sure how my module would play nice with things like seccomp.
4:17:33
p_l
and there's documented reasoning behind which parts are done through system call and which through exported filesystem
4:18:25
p_l
which had *very* strong separation of what was kernel and user space, yet at the same time mixed the actual programming model in weird way
4:23:47
p_l
they are very close but separate implementations of similar ideas, and generally speaking are interoperable to great degree (as Plan9 4thEd and Inferno had resynced their protocol implementations)
4:24:30
antoszka
but was Inferno rewritten from scratch? Or was it just a "new version" with stuff added/partly rewritten and so on?
4:25:29
p_l
it was a completely new OS that happens to be from related if not same team and which targeted Java as competitor
4:27:05
antoszka
yeah, I can see it was written mostly in Limbo, which is kinda a remake of p9's Alef, right?
4:30:46
p_l
arguably Inferno is one of the more recent "language OSes" but which tries to abstract the underlying hw fully
4:33:13
p_l
Plan 9 was also used not exactly commercially in grid computing efforts and at least one supercomputer
4:36:43
antoszka
p_l: Doesn't Inferno fill a similar niche to Erlang based systems? I know this is a different level of abstraction (OS + lang + runtime) vs (any-OS + lang + runtime).
4:41:54
antoszka
yeah, so that's what I said, but anyway, guess that's a topic for #lispcafe, so i'll shup up here for now :)
4:54:15
drmeister
Say you have a list of N jobs on a machine with M logical processors (N > M) - does anyone have an elegant way to keep all M logical processors busy until the N jobs are done?
4:58:55
beach
Pick an arbitrary subset of M out of N jobs. When a job finishes, select one of the remaining ones to put on that processor.