00:01:52 aidalgol [~user@202.36.179.65] has joined #scheme 00:05:26 tommylommykins [~tommylomm@5ad471cc.bb.sky.com] has joined #scheme 00:08:54 -!- tommylommykins [~tommylomm@5ad471cc.bb.sky.com] has quit [Client Quit] 00:15:42 metasyntax` [~taylor@72.86.89.174] has joined #scheme 00:16:24 -!- DrDuck [~duck@adsl-67-170-242.shv.bellsouth.net] has quit [Read error: Operation timed out] 00:28:50 ice_man [~user@CPE000d6074b550-CM001a66704e52.cpe.net.cable.rogers.com] has joined #scheme 00:28:56 rbarraud [~rbarraud@118-92-134-221.dsl.dyn.ihug.co.nz] has joined #scheme 00:29:08 -!- turbofail [~user@adsl-69-238-246-201.dsl.pltn13.pacbell.net] has quit [Remote host closed the connection] 00:29:21 turbofail [~user@adsl-69-238-246-201.dsl.pltn13.pacbell.net] has joined #scheme 00:37:20 -!- Azuvix [~Azuvix@174-19-234-140.bois.qwest.net] has quit [Remote host closed the connection] 00:39:32 Azuvix [~Azuvix@174-19-234-140.bois.qwest.net] has joined #scheme 01:00:18 -!- aidalgol [~user@202.36.179.65] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 01:10:50 -!- ice_man [~user@CPE000d6074b550-CM001a66704e52.cpe.net.cable.rogers.com] has quit [Remote host closed the connection] 01:10:59 -!- Azuvix [~Azuvix@174-19-234-140.bois.qwest.net] has quit [Remote host closed the connection] 01:24:42 -!- turbofail [~user@adsl-69-238-246-201.dsl.pltn13.pacbell.net] has quit [Remote host closed the connection] 01:31:14 -!- Axioplase_ is now known as Axioplase 01:35:33 jcowan [~John@cpe-98-14-172-204.nyc.res.rr.com] has joined #scheme 01:50:59 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: Leaving] 01:52:40 Hmm... I'd like to randomly generate, with uniform distribution, n-cycles on {0, 1, ..., n}. That is, I want a permutation of {0, 1, ..., n} such that no element is mapped to itself, and I want to generate these permutations with uniform distribution. Before I set about thinking hard about this, is there an obvious way to do this? 01:54:23 That's called a derangement. 01:55:16 Oh, right. I dimly remember that. 01:57:00 Unfortunately, the Wikipedia article on derangements is about counting how many there are, not about randomly generating them with uniform distribution. 02:02:07 "Monsieur is deranged." --From Russia With Love (novel) 02:02:35 -!- Riastradh [debian-tor@fsf/member/riastradh] has quit [Ping timeout: 245 seconds] 02:02:59 Riastradh [debian-tor@fsf/member/riastradh] has joined #scheme 02:05:19 Actually, no, derangements are not what I want -- I want cyclic permutations. 02:05:19 My note of clarification was not equivalent to my original request. 02:05:19 Sorry for murkying things by trying to clarify them. 02:05:44 you can't want cyclic permutations 02:05:48 they are trivial to generate 02:06:03 There are only n cyclic permutations of that set, trivially. 02:07:03 -!- Riastradh [debian-tor@fsf/member/riastradh] has quit [Remote host closed the connection] 02:12:51 Riastradh [debian-tor@fsf/member/riastradh] has joined #scheme 02:12:56 Boink! 02:13:28 Of! 02:14:33 Scientific progress? 02:14:51 DrDuck [~duck@adsl-67-170-242.shv.bellsouth.net] has joined #scheme 02:15:02 Array indices should be zero-based, inclusive on the lower bound, and exclusive on the upper bound, damnit. 02:15:20 Whoever disagrees should go soak his head. 02:15:42 That applies especially to Wirth for inventing the wretched language in which is written the code I'm reading right now. 02:15:43 <`26> or her 02:16:09 Her? Why, is there something I don't know about Wirth? 02:17:05 I understand she goes by the name "Nikki" now. 02:17:12 Well Wirth now believes arrays should be zero-based 02:17:29 he made them zero-based in Oberon 02:17:49 Well, I guess he must have soaked his head preemptively to satisfy my request, then! 02:22:57 kniu [~kniu@pool-71-106-0-142.lsanca.dsl-w.verizon.net] has joined #scheme 02:28:10 On pronouncing his name: "You may call me by name, and call me Wirth, or you may call me by value, and call me Worth." 02:28:43 <`26> Terrible! 02:28:50 You haven't lived until you've used 3-based arrays. 02:29:10 chandler, oh, well, we have SRFI 25, which lets you change the indexing convention at your whim to whatever base you please. 02:29:37 Yes, that's the sort of thing I'm referring to. 02:30:01 I have seen array declarations with bounds of -2 to 5, but I forget just where or why. 02:35:03 In SDL (the specification language, not the C library) an array has any bounds you like; the bounds are simply the set of allowable values for a subtype of Integer. That's the reason why I ran across an array with bounds 3 to 17, which naturally wound up being used with an index of 0 at one point. 02:35:22 typemore [~typemore@unaffiliated/typemore] has joined #scheme 02:35:27 any forth users here? 02:35:36 what tends to be more susccinct, forth or scheme? 02:36:33 It depends. If you can't easily express the solution to your problem in Forth, you will wind up writing a lot of Forth to solve the problem. 02:36:46 typemore: That's a difficult comparison, Forth is a very low-level language. 02:37:07 Forth is more easily accidentally more unreadably terse. 02:37:29 As chandler says, you can easily end up implementing Scheme (or at least GC) in Forth to solve your problem. 02:38:13 Figuring out what adverb applies where in that sentence is like figuring out what word applies to what stack element in Forth, only the latter is harder. 02:39:37 Good Forth style demands lots of words with very short definitions. 02:39:42 you don't buy the arguments of better decompositino 02:39:50 due to kepping fewer vars in head at once 02:39:51 ? 02:40:39 Au contraire, you have to keep the invisible stack in your head. But structured comments of the form (input input -- output output output) help a great deal. Some Forths use them for type checking of sorts. 02:41:25 Has CERN found the decompositino yet? It's rumored to have a very short half life. 02:42:02 -!- dfkjjkfd [~paulh@7-13-ftth.onsnetstudenten.nl] has quit [Quit: Lost terminal] 02:42:03 "Is the maestro still composing? Non, Madame -- he is decomposing." 02:42:12 dfkjjkfd [~paulh@7-13-ftth.onsnetstudenten.nl] has joined #scheme 02:42:20 -!- dfkjjkfd [~paulh@7-13-ftth.onsnetstudenten.nl] has quit [Client Quit] 02:42:31 -!- typemore [~typemore@unaffiliated/typemore] has quit [Quit: leaving] 02:42:35 -!- Riastradh [debian-tor@fsf/member/riastradh] has quit [Ping timeout: 245 seconds] 02:42:48 dfkjjkfd [~paulh@7-13-ftth.onsnetstudenten.nl] has joined #scheme 02:45:54 -!- rbarraud [~rbarraud@118-92-134-221.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 02:49:27 -!- kushal [~kdas@fedora/kushal] has quit [Quit: Leaving] 02:51:24 typemore [~typemore@unaffiliated/typemore] has joined #scheme 02:51:52 do any schemes 'understand' the C calling convention; i.e. it has a FFI which can take a functio ndeclaratio nand then generate the stack/register state to 'call' the C function? 02:52:22 Elench [~Elench@unaffiliated/elench] has joined #scheme 02:52:49 Yes. 02:53:13 Riastradh [debian-tor@fsf/member/riastradh] has joined #scheme 02:53:14 which ones? 02:55:25 most 02:55:37 typemore: Gambit? 02:56:35 I don't know of any Scheme system that, given just C declarations, generates code by which Scheme can in any nice way pass data to and receive data from C routines. 02:57:23 Example: If I try to call the C procedure with the following prototype from Scheme, what arguments is it sensible to pass, and what do I do with the value it returns? char *foo (char *); 02:58:02 However, most Scheme systems that are implemented at some level in C provide some way to call C routines, and sometimes provide some way for C routines to call back into Scheme. 02:58:17 foof: does chibi scheme do this? 02:58:29 foof: scheme48, guile, iirc also don't 02:59:17 ypsilon scheme, also doesn't, iirc 02:59:22 Scheme48, Guile, MIT Scheme, Gambit, Chicken, Racket, and T, for example, all sit in the category I just described (although only some of those support callbacks). 02:59:41 So does Chibi, I believe. 02:59:43 Armageddon00 [~danking@zerowing.ccs.neu.edu] has joined #scheme 03:01:23 Chibi allows annotations for return parameters and error codes to make wrapping common C idioms easier. 03:01:28 That is: all the Scheme systems I just listed support some way to call C routines. (One of them is not implemented at any level in C, but that's beside the point.) 03:02:25 typemore, by the way, in case it wasn't clear: all of what I just said was addressed to you. 03:02:27 For instance, the pipe system call is wrapped as: 03:02:33 (define-c errno (open-pipe "pipe") ((result (array int 2)))) 03:02:42 aidalgol [~user@202.36.179.65] has joined #scheme 03:03:03 The errno means if the pipe call returns a non-zero status, the function returns #f. 03:03:26 Otherwise, it returns a list of two integers (the fds). 03:03:51 And it allocates the array and manages memory for you, so you just call (open-pipe) with no arguments. 03:04:14 Does it manage the file descriptor for you, or does your program leak a file descriptor if you hit ^C at an inopportune moment and return to the REPL? 03:04:45 Currently if you hit ^C at the REPL Chibi terminates :P 03:04:57 Gosh, that's even worse! 03:05:14 Riastradh: the disctinrction in my mind; which I failed to explain is: for scheme implementino SI; given a new library L, what does not have a binding in SI, can I use L in SI without a cc compiler? 03:05:24 -!- bzzbzz [~franco@modemcable240.34-83-70.mc.videotron.ca] has quit [Quit: leaving] 03:05:39 if it doesn't need a c compiler, imho it 'understands' the C calling conventino 03:05:45 typemore, for some Scheme systems, the answer is `no'; for others, the answer is `maybe'. 03:05:58 if it needs a c compiler (and me to manually wrap stuff), then it doesn't 'understand' the calling convention and needs a compiler 03:06:21 is there some for which the answer is 'yes' ? 03:06:28 No. 03:06:54 Riastradh: btw, this doesn't cnoflict with your question of char* foo(void*) 03:06:55 Ikarus doesn't need a C compiler. 03:06:56 Here's why: in order for the answer to be `yes', the Scheme implementation would need to implement a C preprocessor and compiler. 03:07:16 what i care about isn't the ability to know what the ovid* and char* represent; I just want to be able to make the call 03:07:29 (and leave it to the user's ability to make sure that the void* has the right structure + how to manage the returned char*) 03:07:29 Well, not necessarily. Pure has a direct C interface, but it doesn't implement a preprocessor and compiler, nor does it generate C. 03:07:30 Nor, I believe, does the Gauche c-wrapper. 03:07:57 Although the Gauche c-wrapper implements a partial C parser. 03:08:05 it doesn't need a compiler; it just needs a parser + ability to gneerate c calls 03:08:18 it only has to parse function declarations + understand the ABI 03:08:24 + generate the asesmbly code 03:08:31 for the ABI call 03:08:39 False, typemore. It also needs a C compiler to do what you ask. 03:08:50 Here is an example of a `declaration' you might find inside the C header file describing the API for your favourite library: 03:08:57 typemore: The only practical difference from a user standpoint is if you can dynamically wrap new C calls at the REPL or not. 03:09:16 #define frobnicate_veeblefitzer(zot) (fnord++, _frobnicate_veeblefitzer(zot)) 03:09:49 Riastradh: okay, I should revise the question and assume the function has preprocessed functio ndeclarations + structs/types 03:09:56 No amount of information about the local machine architecture's and operating system's calling conventions or linkage will tell you how to compile a call to fronicate_veeblefitzer. 03:10:21 Riastradh, in Edwin I would like to load a "startup" .scm file permanently, so that it'll be there automatically from then on. Is this possible? 03:10:22 Hi, I'm having a bit of trouble coming up with what I thought should be simple. I want to read a file in, run it through a function and write back to the same file. Unfortunately, I can't think of a way to do this that doesn't look weird 03:10:31 DrDuck, that's what ~/.edwin is for. 03:10:39 This is dangerous (you're bypassing any kind of type checking), and not all that useful, since you're going to wrap the library once and be done with it. 03:10:50 Armageddon00 pasted "call-with-output-file" at http://paste.lisp.org/display/113355 03:11:12 Riastradh, that's irrelevant: there *is* no procedure named frobnicate_veeblefitzer. 03:11:18 Riastradh, do I just put the file in the folder? 03:11:40 ... and as Riastradh points out is useless if the API relies on macros or constants, which is the case with 99% of C APIs. 03:11:56 jcowan, whatever term you want to use for fronicate_veeblefitzer, it is a first-class part of the API -- and _frobnicate_veeblefitzer is not. 03:12:38 hadronzoo [~hadronzoo@adsl-71-158-171-195.dsl.rcsntx.sbcglobal.net] has joined #scheme 03:12:48 *offby1* jerks awake 03:12:50 Armageddon00, how about this? (write-file pathname (read-file pathname)), with (define (write-file pathname object) (call-with-output-file pathname (lambda (output-port) (write object output-port)))) (define (read-file pathname) (call-with-input-file pathname read)) 03:13:11 Sorry, offby1. We were just talking about frobnicating veeblefitzers; we didn't mean to actually frobnicate yours. 03:13:25 *offby1* scrounges in his records ... surely he has the form which proves he copyrighted "fronicate_veeblefitzer" in 1979 03:13:32 Also the '.edwin' folder doesn't exist. I'm assuming I should create the folder and place the .scm file I'd like to start automatically from there on inside? Is this correct, Riastradh? 03:13:42 DrDuck, sorry, ~/.edwin a file, not a directory. 03:14:05 Sure. Macros can be first-class parts of the API, and often are. There is never a guarantee that any given .h file actually works in anything but its native environment. 03:14:40 Riastradh: I was hoping I could do it with just library methods. Thanks 03:14:47 That'll be fine. 03:14:48 typemore: So basically, runtime ad-hoc binding to C is incomplete (unless you implement a full C compiler), dangerous, not that useful, and adds overhead to your language implementation. 03:14:57 Ahh, so create a file in the home folder, and place the source of what I'd like to start automatically from then on inside? Would I have to name the file .edwin.scm, Riastradh? 03:15:20 No, DrDuck, the file is named ~/.edwin -- or, more precisely, it is the file named `.edwin' in your home directory. 03:15:57 DrDuck: File extensions don't matter, Edwin will read your .edwin file and treat it as a scheme file. 03:16:03 Riastradh, if that file doesn't exist, I should create it, correct? 03:16:09 Yes, DrDuck. 03:16:52 foof: I concede incomplete, dangerous, and adds overhead (but any FFI adds overhead), but it's definitely useful. 03:17:45 jcowan: not _that_ useful was the claim :) 03:18:06 Compared to what, then? 03:18:27 Compared to foreign APIs. 03:18:35 Write the bindings, compile them, load them. 03:18:54 And that's not dangerous? 03:19:07 (There's nothing in principle that stops you from doing that in the REPL too, foof.) 03:19:32 Riastradh: true enough, and gambit let's you do that naturally 03:19:47 *Thwap!* 03:20:12 jcowan: You're generating typed C code - if you got any of the type signatures wrong you'll get errors from the C compiler. 03:21:24 Actually, Chicken had an extension for that - not sure if it works anymore. 03:22:43 Whereas if you get any type signatures wrong in Forth/Ikarus, you'll get no warnings and very likely a segfault. 03:24:38 The typical Pure approach is to write a safe API that leverages the unsafe C calls; Pure supports adding new pattern-matching rules that supersede the C call. 03:25:09 What does that have to do with getting the C compiler to check your types? 03:25:29 Nothing. I merely say it's a workable approach that doesn't require a C compiler. 03:26:19 "Workable" in the sense of basically hand-coding untyped assembly at runtime and running a high risk of segfaults? 03:26:28 Sorry, I thought you were answering foof's characterization of foreign ABIs as more dangerous than foreign APIs. 03:27:20 foof: No, calls through the C APi are typed. 03:28:05 You do risk a segfault if you pass a bad pointer. 03:28:18 jcowan: How does it verify the type? Does it parse the C header files, or does it run it through a C compiler? 03:28:28 jcowan, who checks that the types of the Scheme description match the types of the API? 03:28:51 this is amazing 03:28:57 you guys have convinced me that what I want is a _bad_ idea 03:28:59 Oh, in that sense you take a risk, yes. 03:29:02 i respect this 03:29:28 -!- typemore [~typemore@unaffiliated/typemore] has quit [Quit: leaving] 03:30:03 It's precisely that risk that using a foreign API rather than a foreign ABI avoids. 03:30:42 -!- aidalgol [~user@202.36.179.65] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 03:37:29 markatto [~markatto@kappa.citi.umich.edu] has joined #scheme 03:38:37 Riastradh, for some reason my when load 'scheme' the old version is loaded again. Would you mind telling me what to type so that it loads the newer version again? 03:38:49 what scheme implementation would you guys recommend to someone new to lisp/scheme going through the wizard book? 03:39:11 markatto, MIT Scheme or Racket. 03:40:45 DrDuck: what would be the deciding factors between them? 03:41:23 markatto, I'm new my self. I'm not really sure. I'm told Racket has more documentation(?) and support? 03:41:52 I'm trying to get set up with MIT Scheme, though so I can do the same thing you're wanting to do. 03:42:01 hmm, MIT scheme seem to have some kind of built in emacs-style editor 03:42:15 both built-in editors and emacs are turn-offs for me 03:43:13 Yeah I was worried about all of that, too, but I believe now I'm just going to say fuck it and start reading. All I really want to understand is some new concepts from a new paradigm. 03:43:23 To help become a better programmer. 03:43:49 DrDuck, export PATH="/path/to/mit-scheme/9.0.1/bin:$PATH" 03:44:48 yeah, I have a pretty strong imperative background, but i'd like to get better at recursion and my only functional experience is with the simple tools in python 03:44:52 -!- soupdragon [~quantum@unaffiliated/fax] has quit [Quit: soupdragon] 03:45:01 So I seem to be the only person who understands the merit of standardizing interfaces to conditions rather than types for conditions. 03:45:33 jcowan: I've been busy the past few days, I'll reply to that thread shortly. 03:45:48 Thanks. Are you with me or against me? 03:45:50 :-) 03:46:15 I'm undecided, and largely because of that think we should only standardize the interface in WG1. 03:46:42 Riastradh, the terminal put me under the impression that it worked, but it didn't. Still loading the later version. 03:46:46 samth [~samth@140.239.46.3] has joined #scheme 03:47:02 DrDuck, again, be sure you write `.../bin', not `.../bin/scheme'. 03:47:06 Good. Well, the weak spot then is if you want your own condition objects to answer #t to (who-condition), what should you do, portably? 03:47:20 jcowan, can you give a Hollywood summary of the issue? 03:47:37 Otherwise we get into debates about the type hierarchy, whether it allow MI, whether it's based on the user-defined types, and what the type of every error situation in the WG1 standard is. 03:47:51 Riastradh, could it possibly be the changes that I made to .edwin? And yes, it was `export PATH="HOME$/usr/local/mit-scheme/9.0.1/bin:$PATH"` 03:47:58 That too. But also you wind up with two kinds of condition objects, native and standard, and the need to translate between them. 03:48:03 DrDuck, not `HOME$'; `$HOME'. 03:48:06 And I still prefer "exception" to "condition." 03:48:36 Worked. 03:48:38 Thank you. 03:48:50 Names are but names, said Stallman forcefully. 03:49:15 Riastradh: I'm proposing that WG1 only standardize predicates and accessors for system conditions, and allow any object to be signaled. 03:49:40 ("system conditions" = ones not signaled in user-written code) 03:49:59 Basically I want SRFI-12 for the core exception system. 03:50:15 I want not that. SRFI 12's signalling semantics is broken. 03:50:24 How so? 03:50:27 ABORT is a misdesign and handlers should not be tail-called. 03:50:44 Declining must be distinct from signalling a condition within the handler. 03:51:01 Ah, sorry, I want SRFI-12 w/o ABORT. 03:51:04 The current condition handler has no reason that I know of to be exposed directly. 03:52:25 *foof* shrugs 03:52:28 Here is a much better signalling protocol: (define (signal-condition condition) (for-each-pair (lambda (pair) (parametrize ((current-condition-handlers (cdr pair))) ((car pair) condition))) (current-condition-handlers)) (barf)) 03:52:31 I don't see how exposing it hurts. 03:52:58 That's hardly rationale for introducing a useless widget into the language. 03:53:01 My issue isn't about how conditions are signaled, but about what they are; whether they are defined by their essence or their accidents. 03:53:48 jcowan: Which is why I brought up SRFI-12, because it allows any object to be signaled, and provides condition objects as an optional convenience data type. 03:54:23 Sort of; it also imposes requirements on system conditions that (in a given implementation) they may not be able to fulfill. 03:54:53 Note the section "Standard Condition Kind And Property" 03:56:19 It would be nice if condition systems were lighter-weight and could, if desired, pertain to individual operations rather than entire dynamic extents, without substituting for each individual operation a pair of them, one that signals heavy-weight conditions and one that returns a light-weight error code. 03:56:35 OK, maybe I don't want SRFI-12... 03:57:15 Riastradh, I don't follow you. What do you mean by "condition system"? 03:57:35 That's a good question, jcowan. 03:58:27 In particular, do you distinguish between the exception system (which raises and handles exceptions) and the condition system, which describes conditions? 03:58:55 Oh, I'm talking more abstractly than that. (I think that using the two terms that way is pretty silly, frankly.) 04:00:32 As may be. 04:00:47 In the man page for every Unix system call, there is a listing of error codes with which the system call can fail. Every program making a system call must choose how to proceed after the system call has failed. Sometimes, the choice is to fail altogether, because the program is unable to proceed in the circumstances; sometimes, the program wishes to take a particular action; sometimes, the program may have a choice of several possible actions. 04:02:06 -!- hadronzoo [~hadronzoo@adsl-71-158-171-195.dsl.rcsntx.sbcglobal.net] has quit [Quit: hadronzoo] 04:02:23 In Scheme, calling ERROR serves only the first purpose. But in most Lisp condition systems, there's no succinct (whether measured in the text one writes or in the overhead in performance) way to express the second. 04:02:52 Common Lisp sometimes merges it into the third (as can Dylan and MIT Scheme), but in most Lisp systems one just surrounds some operation by a condition handler that aborts the operation and takes the particular desired action on failure. 04:03:34 Is MIT Scheme the only one with a restart system? 04:03:42 To my knowledge, yes. 04:04:32 Adamant [~Adamant@unaffiliated/adamant] has joined #scheme 04:04:46 -!- homie [~user@xdsl-78-34-223-204.netcologne.de] has quit [Read error: Operation timed out] 04:07:30 -!- wbooze [~user@xdsl-78-34-223-204.netcologne.de] has quit [Ping timeout: 240 seconds] 04:09:09 So I'd like a nice way to say `delete this file if it exists' without writing `save the current continuation, establish a condition handler for the following dynamic extent that restores the continuation on file existence errors and declines to handle all other conditions: delete the file.' Of course I can wrap this in a library routine, but it would be nice if there were practically zero run-time overhead too. 04:10:21 On the one hand, I'd like the modes of failure of each operation to be more apparent; on the other hand, I'd like to write aggregate operations that can assume the component operations succeed. 04:10:36 (and I don't want Java!) 04:16:23 Okay. From my viewpoint, the question is "How does a handler know, in a portable way, what a 'file existence error' is?" 04:19:16 hadronzoo [~hadronzoo@ppp-70-251-113-72.dsl.rcsntx.swbell.net] has joined #scheme 04:25:08 .oO("doesn't want java?!") 04:28:37 foof: on reflection, I'm thinking that even in an interface system, we will have to say something like "(car 3) raises a condition object that answers #t to blah-condition?. 04:28:40 " 04:29:19 -!- mjonsson [~mjonsson@cpe-98-14-173-5.nyc.res.rr.com] has quit [Ping timeout: 276 seconds] 04:29:35 We can make the condition types as coarse or as fine as we like, but we can't escape defining them. 04:33:15 Well, sure. 04:35:17 Foof was arguing that it would be too difficult for us to do that, but I think it's a necessity in practice. 04:36:19 But it does *not* require that we define any condition objects as such, merely that the condition object, whatever it may be, created in certain situations must satisfy a certain predicate. 04:36:34 Sure. 04:36:36 However, predicates in Scheme are not generally extensible to novel sorts of objects. 04:36:46 Example: 04:37:19 So I either abandon the ability to create conditions in conforming user code which satisfy one or more of these predicates, or I provide some way to extend them. 04:37:23 (There are probably mistakes and misdesigns in that (and I'd take out any mention of the misdesign that is SRFI 35), but it shows the idea.) 04:38:08 -!- samth [~samth@140.239.46.3] has quit [Ping timeout: 260 seconds] 04:39:20 Very good. Now if I wish to extend this interface in a natural way, say to provide LINK-FILE, how can I construct an object that satisfies FILE-UNREACHABLE-ERROR? ? 04:40:05 How can you define LINK-FILE in the first place? 04:40:12 Forget about signalling the right condition for a moment. 04:40:18 *jcowan* handwaves. 04:40:48 By whatever means necessary. I simply want to fit in with your interface, rather than signaling my own sort of conditions that satisfy LINKED-FILE-UNREACHABLE-ERROR? or some such distinct predicate. 04:40:55 You can't wave this away with your hands. Either you are calling a new primitive or you are writing something in terms of existing primitives. 04:41:09 Clearly the former. 04:41:37 Then the answer depends wholly on how primitives work. 04:41:38 But I wish to reuse your condition type to report failure from my primitive. 04:41:58 Since you're not going to specify how primitives work, this isn't really an issue. 04:42:08 (If you specified that, they wouldn't be primitives!) 04:43:18 Introducing primitiveness into the discussion is a distraction. Perhaps the true primitives are disk operations, and the filesys package is written in Scheme. 04:43:35 Or perhaps files and directories are facades over byte strings. 04:43:37 -!- kniu [~kniu@pool-71-106-0-142.lsanca.dsl-w.verizon.net] has quit [Remote host closed the connection] 04:43:41 and trees, and other things. 04:44:51 The position you are taking is that condition types are package-private: they cannot be reused either as-is or to create novel condition types. 04:45:45 That position is very good for the writer of catchers, but not so good for the writer of raisers who wish to work well with existing catchers. 04:47:17 Thomas_H [~Thomas_H@66.183.224.178] has joined #scheme 04:49:02 For example, if built-in procedures uniformly signal conditions that satisfy DOMAIN-ERROR? (that is, are domain errors) if the types of their arguments is not acceptable. In that case, I may wish to write a procedure that raises domain errors too, but how so, if I have no constructor for domain errors? 04:52:50 s/if/suppose that 04:53:52 Yet if I could do so, I'd be able to allow my domain errors to be handled by a general domain-error handler. 04:55:39 -!- minion [~minion@common-lisp.net] has quit [Ping timeout: 258 seconds] 04:55:47 The only thing that comes to mind is an ad-hoc generic function system, whereby I can redefine the behavior of DOMAIN-ERROR? not by rebinding it (which does not compose) but with a procedure such as PROVIDE-DOMAIN-ERROR-DETECTOR! 04:55:50 -!- specbot [~specbot@common-lisp.net] has quit [Ping timeout: 240 seconds] 04:56:25 -!- lisppaste [~lisppaste@common-lisp.net] has quit [Ping timeout: 258 seconds] 04:56:46 (This is where Pure, with its generalized term rewriting, is very nice; if you want predicates to support new argument types, simply add new rewrite rules with guards for those types. 04:56:47 ) 04:57:02 -!- Spewns [~jake@97-92-222-240.dhcp.stls.mo.charter.com] has quit [Quit: Leaving.] 04:57:08 All Bots Die 04:57:18 rudybot: you dead yet? 04:57:18 *offby1: You are at a dead end of a dirt road. The road goes to the east. 04:57:34 don't scare me, man 04:59:27 I suppose I can swallow a little generic-function system for the purpose. It's better than prescribing a hierarchy, or defining compound condition objects. I think. 04:59:34 Well, off to the snore mines. 04:59:37 -!- jcowan [~John@cpe-98-14-172-204.nyc.res.rr.com] has quit [Quit: Leaving] 05:11:43 -!- saccade [~saccade@BRAIN-AND-COG-FIVE-THIRTY-SEVEN.MIT.EDU] has quit [Ping timeout: 276 seconds] 05:16:14 saccade [~saccade@dhcp-18-111-82-90.dyn.mit.edu] has joined #scheme 05:17:53 Spewns [~jake@97-92-222-240.dhcp.stls.mo.charter.com] has joined #scheme 05:19:43 -!- Thomas_H [~Thomas_H@66.183.224.178] has quit [Ping timeout: 248 seconds] 05:34:47 pdelgallego [~pdelgalle@1503031474.dhcp.dbnet.dk] has joined #scheme 05:37:10 -!- Elench [~Elench@unaffiliated/elench] has quit [Read error: Connection reset by peer] 05:39:13 rbarraud [~rbarraud@118-92-134-221.dsl.dyn.ihug.co.nz] has joined #scheme 06:00:52 certainty [~quassel@matrix.d-coded.de] has joined #scheme 06:22:03 hadronzoo_ [~hadronzoo@188-126-70-82.cust.vpntunnel.se] has joined #scheme 06:22:18 -!- hadronzoo_ [~hadronzoo@188-126-70-82.cust.vpntunnel.se] has quit [Client Quit] 06:25:28 -!- hadronzoo [~hadronzoo@ppp-70-251-113-72.dsl.rcsntx.swbell.net] has quit [Ping timeout: 240 seconds] 06:40:42 -!- Intensity [VmQThPz4yj@unaffiliated/intensity] has quit [Quit: Intensity] 06:43:33 -!- franki- [~franki@unaffiliated/franki] has quit [Ping timeout: 260 seconds] 06:43:56 franki^ [~franki@unaffiliated/franki] has joined #scheme 06:44:19 -!- TR2N [email@89.180.223.127] has quit [Quit: Time left until the Epochalypse: 27yrs 23wks 1day 2hrs 29mins 33secs] 06:44:55 -!- ASau is now known as ASau` 06:54:36 wbooze [~user@xdsl-87-79-63-203.netcologne.de] has joined #scheme 06:54:40 homie [~user@xdsl-87-79-63-203.netcologne.de] has joined #scheme 07:02:31 aidalgol [~user@114-134-6-5.rurallink.co.nz] has joined #scheme 07:07:24 rbarraud_ [~rbarraud@118-93-185-133.dsl.dyn.ihug.co.nz] has joined #scheme 07:08:03 -!- rbarraud [~rbarraud@118-92-134-221.dsl.dyn.ihug.co.nz] has quit [Ping timeout: 260 seconds] 07:13:47 -!- aidalgol [~user@114-134-6-5.rurallink.co.nz] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 07:17:30 elderK [~elderK@pdpc/supporter/active/elderk] has joined #scheme 07:19:55 -!- cpr420 [~cpr@unaffiliated/cpr420] has quit [Quit: Bye!] 07:22:06 _danb_ [~user@124.149.177.177] has joined #scheme 07:27:12 -!- alaricsp [~alaric@relief.warhead.org.uk] has quit [Read error: Connection reset by peer] 07:27:13 hkBst [~hkBst@gentoo/developer/hkbst] has joined #scheme 07:27:43 alaricsp [~alaric@relief.warhead.org.uk] has joined #scheme 07:33:46 masm [~masm@bl15-77-102.dsl.telepac.pt] has joined #scheme 07:34:49 gravicappa [~gravicapp@80.90.116.82] has joined #scheme 08:00:32 -!- elderK [~elderK@pdpc/supporter/active/elderk] has quit [Quit: Leaving...] 08:06:02 elderK [~elderK@pdpc/supporter/active/elderk] has joined #scheme 08:13:29 -!- pdelgallego [~pdelgalle@1503031474.dhcp.dbnet.dk] has quit [Quit: Leaving] 08:20:14 -!- elderK [~elderK@pdpc/supporter/active/elderk] has quit [Remote host closed the connection] 08:31:07 -!- sladegen [~nemo@unaffiliated/sladegen] has quit [Ping timeout: 276 seconds] 08:34:16 -!- mbohun [~mbohun@202.124.73.211] has quit [Quit: Leaving] 08:34:56 stis [~stis@1-1-1-39a.veo.vs.bostream.se] has joined #scheme 08:35:22 elderK [~elderK@125-238-255-98.jetstream.xtra.co.nz] has joined #scheme 08:35:22 -!- elderK [~elderK@125-238-255-98.jetstream.xtra.co.nz] has quit [Changing host] 08:35:22 elderK [~elderK@pdpc/supporter/active/elderk] has joined #scheme 08:35:37 -!- elderK [~elderK@pdpc/supporter/active/elderk] has quit [Remote host closed the connection] 08:42:35 -!- dfkjjkfd [~paulh@7-13-ftth.onsnetstudenten.nl] has quit [Quit: Lost terminal] 08:53:52 alvatar [~alvatar@214.127.222.87.dynamic.jazztel.es] has joined #scheme 08:57:13 fradgers- [~fradgers-@5adafe9d.bb.sky.com] has joined #scheme 09:00:45 pdelgallego [~pdelgalle@1503031474.dhcp.dbnet.dk] has joined #scheme 09:06:37 -!- Spewns [~jake@97-92-222-240.dhcp.stls.mo.charter.com] has quit [Quit: Leaving.] 09:10:01 mmc [~michal@93-39-48-42.ip74.fastwebnet.it] has joined #scheme 09:21:35 -!- DrDuck [~duck@adsl-67-170-242.shv.bellsouth.net] has quit [Ping timeout: 260 seconds] 09:34:43 timj [~timj@e176192171.adsl.alicedsl.de] has joined #scheme 09:37:01 vinnana [~pkensche@cmbipc58.cmbi.umcn.nl] has joined #scheme 09:42:09 -!- `26 [~kvirc@unaffiliated/26/x-1186543] has quit [Ping timeout: 240 seconds] 10:10:03 -!- jmcphers [~jmcphers@218.185.108.156] has quit [Remote host closed the connection] 10:10:48 jmcphers [~jmcphers@218.185.108.156] has joined #scheme 10:18:28 bozhidar [~user@212.50.14.187] has joined #scheme 10:32:36 -!- hkBst [~hkBst@gentoo/developer/hkbst] has quit [Ping timeout: 258 seconds] 10:34:51 bremner_ [~bremner@pivot.cs.unb.ca] has joined #scheme 10:46:45 dfkjjkfd [~paulh@7-13-ftth.onsnetstudenten.nl] has joined #scheme 10:55:12 -!- stis [~stis@1-1-1-39a.veo.vs.bostream.se] has quit [*.net *.split] 10:55:13 -!- _danb_ [~user@124.149.177.177] has quit [*.net *.split] 10:57:21 stis [~stis@1-1-1-39a.veo.vs.bostream.se] has joined #scheme 10:57:53 _danb_ [~user@124.149.177.177] has joined #scheme 11:05:44 Riastradh: the idiom is ${1:+"$@"} 11:09:31 -!- alvatar [~alvatar@214.127.222.87.dynamic.jazztel.es] has quit [Read error: Connection reset by peer] 11:10:30 alvatar [~alvatar@214.127.222.87.dynamic.jazztel.es] has joined #scheme 11:13:16 -!- alvatar [~alvatar@214.127.222.87.dynamic.jazztel.es] has quit [Read error: Connection reset by peer] 11:18:57 alvatar [~alvatar@214.127.222.87.dynamic.jazztel.es] has joined #scheme 11:19:53 -!- bremner_ [~bremner@pivot.cs.unb.ca] has quit [Remote host closed the connection] 11:22:12 -!- alvatar [~alvatar@214.127.222.87.dynamic.jazztel.es] has quit [Read error: Connection reset by peer] 11:23:58 alvatar [~alvatar@214.127.222.87.dynamic.jazztel.es] has joined #scheme 11:25:59 mbohun [~mbohun@ppp115-156.static.internode.on.net] has joined #scheme 11:34:24 davazp [~user@83.55.182.251] has joined #scheme 11:54:15 -!- Riastradh [debian-tor@fsf/member/riastradh] has quit [Ping timeout: 245 seconds] 12:08:47 slom [~sloma@port-87-234-239-162.static.qsc.de] has joined #scheme 12:10:56 m4k3r [~maker@host64-86-dynamic.55-79-r.retail.telecomitalia.it] has joined #scheme 12:12:06 DrDuck [~duck@adsl-67-170-242.shv.bellsouth.net] has joined #scheme 12:12:10 Hello. Still problems :D . I'm using guile as interpreter, but there I can't find the builtin "runtime". How can I import it? Should I use another interpreter? Note that I'm on linux. 12:12:36 Riastradh [debian-tor@fsf/member/riastradh] has joined #scheme 12:19:57 -!- m4k3r [~maker@host64-86-dynamic.55-79-r.retail.telecomitalia.it] has quit [Ping timeout: 258 seconds] 12:21:34 m4k3r [~maker@host64-86-dynamic.55-79-r.retail.telecomitalia.it] has joined #scheme 12:22:31 -!- Modius [~Modius@cpe-24-28-30-165.austin.res.rr.com] has quit [Ping timeout: 276 seconds] 12:27:52 -!- alvatar [~alvatar@214.127.222.87.dynamic.jazztel.es] has quit [Ping timeout: 276 seconds] 12:35:44 How would I go about getting a program to load from start up with DrRacket? 12:39:55 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Ping timeout: 276 seconds] 12:43:43 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 12:47:20 -!- m4k3r [~maker@host64-86-dynamic.55-79-r.retail.telecomitalia.it] has quit [Ping timeout: 265 seconds] 12:49:12 metasyntax [~taylor@12.132.219.7] has joined #scheme 12:49:43 IJP [~Ian@host81-159-122-244.range81-159.btcentralplus.com] has joined #scheme 12:54:13 m4k3r [~maker@host64-86-dynamic.55-79-r.retail.telecomitalia.it] has joined #scheme 13:00:38 IJP_ [~Ian@host81-159-24-224.range81-159.btcentralplus.com] has joined #scheme 13:01:36 -!- m4k3r [~maker@host64-86-dynamic.55-79-r.retail.telecomitalia.it] has quit [Ping timeout: 246 seconds] 13:02:49 -!- IJP [~Ian@host81-159-122-244.range81-159.btcentralplus.com] has quit [Ping timeout: 276 seconds] 13:05:37 IJP [~Ian@host86-174-99-238.range86-174.btcentralplus.com] has joined #scheme 13:05:39 -!- davazp [~user@83.55.182.251] has quit [Read error: Connection reset by peer] 13:06:43 -!- IJP_ [~Ian@host81-159-24-224.range81-159.btcentralplus.com] has quit [Ping timeout: 276 seconds] 13:28:08 mjonsson [~mjonsson@cpe-98-14-173-5.nyc.res.rr.com] has joined #scheme 13:37:51 alvatar [~alvatar@119.126.222.87.dynamic.jazztel.es] has joined #scheme 13:44:21 -!- alvatar [~alvatar@119.126.222.87.dynamic.jazztel.es] has quit [Quit: leaving] 13:47:54 MrFahrenheit [~RageOfTho@users-33-101.vinet.ba] has joined #scheme 14:15:54 alvatar [~alvatar@119.126.222.87.dynamic.jazztel.es] has joined #scheme 14:16:38 -!- rbarraud_ [~rbarraud@118-93-185-133.dsl.dyn.ihug.co.nz] has quit [Read error: Connection reset by peer] 14:25:47 -!- slom [~sloma@port-87-234-239-162.static.qsc.de] has quit [Remote host closed the connection] 14:26:40 DrDuck: try using "gracket" instead. Also try asking in #racket. 14:47:16 Does anyone here happen to use Quak? 14:47:55 -!- gravicappa [~gravicapp@80.90.116.82] has quit [Ping timeout: 258 seconds] 14:48:25 DrDuck, I've never even heard of it. What is it? 14:48:47 "quack", an Emacs mode for scheme 14:48:50 or, 14:48:55 gnomon: http://www.neilvandyke.org/quack/quack.el 14:49:06 "Quake", a sugar-coated cereal from the 70s, closely affiliated with "Quisp" 14:49:29 Ah, OK. Quack, I've heard of. Also Quake. 14:50:14 Tremulous -- a meat-coated cereal popular in the 2000s, closely affiliated with ... uh ... 14:50:27 Eww. 15:00:13 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has quit [Quit: Leaving] 15:13:20 schmir [~schmir@p54A90914.dip0.t-ipconnect.de] has joined #scheme 15:15:10 hohoho [~hohoho@ntkngw229253.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 15:15:10 -!- alvatar [~alvatar@119.126.222.87.dynamic.jazztel.es] has quit [Read error: Connection reset by peer] 15:15:14 alvatar [~alvatar@119.126.222.87.dynamic.jazztel.es] has joined #scheme 15:21:16 ventonegro [~alex@200.150.183.81] has joined #scheme 15:22:47 morning 15:22:47 -!- alvatar [~alvatar@119.126.222.87.dynamic.jazztel.es] has quit [Read error: Connection reset by peer] 15:23:51 alvatar [~alvatar@119.126.222.87.dynamic.jazztel.es] has joined #scheme 15:25:02 -!- pdelgallego [~pdelgalle@1503031474.dhcp.dbnet.dk] has quit [Read error: Operation timed out] 15:25:58 soupdragon [~quantum@unaffiliated/fax] has joined #scheme 15:28:02 pdelgallego [~pdelgalle@1503031474.dhcp.dbnet.dk] has joined #scheme 15:28:25 -!- schmir [~schmir@p54A90914.dip0.t-ipconnect.de] has quit [Ping timeout: 276 seconds] 15:31:43 -!- mmc [~michal@93-39-48-42.ip74.fastwebnet.it] has quit [Ping timeout: 265 seconds] 15:32:10 fowlduck [~fowlduck@2002:cc0f:6d26:0:fa1e:dfff:fed7:9dc1] has joined #scheme 15:38:00 -!- bozhidar [~user@212.50.14.187] has quit [Quit: Asta la vista] 15:41:11 -!- Riastradh [debian-tor@fsf/member/riastradh] has quit [Remote host closed the connection] 15:41:37 Riastradh [debian-tor@fsf/member/riastradh] has joined #scheme 15:45:03 mmc [~michal@93-39-48-42.ip74.fastwebnet.it] has joined #scheme 15:51:30 -!- ASau`` is now known as ASau 15:54:57 -!- mmc [~michal@93-39-48-42.ip74.fastwebnet.it] has quit [Ping timeout: 265 seconds] 15:58:11 fod [~fod@92.251.255.7.threembb.ie] has joined #scheme 16:01:25 -!- Nshag [user@lns-bzn-44-82-249-196-92.adsl.proxad.net] has quit [Ping timeout: 276 seconds] 16:04:40 Would someone help me understand how to run a scheme script from within emacs scheme-mode? 16:08:59 mmc [~michal@93-39-48-42.ip74.fastwebnet.it] has joined #scheme 16:09:49 -!- alvatar [~alvatar@119.126.222.87.dynamic.jazztel.es] has quit [Read error: No route to host] 16:10:03 lisppaste [~lisppaste@common-lisp.net] has joined #scheme 16:10:33 minion [~minion@common-lisp.net] has joined #scheme 16:10:38 specbot [~specbot@common-lisp.net] has joined #scheme 16:10:43 alvatar [~alvatar@119.126.222.87.dynamic.jazztel.es] has joined #scheme 16:10:46 there is #emacs 16:11:04 does it have a shebang line ? 16:11:13 then you have to start a shell 16:11:26 maybe 16:13:29 Nshag [user@lns-bzn-25-82-254-142-214.adsl.proxad.net] has joined #scheme 16:15:16 kushal [~kdas@fedora/kushal] has joined #scheme 16:16:44 Modius [~Modius@cpe-24-28-30-165.austin.res.rr.com] has joined #scheme 16:17:38 -!- Modius [~Modius@cpe-24-28-30-165.austin.res.rr.com] has quit [Max SendQ exceeded] 16:18:32 Modius [~Modius@cpe-24-28-30-165.austin.res.rr.com] has joined #scheme 16:18:48 Fare [~Fare@ita4fw1.itasoftware.com] has joined #scheme 16:22:47 samth [~samth@65.42.208.133] has joined #scheme 16:28:52 -!- samth [~samth@65.42.208.133] has quit [Ping timeout: 240 seconds] 16:34:23 sladegen [~nemo@unaffiliated/sladegen] has joined #scheme 16:37:04 samth [~samth@65.42.208.133] has joined #scheme 16:42:57 Intensity [zpgyyX77h5@unaffiliated/intensity] has joined #scheme 16:44:58 -!- samth [~samth@65.42.208.133] has quit [Ping timeout: 276 seconds] 16:46:47 gravicappa [~gravicapp@ppp91-78-231-171.pppoe.mtu-net.ru] has joined #scheme 16:58:16 -!- wbooze [~user@xdsl-87-79-63-203.netcologne.de] has quit [Ping timeout: 276 seconds] 16:58:37 -!- homie [~user@xdsl-87-79-63-203.netcologne.de] has quit [Ping timeout: 276 seconds] 17:08:53 femtoo [~femto@95-89-196-180-dynip.superkabel.de] has joined #scheme 17:13:38 in 1984 when he talks about newspeak they are destroying words - and he saysit's beautiful because of the simplicity 17:14:03 what if scheme is like new speak? 17:23:37 -!- alaricsp [~alaric@relief.warhead.org.uk] has quit [Ping timeout: 276 seconds] 17:23:38 -!- ASau [~user@83.69.227.32] has quit [Read error: Connection reset by peer] 17:24:40 -!- DrDuck [~duck@adsl-67-170-242.shv.bellsouth.net] has left #scheme 17:35:42 homie [~user@xdsl-87-79-53-253.netcologne.de] has joined #scheme 17:35:42 wbooze [~user@xdsl-87-79-53-253.netcologne.de] has joined #scheme 17:39:24 ASau [~user@83.69.227.32] has joined #scheme 17:47:57 soupdragon: well as Newspeak in 1984 is used to manipulate people and it does so very efficiently and Scheme is used for manipulating programs and does so very efficiently I'd agree 17:48:37 tcleval [~funnyguy@186.213.49.80] has joined #scheme 17:49:08 `26 [~kvirc@216.252.77.254] has joined #scheme 17:49:09 -!- `26 [~kvirc@216.252.77.254] has quit [Changing host] 17:49:09 `26 [~kvirc@unaffiliated/26/x-1186543] has joined #scheme 17:49:10 is there any scheme compiler out there using OPENMP? I googled around and I couldn't find anything 17:49:23 Not that I know of, tcleval. 17:51:14 -!- Adrinael [~adrinael@barrel.rolli.org] has quit [Read error: Operation timed out] 17:51:18 Adrinael [~adrinael@barrel.rolli.org] has joined #scheme 17:51:24 -!- pjb [~t@81.202.16.46.dyn.user.ono.com] has quit [Quit: rebooting to get a new kernel.] 17:51:52 Riastradh: what are the strategies used on scheme for parallel computing? I am new to scheme, so be kind :-) 17:52:21 Parallel computing? Not much, these days. 17:52:34 Find a time machine and go back twenty years. 17:54:19 Riastradh: what do you mean by that? with dual/quad cores this topic is hot, isn't it? 17:55:06 The topic was hotter with Scheme twenty years ago, on dozens or hundreds of processors. 17:55:31 Well, Racket supports futures these days. Not sure whether anyone else does. That's probably the closest you'll get in the general-purpose Scheme systems. 17:56:57 -!- mmc [~michal@93-39-48-42.ip74.fastwebnet.it] has quit [Read error: Operation timed out] 17:57:54 Twenty years ago, there were at least a couple of operating systems for highly parallel machines such as the Connection Machine written in Scheme, and several different parallelized Scheme implementations, such as Multischeme and Mul-T. 17:58:23 Now the Connection Machine, the BBN Butterfly, &c., have gone the way of the dodo, and all that Scheme code has been lost or has bitrotten. 17:58:46 mmc [~michal@93-39-48-42.ip74.fastwebnet.it] has joined #scheme 17:59:03 interesting 17:59:18 Riastradh: help me picture something 18:00:16 Riastradh: what about those Erlang-style ways? 18:00:19 Riastradh: Termite? 18:00:45 Riastradh: I've been reading about scheme, and I found that the best way to learn it deaply would be right a small compiler/interpreter. I wonder if making a scheme openmp enabled would be a super bing enormous task. Can you picture it? 18:01:02 s/right/write 18:01:35 sorry, sometimes I get lost on the sound of words. English is not my main language, so sometimes the sound of words confuse me 18:01:39 rdd` [~user@c83-250-52-182.bredband.comhem.se] has joined #scheme 18:02:14 tcleval: I think that OpenMP conflicts with the way Scheme chose. 18:03:36 tcleval: MPI might be better choice for parallel processing in Scheme. 18:04:02 ASau, Termite doesn't do shared-memory multiprocessing, and it designed more for building distributed systems than for high-performance parallel computation. 18:04:50 ASau: why so? can you make it more clear to me please? :-] 18:04:55 Riastradh: are there any approaches to SMP at all? 18:05:18 Given the tendency to immutable objects. 18:05:37 tcleval: there's clear tendency to avoid mutable objects at all. 18:05:58 tcleval, 'fraid I don't know anything about OpenMP, so it would be hard for me to say. That (not) said, it is worthwhile to write a Scheme evaluator in Scheme, and there are good books that will guide you through the subject in different ways, such as SICP and EoPL. 18:05:59 ASau, other than futures in Racket? Not to my knowledge. 18:06:11 I understand, that said, I should see how haskell guys do it. they have smp support.. IDK how, but it exists 18:06:29 SMP or MPP? 18:06:37 pjb [~t@81.202.16.46.dyn.user.ono.com] has joined #scheme 18:06:55 SMP is like openmp right? that is what they do in haskell 18:07:01 mpi is a binding 18:07:29 but they dont translate it to openmp, but harware threads directaly 18:07:45 Is it done as SMP or MPP? 18:07:54 Those are quite different architectures. 18:07:55 I dont recall 18:09:10 I saw this simple scheme compiler. It is incomplete I guess, but cute in its own way http://matt.might.net/articles/compiling-scheme-to-c/ 18:10:07 interesting that It doesnt take too much code to write a scheme compiler. is that always the case? if YES.. could you guys please explain to me why is that so? 18:14:45 That's a very, very incomplete compiler, and does not properly handle fundamental Scheme semantics. 18:15:03 If you're looking for a Scheme to C compiler, have a look at Gambit or Chicken. 18:15:37 *ASau* also thinks that they're accompanied with corresponding papers. 18:16:07 Where's the compiler...? 18:16:11 kar8nga [~kar8nga@j-21.vc-graz.ac.at] has joined #scheme 18:16:13 ok thx ASau 18:16:14 -!- kar8nga [~kar8nga@j-21.vc-graz.ac.at] has quit [Read error: Connection reset by peer] 18:16:50 duncanm [~duncan@a-chinaman.com] has joined #scheme 18:16:50 la la la 18:16:51 Riastradh: It's near the bottom of the page. 18:17:24 Huh? I see a section titled `Code', right above the `References' section, but it's empty. 18:17:44 Are you using w3m? 18:17:47 Oh, pff. Stupid JavaScript nonsense. 18:17:51 (Yes.) 18:19:07 Mandar [~armand@pha75-21-78-228-186-233.fbx.proxad.net] has joined #scheme 18:23:16 (reading scrollback) Doesn't guile use native pthreads? 18:23:36 Does it? I didn't know that. 18:23:50 (or, I probably forgot it several times in a row) 18:28:14 Oh, and in the proprietary world there's Chez. 18:29:04 Oh, yes. I tend not to think much about that world. 18:41:11 DUM de dum 18:44:49 -!- _danb_ [~user@124.149.177.177] has quit [Ping timeout: 258 seconds] 18:51:01 -!- pjb [~t@81.202.16.46.dyn.user.ono.com] has quit [Remote host closed the connection] 18:59:50 -!- alvatar [~alvatar@119.126.222.87.dynamic.jazztel.es] has quit [Quit: leaving] 18:59:58 schmir [~schmir@p54A91569.dip0.t-ipconnect.de] has joined #scheme 19:02:04 -!- djjack [~djjack@cpe-098-026-029-215.nc.res.rr.com] has quit [Remote host closed the connection] 19:17:41 Spewns [~jake@97-92-222-240.dhcp.stls.mo.charter.com] has joined #scheme 19:30:05 -!- Mandar [~armand@pha75-21-78-228-186-233.fbx.proxad.net] has quit [Ping timeout: 245 seconds] 19:32:51 -!- ventonegro [~alex@200.150.183.81] has quit [Quit: ventonegro] 19:38:11 Dawgmatix [~dman@c-76-124-9-27.hsd1.nj.comcast.net] has joined #scheme 19:41:37 is there something in scheme to look up doc strings of functions? 19:41:54 (plt specific solutions are okay) 19:42:24 Dawgmatix, R5RS does not include facilities for docstrings, to the best of my knowledge. I believe they are also absent from other RnRS's. 19:42:32 okay 19:42:49 Racket may, but I'm not the person to ask about that. 19:47:45 -!- MrFahrenheit [~RageOfTho@users-33-101.vinet.ba] has quit [Read error: Connection reset by peer] 19:48:02 MrFahrenheit [~RageOfTho@users-33-101.vinet.ba] has joined #scheme 19:53:19 kniu [~kniu@pool-71-106-0-142.lsanca.dsl-w.verizon.net] has joined #scheme 19:57:35 -!- kniu [~kniu@pool-71-106-0-142.lsanca.dsl-w.verizon.net] has quit [Ping timeout: 252 seconds] 20:08:31 pjb [~t@81.202.16.46.dyn.user.ono.com] has joined #scheme 20:08:42 -!- saccade [~saccade@dhcp-18-111-82-90.dyn.mit.edu] has quit [Quit: Leaving] 20:11:55 _danb_ [~user@124.149.177.177] has joined #scheme 20:13:34 -!- _danb_ [~user@124.149.177.177] has quit [Remote host closed the connection] 20:17:47 -!- schmir [~schmir@p54A91569.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 20:20:52 -!- peterhil_ [~peterhil@a91-153-126-10.elisa-laajakaista.fi] has quit [Ping timeout: 240 seconds] 20:22:33 -!- kushal [~kdas@fedora/kushal] has quit [Ping timeout: 260 seconds] 20:23:11 djjack [~djjack@cpe-098-026-029-215.nc.res.rr.com] has joined #scheme 20:23:19 -!- Spewns [~jake@97-92-222-240.dhcp.stls.mo.charter.com] has quit [Read error: Operation timed out] 20:25:09 -!- Riastradh [debian-tor@fsf/member/riastradh] has quit [Remote host closed the connection] 20:25:37 Riastradh [debian-tor@fsf/member/riastradh] has joined #scheme 20:27:23 peterhil_ [~peterhil@a91-153-126-10.elisa-laajakaista.fi] has joined #scheme 20:27:39 -!- samth_away is now known as samth 20:33:26 Spewns [~jake@97-92-222-240.dhcp.stls.mo.charter.com] has joined #scheme 20:35:21 -!- femtoo [~femto@95-89-196-180-dynip.superkabel.de] has quit [Quit: Leaving] 20:39:05 alaricsp [~alaric@relief.warhead.org.uk] has joined #scheme 20:39:27 bgs100 [~ian@unaffiliated/bgs100] has joined #scheme 20:39:48 So, when will the working group adopt ephemerons for Scheme 7? 20:47:57 stepnem: SYN 20:49:17 bweaver [~user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has joined #scheme 20:57:17 -!- hohoho [~hohoho@ntkngw229253.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 20:58:47 hey Riastradh 20:59:05 Riastradh: are you in Boston? 20:59:58 hohoho [~hohoho@ntkngw229253.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 20:59:58 No, I'm in New York, but I'll be in Boston in about thirty-six hours, which reminds me that I need to deal with some laundry soon. 21:00:26 Thirty-six? No, closer to twenty-six. 21:01:29 heh 21:02:01 aidalgol [~user@202.36.179.65] has joined #scheme 21:13:06 -!- Dawgmatix [~dman@c-76-124-9-27.hsd1.nj.comcast.net] has quit [Quit: Ex-Chat] 21:15:07 Azuvix [~Azuvix@174-19-234-140.bois.qwest.net] has joined #scheme 21:16:26 -!- Azuvix [~Azuvix@174-19-234-140.bois.qwest.net] has quit [Remote host closed the connection] 21:16:34 Azuvix [~Azuvix@174-19-234-140.bois.qwest.net] has joined #scheme 21:17:15 -!- stis [~stis@1-1-1-39a.veo.vs.bostream.se] has quit [Remote host closed the connection] 21:20:16 Dawgmatix [~dman@c-76-124-9-27.hsd1.nj.comcast.net] has joined #scheme 21:35:20 -!- Dawgmatix [~dman@c-76-124-9-27.hsd1.nj.comcast.net] has quit [Quit: Ex-Chat] 21:37:28 IJP_ [~Ian@host86-174-99-238.range86-174.btcentralplus.com] has joined #scheme 21:39:18 jcowan [c6b912cf@gateway/web/freenode/ip.198.185.18.207] has joined #scheme 21:39:27 -!- IJP [~Ian@host86-174-99-238.range86-174.btcentralplus.com] has quit [Ping timeout: 248 seconds] 21:44:33 -!- peterhil_ [~peterhil@a91-153-126-10.elisa-laajakaista.fi] has quit [Quit: Must not waste too much time here...] 21:45:18 -!- mornfall [~mornfall@kde/developer/mornfall] has quit [Quit: the old ways are lost (and this RAID is falling apart too)] 21:46:11 Riastradh: ACK 21:46:36 Thomas_H [~Thomas_H@66.183.224.178] has joined #scheme 21:49:22 mornfall [~mornfall@anna.fi.muni.cz] has joined #scheme 21:49:24 -!- mornfall [~mornfall@anna.fi.muni.cz] has quit [Changing host] 21:49:24 mornfall [~mornfall@kde/developer/mornfall] has joined #scheme 21:51:07 -!- aidalgol [~user@202.36.179.65] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 21:51:14 -!- Spewns [~jake@97-92-222-240.dhcp.stls.mo.charter.com] has quit [Quit: Leaving.] 21:51:38 -!- hohoho [~hohoho@ntkngw229253.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 21:53:53 Spewns [~Spewns@97-92-222-240.dhcp.stls.mo.charter.com] has joined #scheme 21:57:32 hohoho [~hohoho@ntkngw229253.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 22:02:03 stepnem, no, no, no. 22:02:36 stepnem, when I say `SYN', you reply with `SYN/ACK', and then I complete the handshake with `ACK' (and PSH, too, with the conversation following). 22:03:17 Riastradh: oh, I'm terribly sorry 22:03:24 thanks for pointing that out 22:03:50 Riastradh: But see RFC 962 22:05:24 stepnem, anyway, I don't know what's preventing MIT Scheme from opening an X window, but it sounds like it will be hard to find out unless you run MIT Scheme under gdb and step through the XTERM-OPEN-WINDOW primitive. Are you interested in doing that? 22:06:30 Riastradh: yes, but my experience in that regard is very limited; do I need to compile MIT Scheme with some non-default options? 22:07:03 All you need to do differently is to pass `--enable-debugging' to the configure script. 22:08:31 OK, I'll try and see what I can find, thanks 22:09:33 I can step you through what to do if you like -- just let me know when you've finished running `./configure --enable-debugging' and `make compile-microcode', if you're using the binary distribution of 9.0.1; or when you've finished running `./configure --enable-debugging' and `make', if you are building from Git. 22:13:13 thank you all the more then; compiling now 22:16:16 -!- Spewns [~Spewns@97-92-222-240.dhcp.stls.mo.charter.com] has quit [Quit: Spewns] 22:16:46 Spewns [~jake@97-92-222-240.dhcp.stls.mo.charter.com] has joined #scheme 22:16:46 Riastradh: unfortunately with the current Git I get "make[1]: *** No rule to make target `winder.h', needed by `hooks.o'. Stop." shortly after `make' 22:17:17 Run `make maintainer-clean' and start over again -- I deleted that file recently, but it was probably still listed in your (auto-generated) makefile. 22:17:24 OK 22:20:11 I'm going out for a bit, but I'll be back in the next fifteen minutes or so. 22:21:09 right; that's about the time it'll take I guess 22:21:48 kniu [~kniu@pool-71-106-0-142.lsanca.dsl-w.verizon.net] has joined #scheme 22:27:32 saccade [~saccade@BRAIN-AND-COG-THREE-TEN.MIT.EDU] has joined #scheme 22:29:01 -!- jcowan [c6b912cf@gateway/web/freenode/ip.198.185.18.207] has left #scheme 22:33:28 Riastradh: Moriturus me salutat. 22:35:59 -!- ASau [~user@83.69.227.32] has quit [Read error: Connection reset by peer] 22:38:01 VIVE GLADIATORIUS! 22:38:01 OK. From the src directory, run `gdb ./microcode/scheme'. 22:38:20 (can you tell my Latin is really, really bad?) 22:38:28 (probably) 22:38:46 At the `(gdb)' prompt, type `break Prim_xterm_open_window', and then type `run --library lib'. 22:39:28 That should start Scheme up, at which point you can try to evaluate `(edit)' to start Edwin. 22:39:47 I'll be back in another couple of minutes. 22:41:31 bremner [~bremner@yantan.tethera.net] has joined #scheme 22:44:26 Riastradh: I hesitate to pollute paste.lisp.org with throwaway GDB output... can I use pastebin.com? 22:44:44 Has it stopped at the breakpoint now? 22:44:48 yes 22:45:31 OK. Hit `n' a few times, until it gets to the line `window = (XCreateSimpleWindow ...'. 22:45:56 Homo sum: Humani nihil a me alienum puto. 22:47:15 Uhm. After hitting `n' a few times, I got "Cannot find bounds of current function" and that's about it. 22:47:36 i.e. I didn't make it to the line you mention 22:47:45 Well, lisppaste everything you've seen so far, starting with the invocation `gdb ./microcode/scheme'. 22:47:56 OK 22:50:49 -!- gravicappa [~gravicapp@ppp91-78-231-171.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 22:51:10 -!- fowlduck [~fowlduck@2002:cc0f:6d26:0:fa1e:dfff:fed7:9dc1] has quit [Remote host closed the connection] 22:52:39 -!- Thomas_H [~Thomas_H@66.183.224.178] has quit [Ping timeout: 240 seconds] 22:53:10 stepnem pasted "untitled" at http://paste.lisp.org/display/113388 22:55:14 Hmm, OK. Well, type `kill' at the gdb prompt to kill Scheme, and then type `run --library lib' again, and start up Edwin with (edit) again, and once again hit `n' a few times, but this time, when it gets to the `x_default_attributes' line, hit `s' instead of `n', and then hit `n' until it fails. 22:59:05 stepnem annotated #113388 "untitled" at http://paste.lisp.org/display/113388#1 22:59:46 -!- bweaver [~user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 23:00:02 (sorry for the slow reaction, I got some (unrelated) display problems so I redid all of it again) 23:00:39 Can you type `print x_default_font'? 23:00:49 (and just show the output here, if it's one line) 23:01:19 $1 = 0x0 23:01:52 OK. Do you by any chance have a .Xdefaults or .Xresources file or anything that sets an Emacs font? 23:02:03 yes 23:02:34 Try removing that, or replacing the font by `fixed', or something. (Remember to run `xrdb -merge' if you stored the X resources in the server.) 23:02:37 Emacs.font: DejaVu Sans Mono:pixelsize=14 in .Xdefaults 23:02:43 -!- pdelgallego [~pdelgalle@1503031474.dhcp.dbnet.dk] has quit [Ping timeout: 265 seconds] 23:03:32 Then quit the whole gdb mess, and just try starting Edwin. 23:04:12 that works :-) 23:04:26 OK. Grmble... 23:04:27 so Edwin is trying to be Emacs? Didn't think about that... 23:04:34 Well, Edwin *is* an Emacs. 23:04:37 Just not GNU Emacs. 23:04:47 oh, right... 23:04:52 (although it is `a' GNU Emacs, since MIT Scheme is part of the GNU Project...) 23:05:17 yeah, it just did occur to me that it will read .Xdefaults, now it sounds sensible of course 23:05:22 did not* 23:05:24 The trouble is that Edwin doesn't know anything about X that was developed since about 1995, including any of the freetype font cruft. 23:05:41 right... 23:06:05 Edwin should really report a more sensible error about this. 23:07:54 I'll fix this later this evening. For now, can you set GNU Emacs's font some other way, or perhaps specify the font in the `schemeTerminal' instance and class to be `fixed', so that Edwin doesn't try and fail to get a freetype font from X? 23:07:54 It surely should. Still it seems quite interesting that I should be the first to have this problem... (i.e., no reaction to bug report or you not guessing that right away either) 23:08:32 (I'm not sure whether the latter will work.) 23:08:51 No, correction: class `Emacs', instance `edwin'. 23:09:08 (and do the same for class `Emacs', instance `edwinSecondary', just for good measure) 23:09:28 *Riastradh* vanishes for a bit. 23:10:16 Riastradh: thank you very much 23:10:29 (I'll report back) 23:13:57 Riastradh: if you meant something like `Emacs.edwin.font: fixed' (and same for the latter), then it doesn't appear to work 23:14:17 -!- Fare [~Fare@ita4fw1.itasoftware.com] has quit [Quit: Leaving] 23:17:53 Dunno, I don't remember the syntax for specifying classes and instances in Xdefaults files. 23:18:39 -!- Intensity [zpgyyX77h5@unaffiliated/intensity] has quit [Quit: Intensity] 23:20:40 -!- abusead [~abusead@CPE001cf068222b-CM0014e825df0e.cpe.net.cable.rogers.com] has quit [Ping timeout: 240 seconds] 23:21:25 ah, OK, edwin*font works, thanks 23:21:35 aidalgol [~user@202.36.179.65] has joined #scheme 23:22:31 (without any `Emacs' whatsoever, and without disabling the Emacs font customisation) 23:22:53 OK, good. 23:23:26 -!- saccade [~saccade@BRAIN-AND-COG-THREE-TEN.MIT.EDU] has quit [Quit: This computer has gone to sleep] 23:24:11 Riastradh: just one more question when I have the opportunity -- is it really necessary to go through the lengthy recompile at every minor update? 23:24:41 No. 23:24:42 I mean, is there nothing like just recompiling the relevant files? 23:24:49 Oh, OK, thanks. 23:25:06 There is. The trouble is that in the past week I made some changes that affect the makefile itself. 23:26:12 You could have carefully deleted the files Makefile, Makefile.in, Makefile.deps, configure, and config.h.in, in the microcode directory, and then rerun Setup.sh in there, but it was simpler just to tell you to run `make maintainer-clean', and that gave me some time to make my getaway^W^W^Wshift some laundry about. 23:26:19 So normally `make' will not recompile all the .com files at each update? 23:26:32 That's right. 23:26:32 Try it. 23:26:45 Thank you. 23:29:39 -!- Guest62936 is now known as klutometis 23:29:42 cpr420 [~cpr@unaffiliated/cpr420] has joined #scheme 23:31:05 hafeed [8258a8e1@gateway/web/freenode/ip.130.88.168.225] has joined #scheme 23:38:31 mbohun [~mbohun@202.124.75.235] has joined #scheme 23:41:45 Hey, pjb, didn't know you speak portuguese. 23:41:56 I speak Google :-) 23:42:02 Ah! :-D 23:42:07 I can read portuguese, knowing already French and Spanish. 23:42:19 Fantastic 23:42:20 I'd have to learn the grammar and some vocabulary. 23:42:39 I'll do that when I'll spend some time in Portugal or Brazil. 23:43:15 Do you intend to come to Brazil? 23:45:05 Not soon. I would certainly like to be able to spend time in South and Central America. 23:45:21 Cool 23:46:26 hafeed pasted "scheme code identation translator" at http://paste.lisp.org/display/113389 23:50:09 that reminds me, do any Schemes actually support SRFI 49? 23:51:14 Ha! 23:51:38 Thanks for pointing to the SRFI, I haven't heard of it before. 23:51:40 Intensity [~Intensity@unaffiliated/intensity] has joined #scheme 23:52:15 -!- aidalgol [~user@202.36.179.65] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 23:55:00 Ironically, "Indentation-sensitive syntax" proposal appears to be the only SRFI not having support by at least one implementation at the moment: http://spreadsheets.google.com/pub?key=tRCHK6jWXuKMABKAfoOwWqw 23:55:19 Hence my question :) 23:59:34 aidalgol [~user@202.36.179.65] has joined #scheme