2014-12-10T00:04:37Z hilquias joined #scheme 2014-12-10T00:05:58Z oldskirt joined #scheme 2014-12-10T00:07:46Z wingo joined #scheme 2014-12-10T00:12:34Z oldskirt quit (Ping timeout: 244 seconds) 2014-12-10T00:15:24Z theseb quit (Quit: Leaving) 2014-12-10T00:17:32Z phipes joined #scheme 2014-12-10T00:17:45Z phipes quit (Max SendQ exceeded) 2014-12-10T00:18:59Z jeapostrophe joined #scheme 2014-12-10T00:18:59Z jeapostrophe quit (Changing host) 2014-12-10T00:18:59Z jeapostrophe joined #scheme 2014-12-10T00:20:38Z oleo is now known as Guest2221 2014-12-10T00:22:14Z oleo__ joined #scheme 2014-12-10T00:23:28Z Guest2221 quit (Ping timeout: 258 seconds) 2014-12-10T00:27:31Z FracV quit (Changing host) 2014-12-10T00:27:31Z FracV joined #scheme 2014-12-10T00:29:56Z araujo joined #scheme 2014-12-10T00:29:56Z araujo quit (Changing host) 2014-12-10T00:29:56Z araujo joined #scheme 2014-12-10T00:32:19Z wingo quit (Ping timeout: 245 seconds) 2014-12-10T00:39:49Z chitofan joined #scheme 2014-12-10T00:48:37Z goglosh: what would be a good challenge to code in scheme? 2014-12-10T00:49:21Z Riastradh quit (Ping timeout: 250 seconds) 2014-12-10T00:54:08Z turbofail: a filesystem 2014-12-10T01:02:19Z pjb: goglosh: a whole capability based operating system. 2014-12-10T01:03:05Z pjb: with current hardware, you don't really need a file system. With capabilities, you can provide directories, and have the operating system manage the persistence, by using the RAM as a cache for the persistent memory devices. 2014-12-10T01:03:30Z pjb: see for example EROS (http://eros-os.org) 2014-12-10T01:04:04Z goglosh: woah 2014-12-10T01:04:16Z pjb: see http://wiki.osdev.org/Getting_Started for more information and resources about how to write an OS 2014-12-10T01:05:12Z pjb: for the challenging part, you will have to work on a scheme implementation, to be able to generate the code in the format required by the boot loader, to run in the initial modes of the processor, etc. 2014-12-10T01:06:51Z goglosh: I always wanted to see a Scheme-based OS 2014-12-10T01:06:52Z goglosh: but damn 2014-12-10T01:07:40Z pjb: It's not really that hard. You could have a look at Movitz, which is a CL implementation running on bare hardware (not an "OS" yet, but it could be a starting point). 2014-12-10T01:07:54Z pjb: http://common-lisp.net/project/movitz/ 2014-12-10T01:08:03Z goglosh: oh yeah I saw that once 2014-12-10T01:08:18Z goglosh: I actually wouldn't think anythying could be that hard done on scheme 2014-12-10T01:08:50Z oldskirt joined #scheme 2014-12-10T01:08:58Z goglosh: but, well, an OS... 2014-12-10T01:09:34Z goglosh: I'd need to work hard on my C skills to get the implementation running 2014-12-10T01:09:41Z goglosh: the barebones 2014-12-10T01:10:07Z pjb: no no, you don't need C to write an OS at all. 2014-12-10T01:10:13Z goglosh: seriously? 2014-12-10T01:10:23Z goglosh: can it be done just with scheme? o.O 2014-12-10T01:10:29Z pjb: You don't even need C to write a unix system, a unix system has been written in Pascal once. 2014-12-10T01:10:32Z pjb: Yes. 2014-12-10T01:10:38Z goglosh: woah 2014-12-10T01:10:45Z goglosh: but.. wouldn't it be kinda slow? 2014-12-10T01:10:55Z goglosh: (like, a lot?) 2014-12-10T01:11:24Z pjb: You can write a LAP assembler in scheme, to generate the small routines that need have some specific constraints, like the boot loader, or the routines using the processor specific instructions to manipulate the processor state (priviledges, etc). 2014-12-10T01:11:34Z jusss` joined #scheme 2014-12-10T01:12:02Z pjb: And it wouldn't be slow at all; check http://cliki.net/Performance you can obtain lisp program going faster than C or C++. 2014-12-10T01:12:23Z turbofail: there was dreamOS, which was written in a combination of scheme and an assembler-written-in-scheme 2014-12-10T01:12:26Z pjb: The latest example I have in mind is a HTTP server written in CL that is faster than any C web server. 2014-12-10T01:12:46Z turbofail: ran on bare metal, no C involved 2014-12-10T01:13:04Z turbofail: not sure where to find it these days though, the author's website is dead 2014-12-10T01:13:32Z oldskirt quit (Ping timeout: 244 seconds) 2014-12-10T01:13:37Z goglosh: damn 2014-12-10T01:13:44Z goglosh: sounds like a hell of a good project 2014-12-10T01:14:06Z pjb: One magical thing that you can do when you write an OS in a high level programming language, is to control the software using the language compiler. If you can prove that your compiler will never generate "bad" code, then you can do away with a lot of features that unix had to implement because of C and assembler were used to write userland code. 2014-12-10T01:14:21Z derek_c quit (Ping timeout: 244 seconds) 2014-12-10T01:15:06Z goglosh: like all the library interfacing, right? 2014-12-10T01:15:21Z pjb: Yes. 2014-12-10T01:15:38Z goglosh: well I could try and get a scheme optimizing compiler done on scheme 2014-12-10T01:15:54Z goglosh: I'd still have to learn about the macheen codes 2014-12-10T01:16:17Z pjb: goglosh: but before you start, you could watch: Alan Kay "Programming and Scaling" 2011 http://www.tele-task.de/archive/video/flash/14029/ 2014-12-10T01:16:17Z pjb: 2014-12-10T01:16:26Z pjb: (to the end) 2014-12-10T01:16:53Z pjb: goglosh: this should show you how you could even write seemingly "big" systems with relatively little code. 2014-12-10T01:17:52Z goglosh: I'll watch it 2014-12-10T01:18:58Z goglosh: but, in theory, if I can make an optimizing scheme->asm (no C in the middle) compiler, I could then use that to build any arbitrary system, right? 2014-12-10T01:20:35Z pjb: Yes. 2014-12-10T01:20:44Z pjb: I didn't mention it, because there are already such scheme implementations. 2014-12-10T01:21:18Z pjb: But I mentionned that you would have to touch it, because they may generate code that expect an underlying posix system (ie. libc). 2014-12-10T01:21:35Z goglosh: oh i see 2014-12-10T01:21:57Z pjb: For example, unix processus all manage the memory about the same way, with stack and heap, because there are some constraints given by the unix kernel. 2014-12-10T01:22:28Z pjb: If you write a new OS, the memory management can be different, and therefore the exact code generated can be different, the "ABI". 2014-12-10T01:22:47Z goglosh: sure 2014-12-10T01:22:58Z goglosh: the ideal thing would be to make a lisp-friendly ABI, right? 2014-12-10T01:23:14Z goglosh: kind of what a lisp-machine would do 2014-12-10T01:23:54Z pjb: eg. in the case of a capability based OS, and when the compiler ensures that no random pointers are possible, you can do without the separate memory spaces, which gives a whole different way to manage and share the memory between process and kernel and between processes. 2014-12-10T01:24:13Z pjb: Definitely, passing lisp typed objects would be natural. 2014-12-10T01:24:31Z chitofan quit (Ping timeout: 246 seconds) 2014-12-10T01:25:03Z goglosh: shared spaces... as in DOS? 2014-12-10T01:25:09Z pjb: More like in emacs! 2014-12-10T01:25:27Z goglosh: haven't coded elisp 2014-12-10T01:25:37Z pjb: In emacs, you load tons of different software written by different people, and you never have any program overriding data from another. 2014-12-10T01:25:59Z goglosh: isn't that due to namespacing? 2014-12-10T01:26:01Z pjb: You can run a spreadsheet and a tetris, erc and gnus and w3m all applications in the same emacs process. 2014-12-10T01:26:08Z pjb: There's not even namespacing in emacs! :-) 2014-12-10T01:26:13Z goglosh: oh 2014-12-10T01:26:14Z pjb: No, this is because there are no random pointers. 2014-12-10T01:26:28Z goglosh: Oh I think I get it 2014-12-10T01:26:34Z goglosh: hmm 2014-12-10T01:26:35Z pjb: Of course, for security reasons, you'd want namespaces, managed by capabilities. 2014-12-10T01:26:35Z pjb: 2014-12-10T01:27:01Z pjb: But this is orthogonal to the random pointer => separate memory space problem. 2014-12-10T01:30:46Z goglosh: I... would have to do a lot of research 2014-12-10T01:30:53Z derek_c joined #scheme 2014-12-10T01:31:09Z pjb: You asked for a challenge :-) 2014-12-10T01:31:10Z kongtomorrow quit 2014-12-10T01:31:13Z goglosh: lol 2014-12-10T01:31:15Z goglosh: yeah I did 2014-12-10T01:31:30Z goglosh: but I still don't quite get how memory would be managed at the low level 2014-12-10T01:32:17Z goglosh: I would REALLY need to study a lot of low-level stuff 2014-12-10T01:33:36Z kongtomorrow joined #scheme 2014-12-10T01:34:08Z pjb: Well, assuming you want threads, and to run on a multi-core processor, you would already want to have a parallel garbage collector (perhaps even also a real-time GC). This would help for the OS threads that will deal with devices (the device drivers). You might want to be able to pin objects in RAM (so they're not moved by the GC, and not swapped out / flushed on persistent memory). Therefore given that, you can use the normal sch 2014-12-10T01:34:08Z pjb: memory with this GC for both the kernel code and user code. 2014-12-10T01:34:31Z pjb: So yes, you'd have to read some papers about parallel GC and real-time GC. 2014-12-10T01:35:18Z goglosh: let's not push it 2014-12-10T01:35:39Z goglosh: I think the first thing would be to get some bootable code to run... 2014-12-10T01:35:47Z goglosh: good thing computers are simple at their core 2014-12-10T01:36:19Z pjb: Indeed, with current memory size, you can do a lot of things without a GC. Movitz hasn't any GC yet. 2014-12-10T01:39:40Z goglosh: hmmm I guess a pair of processor registers (like EAX and EBX) could serve as a cons-cell 2014-12-10T01:40:51Z goglosh: damn it ain't easy 2014-12-10T01:42:20Z pjb: That's a question for the compiler. Once you have a compiler that can generate code that you can load with a boot loader, you will just write the OS in scheme without thinking about that. 2014-12-10T01:43:27Z pjb: Notice the power of the previous sentence. 2014-12-10T01:44:03Z pjb: It basically means that your OS will be even more portable than unix to different processors (as long as you have a compiler for the new processors). 2014-12-10T01:45:07Z goglosh: yeah actually the big job would be to design a low-level scheme for..well Scheme 2014-12-10T01:45:52Z goglosh: an implementation that runs directly on the metal 2014-12-10T01:46:01Z pjb: This has already been done too. cf. prescheme for example. 2014-12-10T01:46:07Z goglosh: prescheme?= 2014-12-10T01:46:11Z goglosh: Ima check that 2014-12-10T01:47:00Z pjb: But it is also possible to write a compiler for scheme targetting the bare hardware dirrectly. It's basically a question of not using libc for library functions. 2014-12-10T01:47:19Z pjb: and instead to provide some primitive scheme functions to do the required low level stuff. 2014-12-10T01:47:52Z goglosh: sure 2014-12-10T01:48:17Z goglosh: it'd be a translation from cons-cells and primitive types to state machine instructions 2014-12-10T01:48:33Z goglosh: and that's where I get kind of lost 2014-12-10T01:48:49Z goglosh: well it's quite complex to think of 2014-12-10T01:48:54Z pjb: No, this is done by the compiler. 2014-12-10T01:49:14Z goglosh: but I'd make the compiler 2014-12-10T01:49:14Z pjb: The problem is the implementation if the display function. 2014-12-10T01:49:41Z pjb: display can be implemented in scheme by calling the write-char function with a port. 2014-12-10T01:50:02Z pjb: But to implement write-char and to implement ports, you will have to write "system code". 2014-12-10T01:50:52Z goglosh: heh yeah 2014-12-10T01:50:57Z pjb: You must decide how you create ports, what system notion there is behind (devices, capabilities, "files", etc), and with that, how write-char will be implemented ("syscall"? dispatch?) and ultimately, you will have to implement a device driver to send the bytes somewhere. 2014-12-10T01:51:12Z goglosh: well... I don't really know much 2014-12-10T01:51:24Z goglosh: but I remember once I did an x86 bootable code 2014-12-10T01:51:45Z goglosh: it was in 16-bit mode and it had bios calls to output text 2014-12-10T01:51:48Z pjb: And for device drivers, you might need either primitives to write at specific addresses (! kind of pointers), or specific I/O instructions (outb on x86). 2014-12-10T01:52:00Z goglosh: yeah, that'd be hell 2014-12-10T01:52:03Z goglosh: I guess 2014-12-10T01:52:16Z pjb: Those will have to be provided by the compiler, and the compiler will have to ensure that only authorised code can use them. 2014-12-10T01:52:32Z pjb: (only driver code can use them, not user programs). 2014-12-10T01:52:45Z goglosh: and as such the bulk of the job would be to make the compiler 2014-12-10T01:53:26Z pjb: It'd not be hell, because you'd be programming all that in scheme. So the only questions would be to understand and design the concepts and principles. 2014-12-10T01:53:30Z mark_wea` joined #scheme 2014-12-10T01:53:33Z goglosh: yeah 2014-12-10T01:53:56Z pjb: Well, watch the Alan Kay presentation. You'd be making compilers (or DSL) all the time :-) 2014-12-10T01:54:04Z goglosh: :D 2014-12-10T01:54:10Z goglosh: yeah I'll do that and 2014-12-10T01:54:26Z goglosh: I guess I have a project now 2014-12-10T01:54:32Z goglosh: lets begin with a compiler 2014-12-10T01:54:42Z goglosh: a native-macheen-code compiler 2014-12-10T01:54:54Z pjb: Hey! Not necessarily even! 2014-12-10T01:55:24Z pjb: You could also have a byte code compiler, and write the VM in (a subset of) scheme, and then write a small compiler to translate the VM to native code. 2014-12-10T01:55:32Z pjb: cf. eg. Squeak. 2014-12-10T01:55:48Z pjb: http://www.squeak.org/ 2014-12-10T01:55:48Z goglosh: dman 2014-12-10T01:55:49Z goglosh: damn 2014-12-10T01:56:03Z goglosh: sounds even better 2014-12-10T01:56:23Z pjb: Notice that x86 is actually a VM: modern Intel processors implement actually the x86 byte code into their own microcode. 2014-12-10T01:56:41Z jusss` quit (Ping timeout: 260 seconds) 2014-12-10T01:56:47Z kongtomorrow quit (Read error: Connection reset by peer) 2014-12-10T01:56:54Z pjb: Well, it just makes it easier to port the system on a new processor. 2014-12-10T01:56:55Z kongtomo_ joined #scheme 2014-12-10T01:57:46Z mark_weaver quit (Ping timeout: 258 seconds) 2014-12-10T01:57:49Z oldskirt joined #scheme 2014-12-10T01:58:11Z goglosh: indeed 2014-12-10T01:58:24Z goglosh: and it wouldn't really be too inefficient if well done 2014-12-10T01:58:37Z goglosh: damn now I won't be able to sleep for days 2014-12-10T01:59:12Z pjb: The UCSD p-system used a VM. It was written in Pascal with a compiler generating this p-code. And it was quite usable, even on those old hardware of the 80s. 2014-12-10T02:02:16Z pjb: Also, even in OS compiled to native code, there are often little VM inside, eg. to implement device drivers. 2014-12-10T02:02:48Z oldskirt quit (Ping timeout: 256 seconds) 2014-12-10T02:04:27Z goglosh: my idea so far on the low-level version of scheme is 2014-12-10T02:04:44Z goglosh: to have doublewords for all types of data 2014-12-10T02:05:09Z goglosh: and a magic number (3 bits or so) to describe the datatype 2014-12-10T02:05:31Z goglosh: which would be either cons|num|char 2014-12-10T02:05:41Z pjb: Yes, that's usually something like that. 2014-12-10T02:06:19Z goglosh: oh and primite procedure types... yeah I think that accounts for a solid basis 2014-12-10T02:06:27Z goglosh: and a lot of bugs 2014-12-10T02:06:27Z goglosh: :P 2014-12-10T02:07:09Z pjb: There are alternatives. For example, sometimes we allocate all the object of a given type in the same page. This avoids having to have the tag. So you have a page full of 32-bit fixnums, another page full of 64-bit floats, etc. The first word of the page can be used to store the type, and you can obtain its address by masking the lower bits of the address of the object. 2014-12-10T02:07:44Z goglosh: yeah that's a good idea too 2014-12-10T02:07:46Z pjb: But in recent compilers, it's usual to put the tag with the pointer to the object or the value in the case of int or char. 2014-12-10T02:08:17Z goglosh: but... what about manifest typing? 2014-12-10T02:08:19Z pjb: Depends. It means that when you have a record, you will have data stored in different pages. It may be a problem on current hardware, with L1/L2-caches. 2014-12-10T02:08:41Z goglosh: that and it'd be hard to account for bignums 2014-12-10T02:09:03Z pjb: You could allocate a page for each bignum :-) 2014-12-10T02:09:52Z pjb: This is manifest typing since you get the tag by doing (deref (logand #xfffff000 address) 'tag) 2014-12-10T02:10:55Z goglosh: oooh I could just make every object an actual pointer with it's associated metadata 2014-12-10T02:11:14Z jusss` joined #scheme 2014-12-10T02:11:23Z goglosh: that'd solve the bignum problem *and* the header problem 2014-12-10T02:11:31Z goglosh: it'd allow for a sort of lazyness 2014-12-10T02:11:42Z goglosh gives pjb a cookie 2014-12-10T02:11:44Z pjb: If you're considering writing the compiler yourself, I'd advise: Lisp in Small Pieces http://pagesperso-systeme.lip6.fr/Christian.Queinnec/WWW/LiSP.html http://pagesperso-systeme.lip6.fr/Christian.Queinnec/Books/LiSP-2ndEdition-2006Dec11.tgz 2014-12-10T02:11:46Z rudybot: http://tinyurl.com/ytswyk 2014-12-10T02:12:00Z goglosh gives pjb a package for cookies 2014-12-10T02:12:06Z pjb: Thanks. :-) 2014-12-10T02:13:41Z goglosh: yeah the idea would be making the compiler myself, I am schemer because I like things from scratch :P 2014-12-10T02:14:23Z pjb: This is a very good book. 2014-12-10T02:18:09Z tobik quit (Ping timeout: 245 seconds) 2014-12-10T02:19:48Z tobik joined #scheme 2014-12-10T02:24:39Z mark_wea` is now known as mark_weaver 2014-12-10T02:28:38Z goglosh: hmmm making a bytecode and a VM would indeed make things much easier, the VM would natively support the lisp objects 2014-12-10T02:28:47Z goglosh: and the bytecode could be a regular lisp bc 2014-12-10T02:29:28Z pjb: It makes no difference really. The compiler take charge of supporting the lisp objects. 2014-12-10T02:30:49Z frkout_ joined #scheme 2014-12-10T02:30:50Z pjb: You have to understand that a compiler provides to the programmer a lisp virtual machine. It can do that by using a so called "bytecode virtual machine" or a so called "native processor", but it's equivalent and irrelevant: you can build hardware to run the byte code directly, or your hardware could already be running the native code as a byte code (or not). 2014-12-10T02:31:56Z pjb: The point is that you want to write the OS using the lisp virtual machine provided by a scheme implementation. With the constraint that this scheme implementation must let you run your OS program on a raw machine, loading it from a boot loader. 2014-12-10T02:32:34Z pjb: (and when I say raw machine, you could also choose to make it run in a Xen VM, so the raw machine would actually be a virtual machine running on a supervisor). 2014-12-10T02:32:43Z goglosh: lel 2014-12-10T02:32:53Z goglosh: a VM in a VM in a VM 2014-12-10T02:32:58Z goglosh: you know, the usual 2014-12-10T02:33:03Z pjb: Yes. Turing Machines. 2014-12-10T02:33:11Z goglosh: but yeah, I guess there's no difference really 2014-12-10T02:33:20Z hiyosi quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-10T02:33:46Z pjb: So the only thing, is that an OS needs to do some lowlevel stuff with the hardware, so the scheme implementation you use to compile the OS will have to provide the primitives to let the OS do those low level things. 2014-12-10T02:34:08Z frkout quit (Ping timeout: 244 seconds) 2014-12-10T02:34:42Z pjb: Like, perhaps, switching from the 16-bit mode to the 64-bit mode of an Intel processor, switching to a different ring, setting up and managing virtual memory tables, etc. 2014-12-10T02:34:59Z pjb: and accessing to I/O or memory mapped devices. 2014-12-10T02:35:11Z goglosh drools 2014-12-10T02:35:27Z pjb: Once you have that in the compiler, you can write your OS. 2014-12-10T02:35:42Z goglosh: and it'd be damn easier than doing it in C 2014-12-10T02:45:23Z davexunit joined #scheme 2014-12-10T02:48:45Z stepnem quit (Ping timeout: 258 seconds) 2014-12-10T02:58:34Z oldskirt joined #scheme 2014-12-10T02:58:35Z ddp joined #scheme 2014-12-10T02:58:49Z ddp left #scheme 2014-12-10T03:02:59Z oldskirt quit (Ping timeout: 252 seconds) 2014-12-10T03:07:26Z circ-user-TCLoG joined #scheme 2014-12-10T03:07:58Z goglosh: I would need a stack for procedure calls... 2014-12-10T03:08:16Z pjb: Not necessarily. 2014-12-10T03:08:41Z pjb: I mean, it's not exactly a stack, and you don't have to use the processor stack. 2014-12-10T03:09:05Z goglosh: (define (foo x) (if (> x 0) (+ 1 (foo (- x 1))))) 2014-12-10T03:09:21Z pjb: Often the processor stack is also used by the processor to store some data, notably during trap and interuption processing. 2014-12-10T03:09:39Z pjb: Modern processors may also have a different stack for interruption processing 2014-12-10T03:10:19Z goglosh: um, the processor has a built-in stack? didn't know that :P 2014-12-10T03:10:42Z goglosh: anyway, I can't think of another way to deal with procedure calls 2014-12-10T03:10:44Z pjb: But in scheme you have closures and continuations, and they may escape the dynamic extent. And you may want to implement multiple threads. Therefore you should really consider whether it wouldn't be much better to put activation frames on the heap. 2014-12-10T03:11:08Z goglosh: hm 2014-12-10T03:11:29Z goglosh: continuations, yeah, that's an alternative of course... but... 2014-12-10T03:11:42Z pjb: The compiler is not forced to generate a JSR to call a function. It can move the pc into a record on the heap, and JMP to the function. 2014-12-10T03:12:22Z goglosh: yeah you're right, I can just store the continuation like any other object 2014-12-10T03:12:32Z pjb: Well, it would be slower than a JSR, granted, so in the case where there's no continuation called in the function, you may still want to use a stack. 2014-12-10T03:12:34Z goglosh: I'm just not too used to conts 2014-12-10T03:12:54Z goglosh: can't it be done behind the camera? 2014-12-10T03:13:02Z goglosh: as a kernel feature? 2014-12-10T03:13:22Z pjb: But remember, I mention threads. That's because each thread needs a stack, and therefore you need to allocate stacks for each threads. When you expect a lot of threads, you can't have big stacks for all of them, therefore stack space for threads is generally quite limited. This can be a problem. 2014-12-10T03:13:41Z pjb: It's a compiler problem. 2014-12-10T03:14:07Z goglosh: hmm 2014-12-10T03:14:11Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-10T03:14:28Z goglosh: I guess I'll delegate threading to the kernel phase 2014-12-10T03:15:04Z kongtomo_ quit 2014-12-10T03:15:16Z pjb: So for now, what I'm saying is that if you want a simple compiler, you might want to allocate everything on the heap, even activation frames, so that it will work easily even with closures and continuations. But you may write a more sophisticated compiler doing more sophisticated code analyses to determine when you can optimize things and put them on the processor stack instead of the heap. 2014-12-10T03:15:46Z pjb: You can't really delegate that to the kernel: multi-threading has consequences on the language. 2014-12-10T03:16:22Z pjb: Or, you're doing a unix system with multiple processes and separate addressing spaces. Then you've delegated multiprogramming to the kernel. 2014-12-10T03:16:29Z pjb: Unix is great! 2014-12-10T03:16:43Z pjb: Given the original constraints. 2014-12-10T03:17:44Z pjb: A good book to read too is the Unix Hater Handbook. 2014-12-10T03:18:01Z pjb: http://web.mit.edu/~simsong/www/ugh.pdf 2014-12-10T03:18:07Z goglosh: oh yeah the satanist bible 2014-12-10T03:18:10Z goglosh: :P 2014-12-10T03:18:59Z goglosh: father Ritchie will come and haunt me in my sleep 2014-12-10T03:19:04Z pjb: No, it's a discussion of the Lisp Machine vs. Unix philosophies. 2014-12-10T03:25:39Z goglosh quit (Ping timeout: 245 seconds) 2014-12-10T03:25:51Z frkout_ quit (Remote host closed the connection) 2014-12-10T03:25:56Z jumblerg joined #scheme 2014-12-10T03:26:18Z frkout joined #scheme 2014-12-10T03:31:37Z goglosh joined #scheme 2014-12-10T03:37:23Z davexunit quit (Quit: Later) 2014-12-10T03:37:41Z enitiz joined #scheme 2014-12-10T03:46:04Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-10T03:48:34Z bb010g joined #scheme 2014-12-10T03:49:04Z Riastradh joined #scheme 2014-12-10T03:55:04Z daviid joined #scheme 2014-12-10T03:58:10Z sheilong joined #scheme 2014-12-10T03:59:11Z sheilong: I'm stuck on exercise 1.7 of SICP. If someone can help me understand what I'm doing wrong http://paste.lisp.org/display/144644 2014-12-10T03:59:18Z oldskirt joined #scheme 2014-12-10T03:59:53Z circ-user-TCLoG quit (Ping timeout: 264 seconds) 2014-12-10T04:03:53Z oldskirt quit (Ping timeout: 258 seconds) 2014-12-10T04:09:16Z vinleod joined #scheme 2014-12-10T04:10:01Z jeapostrophe quit (Ping timeout: 244 seconds) 2014-12-10T04:21:24Z mikeyhc quit (Remote host closed the connection) 2014-12-10T04:21:35Z mikeyhc joined #scheme 2014-12-10T04:30:19Z mark_wea` joined #scheme 2014-12-10T04:34:33Z mark_weaver quit (Ping timeout: 258 seconds) 2014-12-10T04:36:07Z zv quit (Ping timeout: 245 seconds) 2014-12-10T04:39:29Z jumblerg joined #scheme 2014-12-10T04:40:38Z ecthiender joined #scheme 2014-12-10T05:00:06Z oldskirt joined #scheme 2014-12-10T05:05:09Z oldskirt quit (Ping timeout: 272 seconds) 2014-12-10T05:12:04Z daviid quit (Ping timeout: 256 seconds) 2014-12-10T05:21:47Z kongtomorrow joined #scheme 2014-12-10T05:30:08Z Natch quit (Ping timeout: 258 seconds) 2014-12-10T05:40:04Z alezost joined #scheme 2014-12-10T05:41:29Z hilquias quit (Remote host closed the connection) 2014-12-10T05:51:18Z jusss` quit (Remote host closed the connection) 2014-12-10T05:52:01Z jusss` joined #scheme 2014-12-10T05:53:10Z mrowe is now known as mrowe_away 2014-12-10T05:57:05Z jusss` quit (Remote host closed the connection) 2014-12-10T05:57:53Z jusss` joined #scheme 2014-12-10T05:58:56Z oleo__ quit (Quit: Verlassend) 2014-12-10T05:59:48Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-10T06:00:01Z karswell quit (Remote host closed the connection) 2014-12-10T06:00:53Z karswell` joined #scheme 2014-12-10T06:00:53Z oldskirt joined #scheme 2014-12-10T06:04:37Z frkout_ joined #scheme 2014-12-10T06:05:14Z oldskirt quit (Ping timeout: 244 seconds) 2014-12-10T06:07:17Z frkout quit (Ping timeout: 240 seconds) 2014-12-10T06:07:56Z drdanmaku quit (Quit: ,) 2014-12-10T06:11:01Z frkout_ quit (Read error: Connection reset by peer) 2014-12-10T06:11:27Z frkout joined #scheme 2014-12-10T06:17:39Z mark_wea` is now known as mark_weaver 2014-12-10T06:20:31Z goglosh quit (Quit: leaving) 2014-12-10T06:21:20Z jumblerg joined #scheme 2014-12-10T06:26:08Z gansteed joined #scheme 2014-12-10T06:41:37Z mark_wea` joined #scheme 2014-12-10T06:43:10Z Gyps joined #scheme 2014-12-10T06:45:13Z frkout quit (Remote host closed the connection) 2014-12-10T06:45:39Z mark_weaver quit (Ping timeout: 258 seconds) 2014-12-10T06:45:42Z frkout joined #scheme 2014-12-10T06:46:27Z jusss` quit (Remote host closed the connection) 2014-12-10T06:46:28Z BossKonaSegwaY quit (Ping timeout: 255 seconds) 2014-12-10T06:48:59Z mark_wea` is now known as mark_weaver 2014-12-10T06:51:26Z enitiz quit (Ping timeout: 244 seconds) 2014-12-10T06:54:28Z jeapostrophe joined #scheme 2014-12-10T06:59:31Z jeapostrophe quit (Ping timeout: 265 seconds) 2014-12-10T07:01:46Z oldskirt joined #scheme 2014-12-10T07:03:29Z hilquias joined #scheme 2014-12-10T07:05:35Z przl joined #scheme 2014-12-10T07:06:32Z oldskirt quit (Ping timeout: 256 seconds) 2014-12-10T07:11:37Z gansteed quit (Ping timeout: 240 seconds) 2014-12-10T07:13:41Z gansteed joined #scheme 2014-12-10T07:20:05Z alezost quit (Quit: I use GNU Guix ) 2014-12-10T07:29:16Z bjz joined #scheme 2014-12-10T07:34:27Z mark_wea` joined #scheme 2014-12-10T07:38:25Z przl quit (Ping timeout: 250 seconds) 2014-12-10T07:38:33Z mark_weaver quit (Ping timeout: 258 seconds) 2014-12-10T07:42:13Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-10T07:47:53Z jumblerg joined #scheme 2014-12-10T07:48:47Z _dsm quit (Ping timeout: 244 seconds) 2014-12-10T07:49:46Z _dsm joined #scheme 2014-12-10T07:58:31Z _dsm quit (Quit: Bye) 2014-12-10T08:10:30Z Bahman joined #scheme 2014-12-10T08:10:52Z fgudin joined #scheme 2014-12-10T08:11:55Z leo2007 joined #scheme 2014-12-10T08:14:07Z Bahman quit (Client Quit) 2014-12-10T08:14:55Z Shadox quit (Quit: Leaving) 2014-12-10T08:16:55Z _5kg quit (Read error: Connection reset by peer) 2014-12-10T08:20:30Z _5kg joined #scheme 2014-12-10T08:36:09Z frkout_ joined #scheme 2014-12-10T08:36:54Z _5kg quit (Ping timeout: 264 seconds) 2014-12-10T08:37:48Z frkout_ quit (Remote host closed the connection) 2014-12-10T08:38:15Z frkout_ joined #scheme 2014-12-10T08:39:49Z frkout quit (Ping timeout: 245 seconds) 2014-12-10T08:42:27Z przl joined #scheme 2014-12-10T08:45:21Z jeapostrophe joined #scheme 2014-12-10T08:45:21Z jeapostrophe quit (Changing host) 2014-12-10T08:45:21Z jeapostrophe joined #scheme 2014-12-10T08:48:56Z taylanub joined #scheme 2014-12-10T08:49:30Z fridim_ joined #scheme 2014-12-10T09:00:34Z kilimanjaro is now known as aconcagua 2014-12-10T09:04:09Z tadni quit (Remote host closed the connection) 2014-12-10T09:13:22Z xyh joined #scheme 2014-12-10T09:16:23Z wingo joined #scheme 2014-12-10T09:19:30Z teiresias quit (Quit: leaving) 2014-12-10T09:20:24Z _5kg joined #scheme 2014-12-10T09:26:07Z civodul joined #scheme 2014-12-10T09:29:04Z xyh quit (Remote host closed the connection) 2014-12-10T09:29:52Z jeapostrophe quit (Ping timeout: 245 seconds) 2014-12-10T09:29:57Z redeemed joined #scheme 2014-12-10T09:33:13Z _5kg quit (Ping timeout: 265 seconds) 2014-12-10T09:47:06Z Bahman joined #scheme 2014-12-10T09:47:24Z karswell` quit (Remote host closed the connection) 2014-12-10T09:51:35Z karswell` joined #scheme 2014-12-10T09:56:28Z Gyps quit (Quit: Gyps) 2014-12-10T09:59:29Z Bahman quit (Quit: Leaving.) 2014-12-10T10:01:46Z Bahman joined #scheme 2014-12-10T10:05:29Z vraid quit (Ping timeout: 244 seconds) 2014-12-10T10:11:26Z oldskirt joined #scheme 2014-12-10T10:11:47Z pjb` joined #scheme 2014-12-10T10:12:58Z cataska quit (Ping timeout: 256 seconds) 2014-12-10T10:13:17Z pjb quit (Ping timeout: 240 seconds) 2014-12-10T10:13:33Z cataska joined #scheme 2014-12-10T10:16:40Z _5kg joined #scheme 2014-12-10T10:24:55Z mark_wea` quit (Ping timeout: 258 seconds) 2014-12-10T10:38:14Z Natch joined #scheme 2014-12-10T10:40:40Z gravicappa joined #scheme 2014-12-10T10:48:56Z taylanub: I wonder if there's been any attempts at standardizing record serialization yet? given R7RS records, it should be simple... but OK, I see two alternatives already: strict: #record( ) errors if type hasn't been defined with the same number of fields as elements in , and sets fields positionally. loose: #record( ) sets fields by name and fills 2014-12-10T10:48:56Z taylanub: remaining fields with a parameterized default value 2014-12-10T10:49:09Z _5kg quit (Ping timeout: 260 seconds) 2014-12-10T10:50:23Z Vutral joined #scheme 2014-12-10T10:54:31Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-10T10:57:46Z vraid joined #scheme 2014-12-10T11:17:01Z stepnem joined #scheme 2014-12-10T11:17:15Z alezost joined #scheme 2014-12-10T11:17:37Z shardz quit (Ping timeout: 252 seconds) 2014-12-10T11:20:09Z tadni joined #scheme 2014-12-10T11:26:37Z dmiles quit (Quit: Read error: 110 (Connection timed out)) 2014-12-10T11:31:49Z shardz joined #scheme 2014-12-10T11:33:21Z _5kg joined #scheme 2014-12-10T11:41:35Z jumblerg joined #scheme 2014-12-10T11:43:37Z dmiles_afk joined #scheme 2014-12-10T11:45:16Z wingo quit (Ping timeout: 255 seconds) 2014-12-10T11:46:05Z przl quit (Ping timeout: 260 seconds) 2014-12-10T11:48:32Z derek_c quit (Ping timeout: 250 seconds) 2014-12-10T11:51:32Z dmiles_afk quit (Quit: Read error: 110 (Connection timed out)) 2014-12-10T11:56:53Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-10T11:57:29Z jumblerg joined #scheme 2014-12-10T11:57:31Z b4283 joined #scheme 2014-12-10T11:57:31Z jumblerg quit (Client Quit) 2014-12-10T12:01:10Z dmiles_afk joined #scheme 2014-12-10T12:03:37Z _5kg quit (Ping timeout: 240 seconds) 2014-12-10T12:16:44Z hiyosi joined #scheme 2014-12-10T12:23:10Z drdanmaku joined #scheme 2014-12-10T12:25:09Z danielfm joined #scheme 2014-12-10T12:31:36Z taylanub quit (Disconnected by services) 2014-12-10T12:32:11Z taylanub joined #scheme 2014-12-10T12:44:31Z nowhere_man joined #scheme 2014-12-10T12:44:50Z nowhereman_ quit (Ping timeout: 244 seconds) 2014-12-10T12:49:54Z _5kg joined #scheme 2014-12-10T12:57:42Z jusss joined #scheme 2014-12-10T13:03:32Z _5kg quit (Ping timeout: 256 seconds) 2014-12-10T13:09:43Z danielfm left #scheme 2014-12-10T13:11:41Z Bahman quit (Quit: Leaving.) 2014-12-10T13:14:09Z wingo joined #scheme 2014-12-10T13:16:28Z przl joined #scheme 2014-12-10T13:18:27Z rtra quit (Ping timeout: 265 seconds) 2014-12-10T13:20:31Z psy_ quit (Read error: No route to host) 2014-12-10T13:21:09Z psy_ joined #scheme 2014-12-10T13:23:27Z rtra joined #scheme 2014-12-10T13:26:57Z enitiz joined #scheme 2014-12-10T13:44:33Z taylanub quit (Disconnected by services) 2014-12-10T13:44:56Z taylanub joined #scheme 2014-12-10T13:46:27Z vinleod quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-12-10T13:46:35Z _5kg joined #scheme 2014-12-10T13:47:03Z civodul quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-12-10T13:48:52Z davexunit joined #scheme 2014-12-10T13:58:34Z jusss quit (Remote host closed the connection) 2014-12-10T13:59:55Z pnkfelix joined #scheme 2014-12-10T14:06:17Z jeapostrophe joined #scheme 2014-12-10T14:22:46Z daviid joined #scheme 2014-12-10T14:40:26Z przl quit (Ping timeout: 256 seconds) 2014-12-10T14:41:19Z circ-user-TCLoG joined #scheme 2014-12-10T14:51:57Z oleo joined #scheme 2014-12-10T15:00:07Z gravicappa quit (Remote host closed the connection) 2014-12-10T15:08:12Z davexunit quit (Ping timeout: 258 seconds) 2014-12-10T15:08:57Z wingo quit (Quit: Leaving) 2014-12-10T15:09:15Z wingo joined #scheme 2014-12-10T15:19:00Z theseb joined #scheme 2014-12-10T15:19:36Z davexunit joined #scheme 2014-12-10T15:22:31Z gansteed quit (Quit: Leaving) 2014-12-10T15:22:32Z circ-user-TCLoG_ joined #scheme 2014-12-10T15:22:56Z circ-user-TCLoG quit (Ping timeout: 244 seconds) 2014-12-10T15:24:23Z snyp joined #scheme 2014-12-10T15:25:03Z snyp: (let+ ((arg1 arg2 ... . rest) lst) expr) 2014-12-10T15:25:14Z snyp: what does this pattern match? 2014-12-10T15:25:29Z taylanub: snyp: is that a syntax-rules pattern? 2014-12-10T15:25:33Z snyp: yes 2014-12-10T15:25:38Z LeoNerd: let+ ? 2014-12-10T15:25:42Z taylanub: looks broken or non-standard then 2014-12-10T15:25:48Z snyp: let+ is the name of the macro 2014-12-10T15:26:00Z taylanub: can you paste the whole code? 2014-12-10T15:26:01Z snyp: ignore let+ 2014-12-10T15:26:09Z snyp: (_ ((arg1 arg2 ... . rest) lst) expr) 2014-12-10T15:26:16Z taylanub: (say on paste.lisp.org 2014-12-10T15:26:19Z taylanub: ) 2014-12-10T15:26:32Z excelsior joined #scheme 2014-12-10T15:26:54Z taylanub: it could be that it uses '...' as an identifier or so; otherwise (foo ... . rest) should be invalid 2014-12-10T15:26:58Z przl joined #scheme 2014-12-10T15:27:04Z LeoNerd: I recall r6rs had some weird rules about ... . in patterns, but I didn't bother reading about it 2014-12-10T15:27:07Z LeoNerd: It seemed odd 2014-12-10T15:27:15Z antinomy joined #scheme 2014-12-10T15:27:29Z antinomy quit (Client Quit) 2014-12-10T15:27:49Z antinomy joined #scheme 2014-12-10T15:27:53Z taylanub: hm, I might be wrong ... 2014-12-10T15:27:54Z snyp: wait a bit 2014-12-10T15:28:44Z taylanub: looks like ( ... ... . ) is valid (read "..." as meta-syntax here, where are real "..." in the code) 2014-12-10T15:29:39Z snyp: it's from adventures of a pythonista in schemeland 2014-12-10T15:29:54Z narendraj9 joined #scheme 2014-12-10T15:30:35Z snyp: http://www.artima.com/weblogs/viewpost.jsp?thread=249681 2014-12-10T15:30:41Z snyp: the last section 2014-12-10T15:30:53Z snyp: "A list destructuring binding form (let+)" 2014-12-10T15:31:41Z snyp: he is using his own macro definers - def-syntax and syntax-match 2014-12-10T15:31:51Z gansteed joined #scheme 2014-12-10T15:31:57Z taylanub: I'm reading the R7RS page 23 right column trying to figure out whether it's supposed to match greedily, but can't tell. I'd say it's most likely meant to match greedily, and you can just try it and see. 2014-12-10T15:32:10Z snyp: which are layers on the standard facilities i think 2014-12-10T15:32:28Z taylanub: it should be useful for things like ((foo) ... . rest), which could match ((x) (y) (z) a b c) where rest will be (a b c) 2014-12-10T15:32:53Z taylanub: but in your case I see no sense for it, since 'arg2 ...' will match the rest already and 'rest' will always be () 2014-12-10T15:33:33Z snyp: he is definining a let+ form that assigns values to variables using pattern matching 2014-12-10T15:33:35Z snyp: (let+ ((x) '(1)) x) 2014-12-10T15:33:37Z snyp: x = 1 2014-12-10T15:33:50Z snyp: (let+ ((x y) (list 1 2)) (list x y)) 2014-12-10T15:33:54Z snyp: x = 1 and y = 2 2014-12-10T15:34:56Z snyp: taylanub: arg1 seems to be a sublist 2014-12-10T15:35:14Z gansteed quit (Client Quit) 2014-12-10T15:35:25Z taylanub: snyp: does this pattern appear in the template of another macro? i.e. is there a macro generating macro in play? 2014-12-10T15:35:44Z snyp: taylanub: no, let+ is the main macro 2014-12-10T15:36:02Z taylanub: then from what I can tell 'rest' will always be () 2014-12-10T15:36:29Z przl quit (Ping timeout: 264 seconds) 2014-12-10T15:36:32Z snyp: how does the pattern arg1 arg2 ... . rest enforce arg1 to be a list ? 2014-12-10T15:37:00Z taylanub: snyp: this seems to be syntax-match not syntax-rules! 2014-12-10T15:37:05Z sheilong quit (Ping timeout: 264 seconds) 2014-12-10T15:37:06Z snyp: taylanub: yes 2014-12-10T15:37:52Z snyp: his syntax-match macro 2014-12-10T15:37:54Z taylanub: then it might be declaring somewhere that 'arg2' should not just match anything, thus the 'arg2 ... . rest' would make sense 2014-12-10T15:38:21Z przl joined #scheme 2014-12-10T15:38:43Z taylanub: though I can't see it doing such a thing 2014-12-10T15:39:18Z taylanub: anyway, I don't know much about 'syntax-match' so I probably just don't understand 2014-12-10T15:40:53Z snyp: hmm.. it's ok. 2014-12-10T15:44:33Z ivan\ quit (Ping timeout: 252 seconds) 2014-12-10T15:47:27Z ivan\ joined #scheme 2014-12-10T15:47:32Z jlongster joined #scheme 2014-12-10T15:51:08Z stepnem quit (Ping timeout: 258 seconds) 2014-12-10T15:51:47Z pkkm quit (Ping timeout: 272 seconds) 2014-12-10T15:52:02Z pkkm joined #scheme 2014-12-10T15:53:43Z Riastradh quit (Ping timeout: 250 seconds) 2014-12-10T15:55:16Z jeapostrophe quit (Ping timeout: 244 seconds) 2014-12-10T15:57:04Z stepnem joined #scheme 2014-12-10T15:59:54Z ecthiender quit (Remote host closed the connection) 2014-12-10T16:11:03Z mark_weaver joined #scheme 2014-12-10T16:20:43Z theseb left #scheme 2014-12-10T16:24:54Z oldskirt quit (Read error: Connection reset by peer) 2014-12-10T16:24:55Z pjb` is now known as pjb 2014-12-10T16:41:04Z mlaine: hmm my sqrt program compiled (with gambit) is >5M 2014-12-10T16:41:09Z mlaine: how can that be? 2014-12-10T16:41:47Z mlaine: http://sprunge.us/dRjV?scm 2014-12-10T16:46:33Z snyp quit (Quit: WeeChat 1.0.1) 2014-12-10T16:46:37Z kwmiebach quit (Read error: Connection reset by peer) 2014-12-10T16:47:27Z bb010g quit (Ping timeout: 244 seconds) 2014-12-10T16:47:52Z drdanmaku quit (Ping timeout: 258 seconds) 2014-12-10T16:47:52Z superjudge quit (Ping timeout: 258 seconds) 2014-12-10T16:48:03Z Riastradh joined #scheme 2014-12-10T16:48:13Z cojy quit (Ping timeout: 265 seconds) 2014-12-10T16:48:15Z gluegadget quit (Ping timeout: 258 seconds) 2014-12-10T16:48:17Z ivan\ quit (Ping timeout: 240 seconds) 2014-12-10T16:49:33Z ivan\ joined #scheme 2014-12-10T16:50:00Z redeemed quit (Quit: q) 2014-12-10T16:50:10Z jeapostrophe joined #scheme 2014-12-10T16:50:10Z jeapostrophe quit (Changing host) 2014-12-10T16:50:10Z jeapostrophe joined #scheme 2014-12-10T16:52:44Z amgarchIn9 joined #scheme 2014-12-10T16:52:46Z snyp joined #scheme 2014-12-10T16:53:37Z snyp: I am trying to understand macro expansion in general. The pattern (mm x y . rest) seems to match (mm 1 2 3) and rest is matched with (3) 2014-12-10T16:53:48Z snyp: (mm 1 2 3 4 5) and rest is (3 4 5) 2014-12-10T16:54:40Z snyp: so ". something" matches a list? 2014-12-10T16:54:58Z snyp: where can i get all the rules written? 2014-12-10T16:55:40Z snyp: uh 2014-12-10T16:55:47Z snyp: don't tell me 2014-12-10T16:56:04Z snyp: i've found it in my book 2014-12-10T16:57:10Z mario-goulart: snyp: remember that (1 2) is actually (1 . (2 . ())), or (1 . (2)) 2014-12-10T16:59:00Z snyp: mario-goulart: yeah. i do. ok so TSPL mentions "nth cdr". Is that the tail of the list starting from the nth index? 2014-12-10T16:59:09Z snyp: assuming it's 0 based 2014-12-10T16:59:31Z snyp: what's the 3rd cdr of '(1 2 3 4 5) ? 2014-12-10T17:00:18Z tadni quit (Ping timeout: 265 seconds) 2014-12-10T17:00:18Z mario-goulart: What would be the first? 2014-12-10T17:00:35Z snyp: (2 3 4 5) 2014-12-10T17:00:42Z snyp: oh 2014-12-10T17:00:44Z snyp: i get it now 2014-12-10T17:00:48Z mario-goulart: :-) 2014-12-10T17:06:38Z pnkfelix quit (Quit: rcirc on GNU Emacs 24.3.92.1) 2014-12-10T17:12:31Z fgudin quit (Quit: leaving) 2014-12-10T17:17:42Z amgarchIn9 quit (Ping timeout: 265 seconds) 2014-12-10T17:21:40Z kongtomorrow quit 2014-12-10T17:22:00Z xyh joined #scheme 2014-12-10T17:22:11Z xyh: ^-^ http://www.mit.edu/people/dpolicar/writing/prose/text/godTaoist.html 2014-12-10T17:24:47Z xyh: any users of monofur ? 2014-12-10T17:25:51Z mark_wea` joined #scheme 2014-12-10T17:27:44Z daviid quit (Ping timeout: 258 seconds) 2014-12-10T17:27:51Z Gyps joined #scheme 2014-12-10T17:29:16Z wingo quit (Ping timeout: 258 seconds) 2014-12-10T17:29:29Z Riastradh quit (Ping timeout: 250 seconds) 2014-12-10T17:29:56Z agumonkey quit (Read error: No route to host) 2014-12-10T17:30:02Z mark_weaver quit (Ping timeout: 258 seconds) 2014-12-10T17:30:14Z agumonkey joined #scheme 2014-12-10T17:34:28Z agumonkey quit (Ping timeout: 244 seconds) 2014-12-10T17:36:13Z agumonkey joined #scheme 2014-12-10T17:38:28Z kwmiebach joined #scheme 2014-12-10T17:38:49Z superjudge joined #scheme 2014-12-10T17:39:10Z narendraj9 quit (Quit: WeeChat 1.0.1) 2014-12-10T17:39:33Z cojy joined #scheme 2014-12-10T17:42:21Z drdanmaku joined #scheme 2014-12-10T17:42:57Z agumonkey quit (Ping timeout: 240 seconds) 2014-12-10T17:43:43Z agumonkey joined #scheme 2014-12-10T17:44:32Z wingo joined #scheme 2014-12-10T17:48:54Z b4283 quit (Quit: Konversation terminated!) 2014-12-10T17:51:39Z theseb joined #scheme 2014-12-10T17:52:27Z theseb left #scheme 2014-12-10T17:55:36Z gluegadget joined #scheme 2014-12-10T17:55:40Z bb010g joined #scheme 2014-12-10T17:56:06Z oldskirt joined #scheme 2014-12-10T17:57:37Z gravicappa joined #scheme 2014-12-10T18:08:47Z wingo quit (Ping timeout: 244 seconds) 2014-12-10T18:15:00Z yiati joined #scheme 2014-12-10T18:15:25Z przl quit (Ping timeout: 250 seconds) 2014-12-10T18:17:10Z mark_wea` is now known as mark_weaver 2014-12-10T18:17:21Z vraid quit (Ping timeout: 244 seconds) 2014-12-10T18:20:19Z teiresias joined #scheme 2014-12-10T18:30:09Z jeapostrophe quit (Ping timeout: 250 seconds) 2014-12-10T18:31:57Z amgarchIn9 joined #scheme 2014-12-10T18:35:53Z hiyosi quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-10T18:40:17Z hiroakip joined #scheme 2014-12-10T18:42:05Z szgyg joined #scheme 2014-12-10T18:47:17Z oldskirt quit (Read error: Connection reset by peer) 2014-12-10T18:50:17Z cmatei quit (Ping timeout: 264 seconds) 2014-12-10T18:51:02Z FracV_ joined #scheme 2014-12-10T18:51:31Z FracV_ quit (Client Quit) 2014-12-10T18:51:33Z ivan\ quit (Ping timeout: 252 seconds) 2014-12-10T18:54:17Z oldskirt joined #scheme 2014-12-10T18:55:54Z mark_weaver quit (Ping timeout: 258 seconds) 2014-12-10T19:07:47Z xyh quit (Excess Flood) 2014-12-10T19:08:52Z wingo joined #scheme 2014-12-10T19:13:42Z xyh joined #scheme 2014-12-10T19:20:56Z kongtomorrow joined #scheme 2014-12-10T19:22:58Z rtra quit (Ping timeout: 244 seconds) 2014-12-10T19:23:29Z enitiz quit (Ping timeout: 244 seconds) 2014-12-10T19:25:02Z rtra joined #scheme 2014-12-10T19:26:09Z circ-user-TCLoG joined #scheme 2014-12-10T19:26:24Z circ-user-TCLoG_ quit (Read error: Connection reset by peer) 2014-12-10T19:26:30Z jeapostrophe joined #scheme 2014-12-10T19:26:30Z jeapostrophe quit (Changing host) 2014-12-10T19:26:30Z jeapostrophe joined #scheme 2014-12-10T19:29:49Z hilquias quit (Remote host closed the connection) 2014-12-10T19:31:29Z jeapostrophe quit (Ping timeout: 245 seconds) 2014-12-10T19:39:03Z hilquias joined #scheme 2014-12-10T19:41:49Z Bahman joined #scheme 2014-12-10T19:43:31Z jlongster quit (Ping timeout: 264 seconds) 2014-12-10T19:43:58Z tadni joined #scheme 2014-12-10T19:44:26Z snyp quit (Quit: WeeChat 1.0.1) 2014-12-10T19:44:27Z enitiz joined #scheme 2014-12-10T19:45:25Z Gyps quit (Quit: Gyps) 2014-12-10T19:46:46Z agumonkey quit (Read error: No route to host) 2014-12-10T19:47:03Z agumonkey_ joined #scheme 2014-12-10T19:48:39Z hiroakip quit (Ping timeout: 272 seconds) 2014-12-10T19:50:12Z jlongster joined #scheme 2014-12-10T19:50:58Z orhan89 quit (Ping timeout: 256 seconds) 2014-12-10T19:52:17Z agumonkey_ quit (Ping timeout: 240 seconds) 2014-12-10T19:57:22Z jeapostrophe joined #scheme 2014-12-10T20:00:39Z mark_weaver joined #scheme 2014-12-10T20:00:59Z hiroakip joined #scheme 2014-12-10T20:02:44Z taylanub quit (Disconnected by services) 2014-12-10T20:03:10Z taylanub joined #scheme 2014-12-10T20:04:29Z przl joined #scheme 2014-12-10T20:07:43Z cmatei joined #scheme 2014-12-10T20:18:15Z vraid joined #scheme 2014-12-10T20:22:10Z agumonkey joined #scheme 2014-12-10T20:22:59Z enitiz quit (Quit: Leaving) 2014-12-10T20:26:48Z civodul joined #scheme 2014-12-10T20:27:39Z tadni quit (Ping timeout: 265 seconds) 2014-12-10T20:47:50Z civodul quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-12-10T20:53:43Z davexunit quit (Read error: No route to host) 2014-12-10T20:56:22Z davexunit joined #scheme 2014-12-10T20:58:56Z agumonkey quit (Quit: ZNC - http://znc.in) 2014-12-10T20:59:43Z wingo quit (Ping timeout: 258 seconds) 2014-12-10T20:59:53Z drdanmaku quit 2014-12-10T21:00:08Z agumonkey joined #scheme 2014-12-10T21:03:38Z jeapostrophe quit (Ping timeout: 250 seconds) 2014-12-10T21:04:58Z mark_wea` joined #scheme 2014-12-10T21:06:52Z przl quit (Ping timeout: 255 seconds) 2014-12-10T21:07:36Z mark_wea` is now known as mark_weaver` 2014-12-10T21:09:25Z mark_weaver quit (Ping timeout: 258 seconds) 2014-12-10T21:15:44Z mark_wea` joined #scheme 2014-12-10T21:16:49Z jeapostrophe joined #scheme 2014-12-10T21:20:02Z mark_weaver` quit (Ping timeout: 258 seconds) 2014-12-10T21:25:22Z gravicappa quit (Remote host closed the connection) 2014-12-10T21:25:46Z bjz quit (Ping timeout: 255 seconds) 2014-12-10T21:31:27Z jeapostrophe quit (Ping timeout: 265 seconds) 2014-12-10T21:33:03Z offby1: *crickets* 2014-12-10T21:41:07Z xyh quit (Ping timeout: 265 seconds) 2014-12-10T21:43:43Z yiati: *leopards* 2014-12-10T21:48:01Z xyh joined #scheme 2014-12-10T21:51:20Z jeapostrophe joined #scheme 2014-12-10T21:51:20Z jeapostrophe quit (Changing host) 2014-12-10T21:51:20Z jeapostrophe joined #scheme 2014-12-10T21:57:40Z davexunit quit (Quit: Later) 2014-12-10T21:58:35Z szgyg quit (Ping timeout: 250 seconds) 2014-12-10T22:07:47Z jeapostrophe quit (Ping timeout: 245 seconds) 2014-12-10T22:09:29Z jyc quit (Ping timeout: 258 seconds) 2014-12-10T22:11:01Z jcloud quit (Ping timeout: 258 seconds) 2014-12-10T22:11:33Z alezost quit (Quit: I use GNU Guix ) 2014-12-10T22:11:37Z jyc joined #scheme 2014-12-10T22:12:09Z jcloud joined #scheme 2014-12-10T22:14:08Z kazimir42 joined #scheme 2014-12-10T22:17:19Z jeapostrophe joined #scheme 2014-12-10T22:21:12Z wingo joined #scheme 2014-12-10T22:21:34Z jlongster quit (Ping timeout: 255 seconds) 2014-12-10T22:26:03Z wingo quit (Ping timeout: 252 seconds) 2014-12-10T22:30:57Z mark_wea` quit (Ping timeout: 258 seconds) 2014-12-10T22:31:23Z jeapostrophe quit (Ping timeout: 265 seconds) 2014-12-10T22:34:48Z offby1: really? Where? 2014-12-10T22:36:27Z oleo: right behind you! 2014-12-10T22:36:28Z oleo: lol 2014-12-10T22:38:07Z fridim_ quit (Ping timeout: 264 seconds) 2014-12-10T22:39:20Z mrowe_away is now known as mrowe 2014-12-10T22:41:15Z kongtomorrow quit 2014-12-10T22:46:30Z Gyps joined #scheme 2014-12-10T22:47:34Z vraid quit (Ping timeout: 244 seconds) 2014-12-10T22:48:28Z mrowe is now known as mrowe_away 2014-12-10T22:51:12Z mrowe_away is now known as mrowe 2014-12-10T22:52:17Z kongtomorrow joined #scheme 2014-12-10T22:52:43Z derek_c joined #scheme 2014-12-10T22:57:50Z tadni joined #scheme 2014-12-10T22:58:02Z senoj joined #scheme 2014-12-10T22:58:41Z mark_weaver joined #scheme 2014-12-10T23:01:10Z excelsior quit (Quit: leaving) 2014-12-10T23:09:35Z yiati quit 2014-12-10T23:17:48Z senoj quit (Quit: /quit) 2014-12-10T23:18:13Z senoj joined #scheme 2014-12-10T23:24:37Z hiroakip quit (Ping timeout: 272 seconds) 2014-12-10T23:31:37Z araujo quit (Ping timeout: 240 seconds) 2014-12-10T23:33:47Z xyh quit (Remote host closed the connection) 2014-12-10T23:42:12Z hiyosi joined #scheme