00:00:19 -!- noamsml [n=quassel@adsl-75-45-249-116.dsl.sfldmi.sbcglobal.net] has quit [Read error: 104 (Connection reset by peer)] 00:00:59 Quetzalcoatl_ [n=godless@cpe-71-72-235-91.cinci.res.rr.com] has joined #scheme 00:01:18 noamsml [n=quassel@75.45.249.116] has joined #scheme 00:02:49 -!- noamsml [n=quassel@75.45.249.116] has quit [Connection reset by peer] 00:03:49 noamsml [n=quassel@75.45.249.116] has joined #scheme 00:06:34 berat [n=berat@d-stu.ibun.edu.tr] has joined #scheme 00:06:47 can i ask a question about lambda calculus ? 00:08:36 t[s/x] or t(x:=s) i dont understand what this notation mean.Are there someone knows that 00:10:04 berat: Aren't you learning lambda calculus from a book? 00:10:18 You should easily find this in any book that uses Lambda Calculus. 00:11:44 Introduction to Functional Programming' by John Harisson iread that 00:12:37 and i look subtitution in lambda calculus i see something like x[t/x] = t and y[t/x]y if x != y 00:13:03 x[t/x] means (lambda x x) 00:13:14 sorry 00:13:20 x[t/x] means ((lambda x x) t) 00:13:43 berat: Normally, there are expansion rules for Lambda calculus somewhere, and this rule is described therein. 00:14:33 i am a newbie on lambda calculus.I try to understand some basic concept 00:15:32 and y[t/x] means ((lambda x y) t)? 00:15:35 just i ask that 00:15:43 No. 00:16:05 Not the way I learned it at least. 00:16:11 hmm 00:16:26 i try to learn at that time 00:16:30 borism [n=boris@195-50-197-135-dsl.krw.estpak.ee] has joined #scheme 00:16:42 how can i evaluate this statement in terms of substitution 00:16:53 berat: It *is* substitution. 00:16:54 i just want to understand this notation 00:17:21 yes substitution 00:17:47 but how can you write x[t/x] = t as lambda sentence 00:18:09 i am ot sure i can tell my problem 00:18:14 berat: You dont. 00:18:29 okey 00:18:44 -!- borism__ [n=boris@195-50-199-115-dsl.krw.estpak.ee] has quit [Read error: 131 (Connection reset by peer)] 00:19:39 x[t/x] =t and y[t/x] = y if x !=y two subs rules. How can i define x[t/x] = t in lambda sentence 00:19:41 In the book I have, the [...] is a relation that maps a source expression*, a variable, and an argument expression to a target expression. 00:20:20 That is, it defines the relation of variable substitution over lambda calculus expressions; the substitution of terms in a lambda calculus expressions are defined in terms of this relation, not the other way around. 00:20:32 You are doing it backwards. 00:20:40 which oen is source expression which one is target ? 00:21:51 In the form X[Y/Z] = A, X is the source expression, I believe Y is the variable, Z the argument expression, and A the target expression. 00:22:09 I learned it using X[Y <- Z] = A. 00:22:50 Thus, there are a set of inductive rules which suffice to define this relation for any lambda expressions that could be used in the source or argument places. 00:23:45 We then define the beta-reduction for a particular lambda expression as the correct substitution relation already defined over the structure of a lambda calculus expression. 00:24:19 yes actually i try to learn beta reduction 00:24:36 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 110 (Connection timed out)] 00:24:37 i guess when i understand substitution in lambda i know beta reduction 00:24:49 because beta reduction avctually is substitution 00:24:54 Sounds to me like the notation is equivalent to ((lambda (y) x) z). 00:25:05 berat: In other words, the [ <- ] relation is a separate concept used to describe the process of beta-reduction for the lambda calculus, and since you define beta-reduction and such in terms of substitution, you can't then define this relationship using lambda expressions, because that would be circular. 00:25:31 Quetzalcoatl_: The notation is not equivalent unless you have a separate means of defining what happens with ((lambda (y) x) z). 00:25:55 what do you mean by "circular" 00:26:21 berat: If I told you to define X, and you said it was Y, and then I asked you to define Y using X, would you learn anything? 00:26:44 no 00:26:45 :D 00:27:06 Does ((lambda (y) x) z) always equal X[Y<-Z]? 00:27:10 -!- Dezlagrate [n=Dezlagra@unaffiliated/dezlagrate] has quit ["Leaving"] 00:27:10 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Leaving"] 00:27:20 The beta-reduction rule for lambda calculus is ((lambda X. M) N) Beta M[X <- N], but if you don't know what happens with one of those two, then you don't have anything other than some relationship which means nothing to you. 00:27:59 Sorry, that is a Beta relation, which is the main reduction relation, called Beta-reduction. 00:29:03 But usually, you define the [] relation, and then you use it to understand the beta-reduction of lambda expressions. 00:29:35 If you have some other way of understanding the beta-reduction of lambda expressions, then you can use that to understand the [] rule. 00:30:19 berat: Does this make sense? 00:30:39 i work on it 00:30:46 Alright, good luck. 00:30:50 i guess i start to understand something 00:30:57 If someone wants to correct any lazy mistakes or otherwise that I made, feel free. :-) 00:30:59 -!- arcfide [n=arcfide@w137021.wireless.fsr.net] has quit ["Gone."] 00:31:00 but it is not clear yet 00:34:02 mmt, sorry, I'm too busy this weekend to think about this; send me an email, and perhaps cc Chris for good measure, and I'll look at it when I have time this week. 00:37:12 Riastradh, you said to me that :D 00:38:23 ? 00:46:55 /whois mmt 00:47:23 -!- ASau [n=user@193.138.70.52] has quit [Remote closed the connection] 00:47:30 ASau [n=user@193.138.70.52] has joined #scheme 00:47:35 xwl [n=user@114.245.139.63] has joined #scheme 00:49:50 sorry 00:50:01 Riastradh, i cannot see mmt 00:50:30 *Riastradh* blinks. 00:52:05 the invisible man. is mmt a symbol of our society's inherent racism? 00:52:43 i dont understand the notation 00:53:07 gwern, no, racism is usually blatantly obvious; I suspect that mmt is a symbol of class stratification in societies that like to think of themselves as meritocracies. 00:53:38 class stratification by shared social values 00:53:49 berat, I was addressing mmt, not you. 00:53:55 someone says for mmt mmt is bot 00:53:57 :D 00:54:00 mmt is not a bot. 00:54:37 that's what he *would*.... ah, nm 00:54:45 -!- hotblack23 [n=jh@p5B0546C6.dip.t-dialin.net] has quit [Read error: 110 (Connection timed out)] 00:56:08 c[t/x] = c what does that mean i study for substitution lambda calculus 01:02:50 -!- puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has quit [Read error: 104 (Connection reset by peer)] 01:09:20 -!- duncan [n=duncan@pD9E239FC.dip.t-dialin.net] has quit [Remote closed the connection] 01:18:47 kniu [n=kniu@pool-71-165-128-172.lsanca.dsl-w.verizon.net] has joined #scheme 01:18:52 metasyntax [n=taylor@pool-71-127-85-87.aubnin.fios.verizon.net] has joined #scheme 01:23:46 -!- athos [n=philipp@92.250.250.68] has quit ["leaving"] 01:27:59 orgy__ [n=ratm_@pD9FFF9FD.dip.t-dialin.net] has joined #scheme 01:29:03 geckosenator [n=sean@71.237.94.78] has joined #scheme 01:30:56 has anyone used opengl and chicken? 01:31:13 I installed it, and when I try to run the demo it says it needs easyffi 01:31:29 then when I install easyffi with chicken-setup I get Error: argument is not a string or string vector: ("easyffi.so" "chicken-wrap") 01:31:44 I once rendered an emu - not a chicken, but it tastes pretty similar. Does that count? 01:31:54 geckosenator: ask in #chicken 01:32:53 mike [n=m@dslb-088-065-168-245.pools.arcor-ip.net] has joined #scheme 01:33:15 -!- mike is now known as Guest44450 01:37:32 -!- exexex [n=chatzill@88.234.121.204] has quit [Remote closed the connection] 01:40:21 within temptation what you have done 01:43:43 benny` [n=benny@i577A0452.versanet.de] has joined #scheme 01:43:46 annodomini [n=lambda@pool-151-203-235-220.bos.east.verizon.net] has joined #scheme 01:44:22 -!- orgy_ [n=ratm_@pD9FFEC36.dip.t-dialin.net] has quit [Read error: 101 (Network is unreachable)] 01:46:30 I thought mmt was aolspeak, like brb or ppl or afk or lol 01:48:21 -!- bsmntbombdood [n=gavin@97-118-133-63.hlrn.qwest.net] has quit [Connection timed out] 01:49:06 bsmntbombdood [n=gavin@97-118-133-63.hlrn.qwest.net] has joined #scheme 01:50:28 -!- Guest44450 [n=m@dslb-088-065-168-245.pools.arcor-ip.net] has quit ["This computer has gone to sleep"] 01:53:55 synx: why are you using the foreign interface in your hack? 01:54:54 eli: So I can call the C functions I'm creating, and get their values. 01:55:25 If you're creating and compiling a C file, you can just as well have it print the size. 01:55:33 Much easier in general. 01:56:09 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 01:56:15 You kidding? It's way easy to use the FFI to get a integer from a C function. 01:56:15 *an 01:57:22 Bah. Perhaps; I just look at code that uses processes and I have no problems, but with a dll all kinds of lights turn on. 01:57:49 In any case, doing this whole thing this way has a major disadvantage. 01:58:23 If I want my code to use your library, I must have a compiler -- and worse, users of my code will also need to have one. 01:58:42 Did you see how the opengl interface solves this problem? 01:58:44 Yes that's true eli. 01:59:00 Did you see how the opengl interface solves this problem? 01:59:03 You also have to have postgresql. 01:59:06 No I didn't sorry. 01:59:13 postgres?? 01:59:22 Yeah. 01:59:36 I'm writing a postgresql client module. 01:59:42 Where in the code are you using that? Any why? 01:59:58 (I'm talking about your "sizeof" package) 02:00:02 -!- aack [n=user@s559195f7.adsl.wanadoo.nl] has quit [Remote closed the connection] 02:00:20 -!- benny [n=benny@i577A041A.versanet.de] has quit [Read error: 110 (Connection timed out)] 02:00:31 Well, postgres has microsecond exact time structures. 02:00:36 plt does not. 02:01:08 So I made some FFI stuff to get the time down to the microseconds, or the limit of the machine's ability to calculate them. 02:01:25 -!- gwern [n=gwern@wikipedia/Gwern] has left #scheme 02:01:27 So gettimeofday does exactly that, but takes a "struct timeval" as a parameter. 02:01:50 Let me rephrase my question: are you using postgres in your "sizeof" package? 02:01:59 timeval is composed of two members, a "time_t" and a "suseconds_t", both of which are guaranteed to be pretty big unsigned integers, but not much else. 02:02:02 No. 02:02:02 God no. 02:02:18 OK, that's what I asked. 02:02:24 I'm using my sizeof package in my microdate package, in my libpq module. 02:02:42 Now to repeat my other comment: 02:02:52 Sorry if I gave that impression. ._. 02:02:54 If I want my code to use your "sizeof" package, I must have a compiler -- and worse, users of my code will also need to have one. 02:03:40 That's quite an unrealistic requirement on some popular OS. 02:03:41 Anyway, so the only way to be accurately sure of the size of time_t and suseconds_t is to use cpp and gcc to parse all the headers and get their types. 02:03:51 Which is pretty much what my sizeof function does. 02:04:10 whom we choose not to mention. 02:05:03 Yes, yes, but any client code that uses it will have to have a compiler installed. 02:05:08 Well I just can't figure out any other way to determine what integer size time_t is going to be on any given platform. 02:05:18 I'm not suggesting any other way! 02:05:18 Right. 02:05:40 I'm suggesting doing it in the same way, only differently, which is why I brought up opengl. 02:05:47 You could package the binary sizeof modules, but they'd still report the size on the compiling system... 02:06:00 Ullulu [n=user@bas10-ottawa23-1128688585.dsl.bell.ca] has joined #scheme 02:06:04 hello? 02:06:04 You don't want that too. 02:06:10 Pfft, be a man and set an arbitrary limit! 02:06:17 Well sure, but I don't know how they do it, or even why they need weird type sizes. 02:06:35 synx: who's "they"? 02:06:36 (define _time _int64) ; qed 02:06:42 2nd year comp sci, just learning scheme and im doing first assignment 02:07:09 eli: The people writing the OpenGL interface. 02:07:34 I need to write something that will evaluate true or false if an expression is valid 02:07:36 That's irrelevant -- what's relevant is whether a compiler is needed or not. 02:07:59 ...anwyays I need to know how I can check for operators 02:08:07 compare that is 02:08:19 synx: For example, if I write a little game, and I make my code use your library, and then I want to show it off -- I'll need to make my friends install a compiler just to be able to play it. 02:08:33 lets say I issue a car and I want to know if its equal to + or * 02:08:35 I'd make a sizeof printing process, except it too needs to be compiled, and can't predict what sizes are going to be requested beforehand. Have to have a hash table, some kind of cache, and a way to recompile and respawn on demand. 02:09:01 eli: You'll also make them install plt-scheme. :> 02:09:05 anyone :) ? 02:09:20 synx: Actually no, I can create an installer that has only what is needed for the game. 02:09:52 Ullulu: eq? will differentiate + and *. Do you need to equate "all functions that do X?" because that's the halting problem right there. 02:09:57 synx: Anyway, you're right that a compiler is needed (unless you're willing to implement the relevant bits yourself), and calling a C compiler to compute the sizes is a sane choice. 02:09:59 eli: such as a C compiler. 02:10:17 lol nono 02:10:20 synx: No, bundling a C compiler is not realistic. 02:10:45 synx: So -- to try and get to my point -- you do something similar to what you do, only you do that in a macro. 02:10:45 -!- Deformati [n=joe@71.238.45.45] has quit [SendQ exceeded] 02:10:49 Aw, mingw isn't that big... 02:11:01 basically im writting a little snippet saying op? with lambda x and then I check if that x is * or / or wtv operator 02:11:02 I personally feel bundling isn't realistic in general. 02:11:20 -!- zandax [n=roehrich@85.183.24.201] has quit [] 02:11:38 synx: This way, the byte-compiled files will have the result of the library code, which means that only the place where the bytecode is created (my machine) needs a compiler. 02:11:43 cant do (eq? x /) can I? 02:11:49 Okay, a macro. 02:12:13 synx: Bundling is ver realistic; bundling a compiler for a tic-tac-toe game is unrealistic. 02:12:20 -!- ttmrichter [n=ttmricht@221.235.61.201] has quit ["Ex-Chat"] 02:12:24 JohnnyL [i=JohnnyL@ool-182f0b98.dyn.optonline.net] has joined #scheme 02:12:27 But then the sizes will be that of your own machine, not the machine where you send that bytecode too. It'll be platform specific byte code. 02:12:34 -!- JohnnyL [i=JohnnyL@ool-182f0b98.dyn.optonline.net] has left #scheme 02:12:50 synx: Right -- the bytecode becomes platform-dependent. 02:13:04 eli: Needing to call gettimeofday for a tic-tac-toe game is pretty unrealistic I'd say. :p 02:13:21 No, but playing some sounds is. 02:14:03 Even if you do, maybe you'll need to depend on GTK, or some GUI... 02:14:26 So? 02:14:31 The solution many people use for the utter stupidity of certain unnamed operating systems is to use a cross compiler... 02:14:50 Even that though the size could change. 02:15:37 With the next update of said operating system, at only $200 for a single computer license. 02:16:06 Lets avoid the completely irrelevant flaming. 02:16:37 okay 02:16:44 The bottom line is that somewhere along the chain there must be a C compiler, having one that is bundled with your application is not a good solution. 02:16:56 I'm just saying that a compiler is necessary to find the size of a data structure you pass to a C function. 02:17:32 Yes, that's what I'm saying -- the only new point here is the suggestion to do it at compile-time -- the *scheme* compile time. 02:17:35 Otherwise you'll pass an _uint4 when it expects a _uint8 and memory corruption ensues. 02:18:16 So my users have to compile the scheme on their machine too? 02:18:24 No. 02:20:50 dont want to be a bother but, I can do (define x *)(eq? x *) but when I call my little program that basically does the same it does not work 02:21:23 If I knew how to use dynext to cross compile, I could generate the sizeof modules for my target machines, so they wouldn't need to compile at all. 02:21:45 instead of defining I simple pass the lambda in a cond that does ((eq? lambda *) #t) 02:22:01 ttmrichter [n=ttmricht@221.235.61.201] has joined #scheme 02:22:35 lambda? Or x? 02:22:51 The word lambda has special meaning in most schemes. 02:23:01 (define op? (lambda (x) (cond 02:23:24 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 02:23:33 ((eq? x *) #t) 02:23:37 something like that 02:24:08 ive been on this for over an hour 02:24:20 its the silliest thing 02:24:21 -!- meanburrito920_ [n=John@adsl-75-59-214-44.dsl.lsan03.sbcglobal.net] has quit [Read error: 104 (Connection reset by peer)] 02:25:04 ive got an (else #f))) after all that 02:25:13 and calling it with (op? *) returns false 02:26:28 lisppaste: url 02:26:29 To use the lisppaste bot, visit http://paste.lisp.org/new/scheme and enter your paste. 02:27:13 Ullulu: Use that, and paste a simple but complete example of what you are trying to do. 02:27:33 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 02:27:48 Ullulu pasted "op?" at http://paste.lisp.org/display/77055 02:27:58 (set x +) should work fine. + is a procedure, first class. lambda is not though it's a syntax. Can't be assigned, only redefined. 02:29:06 Ah I think I see Ullulu. It's not the cond that made it work, but the lambda there. 02:29:36 sorry? 02:29:55 except your argument list is wrong...hold on.. 02:30:10 just invert the op and +? 02:30:16 synx annotated #77055 "yay" at http://paste.lisp.org/display/77055#1 02:30:52 That is what you want I think. Notice how I said (lambda (op) instead of (lambda op 02:31:09 riiigghht 02:31:25 alroght ill go digest this one 02:31:27 thx a bunch 02:31:53 made my evening :) 02:32:10 ^.^ 02:32:33 wow... that really was the only thing 02:32:41 lol i just added those brackets 02:32:43 UGh 02:32:44 ok 02:32:55 this always happens to me 02:33:11 rudybot__: eval ((lambda op op) +) 02:33:12 synx: ; Value: (#) 02:33:13 rudybot__: eval ((lambda (op) op) +) 02:33:14 synx: ; Value: # 02:33:34 See the first version gets all the arguments as one list. 02:33:44 rudybot__: eval (list +) 02:33:44 synx: ; Value: (#) 02:34:12 BryanWB [n=BryanWB@120.89.108.164] has joined #scheme 02:34:48 hmm... lambda is like... a part of speech... 02:35:08 hey folks i can't get C-x C-e to evaluate scheme code using my scheme interpreter. it always uses the regular lisp interpreter 02:35:17 (define a lambda) makes about as much sense as saying in English "Could you pass me some of that to please?" 02:35:33 i even set (setq scheme-program-name "scheme") in my .emacs and no joy 02:35:38 You could say "Could you pass me some of that 'to' please?" but that's like saying (define a 'lambda) which works perfectly well. 02:35:49 BryanWB: What is the name of the buffer with your Scheme code? 02:35:56 alright 02:35:57 thx 02:36:42 Quetzalcoatl_: start.scm and mode line shows [(Scheme)] 02:36:57 BryanWB: M-x run-scheme 02:37:07 mejja: that works 02:37:09 you guys all on emacs? 02:37:18 I thought I was the only one lol 02:37:22 eli: if it helps, my sizeof module does no compilation if the .so is already there. er... should use the generic library extension, but. 02:37:27 lisp variant... figured 02:37:29 but would be nice to evaluate 1 expression at a time 02:37:29 Ullulu: I use drscheme. 02:37:31 *figures 02:37:39 And vim :| 02:37:50 I got that from repo but it aint doing me much good right now 02:38:01 Got what? 02:38:02 might use it on later when I get the hang of it 02:38:03 Ullulu: I love vim but emacs the way to work w/ lisp and its variants 02:38:05 drcheme 02:38:07 im using kate 02:38:27 never heard of kate 02:38:33 Does she know? 02:38:33 shes lovely... integrated terminal, syntax highlight with randomly COLORED brackets 02:38:52 a KDE editor? 02:38:54 yea 02:38:58 Ullulu: just use emacs + screen, true old school 02:39:00 think gedit for kde 02:39:02 I use xterm for terminals :> 02:39:23 matched colored brackets are pretty awesome though. hard to implement I'd imagine, not really needed... 02:39:23 it seems most modes for emacs dont have syntax highlight though 02:39:28 well not the default scheme one 02:39:30 anybody know how to get C-x C-e to evaluate eval-last-sexp properly? 02:39:48 Ullulu: I get syntax highlighting 02:39:51 in emacs 02:40:18 Mx scheme-mode? 02:40:31 Ullulu: yup 02:40:42 well i didint look into it too much 02:40:47 but it didint seem like it 02:40:49 oh well 02:40:51 ill have a look 02:41:13 Ullulu: over time everyone moves to either vim or emacs, pick your poison 02:41:29 Or sam. Some people are insane. 02:41:32 *Ullulu* hugs emacs 02:41:39 or butterflies 02:41:51 wait M-x butterfly 02:42:03 I just wrote a paper on emacs in ethics class lol 02:42:09 hehe yea 02:42:09 drscheme really isn't bad far as lisp-like editors go. A bit of a memory hog though. 02:42:26 emacs has ethics? o.O 02:42:34 so, ugh anybody have c-x c-e working? would make scheme a lot more interactive 02:42:37 I can't get C-x C-e *not* to evaluate eval-last-sexp properly. 02:43:00 AH so many negatives! 02:43:29 As long as the *scheme* buffer is open and the sexp is in a Scheme buffer, C-x C-e works fine for me. 02:43:54 Yeah 2 whole negatives oh no! 02:44:08 lol 02:44:10 Quetzalcoatl_: hmm, I wonder what I am doing wrong , what is your scheme config in .emacs? 02:44:22 Ive been trying to get into emacs lately 02:44:27 my laptop is console only 02:44:30 In Japanese a double negative is just negative with strong emphasis? 02:44:33 but I keep falling to dvtm 02:44:48 opening up some links2 and nano windows 02:45:09 synx : really? 02:45:19 fairly sure links2 would format better in a dvtm window than in an emacs buffer. 02:45:24 don't quote me on that though 02:45:36 wait... you can run random apps in emacs buffer? 02:45:38 lol 02:45:46 sort of! :p 02:45:54 imma gonna have to try that one 02:46:13 BryanWB: The only Scheme-related line in my .emacs is (setq scheme-program-name "mzscheme") 02:46:26 There's a random app running buffer, usually doesn't even handle backspaces much less scrolling the cursor up. 02:46:39 Quetzalcoatl_: damn, that's the same thing I have, weird 02:46:42 eww 02:47:02 "M-x run" if I recall 02:47:08 I dont like dvtm for one reason though 02:47:14 links2 wont handle mouse 02:47:21 in fact dvtm wont handle mouse 02:47:23 it can 02:47:24 BryanWB: Perhaps you have an installation issue with emacs. 02:47:26 so can emacs 02:47:27 M-x shell 02:47:32 Then try 'vim' 02:47:52 but for some darn reason it started to bug out on me 02:47:54 dvtm won't handle a mouse? That's pretty bad. Console has had GPM for a while... 02:47:55 k 02:48:02 yea 02:48:08 well gpm works 02:48:13 lol 02:48:27 like I see mycursor 02:48:32 but it doesent catch it 02:48:38 only when I run standalone links2 02:48:54 finch either 02:48:58 which is a bugger 02:49:05 ill get around to it some day 02:49:06 -!- berat [n=berat@d-stu.ibun.edu.tr] has quit [Remote closed the connection] 02:49:31 meh... why does planet fileinject take so long? It's interrupting my rapid development cycle. 02:49:47 M-x shell and vim is the ugliest thing ive seen 02:50:10 is this on purpose? lol 02:51:25 alright I should go back to work : 02:51:26 :s 02:51:28 getting late 02:51:49 thx for everything 02:51:56 peace 02:52:02 -!- Ullulu [n=user@bas10-ottawa23-1128688585.dsl.bell.ca] has quit [Remote closed the connection] 02:53:39 Quetzalcoatl_: tks, but no joy for me, maybe my emacs install is screwed up 02:53:45 *BryanWB* off to watch more sicp 02:53:46 -!- BryanWB [n=BryanWB@120.89.108.164] has quit ["Ex-Chat"] 02:55:25 annodomini [n=lambda@pool-151-203-235-220.bos.east.verizon.net] has joined #scheme 02:59:54 -!- ffx` [n=ffx@60-241-74-240.static.tpgi.com.au] has quit [Connection timed out] 03:04:15 ffx` [n=ffx@60-241-74-240.static.tpgi.com.au] has joined #scheme 03:05:00 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Remote closed the connection] 03:05:21 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 03:16:13 borism_ [n=boris@195-50-199-167-dsl.krw.estpak.ee] has joined #scheme 03:21:13 -!- hark [n=strider@hark.slew.org] has quit ["leaving"] 03:23:29 -!- borism [n=boris@195-50-197-135-dsl.krw.estpak.ee] has quit [Read error: 145 (Connection timed out)] 03:26:45 reprore [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 03:27:22 kupesoft [n=dave@unaffiliated/kupesoft] has joined #scheme 03:29:14 Man call-with-values sucks. I just want to do (a (b)) where b returns two values and a takes two arguments. 03:30:19 So simply let B take A as an argument and call it in B. 03:30:22 (a (b 23)) rather. 03:30:49 Instead I have to go: (call-with-values (lambda () (b 23)) a) 03:31:20 oh you sneaky CPS people :3 03:34:21 -!- ecraven [n=nex@140.78.42.103] has quit ["bbl"] 03:34:29 ((compose a b) 23) 03:35:30 that's hilarious aspect 03:36:10 I hadn't considered compose... that won't work will it? 03:38:24 mejja wants me to use CPS to simplify it like this: (let ([bb ( (n next) (call-with-values ( () (b n)) next))]) (bb 23 a)) 03:39:06 ((compose a b) 23) totally works though. I gotta remember that. 03:42:31 synx: that way forth is <- 03:45:54 *mejja* laughs cruelly 03:46:15 comments backslash sexy totally are 03:47:33 synx: What aspect said wasn't a joke, it should work for what you want. 03:48:08 yes eli it did. 03:48:22 I still struggle with multiple return values though, but that's beside the point. 03:49:11 You should hardly ever have to deal with them unless you create them. (That is, they're not too popular in library code.) 03:49:50 heh 03:50:20 It's rare that a code produces multiple independant unpaired things. 03:50:21 But you have to take them into consideration for every higher-order function you write, even if you don't use them yourself. 03:51:32 For example, `compose' had to be specially written to handle multiple values. 03:51:54 Yeah, meta-procedures... 03:52:33 it didn't *have* to, but handling mv's gives it extra functionality 03:55:04 -!- bzzbzz [n=franco@modemcable027.191-81-70.mc.videotron.ca] has quit ["leaving"] 03:57:15 That we backstabbing schemers then turn around and never use. 04:01:40 I'm sure I've used "compose" at some point. I implemented it myself, though, because it wasn't built into my Scheme implementation at the time. 04:06:02 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 104 (Connection reset by peer)] 04:06:02 error_developer_ [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 04:07:05 yeesh 04:09:24 -!- Debolaz [n=debolaz@berle.cc] has quit ["Leaving"] 04:13:26 -!- jao [n=jao@148.Red-83-39-135.dynamicIP.rima-tde.net] has quit [Remote closed the connection] 04:14:41 But if I'm for instance returning the values seconds and microseconds from get-time-of-day, it's not 100% clear that I should pair them up into a list, pair or struct. 04:15:29 A list means prolific sprinkling of apply in my code, places it wouldn't normally make sense. structs work, but get very verbose as you try to access them. (timeval-seconds timeval) instead of just seconds. 04:15:39 pairs are awful for anything besides alists ehe 04:16:06 You start seeing (car timeval) (cdr timeval) here and there, with no indication what those two are. 04:17:18 So multiple values really is the only way to keep it as just... seconds and microseconds. But at the same time it's unfamiliar and maybe I understand things wrong... 04:20:26 -!- xwl [n=user@114.245.139.63] has quit [Read error: 113 (No route to host)] 04:25:05 jao [n=jao@148.Red-83-39-135.dynamicIP.rima-tde.net] has joined #scheme 04:29:19 re: earlier, I am, in fact, not a bot :) 04:30:43 Do you represent social stratification or racism? 04:31:38 (also re: earlier) 04:32:30 I don't think so. 04:32:48 nor am I a common directory for mount points 04:33:21 mejja: so, what's your suggestion for talking to python via C? 04:33:42 mejja: use one of the direct-to-C FFI's for MIT Scheme, then have an embedded python evaluator? 04:35:00 -!- a-s [n=user@92.80.87.22] has quit [Read error: 54 (Connection reset by peer)] 04:36:33 sladegen: my name is Mark Tobenkin 04:42:46 -!- gweiqi [n=greg@69.120.126.163] has left #scheme 04:47:09 r2q2 [n=user@c-24-7-212-60.hsd1.il.comcast.net] has joined #scheme 04:51:46 -!- Quetzalcoatl_ [n=godless@cpe-71-72-235-91.cinci.res.rr.com] has quit ["Leaving"] 04:53:22 -!- kniu [n=kniu@pool-71-165-128-172.lsanca.dsl-w.verizon.net] has quit ["Leaving"] 05:10:17 tjafk1 [n=timj@e176216193.adsl.alicedsl.de] has joined #scheme 05:15:24 cansado_ [n=mike@in-67-236-121-8.dhcp.embarqhsd.net] has joined #scheme 05:16:13 -!- cansado_ [n=mike@in-67-236-121-8.dhcp.embarqhsd.net] has left #scheme 05:22:12 Debolaz [n=debolaz@berle.cc] has joined #scheme 05:27:34 -!- tjafk2 [n=timj@e176202248.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 05:30:59 -!- r2q2 [n=user@c-24-7-212-60.hsd1.il.comcast.net] has quit [Remote closed the connection] 05:36:39 -!- kupesoft [n=dave@unaffiliated/kupesoft] has quit ["Wouldn't you like to know what client I'm using?"] 05:56:38 -!- proq [n=user@unaffiliated/proqesi] has quit [Read error: 110 (Connection timed out)] 05:57:32 borism [n=boris@195-50-200-94-dsl.krw.estpak.ee] has joined #scheme 05:58:02 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 06:04:02 Is it me or is there no easier way to determine the size of individual members of a C union type than to take the size of a field of a compound literal for that union? 06:05:06 -!- borism_ [n=boris@195-50-199-167-dsl.krw.estpak.ee] has quit [Read error: 145 (Connection timed out)] 06:07:08 hadronzoo [n=hadronzo@ppp-70-251-33-225.dsl.rcsntx.swbell.net] has joined #scheme 06:08:59 foof: sizeof? 06:09:08 geckosenator: yes 06:09:28 what is wrong with sizeof? 06:10:03 union foo {struct {...} bar; struct {...} baz;} 06:10:14 What's the sizeof bar? 06:10:55 (my solution already uses sizeof) 06:11:35 cant you use foo.bar ? 06:12:18 no, "foo" doesn't even exit to the C compiler 06:12:29 oh yes, whatr 06:12:33 arggg 06:12:34 You could try sizeof((struct foo).bar) but that doesn't work 06:12:39 repror___ [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 06:12:52 what about foo f; sizeof(f.bar) 06:13:42 You mean "struct foo f;" :) 06:13:44 -!- reprore [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 113 (No route to host)] 06:13:51 And that would work, but I want to use this in macros and expressions, so I don't want to use local variables. 06:13:56 yeah sorry, no C for long time 06:14:29 try sizeof(union foo) 06:14:49 That gives the size of the largest of the types in foo. 06:14:56 oh, you want to know specific ones 06:15:01 yeah 06:15:17 I don't want to always malloc the largest type :) 06:15:34 just use a local variable in the macro 06:15:53 the compiler will optimize it away anyway if you only use it for sizeof 06:16:05 otherwise you can define the structs outside of the union 06:16:28 or.. the new c++ standard for 2010 supports this directly I think 06:18:04 my solution is sizeof(((union foo) {.bar={.field1=x, .field2=y, ...}})).bar) 06:18:34 that's a gcc extension I think 06:18:44 but it's a big ugly compound literal (which is a gcc-specific extension), and it needs to be updated with every change to the union type 06:19:12 why can't you just define the structs outside of the union? 06:19:21 then do sizeof on the struct you care about 06:19:40 Then I wouldn't bother using the union. 06:22:09 oh wait, I can leave out the field initializers 06:22:19 how about "do { union foo x; sizeof(x.bar); } while(0) " 06:22:31 it's still gcc specific if you do {.anything} 06:22:38 but there is a c99 extension 06:22:47 Yeah, I know. 06:23:17 I forgot how to actually use it heh 06:24:42 oh, what you were doing is c99 06:24:56 oh duh 06:25:02 gnu c has {field1: x} 06:25:24 sizeof(((union foo*) NULL)->bar) 06:25:43 c is horrible 06:26:03 :) 06:26:10 but I vaguly recall seeing code like that 06:26:35 Now, the real problem is the union is inside a struct with a tag. 06:26:42 lol 06:27:59 so you've got struct tagged {char tag; union {...} foo;} 06:28:53 You can use the above trick to pull out the sizes of alternate fields of foo, but not how big they are in the overall struct. And of course sizeof(tag) + sizeof(...field-size-hack...) is wrong. 06:29:21 -!- synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has quit [Remote closed the connection] 06:29:23 because of packing? 06:29:26 yeah 06:29:30 however... 06:29:36 but you can specify? 06:29:38 just use a host wide int 06:29:39 heh 06:30:00 sizeof(struct)-sizeof(biggestfield) gives you the effective sizeof(tag) 06:30:53 well there you go 06:32:16 are you using the trampoline? 06:32:23 or doing it the way chicken does? 06:32:44 ? 06:33:08 I thought you were writing a compiler or something 06:33:45 Yeah, but this is unrelated, I'm just goofing around. 06:35:23 oh ok 06:41:31 [[mark]] [n=mark@unaffiliated/mark/x-957811] has joined #scheme 07:01:30 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit ["Leaving"] 07:05:42 -!- repror___ [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 07:12:37 -!- AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has quit [Read error: 110 (Connection timed out)] 07:15:19 -!- v_ [n=v@219.138.127.157] has quit [Read error: 104 (Connection reset by peer)] 07:15:40 v_ [n=v@219.138.127.157] has joined #scheme 07:20:28 Pip [n=pip@unaffiliated/pip] has joined #scheme 07:20:32 Hello all 07:28:17 Adamant [n=Adamant@c-76-29-188-22.hsd1.ga.comcast.net] has joined #scheme 07:28:47 -!- mejja [n=user@c-4bb5e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote closed the connection] 07:29:02 v__ [n=v@219.138.127.157] has joined #scheme 07:47:12 rtra [n=user@unaffiliated/rtra] has joined #scheme 07:48:21 -!- v_ [n=v@219.138.127.157] has quit [Read error: 110 (Connection timed out)] 08:11:39 -!- synthase [n=synthase@68.63.48.10] has quit [Connection timed out] 08:13:05 reprore [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 08:24:36 -!- reprore [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 08:28:15 wingo-tp [n=wingo@125.Red-83-32-65.dynamicIP.rima-tde.net] has joined #scheme 08:37:59 -!- geckosenator [n=sean@71.237.94.78] has quit ["leaving"] 08:41:26 -!- duncanm [n=duncan@a-chinaman.com] has quit [Read error: 60 (Operation timed out)] 08:42:35 duncanm [n=duncan@a-chinaman.com] has joined #scheme 08:45:18 reprore [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 08:45:42 -!- reprore [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 08:47:14 -!- pchrist [n=spirit@gentoo/developer/pchrist] has quit ["leaving"] 08:48:19 reprore [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 08:50:17 sepult [n=buggarag@xdsl-87-78-151-176.netcologne.de] has joined #scheme 08:54:35 pchrist [n=spirit@gentoo/developer/pchrist] has joined #scheme 09:03:49 mike [n=m@dslb-088-066-255-040.pools.arcor-ip.net] has joined #scheme 09:04:16 -!- mike is now known as Guest66355 09:08:08 -!- Pip [n=pip@unaffiliated/pip] has left #scheme 09:15:47 schmalbe [n=bernhard@p549A1862.dip0.t-ipconnect.de] has joined #scheme 09:16:03 offby1` [n=user@q-static-138-125.avvanta.com] has joined #scheme 09:20:48 -!- ken-p [n=unknown@84.92.70.37] has quit [Read error: 110 (Connection timed out)] 09:22:05 berat [n=berat@d-stu.ibun.edu.tr] has joined #scheme 09:22:07 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 09:22:07 hey 09:22:29 lambda k {{P[j := k]}[i := N]}) how can ii write this as lambda sentence 09:32:06 -!- offby1 [n=user@q-static-138-125.avvanta.com] has quit [Read error: 110 (Connection timed out)] 09:35:49 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 09:38:35 -!- wingo-tp [n=wingo@125.Red-83-32-65.dynamicIP.rima-tde.net] has quit [Read error: 113 (No route to host)] 09:44:07 -!- reprore [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 09:45:27 reprore [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 09:47:09 -!- reprore [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 09:52:58 ejs [n=eugen@161-114-112-92.pool.ukrtel.net] has joined #scheme 10:04:25 geckosenator [n=sean@71.237.94.78] has joined #scheme 10:07:59 hotblack23 [n=jh@p5B053791.dip.t-dialin.net] has joined #scheme 10:08:34 -!- benny` is now known as benny 10:09:03 -!- sreeram [n=sreeram@122.164.191.74] has quit [Read error: 110 (Connection timed out)] 10:13:47 not_noamsml [n=quassel@adsl-75-45-249-116.dsl.sfldmi.sbcglobal.net] has joined #scheme 10:18:47 -!- ejs [n=eugen@161-114-112-92.pool.ukrtel.net] has quit ["This computer has gone to sleep"] 10:21:57 berat: what does that formula mean? 10:23:04 is vector-map standard? 10:23:20 lambda calculus 10:23:25 it is beta reduction 10:23:34 specbot: schemexref vector-map 10:23:57 http://practical-scheme.net/wiliki/schemexref.cgi?vector-map 10:24:06 R6RS and SRFI-43 10:24:54 mostly-compatible implementations 10:28:39 oh 10:28:54 how do I enter the escape character? 10:29:19 for space I have #\space 10:29:26 or for letters #\a #\b etc.. 10:30:17 -!- noamsml [n=quassel@75.45.249.116] has quit [Read error: 113 (No route to host)] 10:30:40 berat: beta-reduction is an equivalence relation of lambda calculus. If you want to express it WITHIN lambda-calculus, you will first have to describe lambda-calculus WITHIN lambda-calculus IIANM. 10:47:28 -!- not_noamsml [n=quassel@adsl-75-45-249-116.dsl.sfldmi.sbcglobal.net] has quit [Read error: 54 (Connection reset by peer)] 10:48:12 noamsml [n=quassel@adsl-75-45-249-116.dsl.sfldmi.sbcglobal.net] has joined #scheme 10:49:16 ecraven [n=nex@140.78.42.103] has joined #scheme 10:50:45 hkBst, 10:50:57 i already define lambda calculus with define data type 10:53:28 berat: alright, so what's the problem then? 10:53:49 Judofyr [n=Judofyr@c0796BF51.dhcp.bluecom.no] has joined #scheme 10:54:47 -!- leppie [n=lolcow@dsl-244-196-47.telkomadsl.co.za] has quit [Read error: 60 (Operation timed out)] 10:55:20 Judofyr_ [n=Judofyr@c0796BF51.dhcp.bluecom.no] has joined #scheme 10:55:31 hkBst, i dont understand the notation what it mean in lambda calculus lambda k {{P[j := k]}[i := N]}) 10:56:06 berat: http://en.wikipedia.org/w/index.php?title=Beta_reduction 10:57:31 athos [n=philipp@92.250.250.68] has joined #scheme 10:59:16 leppie [i=lolcow@196.210.200.235] has joined #scheme 10:59:23 not_noamsml [n=quassel@adsl-75-45-249-116.dsl.sfldmi.sbcglobal.net] has joined #scheme 11:00:35 hkBst, the rule of beta reduction is that ? If you see bound variable that is bounded by lambda ,is free variabl as well.Change the name of bound variable and binding instance.If you dont,see bound variable and free variable are same ,i dont know what happens :D 11:01:11 puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has joined #scheme 11:01:44 hkBst, ( y. M)[x := N]   y. (M[x := N]), if x  y and yfv(N) i dont udnerstand what tthis rule says. 11:02:34 hkBst, can you give an example that covers this rule.If you have time and this question appropriate for that channel 11:06:13 -!- leppie [i=lolcow@196.210.200.235] has quit [Read error: 54 (Connection reset by peer)] 11:08:39 leppie [n=lolcow@196.210.200.235] has joined #scheme 11:09:49 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #scheme 11:11:15 berat: ((lambda (y) (lambda (x) (* 2 x))) N) ==> (lambda (x) (* 2 x))[y := N] ==> (lambda (x) (* 2 x)[y := N]) ==> ..{ since (* 2 x)[y := N] ==> (* 2 x) }.. ==> (lambda (x) (* 2 x)) 11:11:21 -!- Judofyr [n=Judofyr@c0796BF51.dhcp.bluecom.no] has quit [Read error: 110 (Connection timed out)] 11:15:24 -!- noamsml [n=quassel@adsl-75-45-249-116.dsl.sfldmi.sbcglobal.net] has quit [Read error: 113 (No route to host)] 11:17:32 saccade [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 11:18:07 -!- geckosenator [n=sean@71.237.94.78] has quit [Read error: 110 (Connection timed out)] 11:20:56 -!- v__ [n=v@219.138.127.157] has quit [Read error: 104 (Connection reset by peer)] 11:21:17 v__ [n=v@219.138.127.157] has joined #scheme 11:34:14 -!- zbigniew [n=zb@3e8.org] has quit [Read error: 148 (No route to host)] 11:37:33 reprore [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 11:43:45 ejs [n=eugen@161-114-112-92.pool.ukrtel.net] has joined #scheme 11:44:17 -!- reprore [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 12:01:59 zbigniew [n=zb@3e8.org] has joined #scheme 12:03:33 -!- v__ [n=v@219.138.127.157] has quit [Read error: 104 (Connection reset by peer)] 12:03:53 v__ [n=v@219.138.127.157] has joined #scheme 12:05:51 choas [n=lars@p5B0DFB57.dip.t-dialin.net] has joined #scheme 12:16:55 -!- error_developer_ [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 104 (Connection reset by peer)] 12:17:08 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 12:17:40 v_ [n=v@219.138.127.157] has joined #scheme 12:23:29 -!- saccade [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 12:33:12 hkBst, N is bounded by (lambda(y) 12:35:54 -!- v__ [n=v@219.138.127.157] has quit [Read error: 110 (Connection timed out)] 12:53:21 -!- pchrist [n=spirit@gentoo/developer/pchrist] has quit ["leaving"] 12:54:37 -!- puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has quit ["Konversation terminated!"] 13:06:08 -!- rtra [n=user@unaffiliated/rtra] has left #scheme 13:07:14 pfo [n=pfo@chello084114049188.14.vie.surfer.at] has joined #scheme 13:11:21 Dawgmatix [n=deep@207-237-30-94.c3-0.avec-ubr11.nyr-avec.ny.cable.rcn.com] has joined #scheme 13:13:38 -!- schmalbe [n=bernhard@p549A1862.dip0.t-ipconnect.de] has quit [Remote closed the connection] 13:28:10 borism_ [n=boris@195-50-200-73-dsl.krw.estpak.ee] has joined #scheme 13:32:58 -!- borism [n=boris@195-50-200-94-dsl.krw.estpak.ee] has quit [Read error: 145 (Connection timed out)] 13:34:03 -!- EnglishGent^afk [n=nobody@ai-core.demon.co.uk] has quit [] 13:36:21 error_developer_ [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 13:36:21 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 104 (Connection reset by peer)] 13:37:13 hark [n=strider@hark.slew.org] has joined #scheme 13:38:57 -!- tjafk1 [n=timj@e176216193.adsl.alicedsl.de] has quit [Remote closed the connection] 13:40:00 -!- Guest66355 [n=m@dslb-088-066-255-040.pools.arcor-ip.net] has quit ["This computer has gone to sleep"] 13:42:36 berat: no, y is bound by `lambda(y)' 13:42:44 synthase [n=synthase@68.63.48.10] has joined #scheme 13:57:49 ((lambda (y) (lambda (x) (* 2 x))) N 13:57:55 hkBst, there is no y 13:58:29 hkBst, 13:58:40 i just need single step beta reduction 13:59:33 berat: so, if there had been a `y' it would have been bound by `lambda(y)' 14:00:02 hkBst, yes i know that 14:00:20 but i dont understand that notation [y:=N] what does tat mean 14:00:31 it means to replace y by N 14:00:56 hmm 14:01:12 i mean subst y with N 14:01:15 right ?_ 14:01:19 yes 14:08:35 hkbe honestly i have no idea how to write substitution iand beta reduction in lambda calculus 14:11:49 berat: the wikipedia page explains it all. I don't feel like repeating all that. If you have specific questions maybe I or others here can help you. 14:16:59 -!- error_developer_ [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Remote closed the connection] 14:17:20 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 14:32:54 gweiqi [n=greg@69.120.126.163] has joined #scheme 14:40:20 mike [n=m@dslb-088-066-255-040.pools.arcor-ip.net] has joined #scheme 14:40:48 -!- mike is now known as Guest52770 14:41:30 -!- Guest52770 [n=m@dslb-088-066-255-040.pools.arcor-ip.net] has quit [Client Quit] 14:42:10 mike_ [n=m@dslb-088-066-255-040.pools.arcor-ip.net] has joined #scheme 14:42:37 -!- mike_ is now known as Guest77924 14:45:38 -!- hadronzoo [n=hadronzo@ppp-70-251-33-225.dsl.rcsntx.swbell.net] has quit [Read error: 110 (Connection timed out)] 14:51:47 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Remote closed the connection] 14:52:27 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 14:53:54 sepult_ [n=buggarag@xdsl-87-78-178-213.netcologne.de] has joined #scheme 14:54:07 -!- sepult_ [n=buggarag@xdsl-87-78-178-213.netcologne.de] has quit [Client Quit] 14:54:30 -!- sepult [n=buggarag@xdsl-87-78-151-176.netcologne.de] has quit [Nick collision from services.] 14:55:50 sepult [n=buggarag@xdsl-87-78-178-213.netcologne.de] has joined #scheme 15:01:16 annodomini [n=lambda@wikipedia/lambda] has joined #scheme 15:02:55 reprore [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 15:04:09 -!- reprore [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 15:04:13 vixey [n=yoo@amcant.demon.co.uk] has joined #scheme 15:05:01 reprore_ [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 15:06:46 offby1`` [n=user@q-static-138-125.avvanta.com] has joined #scheme 15:07:26 error_developer_ [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 15:08:36 rudybot___ [n=luser@q-static-138-125.avvanta.com] has joined #scheme 15:09:32 -!- reprore_ [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 131 (Connection reset by peer)] 15:09:33 repror___ [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 15:10:54 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 110 (Connection timed out)] 15:12:13 hadronzoo [n=hadronzo@ppp-70-251-148-156.dsl.rcsntx.swbell.net] has joined #scheme 15:15:41 reprore_ [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 15:15:59 -!- repror___ [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 15:22:19 saccade [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 15:22:31 -!- offby1` [n=user@q-static-138-125.avvanta.com] has quit [Read error: 110 (Connection timed out)] 15:22:56 -!- rudybot__ [n=luser@q-static-138-125.avvanta.com] has quit [Read error: 110 (Connection timed out)] 15:31:36 -!- saccade [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 15:37:17 -!- berat [n=berat@d-stu.ibun.edu.tr] has quit [Remote closed the connection] 15:47:01 -!- error_developer_ [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 104 (Connection reset by peer)] 15:47:17 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 15:58:22 Edico [n=Edico@unaffiliated/edico] has joined #scheme 16:00:16 Dezlagrate [n=Dezlagra@unaffiliated/dezlagrate] has joined #scheme 16:04:08 -!- athos [n=philipp@92.250.250.68] has quit ["leaving"] 16:05:02 saccade [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 16:05:38 -!- Dawgmatix [n=deep@207-237-30-94.c3-0.avec-ubr11.nyr-avec.ny.cable.rcn.com] has quit ["Ex-Chat"] 16:27:00 -!- davidad [n=me@RANDOM-FOUR-THIRTY-THREE.MIT.EDU] has quit [Read error: 60 (Operation timed out)] 16:28:23 slom_ [n=slom@pD9EB6B0B.dip.t-dialin.net] has joined #scheme 16:39:23 -!- Guest77924 [n=m@dslb-088-066-255-040.pools.arcor-ip.net] has quit ["This computer has gone to sleep"] 16:41:58 foof, the answer to your first question is `sizeof (((union foo *) 0) -> bar)'. Compound literals with named fields are in C99, by the way. The answer to your second question is `(offsetof (((struct tagged *) 0) -> foo)) + (sizeof ((((struct tagged *) 0) -> foo) -> field))'. Here offsetof is a macro in C99, which can be defined by: #define offsetof(TYPE, FIELD) ((size_t) ((& (((TYPE *) 0) -> FIELD)) - ((TYPE *) 0))) 16:42:46 Ah, I didn't know about offsetof. 16:42:52 Why 0 and not NULL? 16:44:32 *Riastradh* shrugs. 16:44:35 It doesn't make a difference. 16:44:42 0 is three characters shorter. 16:46:59 ejs1 [n=eugen@71-189-124-91.pool.ukrtel.net] has joined #scheme 16:47:15 -!- ejs [n=eugen@161-114-112-92.pool.ukrtel.net] has quit [Read error: 104 (Connection reset by peer)] 16:48:19 Sometimes you will find the following incorrect definition of offsetof, by the way: #define offsetof(TYPE, FIELD) ((size_t) (& (((TYPE *) 0) -> FIELD))) 16:48:21 Isn't the " - ((TYPE *) 0)" part redundant? 16:50:29 Riastradh: why is that one incorect? 16:50:42 If using NULL I can see why you need to subtract it back out, because NULL isn't guaranteed to be 0. 16:51:01 A null pointer is not a pointer whose integral representation -- if that even exists -- is zero. 16:51:34 mike [n=m@dslb-088-066-255-040.pools.arcor-ip.net] has joined #scheme 16:51:52 -!- mike [n=m@dslb-088-066-255-040.pools.arcor-ip.net] has quit [Client Quit] 16:52:13 Not necessarily, that is. 16:52:30 -!- ttmrichter [n=ttmricht@221.235.61.201] has quit [Read error: 60 (Operation timed out)] 16:59:07 Riastradh: But why is the definition you wrote incorrect 16:59:08 ? 16:59:47 Who knows what that address might be? It might not even be representable as an integer. 17:00:10 The address is 0 because you wrote it as 0. 17:00:20 foof: I got it: ((TYPE*)0) is not guarenteed to be 0 17:00:39 You are confusing an expression denoting a null pointer constant with an expression of a pointer whose representation as an integer is zero. 17:00:55 In a pointer context, `0' denotes a null pointer constant of the appropriate type. 17:01:02 My understanding was that NULL was a null pointer constant, and 0 was a hard-coded address. 17:01:19 synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has joined #scheme 17:01:29 offby1``` [n=user@q-static-138-125.avvanta.com] has joined #scheme 17:01:30 Both NULL and 0 are null pointer constants. So is ((void *) 0). Usually NULL is defined as 0 or as ((void *) 0). 17:01:50 rudybot____ [n=luser@q-static-138-125.avvanta.com] has joined #scheme 17:02:59 -!- dudrenov` [n=user@adsl-99-147-43-193.dsl.pltn13.sbcglobal.net] has quit [Read error: 110 (Connection timed out)] 17:03:13 so (x == (int) ((void*) x)) for some int x is not guaranteed to be true... 17:03:35 It is not guaranteed even to yield a boolean value. It may make demons fly out of your nose and cause your processor to catch fire. 17:03:41 puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has joined #scheme 17:04:05 -!- synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has quit [Remote closed the connection] 17:04:39 synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has joined #scheme 17:05:01 hey eli 17:05:37 mmt: i was merely pointing out to berat who Riastradh was talking to... 17:08:04 rudybot_____ [n=luser@q-static-138-125.avvanta.com] has joined #scheme 17:08:15 Riastradh: is it not defined to cast pointers to ints? 17:09:03 Riastradh: why? I dont see the undefined behaviour in that piece of code ... or is it undefined to cast pointers to integers? 17:09:07 nevermind, sorry 17:10:07 The behaviour of converting a pointer to an integer type in which the pointer is not representable is undefined. 17:10:45 -!- v_ [n=v@219.138.127.157] has quit ["Leaving"] 17:10:51 yeah, that was sloppy 17:11:23 There is not necessarily any integer type capable of representing either any or all pointers. 17:11:26 C is one strange language ... 17:12:16 I meant (x == (intptr_t) ((void*) x)) for some intptr_t x 17:12:37 intptr_t and uintptr_t need not exist in an implementation. 17:13:08 In implementations that support intptr_t and uintptr_t, that expression yields true. 17:13:10 ... but the description suggests that if they exist, NULL==(int)0 is a tautology 17:13:16 No. 17:13:27 `NULL == (int) 0' is nasal demon territory. 17:13:53 Sorry, NULL == (intptr_t) 0 17:14:00 That too is nasal demon territory. 17:14:41 -!- Judofyr_ [n=Judofyr@c0796BF51.dhcp.bluecom.no] has quit [Remote closed the connection] 17:15:05 Doesn't that follow normal type coercion rules? 17:15:16 Even `NULL == ((void *) ((intptr_t) 0))' is nasal demon territory. 17:15:27 how about using volts... 17:15:49 Riastradh: is NULL == 0 ok? 17:15:55 That's always true, slom_. 17:16:11 Any two null pointers compare equal. 17:16:21 (What a clumsy sentence.) 17:16:23 -!- rudybot___ [n=luser@q-static-138-125.avvanta.com] has quit [Read error: 110 (Connection timed out)] 17:16:45 -!- offby1`` [n=user@q-static-138-125.avvanta.com] has quit [Read error: 110 (Connection timed out)] 17:16:59 modulo quantum flactuations! 17:17:13 You may convert a pointer to void into an intptr_t or uintptr_t, and you may convert it back to a pointer to void yielding a pointer that compares equal to the original one. 17:18:03 Anything else you do concerning conversions between intptr_t/uintptr_t and pointer types is nasal demon territory. 17:18:41 There exist non-pathological implementations in which ((uintptr_t) 0) != ((uintptr_t) ((void *) 0)). 17:20:03 -!- Dezlagrate [n=Dezlagra@unaffiliated/dezlagrate] has quit ["Leaving"] 17:20:03 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Leaving"] 17:20:09 By the way, all this talk of pointers has been strictly confined to pointers to incomplete or object types. Pointers to function types are different beasts altogether; they may not be converted to intptr_t/uintptr_t (even in implementations supporting these types) or to pointers to void. 17:20:27 -!- rudybot____ [n=luser@q-static-138-125.avvanta.com] has quit [Read error: 110 (Connection timed out)] 17:20:51 Riastradh: is it possible to explain how such a non-pathological implementation might work succinctly? 17:21:51 Actually, excuse me: I misspoke. What I meant is that there exist non-pathological implementations without intptr_t/uintptr_t but such that a null pointer is not a pointer with all bytes having all bits zero. 17:24:49 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 104 (Connection reset by peer)] 17:25:09 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 17:25:29 I do not know whether there are non-pathological implementations in which ((uintptr_t) 0) != ((uintptr_t) ((void *) 0)), but C99 does not guarantee the converse. 17:28:15 Incidentally, for similar reasons, to declare local variables with automatic storage initialized to zero -- interpreted appropriately for context, so that pointer fields of structs are initialized to null pointers --, one should write 17:28:20 TYPE foo = { }; 17:28:20 rather than 17:28:22 TYPE foo; 17:28:28 memset ((&foo), 0, (sizeof (foo))); 17:31:35 bzero! :D 17:34:15 -!- saccade [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 17:34:36 Quetzalcoatl_ [n=godless@cpe-71-72-235-91.cinci.res.rr.com] has joined #scheme 17:40:01 synx: yes? 17:44:11 mejja [n=user@c-4bb5e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 17:54:15 _Pb [n=Pb@75.139.140.101] has joined #scheme 17:58:50 hadronzoo_ [n=hadronzo@ppp-70-251-32-108.dsl.rcsntx.swbell.net] has joined #scheme 17:59:09 -!- slom_ is now known as slom 18:02:32 -!- hadronzoo [n=hadronzo@ppp-70-251-148-156.dsl.rcsntx.swbell.net] has quit [Read error: 110 (Connection timed out)] 18:02:51 eli: have you any idea how to get a sandbox to require bytecoded modules? 18:03:24 "require bytecoded modules"? 18:03:52 I defined a syntax with side effects, and want to test that these effects do not occur when using the bytecode after the syntax has been expanded. 18:04:36 ...by loading the module into a sandbox and running tests on it. 18:05:14 I don't follow you still. 18:07:52 Well... consider the program '((define-syntax test (lambda (form) (display "phase 1\n") #'23)) (display (format "phase 2 ~a~n" (test 42)))). 18:08:42 When you run it without compiling it does both displays. When you use mzc however, it does the phase 1 display, and then only the phase 2 display when you run mzscheme on it. 18:09:49 So I want to load that program into a sandbox, such that it does not do any of the syntax stuff when compiled. 18:11:39 ((make-module-evaluator "test.ss") "") seems to display both of those though, even if I compiled test.ss with mzc beforehand. 18:16:04 I'm guessing (make-module-evaluator '(module scheme blah (require "test.ss"))) would find the bytecoded file, but... haven't quite verified that yet. 18:17:18 JohnnyL [i=JohnnyL@ool-182f0b98.dyn.optonline.net] has joined #scheme 18:17:25 synx: I don't know why you'd want that -- it's possible to do, but I never encountered a need for this, so there's no easy way. 18:17:29 -!- JohnnyL [i=JohnnyL@ool-182f0b98.dyn.optonline.net] has left #scheme 18:17:49 Judofyr [n=Judofyr@c349BBF51.dhcp.bluecom.no] has joined #scheme 18:18:15 I'm not sure that it would load the bytecode version if it exists in the compiled directory. But it doesn't hurt to try, of course. 18:18:44 I was following your suggestion earlier, and getting the sizeof the C type in the syntax phase, so that the bytecode will just have the number and not compile/load the C library. 18:19:11 Still not sure how to indicate it's platform-specific bytecode though... but anyway. 18:19:43 Verifying that it doesn't even check for the sizeof C function is weird to do in a sandbox. 18:19:48 Yes, I could guess that -- I didn't say that it's a bad idea to try it (getting the sandbox to load just the bytecode), just that we never had any need for it so far. 18:20:24 When/if you do try it, use the trusted context thing, to make sure that file permissions are not in you're way. 18:21:24 And BTW, what I was trying to tell you yesterday is that I plan to add such a macro in a library somewhere -- actually a macro-generating-macro that will do the compile-time call to the C compiler. 18:22:17 really it only needs to be a number generating macro, since the size of anything is a number...? 18:23:40 I just verified that you can load only the bytecode in a sandbox by using '(module blah scheme (require "test.ss")). It'll just error out a few times and you can add each file to #:allow-read as they error. 18:23:48 Yes, but you'd need a macro that sets up the macro that expands to that number at syntax time. 18:24:06 I also couldn't help but notice that the platform is part of the path to the compiled files... bytecode wouldn't always be platform specific, would it? 18:24:59 Just have the macro expand to the number at syntax time. No need to have it expand to a macro that expands to the number. 18:25:08 That doesn't sound great; if you send me an email I'll look into making `make-module-evaluator' use the bytecode version. 18:25:42 The platform is part of the path for .so files. 18:27:28 ugh, email... yeah okay. 18:27:46 -!- _Pb [n=Pb@75.139.140.101] has quit ["This computer has gone to sleep"] 18:29:34 Nshag [n=shagoune@Mix-Orleans-106-3-68.w193-248.abo.wanadoo.fr] has joined #scheme 18:29:54 Yes, email is where most of my todo items are. 18:30:56 -!- r0bby [n=wakawaka@guifications/user/r0bby] has quit [Read error: 104 (Connection reset by peer)] 18:31:25 r0bby [n=wakawaka@guifications/user/r0bby] has joined #scheme 18:37:38 athos [n=philipp@92.250.250.68] has joined #scheme 18:38:35 jgracin [n=jgracin@82.193.210.126] has joined #scheme 18:40:54 rmns1 [n=ramunas@78-61-90-37.static.zebra.lt] has joined #scheme 18:43:45 -!- rmns1 [n=ramunas@78-61-90-37.static.zebra.lt] has left #scheme 18:44:07 arcfide [n=arcfide@w137021.wireless.fsr.net] has joined #scheme 18:47:56 -!- synthase [n=synthase@68.63.48.10] has quit [Read error: 54 (Connection reset by peer)] 18:48:09 synthase [n=synthase@68.63.48.10] has joined #scheme 18:50:59 jberg [n=johan@229.84-48-210.nextgentel.com] has joined #scheme 18:54:28 -!- Quetzalcoatl_ [n=godless@cpe-71-72-235-91.cinci.res.rr.com] has quit ["Leaving"] 18:55:08 Hello everyone. 18:56:06 Riastradh: You around? 19:03:00 _Pb [n=Pb@75.139.140.101] has joined #scheme 19:08:02 j85wilson [n=j85wilso@cpe-75-187-46-126.columbus.res.rr.com] has joined #scheme 19:08:29 are there any little microcontroller kits (a la arduino) out there that are programmable in any lisps? 19:08:56 short of, of course, writing a lisp interpreter in microcontroller BASIC or compiling lisp to BASIC 19:10:08 I've heard of SCHEME86 (?), but that doesn't seem to be available, and also wouldn't have taken advantage of advances in microcontroller design since 86. 19:13:25 You might find picobit or armpit interesting. 19:15:12 j85wilson: there's Scheme or Lisp in Forth. 19:15:32 j85wilson: finding Forth for microcontroller is easier. 19:15:53 <_Pb> ASau: link to this scheme/lisp in forth? 19:16:06 <_Pb> I know that the pForth source has a somewhat-working scheme implementation 19:16:17 Daemmerung: I hope to never be able to say that I have found an armpit interesting 19:16:44 _Pb: not in sleeve, you have to dig in ftp://ftp.taygeta.com/pub/Forth 19:17:12 j85wilson: it really depends on to whom that armpit is attached 19:17:48 RMS. 'nuff said. 19:18:11 About as close to a microcontroller as I ever got was programming an API for a robot which had its firmware written in some kind of BASIC, and which had a bytecode message passing type interface through which I could write the Scheme interface. 19:18:12 *Daemmerung* assumes fetal position beneath desk 19:18:22 heh 19:19:30 hmm, what does "safe-for-space" mean? 19:19:38 PICBIT will work on the ISS? 19:19:44 but PICOBIT will not? 19:19:52 http://www.iro.umontreal.ca/~feeley/papers/ll3.pdf 19:19:54 -!- ecraven [n=nex@140.78.42.103] has quit ["bbl"] 19:21:34 eli: in short, what are relations between mzscheme, drscheme and plt-scheme? 19:23:59 -!- arcfide [n=arcfide@w137021.wireless.fsr.net] has quit ["Leaving"] 19:25:00 berat [n=berat@194.27.149.175] has joined #scheme 19:25:02 hey 19:25:07 Is it possible to write a general function , whcih consumes a recursive function with one parameter and produces its continuation passing style version? 19:26:31 OH eli I get it now. You mean a syntax transformer that makes like #'23. Of course you can't return a number from a syntax, only the syntax of a number. 19:29:44 <_Pb> ASau: thanks 19:29:59 borism [n=boris@195-50-205-184-dsl.krw.estpak.ee] has joined #scheme 19:31:33 -!- berat [n=berat@194.27.149.175] has quit [Remote closed the connection] 19:31:46 _Pb: if there isn't, you can implement classic McCarthy's Lisp. %) 19:33:01 <_Pb> i plan on doing that at some point 19:34:12 If you need help with pForth, you can ask me. 19:37:18 does pForth have a postgresql interface 19:37:25 -!- borism_ [n=boris@195-50-200-73-dsl.krw.estpak.ee] has quit [Read error: 145 (Connection timed out)] 19:37:29 berat: what do you mean 19:37:49 berat: you can take the list representation of a program.. but not an actual procedure 19:40:19 -!- _Pb [n=Pb@75.139.140.101] has quit ["This computer has gone to sleep"] 19:40:40 AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has joined #scheme 19:44:29 _Pb [n=Pb@75.139.140.101] has joined #scheme 19:47:10 meanburrito920_ [n=John@adsl-76-222-109-174.dsl.lsan03.sbcglobal.net] has joined #scheme 19:57:09 synx: no, but you can add it. 19:58:12 wingo-tp [n=wingo@125.Red-83-32-65.dynamicIP.rima-tde.net] has joined #scheme 20:01:46 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 20:02:05 maybe go chew on glass instead 20:02:47 what 20:04:41 sorry, just still struggling with getting the values to convert right. 20:04:44 Mr-Cat [n=Miranda@bahirkin1507.static.corbina.ru] has joined #scheme 20:05:14 annodomini [n=lambda@pool-151-203-235-220.bos.east.verizon.net] has joined #scheme 20:06:48 values ... vowels 20:06:52 or did you mean verbs? 20:07:07 oh are you the one using REGEX to implement a SQL interface? 20:07:12 Two different databases could have different formats for the same type identifier, and their suggestion is that you introspect the database to determine what format a result cell with a certain type identifier is. 20:09:40 It could vary on a per-connection basis. 20:10:54 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 20:11:46 -!- reprore_ [n=reprore@ntkngw304058.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 20:15:15 If you are not going to make pigs fly, libpq interface is rather simple. 20:15:20 I did it in Gforth. 20:28:48 Dezlagrate [n=Dezlagra@unaffiliated/dezlagrate] has joined #scheme 20:32:08 schmalbe [n=bernhard@p549A26CD.dip0.t-ipconnect.de] has joined #scheme 20:36:35 eli: is there a public bug tracker for PLT Scheme? 20:38:55 dwill [n=will@adsl-68-92-248-160.dsl.stlsmo.swbell.net] has joined #scheme 20:39:30 -!- dwill [n=will@adsl-68-92-248-160.dsl.stlsmo.swbell.net] has left #scheme 20:41:26 jcowan [n=jcowan@72.14.228.89] has joined #scheme 20:43:53 *jcowan* unvanishes. 20:45:52 Quetzalcoatl_ [n=godless@cpe-71-72-235-91.cinci.res.rr.com] has joined #scheme 20:47:39 -!- schmalbe [n=bernhard@p549A26CD.dip0.t-ipconnect.de] has quit [Remote closed the connection] 20:48:34 -!- Quetzalcoatl_ is now known as Quetzalcoatl 20:48:53 -!- Quetzalcoatl is now known as Quetzalcoatl_ 20:50:55 rudybot______ [n=luser@q-static-138-125.avvanta.com] has joined #scheme 20:51:17 geckosenator [n=sean@71.237.94.78] has joined #scheme 20:52:45 ASau: "PLT Scheme" is the whole thing, "MzScheme" is the core language implementation, and "DrScheme" is an application written using PLT Scheme, and distributed with it. 20:52:50 slom: bugs.plt-scheme.org 20:53:23 eli: thanks 20:54:05 eli: so MzScheme is core, DrScheme is MzScheme + packages, right? 20:54:52 ASau: roughly, yes. 20:54:55 ASau: DrScheme is an IDE. 20:55:11 And PLT Scheme is the "whole" thing. 20:55:21 rudybot_______ [n=luser@q-static-138-125.avvanta.com] has joined #scheme 20:55:48 Alright, I'll return to it later. 20:55:56 Hope I'll grok it meanwhile. 20:56:37 jewel [n=jewel@dsl-242-138-129.telkomadsl.co.za] has joined #scheme 20:58:27 j85wilson: I don't have an answer to your question, but I enjoy Scheme and embedded systems 20:58:52 j85wilson: I guess the real question is whether or not you have memory attached to the micro (thus bringing up the issue of garbage collection) 20:59:17 Scheme48 has prescheme, which is a scheme subset w/o closures or garbage collection 20:59:38 it compiles to C, and might be a nice language to adapt to microcontrollers 21:00:08 eli: would bugs.plt-scheme.org be the place to add a bug about srfi-1 not working in R6RS? 21:01:04 interesting, mmt. 21:02:03 -!- rudybot_____ [n=luser@q-static-138-125.avvanta.com] has quit [Read error: 110 (Connection timed out)] 21:02:29 how does 'case' do comparisons? 21:02:39 I have some code that gives true with equal? eq? or even = 21:02:43 but it fails to hit the case 21:02:51 slom: That's one way, but it's better to file a report from DrScheme. 21:03:29 it seems like a lot of the high level language features won't match very well to traditional microcontrollers 21:03:39 slom: Also, many srfis are not working right in r6rs because they're using the default immutable lists -- there is a way to translate them now, but I don't think that there were any translations done yet. 21:03:41 geckosenator: memv/eqv? 21:03:44 ASau: Why do you need it? 21:03:44 ah this is probably true 21:03:47 j85wilson: bignums, closures, etc. 21:04:16 which is why we need lisponachip 21:04:24 but having particularly sane name spaces would be nice 21:04:29 they have Java-on-a-Chip 21:04:40 I worked on a Scheme chip a little while ago, as an independent lab class 21:04:47 cool 21:04:47 eli: packaging... 21:04:58 mejja: those are true too, but case didn't match 21:05:01 I lamed out a bit and never got the garbage collection going, but I had fibonacci running 21:05:06 mejja: I converted it to cond instead of case and it works 21:05:07 -!- bsmntbombdood [n=gavin@97-118-133-63.hlrn.qwest.net] has quit [Read error: 113 (No route to host)] 21:05:14 ASau: For the description of the package or to get multiple packages like a mzscheme and a plt package? 21:05:23 j85wilson: it was on a Spartan III FPGA 21:05:24 bsmntbombdood [n=gavin@97-118-131-23.hlrn.qwest.net] has joined #scheme 21:05:33 eli: yes I know that this is because of the mutable/immutable stuff ... is there any documentation on how this translation is done? 21:05:39 eli: for multiple packages, since they are split already. 21:05:54 eli: how many conversations can you carry on at once? 21:06:16 j85wilson: "Magic number 7 plus or minus 2" 21:06:36 j85wilson: if you need exact reference, I'll find it in 5 min. 21:06:46 slom: Simple, just have the code using mpairs; one way would be to use a language where `cons' etc are bound to the mpair functions. 21:06:59 well, that's fine for most people, but eli is pretty much superhuman 21:07:03 j85wilson: I don't know didn't try to get a limit yet... 21:07:15 lim_{n 21:07:23 ASau: Splitting it is general a bad idea. 21:07:27 \to \infty} conv_{eli} 21:07:49 ASau: The best thing to do is to look at the way we have the two public packages: mzscheme and plt-scheme -- 21:07:57 -!- offby1``` [n=user@q-static-138-125.avvanta.com] has quit [Connection timed out] 21:07:59 j85wilson: http://www.google.ru/search?q=miller+magic+number+seven+plus+or+minus+two 21:08:07 *mmt* (signal-condition away) 21:08:15 -!- leppie [n=lolcow@196.210.200.235] has quit [Read error: 60 (Operation timed out)] 21:08:19 eli: would that mean copying the code for srfi ... afaik currently the R6RS ones are just links to the normal ones 21:08:24 ASau: but the former is basically intended for a small audience of people who want to do stuff on a server. 21:08:37 eli: there're only two packages, AFAIR, "mzscheme" and "drscheme". 21:08:50 ASau: Specifically, it is not a good idea to encourage any development on anything that is not the full "PLT Scheme" distribution. 21:09:10 -!- rudybot______ [n=luser@q-static-138-125.avvanta.com] has quit [Read error: 110 (Connection timed out)] 21:09:27 *ASau* does server thing in Scheme currently. 21:09:44 But I'm using Chicken for it. 21:09:46 slom: There is are "srfi/%..." collections that are used by r6rs via a :N syntax -- these are all just reproviding the functionality of the usual srfi code, but that could change. 21:10:18 ASau: You should have the two packages called "mzscheme" and "plt-scheme" instead. "drscheme" should not be used as a label for a package. 21:10:38 Alright. 21:11:04 ASau: Also, there was an attempt (from the ubuntu/debian packages) to split things to a -devel and a -doc packages, but that's very difficult -- mostly because plt-scheme is a language, not a simple library. 21:11:04 slom: When I needed interoperability between mutable/immutable lists, I wrote two functions to convert between the two: http://pastebin.com/m29b80937 21:11:05 Maybe I'll succede in convincing to rename it. 21:11:35 eli: we're not that fascist. %] 21:11:42 ASau: I've got all 3rd party packages that I knew about to convert their "drscheme" to "plt-scheme". 21:12:27 ASau: One more thing is that we have a script that splits up the different distributions (yes, only two, but could be more) -- it makes sure that there are no dangling dependencies etc. 21:12:33 If I can use "by maintainer/developer/author request", it is easier. 21:13:14 ASau: Unfortunately, this script is heavily tied to our (pretty involved) build process -- a lot of shell code in that, and uses a particular environment setup (directories in certain places etc). 21:13:19 But I want specific authoritative permission to do so. 21:14:02 ASau: This is definitely by developer request -- and the simple way to verify this is to look at what we distribute. 21:14:23 ASau: If it'll help, I can file a request with any kind of public bug db. 21:14:32 Alright. 21:14:52 No need to do that right now :) 21:14:57 Better release. ;) 21:15:18 RageOfThou [n=RageOfTh@92.36.168.46] has joined #scheme 21:15:26 ASau: Yes, that (the release) starts today. 21:15:27 I can't update to VCS-based packages. 21:16:39 Quetzalcoatl_: something like this is allready in PLT i think ... 21:17:07 slom, Quetzalcoatl_: yes -- look for the `scheme/mpair' library. 21:17:14 It's not in the version on my system, or it's called something very different. 21:17:35 I just dont want to hack arround bugs in PLT in my own libraries ... and rather have it fixed in PLT 21:17:40 Quetzalcoatl_: It was there for several releases now -- you might have a very old version. 21:17:59 What's it's called? 21:18:03 *it 21:18:09 slom: Well, there's not enough demand for this, so nobody did it so far. 21:18:13 Quetzalcoatl_: scheme/mpair 21:18:36 Quetzalcoatl_: http://docs.plt-scheme.org/reference/mpairs.html 21:19:01 -!- _Pb [n=Pb@75.139.140.101] has quit ["Leaving"] 21:19:15 eli: maybe I would be willing to do this ... 21:19:28 at least for SRFI 1 21:19:58 eli: list->mlist? 21:20:03 slom: That shouldn't be too difficult. 21:20:17 Quetzalcoatl_: Yes, and other functions from this library. 21:21:01 eli: list->mlist doesn't descend into the list structure. (list->mlist (1 (2))) evaluates to {1 (2)}, whereas my version converts it to {1 {2}}. 21:21:09 eli: is there any requirement license-wise on code shipped with PLT? maybe using the allready existing SRFI implementation would be faster here 21:21:32 slom: It has to be LGPL-compatile. 21:22:00 Quetzalcoatl_: Yes, because there wasn't need for something that translates nested pair structures yet. 21:22:11 Licenses: MIT / X / Expat License, Public Domain 21:22:28 Quetzalcoatl_: A proper solution for this would be more difficult, since you have to be careful with cyclic pointers. 21:23:42 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 54 (Connection reset by peer)] 21:23:54 https://code.launchpad.net/~ikarus-libraries-team/ikarus-libraries/srfi 21:23:54 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 21:24:25 rudybot________ [n=luser@q-static-138-125.avvanta.com] has joined #scheme 21:24:48 rudybot________: uptime 21:24:49 eli: I've been up for one week, four days; this tcp/ip connection has been up for thirty-five seconds 21:24:55 rudybot_______: uptime 21:25:36 rudybot_______downtime 21:26:48 which implementation do you use? 21:27:19 I use Gambit, but just because it was first on Google 21:28:02 Chicken 21:28:11 *Judofyr* wonders if there is a point of switching 21:28:29 ikarus, larceny, plt-scheme 21:28:33 PLT and Chicken 21:28:42 the last one is highly recommended 21:28:59 -!- mreggen is now known as mreggen_ 21:29:17 -!- mreggen_ is now known as mreggen 21:29:38 PLT? what's so special about it? 21:29:51 *GOOD* IDE 21:30:13 good documentation 21:30:25 -!- AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has quit [Read error: 104 (Connection reset by peer)] 21:30:51 How do I specify (in plt eh) in an interface that a class will have a certain field? 21:30:53 large community with generally very helpfull people 21:31:29 plt has an FFI that has never failed to let me down :> 21:31:52 slom: right now I'm trying to learn Emacs too :P 21:31:53 there is always http://schemeide.sourceforge.net/ for gambit-c. Eclipse plugin with debugger and all 21:32:03 There is always "ex". 21:32:38 There's always TECO. 21:32:38 yeah seoushi because Eclipse doesn't totally suck *cough*cough* 21:32:54 http://www.jazzscheme.org/ looks like its the future for Gambit 21:32:57 I MAKE A BUTTERFLY FLAP ITS WINGS 21:33:14 heh, it's true eclipse sucks but when your a shortage of ide's you take what you can 21:33:29 jazz does look good but I can't get it to work 21:33:45 emacs is OK when you like it ... I generally find DrScheme better 21:34:03 If only Check Syntax was not dog-slow in R6RS mode 21:34:08 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 104 (Connection reset by peer)] 21:34:31 emacs makes my hands and brain hurt x.x 21:34:54 I just use scite and a terminal right now for lack of better options 21:34:54 Judofyr: DrScheme selling points: CheckSyntax and Macro Stepper 21:34:59 at least for me 21:35:17 slom: I'll check it out! 21:35:27 at least I have to get away from TextMate! 21:35:37 it *sucks* when it comes to Scheme 21:35:48 is there not a bundle for scheme? 21:35:55 it sucks too :P 21:35:58 anyway 21:35:59 heh 21:36:02 I have to go 21:36:12 thanks for the "help" :-) 21:36:30 -!- rudybot_______ [n=luser@q-static-138-125.avvanta.com] has quit [Read error: 110 (Connection timed out)] 21:36:48 Hmph I guess I can't use fields then. 21:36:58 They're so notationally elegant. 21:37:22 bpalmer [n=user@unaffiliated/bpalmer] has joined #scheme 21:38:18 Or maybe I could make an abstract superclass... 21:39:05 -!- wingo-tp [n=wingo@125.Red-83-32-65.dynamicIP.rima-tde.net] has left #scheme 21:40:21 synx: you can define in the interface that the class has to be derived from another class 21:40:28 I think 21:40:38 so make an class with only the fields 21:41:09 and constrain the interface so that implementing classes must inherit from the class providing the fields 21:41:32 hmm 21:42:16 Adamant [n=Adamant@c-76-29-188-22.hsd1.ga.comcast.net] has joined #scheme 21:42:48 at least thats what it says in the documentation for the class stuff ... dont ask me how to do that :) 21:42:48 I know you can make an interface that inherits from other interfaces, but don't know how to set up any sort of derivation requirement. 21:46:00 (class->interface class) 21:46:22 returns a interface with an derivation-requirement for the class 21:46:36 Really? Because the docs don't say that. :> 21:46:43 as far as I understand it from 5 mins of searching the PLT doc 21:47:08 (class->interface class)  interface? 21:47:10 class : class? 21:47:11 Returns the interface implicitly defined by class. 21:47:28 The implicitly-defined interface contains all of the classs public method names, and it requires that all other implementations of the interface are derived from the class. 21:50:58 All it says is "Returns the interface implicitly defined by class." Not that second part. 21:51:39 -!- vixey [n=yoo@amcant.demon.co.uk] has quit ["Quitting!"] 21:51:48 that second part is hidden in the page about the scheme/class module 21:52:11 the part after "A class implements an interface when it" 21:52:30 lab [n=lab@adsl-074-182-100-076.sip.chs.bellsouth.net] has joined #scheme 21:52:54 damn 21:52:57 -!- jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has quit [Read error: 145 (Connection timed out)] 21:53:01 Why is the guide in the reference xD 21:53:21 I'll have to read through that sometime. Never saw scheme/class before. 21:53:29 -!- kazzmir_ [n=kazzmir@c-98-202-86-149.hsd1.ut.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 21:54:01 synx: what version of PLT are you using? 21:54:23 Latest release. I'm just easily confused. 21:54:44 I was trying to imply that the reference looked more like a guide from where you pointed me. 21:54:54 kazzmir [n=kazzmir@c-98-202-86-149.hsd1.ut.comcast.net] has joined #scheme 21:56:38 jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has joined #scheme 21:56:40 synx: take everything I say with a grain of salt ... I have never used the PLT class system before ;) 21:57:06 -!- lab [n=lab@adsl-074-182-100-076.sip.chs.bellsouth.net] has quit ["Leaving"] 21:57:32 yeah, but you solved my problem nicely, and I've been using PLT classes for months :> 21:58:37 -!- ejs1 [n=eugen@71-189-124-91.pool.ukrtel.net] has quit ["Leaving"] 22:10:18 asmips [n=asmips@adsl-074-182-100-076.sip.chs.bellsouth.net] has joined #scheme 22:13:27 noamsml [n=quassel@adsl-75-45-249-116.dsl.sfldmi.sbcglobal.net] has joined #scheme 22:14:53 MrFahrenheit [n=RageOfTh@92.36.149.84] has joined #scheme 22:18:03 -!- saccade_ [n=saccade_@COMBINATOR.MIT.EDU] has quit [Read error: 110 (Connection timed out)] 22:21:44 -!- not_noamsml [n=quassel@adsl-75-45-249-116.dsl.sfldmi.sbcglobal.net] has quit [Read error: 113 (No route to host)] 22:22:09 not_noamsml [n=quassel@adsl-75-45-249-116.dsl.sfldmi.sbcglobal.net] has joined #scheme 22:25:46 berat [n=berat@d-stu.ibun.edu.tr] has joined #scheme 22:25:48 hey 22:26:11 -!- choas [n=lars@p5B0DFB57.dip.t-dialin.net] has quit ["leaving"] 22:26:35 i try to write lambda sentence.But i cannot find my mistake in that sentence (lambda x ((lambda y (y x) (lambda x x )) x)) possibly paranthesis is mistake but i cannot find can you help me a little bit 22:27:59 berat: Try (lambda (y) (y x)) 22:28:17 -!- jgracin [n=jgracin@82.193.210.126] has quit [Remote closed the connection] 22:31:40 that 22:31:45 gives parse error 22:31:50 -!- RageOfThou [n=RageOfTh@92.36.168.46] has quit [Read error: 101 (Network is unreachable)] 22:32:04 i wrote somefunction that understands valid lambda sentence 22:32:35 but Quetzalcoatl_ i want to write (lambda x ((lambda y (y x) (lambda x x )) x)) 22:32:54 because this is more important then basic lambda sentence 22:32:59 how can i fix that 22:33:20 (lambda (x) ((lambda (y) (y x) (lambda (x) x )) x)) 22:34:02 slom: JFYI, that's a good way to submit a bug report that is not going to get anywhere. 22:35:05 eli: enlighten me :) 22:36:16 slom: You write about a problem that is known, and that very few peole care about enough to fix; a solution like "the easy way is to use X" is not something that anyone will dare try since it implies deeper commitment. 22:36:18 annodomini [n=lambda@pool-151-203-235-220.bos.east.verizon.net] has joined #scheme 22:37:34 leppie [n=lolcow@196.210.200.235] has joined #scheme 22:37:54 eli: how much commitment does it need to copy 1 directory and 2 files? 22:38:30 -!- noamsml [n=quassel@adsl-75-45-249-116.dsl.sfldmi.sbcglobal.net] has quit [Read error: 113 (No route to host)] 22:38:44 eli: what would be a better way? I have seen this question comming up in the mailing lists at least twice ... so there seems to be some interest 22:38:51 just not from inside PLT 22:39:20 slom: You'd need at least: (a) to do the copying and adjust minor things to get it to work; (b) solve various minor bugs that will undoubtedly come up because if differences with Ikarus; (c) be responsible to write some form of a test suit; (d) be willing to maintain the code in the long run. 22:40:59 -!- kazzmir [n=kazzmir@c-98-202-86-149.hsd1.ut.comcast.net] has quit [Read error: 145 (Connection timed out)] 22:40:59 eli: wrt. a) there is allready some compat file for mzscheme AFAIK ... 22:42:35 -!- mreggen [n=mreggen@cm-84.215.50.79.getinternet.no] has quit ["leaving"] 22:42:53 mreggen [n=mreggen@cm-84.215.50.79.getinternet.no] has joined #scheme 22:43:07 wrt. c) is there some test suite for SRFI 1 allready in PLT? 22:43:31 What would be neat is if I could just load all the symbols from one module into a testing module that extends it by providing tests. It'd be the same as putting the tests in the module file except they'd be in a separate file and could require stuff not normally needed. 22:43:44 d ... it would be probably the best to have the launchpad stuff be some kind of "upstream" dependency for PLT 22:44:06 not sure how you handle that stuff 22:44:55 currently I cant just tell my users to use the launchpad stuff because PLT includes broken SRFIs on its own, resulting in name clashes 22:45:16 (require (is-equivalent "module.ss")) or something. 22:45:25 *eli* is on the phone 22:48:54 slom: (a1) *Someone* needs to do the work; (a2) an Ikarus compatibility file is not likely to be included with PLT -- you'd need some very good reasons to add that; (a3) I'm not just talking about theoretical issues, there is at least one major difference between the Ikarus and the PLT realizations of the R6RS module system. 22:49:21 slom: (c) Yes there is a test suite -- but a commitment from some specific person is much more important. 22:50:05 kazzmir [n=kazzmir@c-98-202-86-149.hsd1.ut.comcast.net] has joined #scheme 22:50:17 slom: (d) yes, I know that there is the Ikarus launchpad, having PLT depend on it is pretty much out of the question, given our own the efforts. 22:50:19 AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has joined #scheme 22:51:05 i ask one more thing. I wrote a parse method for lambda calculus how can i make this true ? (lambda x (lambda y (lambda z (((N q) S) t) ((((w r) (lambda x s) k))))))) 22:51:42 berat: why do you want "lambda"? 22:51:58 Use another symbol, and define syntax. 22:55:13 ASau, 22:55:19 my drscheme gives me an error 22:55:24 i put symbol lambda 22:55:32 when i click run button 22:55:42 I have no idea about drscheme. 22:55:44 symbol lambdal becomes square imeediately 22:55:57 so i used lambda 22:58:23 saccade [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 22:58:40 eli: where do I find that testsuite? 22:58:45 -!- saccade [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Client Quit] 22:58:59 slom: collects/tests 22:59:25 how can i fix that sentence i cannot find :d 23:00:03 -!- rudybot________ [n=luser@q-static-138-125.avvanta.com] has quit [Read error: 60 (Operation timed out)] 23:00:52 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 104 (Connection reset by peer)] 23:01:10 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 23:01:44 eli: one question, how do I build mzscheme alone? 23:02:00 That's a matter of continuous support... 23:03:20 first you log off irc... 23:04:31 can someone help me how to write that lambda sentence 23:04:43 ASau: Look through the toplevel makefile targets. The way we do our build is to build the whole thing and choose parts to distribute, including the source packages (which also mean that if the mred source directories are not present, it will not get built). 23:05:39 -!- jewel [n=jewel@dsl-242-138-129.telkomadsl.co.za] has quit [Read error: 113 (No route to host)] 23:09:53 -!- hiyuh [n=hiyuh@KD125054017176.ppp-bb.dion.ne.jp] has quit ["|_ e /\ \/ i |/| G"] 23:10:02 -!- jcowan [n=jcowan@72.14.228.89] has quit ["Leaving"] 23:18:57 -!- jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has quit [Connection timed out] 23:19:06 kniu [n=kniu@DA-YU.RES.CMU.EDU] has joined #scheme 23:19:29 jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has joined #scheme 23:21:46 eli: wrt 3a) contrary to other people I have allready written R6RS libraries that work on several different implementations, so I'm (painfully) aware of the differences 23:23:17 -!- hadronzoo_ [n=hadronzo@ppp-70-251-32-108.dsl.rcsntx.swbell.net] has quit [] 23:23:23 eli: a2/d) ... the srfi implementations on launchpad are not directly linked to ikarus ... instead they try to support several implementations ... 23:23:57 ... and have several copability libraries ... larceny/mzscheme/ikarus 23:24:05 LobsterMan [n=a@host72-50.student.udel.edu] has joined #scheme 23:24:06 ttmrichter [n=ttmricht@219.140.250.105] has joined #scheme 23:24:28 is there any simple way to find the last item of a list? 23:24:44 like (car is the first, but can i easily get at the last? 23:25:08 eli: In case that was not clear: I'm trying to find out just how much effort would be required to integrate this stuff into PLT 23:25:36 eli: so the next steps would be to port the test cases to R6RS I guess ... 23:25:37 :) 23:25:41 YOSH my general tests worked 23:26:04 man I suck... I'm reimplementing the whole architecture like 3 times before I figure out what works. 23:26:19 LobsterMan: srfi 1 has LAST, or you can do (car (reverse l)) 23:26:43 ah ok 23:27:33 p1dzkl: what would be the difference in runtime for that? 23:27:34 slom: The single most important point in all of this is support. Would you be willing to do the work and support it for the next N years, preferably for N>3? That should include fixing bugs, incorporating updates, and being responsive enough to verify that things work as expected on every release (which is happenning over a few days). 23:28:46 mmmulani: I expect LAST to be faster, because it doesn't bother making a reversed list 23:28:51 slom: Doing this commitment will make it much easier to have code added to the repository. (But writing launchpad compatibility code is not going to be something that people will be happy about -- at least I know I won't.) 23:29:14 yeah (last works 23:29:39 p1dzkl: oh, yeah both seem like O(n) operations if implemented in scheme. 23:29:57 eli: I think I got that point :) 23:30:50 mmmulani: right 23:32:20 (lambda x ((lambda y (y x) (lambda(x) x)) x)) this is tru lambda sentence ? 23:32:37 lst is 25% faster than last... 23:35:27 sladegen: that must be the reason why do-what-i-mean-today is so slow 23:41:16 rmns [n=ramunas@78-61-90-37.static.zebra.lt] has joined #scheme 23:42:09 -!- rmns [n=ramunas@78-61-90-37.static.zebra.lt] has left #scheme 23:48:34 error_developer_ [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 23:52:17 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 110 (Connection timed out)] 23:54:31 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 23:57:32 okay... um... when I run in general.ss (bytes-extract-header '(2 2 2 2) #"aaaaaaaaaaaaaaaaa") I get 5 values, like I designed it. But when I (require (prefix-in general: "general.ss")) somewhere else, (general:bytes-extract-header '(2 2 2 2) #"aaaaaaaaaaaaaaaaa") states "context expected 1 value, received 5 values" 23:57:51 Both times I'm running the procedure at the drscheme prompt, which accepts multiple values just fine.