00:08:53 lewis1711 [~lewis@125-239-255-244.jetstream.xtra.co.nz] has joined #scheme 00:09:52 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: new computer *u*] 00:15:29 -!- gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Ping timeout: 276 seconds] 00:15:45 gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 00:19:39 masm [~masm@bl15-129-210.dsl.telepac.pt] has joined #scheme 00:22:03 is there any good reason to avoid *local* mutable state in scheme, since as an "impure" FP language with loads of implementations you can't rely on the compiler optimising based on lack of state? 00:29:11 caoliver [~userName@75-134-208-20.dhcp.trcy.mi.charter.com] has joined #scheme 00:29:27 copumpkin [~pumpkin@209-6-232-56.c3-0.sbo-ubr1.sbo.ma.cable.rcn.com] has joined #scheme 00:29:27 -!- copumpkin [~pumpkin@209-6-232-56.c3-0.sbo-ubr1.sbo.ma.cable.rcn.com] has quit [Changing host] 00:29:27 copumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 00:32:15 lewis1711, local mutable state is fine 00:32:26 mostly because being purely functional can get tiresome 00:32:31 ha 00:33:04 snarkyboojum [~snarkyboo@67-23-4-190.static.slicehost.net] has joined #scheme 00:35:15 It's like continuations: you want to use them in fairly stereotyped ways that you can reason about. 00:37:44 well i figure if the mutations are local, I can still reason about it pretty well 00:38:00 I mean the function will still give the same output for the same args no matter what 00:38:24 and local function state gets destroyed anyway, so even if I did some trickery with allocating an entirely new list/whatever...same end result 00:38:36 as long as I don't mutate the arguments... but then again, i am new to FP 00:38:39 Oh, you mean variable assignments as opposed to data structure mutations, or do you mean mutations in local data structures? 00:38:56 lewis1711: I think it depends on your particular program. 00:39:05 hmm, letme cook up an example 00:39:52 Does mutation make your program simpler or easier to understand? After all it's about managing complexity. 00:40:47 Grazl: What kind of markdown are yo uinterested in? 00:40:59 -!- k04n [~k04n@cpe-76-175-192-194.socal.res.rr.com] has quit [Remote host closed the connection] 00:41:37 eli, Markdown in the sense of the Daring Fireball tool. (http://daringfireball.net/projects/markdown/) 00:41:57 rudybot: (define (create-vector a b c) (define v (make-vector 3)) (vector-set! 0 a) (vector-set! 1 b) (vector-set! 2 c) v) 00:41:57 lewis1711: your sandbox is ready 00:41:58 lewis1711: Done. 00:42:00 rien [~rien@dyn-160-39-34-114.dyn.columbia.edu] has joined #scheme 00:42:05 (create-vector 1 2 3) 00:42:12 rudybot: (create-vector 1 2 3) 00:42:13 lewis1711: error: vector-set!: expects 3 arguments, given 2: 0 1 00:42:23 lol whoops 00:42:26 but you get my point 00:42:27 Nevertheless, some kind of similar filter could do as long as it's easy in the eyes and can be converted to HTML. 00:42:37 -!- gozoner [~ebg@ip68-6-68-92.sb.sd.cox.net] has quit [Read error: Connection reset by peer] 00:42:46 that's what I mean by mutating local state jcowan 00:43:11 gozoner [~ebg@ip68-6-68-92.sb.sd.cox.net] has joined #scheme 00:43:30 Grazl: Are you asking specifically about an implementation of that syntax, or about something similar? 00:45:15 eli, an implementation of the original would be the best option but i'll take any similar choice before rolling my own bug-ridden filter. 00:45:32 rudybot: (define (create-vector a b) (define v (make-vector 2)) (vector-set! v 0 a) (vector-set! v 1 b) v) 00:45:33 lewis1711: Done. 00:45:39 rudybot: (create-vector 1 2) 00:45:39 lewis1711: ; Value: #(1 2) 00:45:42 there 00:46:06 lewis1711: The function you want is called "vector". 00:46:14 yeah I know 00:46:17 it's an example 00:46:29 of mutating local data in a function 00:47:00 Grazl: In that case there isn't; but there is the scribble syntax that is easy enough to serve as a markdown kind of thing -- it's being used in the documentation system, and in a new language for producing html output (not documented yet, though). 00:47:03 Oh, I see. Well, since the function is a constructor, it's going to have to do some mutation for initialization. Typically initialization in a constructor is not counted against you. 00:47:23 ah 00:47:27 good to know 00:47:32 :D 00:47:33 Grazl: An advantage of that syntax is that it's much more uniform and doesn't suffer from the many problems that the conventional markdowns carry with them. 00:47:56 (Which is visible once you run into edge cases that are not easily accomodated by the syntax.) 00:49:17 -!- ski [~slj@c83-254-21-112.bredband.comhem.se] has quit [Ping timeout: 264 seconds] 00:49:31 mathguru123 [~mathguru1@c-24-11-171-16.hsd1.mi.comcast.net] has joined #scheme 00:49:37 ski [~slj@c83-254-21-112.bredband.comhem.se] has joined #scheme 00:50:35 eli, can the scribble filter be used from `#lang racket' on a given string to get HTML? It's my understanding it was meant for batch processing. 00:51:22 I must agree Markdown is quite picky on corner cases. 00:55:01 jonrafkind, on the purely functional thing... I remember quoting that "we program for side effects" on #haskell. It wasn't that well received though, but led to an interesting discussion. 00:55:38 rofl, whats the counterargument to that? 00:55:48 a non-side effecting program sounds pretty worthless to me 00:57:06 is ending a side effect? if it's not then I can think of some useful programs without side-effects 00:57:57 Grazl: is there a reference for that "we program for side effects" snippet? 00:58:40 -!- specbot [~specbot@common-lisp.net] has quit [Ping timeout: 255 seconds] 00:59:08 rien, maybe a log somewhere at most, it was just a silly somewhat-flaming sentence to get some talking going on. 00:59:29 Grazl: I'm talking about the syntax only. For example, see http://tmp.barzilay.org/x 00:59:30 "program, please end if you find a solution to cancer, otherwise keep computing!" 00:59:33 Grazl: oh gotcha, I thought it was an essay/article/blog post by someone interesting 01:00:10 -!- flipzagging [~flipzaggi@wikimedia/NeilK] has quit [Ping timeout: 240 seconds] 01:00:10 jonrafkind: no, but simply knowing whether something ends has a value 01:00:42 like what 01:00:45 also there are tricks to extend the life of a program timewise without side effects 01:01:02 and you could use 1 minute to signify "yes" and more to signify "no" for a given question 01:01:19 think about that for a sec, and I'll brb :) 01:01:31 how do you know how long something takes to compute? 01:01:35 how do you know what 1+x is? 01:02:58 eli, the @syntax looks practical, being able to embed scheme code is certainly useful too. 01:02:59 that is, if your program takes 5 minutes to compute, is that yes or no? 01:03:59 unless you mean try it both ways and subtract the time, but then I would say waiting 1 extra minute is a side effect 01:04:04 Grazl: Yeah, and with the html thing that I talked about you get html tags as bindings -- so @b{foo} becomes a very practical replacement for some *foo* syntax that breaks as soon as you want to bold some "weird" text like "*". 01:06:26 blueadept [~blueadept@unaffiliated/blueadept] has joined #scheme 01:10:08 It seems at-exp and scribble/text will do. Thanks eli. 01:11:23 -!- vu3rdd [~vu3rdd@fsf/member/vu3rdd] has quit [Remote host closed the connection] 01:15:01 -!- carleastlund [~cce@gotham.ccs.neu.edu] has quit [Quit: carleastlund] 01:15:26 -!- pygospa [~pygospa@kiel-5f77b27d.pool.mediaWays.net] has quit [Disconnected by services] 01:15:38 pygospa [~pygospa@kiel-4dbec660.pool.mediaWays.net] has joined #scheme 01:20:19 -!- gravicappa [~gravicapp@ppp85-140-119-72.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 01:21:21 Grazl: Oh, `scribble/text' is even simpler -- that's just a language for producing simple text. (The other thing that I was talking about is `scribble/html', which is kind of an extension of `scribble/text'.) 01:23:53 I should try using scribble 01:24:01 is there a good intro to it somewhere, eli? 01:26:10 elly: There's the scribble documentations... and IIRC the beginning is an intro-like piece of text. 01:26:11 jcowan_ [~John@cpe-74-68-112-189.nyc.res.rr.com] has joined #scheme 01:26:47 I have to admit 01:26:57 when the name first changed from plt-scheme to racket, I thought it was exceedingly silly 01:27:05 but it now seems less unwieldy and more descriptive 01:28:39 -!- githogori [~githogori@63.sub-75-210-201.myvzw.com] has quit [Read error: Connection reset by peer] 01:29:01 What seemed silly about it? 01:29:10 -!- jcowan [~John@cpe-74-68-112-189.nyc.res.rr.com] has quit [Ping timeout: 240 seconds] 01:29:50 it just seemed unnecessarily gimmicky and kind of harsh to the ears 01:30:04 also, is there a way to get racket to start up as a particular language in the #lang sense? 01:30:08 I'd like to experiment with datalog 01:30:40 -!- Grazl [~Grazl@94.Red-83-40-106.dynamicIP.rima-tde.net] has quit [Disconnected by services] 01:30:52 Grazl [~Grazl@94.Red-83-40-106.dynamicIP.rima-tde.net] has joined #scheme 01:31:37 myu2 [~myu2@v077103.dynamic.ppp.asahi-net.or.jp] has joined #scheme 01:31:42 oh, '#lang datalog' doesn't work in drracket either 01:35:46 elly: RACKET: BRACKETS without the BS! <-- my very unofficial slogan for Racket. :-P 01:36:39 -!- jonrafkind [~jon@crystalis.cs.utah.edu] has quit [Ping timeout: 240 seconds] 01:37:49 *eli* is impressed with that word game. 01:37:56 Hehehe. :-) 01:38:11 elly: `#lang datalog' should definitely work. If it doesn't then something is very wrong. 01:38:57 As for starting with a given language with racket -- something like `racket -I foo' should work, but I'm not sure that it will give you the special datalog syntax. 01:39:32 And as for the name -- "harsh on the ears", is IMO a feature -- one earlier suggestion was "honu" which I though sounded much too soft to catch up. 01:41:31 homie` [~levgue@xdsl-78-35-169-58.netcologne.de] has joined #scheme 01:41:52 wbooze` [~levgue@xdsl-78-35-169-58.netcologne.de] has joined #scheme 01:42:02 Language: datalog; memory limit: 128 MB. 01:42:02 Module Language: invalid module text 01:42:02 . datalog: Unexpected token EOF in: #f 01:42:07 ^ result of "#lang datalog' in racket 01:43:08 (5.0.1, if it matters) 01:43:15 -!- homie` [~levgue@xdsl-78-35-169-58.netcologne.de] has quit [Client Quit] 01:43:22 elly: You can't use #lang in the command-line Racket. Or at least I've never made that work. 01:43:35 -!- wbooze [~levgue@xdsl-78-35-164-12.netcologne.de] has quit [Ping timeout: 255 seconds] 01:43:38 -!- wbooze` [~levgue@xdsl-78-35-169-58.netcologne.de] has quit [Client Quit] 01:43:51 -!- homie [~levgue@xdsl-78-35-164-12.netcologne.de] has quit [Ping timeout: 240 seconds] 01:44:08 elly: But maybe I'm barking up the wrong tree. Hmm. 01:44:18 I put #lang datalog inside the top of the DrRacket buffer, and it works for me. 01:45:08 azathoth99 [908e0c4e@gateway/web/freenode/ip.144.142.12.78] has joined #scheme 01:45:10 cky: really? it works ok for me. But I have only tried a few languages. 01:45:18 http://community.schemewiki.org/?Stalin does this mean stalin compiles to machine code? 01:45:43 homie [~levgue@xdsl-78-35-169-58.netcologne.de] has joined #scheme 01:45:44 azathoth99: It compiles to C, and your C compiler makes object code out of it. 01:45:52 wbooze [~levgue@xdsl-78-35-169-58.netcologne.de] has joined #scheme 01:45:53 elly: Probably something that was fixed -- it was very new in 5.0.1. 01:46:02 Looks fine in the nightly build, at least. 01:46:46 Also looks fine in 5.0.2 01:53:38 dnolen [~davidnole@184.152.69.75] has joined #scheme 01:53:59 -!- Grazl [~Grazl@94.Red-83-40-106.dynamicIP.rima-tde.net] has quit [Quit: Grazl] 01:55:22 -!- dfkjjkfd [~paulh@210-11-ftth.onsnetstudenten.nl] has quit [Quit: Lost terminal] 01:57:53 is there any built in way in r5 to create an empty list of some arbitrary length? 01:58:13 (I can think of ways around it, but why re-invent the wheel..) 02:02:59 lewis1711: What does that even mean? 02:03:34 (make-list 5) -> (0 0 0 0 0) 02:03:34 or so 02:04:15 guessing it doesn't exists, since there's nothing in TSPL:P will just make a function 02:05:02 azathoth99: That is to say, Stalin compiles today's code to C code tomorrow, which compiles to machine code the day afterward. 02:07:01 seems quite minimal. I'd just use gambit. perhaps stalin is faster? 02:07:03 *lewis1711* shrugs 02:09:52 rudybot: (make-list 5 0) 02:09:52 cky: your racket sandbox is ready 02:09:52 cky: ; Value: (0 0 0 0 0) 02:09:55 lewis1711: ^^--- 02:10:55 cky: that's not in r5 02:11:03 lewis1711: Hahahahahahahaha. 02:11:10 -!- jcowan_ is now known as jcowan 02:11:17 oh smug laughter 02:11:20 my favourite kind 02:11:21 lewis1711: If it's not in R5RS, it's probably in SRFI 1. 02:11:28 yeap 02:11:46 probably is 02:11:50 lewis1711: You got something against using SRFIs? 02:11:54 so the machine code from stalin is quite fast? 02:12:11 cky: doesn't the implementation have to support it? or do you just download the reference implementation and load it 02:12:12 ? 02:12:19 Yes, because of all the inference Stalin does (which is also what makes it slow). 02:12:20 where do i read about moving file and deleteing renaming them using scheme? 02:12:22 lewis1711: Both. 02:12:33 lewis1711: You can use the reference implementation on implementations that don't have it "built in". 02:12:53 can you? alright, I might just download it then 02:13:10 azathoth99: There is no standard way, it's implementation-dependent. 02:13:55 -!- dnolen [~davidnole@184.152.69.75] has quit [Quit: dnolen] 02:17:35 hmm 02:17:45 chicken manual lil sparse let me see.... 02:17:53 thanks for responding btw 02:18:06 lewis1711: Only a very minimal Scheme won't have SRFI 1 already available. 02:18:19 jcowan: Chez is minimal? :-O 02:18:23 jcowan: gambit doesn't. 02:18:31 gambit is pretty minimal though 02:19:15 True. 02:19:21 cky: Chez has SRFI 1 02:20:03 darn it sjaaaman ban me from chicken las week 02:20:04 but what can I say.... C connectivity is very important to me 02:20:09 now can't find out about file moving 02:20:09 haha, really? 02:20:16 what did you do? :O 02:20:27 http://wiki.call-cc.org/man/4/The%20User%27s%20Manual?action=show 02:20:28 I didn't even get banned from here for insulting emacs 02:20:31 -!- azathoth99 is now known as gavino 02:20:37 I used to get drunk and irc 02:20:44 I think I insulting him years ago 02:20:47 long memory 02:21:15 you can grab srfi-1 through slib 02:21:25 slib supports gambit 02:21:44 I could not for the life of me get slib working 02:21:50 DrAfk [~duck@216.186.151.63] has joined #scheme 02:21:51 d: 02:21:54 the documentation makes my brain bleed. 02:22:22 anyway, loading srfi-1 now, seems to work 02:22:25 chicken doc no picnic to find part about moving files 02:23:06 chicken docs are pretty good I reckon 02:23:32 > (make-list 4 0) 02:23:32 *** ERROR IN make-list, "1-list-library.scm"@228.4 -- Unbound variable: check-arg 02:23:37 hmm :/ 02:25:44 The reference implementaiton requires a few hooks, and that's one of them. 02:25:46 oh I see, mysteriously it's internally commented 02:25:53 hooks? 02:26:54 uncomming it, working now 02:26:55 Not hooks, really; supplementary procedures. 02:27:08 ah. I'm not entirely sure why it was commented out though 02:27:08 It's commented out because it's already there on the system he developed on. 02:27:12 ahhh 02:27:24 he did document it very thoroughly 02:27:33 lewis1711: did you read the source of the reference implementation of SRFI-1? 02:27:44 some of it 02:27:59 It clearly states what check-arg is, and what to do with it. 02:28:19 Axioplase: (15:25:46) lewis1711: oh I see, mysteriously it's internally commented 02:29:14 It wasn't clear, and it's not misterious. I don't know where you got your source from, but I suggest you glance at http://srfi.schemers.org/srfi-1/srfi-1-reference.scm 02:29:22 s/mist/myst/ 02:29:31 that's exactly where i got it from 02:29:53 mwolfe [~michael@cpe-67-49-72-40.socal.res.rr.com] has joined #scheme 02:29:57 "1-list-library.scm" doesn't make it clear either 02:30:28 it's the name of the srfi 02:31:07 It's not the name of the "official" reference implementation, so I could not *guess* that you had the same one. 02:31:10 I've been reading about Dialyzer, Erlang's type checker. Very neat stuff. 02:32:02 -!- tupi [~david@186.205.37.15] has quit [Quit: Leaving] 02:32:08 http://srfi.schemers.org/srfi-1/srfi-1.html "Title: List Library". how much more official do you want?:P 02:32:18 It provides "success typing", so it only complains when there is a hard type conflict. 02:33:26 Riastradh [debian-tor@fsf/member/riastradh] has joined #scheme 02:34:23 using SRFI's like this is surprisngly painless. I might grab the one with the whitespace syntax and try it for lols 02:36:11 They don't all have reference implementations, and some that do aren't very useful. But yes, in general. 02:36:19 Hey ho, Riastradh. 02:36:26 Hi. 02:37:22 jcowan: hmm, I see. oh well, srfi-1 was the big one I wanted anyway. 02:37:32 Always worth a look. 02:40:24 *cky* still has to finish the SRFI 41 port to Guile. 02:40:39 " thought these were lovely, but the public at large did not share my enthusiasm..." ohhh, Iota's :D 02:41:01 iota is awesome. It's so awesome that both APL and GolfScript have it. 02:41:46 Well, GolfScript has the 0..n-1 form, anyway. :-P 02:42:01 IIRC there was a SRFI just for iota. maybe it was the same guy 02:42:03 *lewis1711* checks 02:44:29 hahaha, I didn't know SRFI-1 was written by this guy http://www.wanderings.net/notebook/Main/BitterAcknowledgmentsOfOlinShivers 02:44:29 -!- acarrico [~acarrico@pppoe-68-142-62-150.gmavt.net] has quit [Ping timeout: 264 seconds] 02:44:44 Olin Shivers wrote quite a number of SRFIs. 02:45:28 nilg [~user@77.70.2.229] has joined #scheme 02:45:42 SRFI-1 has iota. 02:46:42 Yep, and it's tasty. 02:47:00 Olin Shivers is awesome 02:47:08 :-) 02:47:30 So what is it that Olin thought was lovely but the public etc.? 02:47:43 "I couldn't get through the day as it is without the Prozac and Jack Daniels I keep on the shelf" - he may be a good computer scientist, but he's a noob when it comes to drugs. 02:48:08 jcowan: it was the Iota stuff. for some reason I had it in my mind that there was a separate srfi just for it 02:48:27 jcowan: Atoms as degenerate improper lists. 02:48:46 Every object is an improper list 02:48:58 jcowan: Right, and that's Shivers's stance. 02:49:17 jcowan: However, many people fought him on it, so he made SRFI 1 functions not support standalone atoms. 02:49:30 I kinda agree with the others. 02:50:01 I mean, should (length 'foo) return -1? 02:50:10 or perhaps 0? 02:50:15 Well, what's (length '(foo . bar))? 02:50:31 So, 0 then. 02:51:45 *lewis1711* uncomments the iota stuff, and crosses fingers 02:52:21 So, back to success typing. Given an And function defined by the pattern match (#t #t) -> #t, (_ #f) -> #f, (#f _) -> #f, what is the appropriate type? 02:52:34 vu3rdd [~vu3rdd@nat/cisco/x-vickwosaszoeqosu] has joined #scheme 02:52:34 -!- vu3rdd [~vu3rdd@nat/cisco/x-vickwosaszoeqosu] has quit [Changing host] 02:52:34 vu3rdd [~vu3rdd@fsf/member/vu3rdd] has joined #scheme 02:52:55 Hindley-Milner typing willl type it is bool -> bool -> bool, which is correct but far from complete. 02:53:03 s/it is/it as 02:53:26 Define `type'. 02:54:37 Decline 'amo'. 02:55:35 For this purpose I will say that a type is a named set of values. 02:56:13 And I will name a type containing one value after the value. 02:56:38 What's wrong with bool x bool -> bool? What's it missing? 02:57:25 room seems full of people knowledgable on compsci... ahem. Would it be possibly in a dynamic language like scheme to use Hindley Milner *where it can*, to eliminate redundant type checking in the code where it's clearly unambiguous? 02:57:29 The fact that (And #f 'foo) and (And 'foo #f) are handled by the pattern matcher (which we will suppose to be complete) but are prevented by the type. 02:57:46 and then perhaps emit warnings such as "can't infer this type, will have to do run-time type checks" 02:58:04 The point is that H-M is a pessimistic type system, as this example illustrates. 02:58:41 Do you have an `any' type? If so, then your function sends any x any -> bool. 02:58:41 This And function in some sense does the right thing with non-booleans (it will barf on (And 'foo 'bar)). 02:59:09 lewis1711: Easy answer: I'd say no. 02:59:10 Yes, that is the sensible typing, but how is it to be found? That's the point of success typing. 02:59:45 Marlow-Wadler typing produces any -> #f -> bool, which is also correct but hardly intuitive. 02:59:51 Not trivially. 03:00:00 hmm, that norrows it down:) 03:00:13 as the next best thing, i quite like what bigloo does with type annotations 03:00:18 *narrows 03:00:40 OK, ((any x any) \ ((any \ bool) x (any \ bool))) -> bool. 03:02:17 -!- gavino [908e0c4e@gateway/web/freenode/ip.144.142.12.78] has left #scheme 03:02:27 gavino [908e0c4e@gateway/web/freenode/ip.144.142.12.78] has joined #scheme 03:03:01 lewis1711: because if you have (define x (read-input)) (+ x 1) (append x "foo"), it will say "x is a number", "x is a string", and then unification will fail. Moreover, unification algorithms don't care about the initial code, so you can't easily say "*here*, it's a number", and "*there*, it's a string". And moreover, you could have written wrong code, and it could infer crap. 03:04:05 Depending on the order you unify constraints, differents results may be obtained. 03:04:13 Axioplase: would it not fail by the fact you are using two procedures on it? "warning: x is of type int but is here used as type string" 03:04:39 but then perhaps it would not be scheme.. 03:05:31 Exactly. Scheme and Erlang are dynamically typed; success typing does not restrict the power of dynamic typing. 03:05:49 (let* ((a (read-tag)) (b (read-datum))) (case a ((x) ... (+ b 3) ...) ((y) ... (append b zot) ...) ((z) ... (string-ref b fnord) ...) ...)) 03:07:18 lewis1711: I'm not knowledgeable for other type systems, but Hindley-Milner is, as far as I understand it, not what you want. I think that HM is "everything or nothing", not "do your best, and conservatively say 'I don't know' when in doubt". 03:07:51 I see. it's all empty mental conjecture at this stage in my compsci education anyway 03:08:07 Furthermore, H-M doesn't like ad hoc polymorphism, which Scheme is full of. 03:08:09 I suggest you read about other type systems that were proposed for langages like Scheme and Erlang. 03:08:35 http://lambda-the-ultimate.org/node/1910 someone mentioned this. pretty damn interesting. 03:09:09 Dialyzer will only bitch when it sees that you are passing an integer to length, say, or when you have written a guard that always fails. 03:10:05 IOW, when you have done something that will always provoke a run-time error (which in Erlang is invariably fatal to the process it happens in) 03:12:09 anyone point me to chicken scheme docs about mvoing and deleting files? 03:12:26 sjaman booted em from chicken so I cant ask there 03:14:56 gavino: I would assume chicken has a way to access the shell. that'd be your best bet 03:15:18 gambit has something like (shell-command "rm file") 03:15:25 FYI: gavino is a notorious troll. 03:15:34 (system "ls -lh") 03:15:44 He's been pestering this channel for about six years or so. 03:15:49 I am learning some scheme and love chicken sofar. 03:15:56 Riastradh: ah 03:16:52 (Also, invoking the shell to delete a file -- or to do just about anything non-interactive, for that matter -- is pretty silly.) 03:17:16 why? 03:17:21 an example: today I had to clean out 755,000 sendmail files on a linux server 03:17:30 a bash loop was taking forever 03:17:31 i use it to run makefiles within gambit 03:17:36 since bash wont build an arg lsit this long 03:17:48 I used tcl and it cleaned them in 20s 03:18:05 now I like tcl but know scheme offer things tcl doesn't 03:18:23 so I go to find out how I could hav edone ti with chicken and fail 03:18:23 It is extremely error-prone. Example: Delete a file named `$LOGNAME'. Passing (string-append "rm " file) to the system(3) library routine won't do this very well. 03:18:57 right. I probably wouldn't do something like that. just quote whole strings verbatim 03:19:30 Quote how? Let's try (string-append "rm \"" file "\""). Problem: Suppose FILE is `"; rm -rf /; echo "'. 03:21:10 There is an almost reliable way to quote FILE. But it's pretty absurd, and invoking the umpteen billion system calls that the system(3) library routine entails, not to mention ruining the Scheme process's SIGCHLD handlers and I/O and threads and so on, is rather silly compared to a simple procedure that invokes the unlink(2) system call. 03:21:12 I wouldn't string-append anything 03:21:36 (shell-command "thing I want to do, no trickery, just the actual string") 03:21:52 Oh, sure, if you're typing that interactively. 03:22:03 -!- adu [~ajr@pool-173-73-0-57.washdc.fios.verizon.net] has quit [Quit: adu] 03:22:15 ah. didn't get what you meant by "non-interactively" 03:22:44 Riastradh: your name seems familiar. have you written some articles on the scheme wiki or something? 03:23:35 lewis1711: Riastradh has written _much much much_ more than "some articles on the scheme wiki". 03:24:13 well sorry for not rolling out a red-carpet and offering him my first born child:P 03:24:17 lewis1711: SRFI 43, foof-loop, paredit, Scheme style guide, tarsnap nonce bug, ... 03:24:26 He's mostly known for maiming many newbies here. 03:24:30 *Axioplase* vanishes 03:24:53 Funny, he's never maimed me. 03:25:03 I think he's Canadian. 03:25:13 fds: I don't. 03:25:15 haven't been maimed yet. I'll give it a few more months 03:25:25 But, he said "one thousand twenty four" 03:25:36 I doubt a British person would do that. 03:25:43 then again it's pretty hard to maim me. I may be a comp-sci noob, but I am an experienced internet arguer 03:26:29 fds: Hahahaha. 03:26:42 s/internet arguer/troll/ FTFY 03:27:23 *cky* sends fds one thousand and twenty-four IRC messages. 03:27:25 It's safe to say that Riastradh is not Canadian. 03:27:26 cky: there's a fine line. I guess I enjoy matching wits. 03:27:34 jcowan: Exactly. 03:27:45 a troll makes things up to piss people off. I say what I actually believe and it pisses people off. 03:27:59 That is, safe not only in the sense that it's true, but that he won't maim me for saying it. 03:28:13 jcowan: ;-) 03:28:19 *jcowan* often plays "Spot The Hidden Canadian" while watching TV 03:28:33 I can sometimes tell an american or candian apart 03:28:36 *canadian 03:28:46 I can't, unless they're typing 03:28:48 like, if they're wearing a mountie uniform, it's usually a give away 03:29:07 -!- masm [~masm@bl15-129-210.dsl.telepac.pt] has quit [Quit: Leaving.] 03:29:07 There's a three-part test, in the spirit of GLS's three-part test for CL. 03:29:10 no but there's a few vowels that sort of trigger me 03:29:14 *cky* can tell Chinese, Japanese, and Korean people apart. And Hong Kongers. :-P 03:29:32 "Speaking Cantonese is essentially shouting." 03:29:34 chinese and japanese are fine. koreans get mistaken for one or the other with me I'm afraid 03:30:09 cky: but don't you live in east asia? 03:30:28 Or Eastern America. :-P 03:30:45 But, this doesn't help me to identify Riastradh! 03:31:01 Or, Riastradh's nationality, at least. :-P 03:31:19 1) If your suspect doesn't rhyme "spider" and "inside her" (as in Little Miss Muffett), you probably have a Canadian. 03:31:39 2) If your suspect rhymes "about" with "boat" (not "boot", that's Scottish), you almost certainly have a Canadian. 03:31:54 3) If your suspect ends all his sentences with "eh?", you have a Canadian who is fucking with your head. 03:32:20 lewis1711: I was born in Hong Kong, so yes, that gives me an advantage in identifying Far East Asian people. 03:32:21 4) if they spell eh "aye", you have a New Zealander 03:32:32 lewis1711: I'm a New Zealander though (by virtue of having lived there for 20 years). 03:32:51 oh. for some reason i thought you live in singapore or something. must be someone else on the internet 03:33:22 I know a Michigander who `eh's 03:34:15 I thnI think he lives within minutes of the border though 03:34:23 (Damn lag) 03:34:37 Here's the CL test: 1) if you type T to the REPL it must return T 03:35:03 Oddly, you'd think places like Detroit/Lansing would have similar dialects, but they don't -- the difference is really sharp. 03:35:18 fds: Likely a UPer. 03:35:40 2) Define factorial naively, and evaluate (/ (factorial 1000) (factorial 999)). It must return 1000. 03:35:41 my forays into a common lisp REPL confused me greatly 03:35:44 Or is that spelled yooper? 03:35:51 (Yes, it is.) 03:36:05 back when i was deciding which LISP I should try and learn 03:36:09 What does it mean? 03:36:18 3) Evaluate (atanh -2). If you get a complex number, the implementation passes. Extra credit if it returns the correct complex number. 03:36:39 yooper ::= Michigander from the upper pen. 03:36:40 fds: Upper Peninsula = UP = yoop 03:36:50 I see, thanks. 03:37:08 (Wiki was actually slightly faster than you guys, but it's my fault for asking) 03:37:27 But you can believe us. 03:37:38 *jcowan* 's favorite Bulwer-Lytton entry is about a yooper terrorist plot to blow up the Straits bridge and secede from Michigan. 03:38:00 caoliver: True, random people on the Internet are full of truth! :-D 03:38:30 Same can be said for some of Wiki. I'm am not random. 03:38:52 -!- MrFahrenheit [~RageOfTho@users-146-124.vinet.ba] has quit [Ping timeout: 255 seconds] 03:39:00 The only difference between me and a madman, is that I am not mad. 03:39:34 :-) 03:40:04 OTOH, this one is quite good too: 03:40:05 It came to him in a cocaine rush as he took the Langley exit that if Aldrich had told Filipov about Hancock only Tulfengian could have known that the photograph which Wagner had shown to Maximov on the jolting S-bahn was not the photograph of Kessler that Bradford had found at the dark, sinister house in the Schillerstrasse the day that Straub told Percival that the man on the bridge had not been Aksakov but Paustovsky, which meant that is 03:40:06 was not Kleist but Kruger that Cherensky had met in the bleak, wintry Grunewald and that, therefore, only Frau Epp could have known that Muller had followed Droysen to the steamy, aromatic cafe in the Beethovenstrasse where he told Buerger that Todorov had known since the Liebermann affair that McIntyre had not met Stoltz at the Goerlitzer Bahnhof but instead had met Sommer at the cavernous Anhalter Bahnhof. 03:42:22 githogori [~githogori@adsl-66-123-22-146.dsl.snfc21.pacbell.net] has joined #scheme 03:44:56 *cky* wants to see someone refer to Wikipedia as Wiki on #stackoverflow. Gives me a reason to use /kick. :-P 03:45:04 (Re fds, caoliver.) 03:48:36 Trouble with abbrevs? 03:49:21 cky: I don't get it 03:49:40 We already have the abbrev WiPe available. 03:49:48 for people who don't like Wikipedia. 03:50:11 I was unaware. 03:50:17 I like it though. 03:50:57 Riastradh: cool srfi bro 03:52:39 As a scheme compilers newbie wanting to make something targeting the Cog (Squeak) VM, besides Steele, Krantz, and Queinnec, what else should I put in my reading list? 03:53:08 timj_ [~timj@e176193003.adsl.alicedsl.de] has joined #scheme 03:53:26 -!- gavino [908e0c4e@gateway/web/freenode/ip.144.142.12.78] has quit [Ping timeout: 265 seconds] 03:53:51 jcowan: Hehehehe. 03:53:58 jcowan: I'm happy to stick with Wikipedia. 03:54:15 I write WP if I need an ab. 03:54:27 lewis1711: Wiki is a generic term. Wikipedia is an instance of a wiki, as is WikiWikiWeb, MeatballWiki, etc. 03:54:28 WorkPerfect? 03:54:38 errr... WordPerfect 03:54:47 cky: ah. so it's like my hatred of people using ANSI C for C89 03:54:58 lewis1711: So, people referring to Wikipedia as Wiki is basically showing their ignorance of other wikis. 03:55:23 lewis1711: It's C90! :-P (But, yes, I get your point.) 03:55:25 cky: as an occasional Smalltalker, I was aware of Wiki and its origins. 03:55:34 caoliver: Very good, very good. 03:55:37 haha 03:55:51 -!- timj__ [~timj@e176192221.adsl.alicedsl.de] has quit [Ping timeout: 240 seconds] 03:55:52 -!- Modius [~Modius@cpe-70-123-158-125.austin.res.rr.com] has quit [Quit: "Object-oriented design" is an oxymoron] 03:55:54 smalltalk is on the todo list, but I cannot figure out the squeak program/interface 03:56:10 lewis1711: Use a different implementation, then. 03:56:13 Yes, it's become obsolete over time. 03:56:14 Squeak isn't the only game in town. :-P 03:56:23 jcowan: What has? Smalltalk? C90? 03:56:30 Hang a sec. Teapot is screaming. 03:56:36 The ST80/Squeak GUI 03:56:42 Ah. 03:57:58 cky: can you recommend one then? 03:58:00 or rather the old GUI. Morphic became obsolete long before it caught on. 03:58:06 or was it just a general comment;) 03:58:08 lewis1711: No, I don't know jack about Smalltalk. 03:58:20 Hey. I sort of like Morphic. 03:58:22 lewis1711: All I know is that Squeak is one of a number of implementations. 03:58:28 Pharo is my favorite 03:58:48 although I rarely ever used it :P 03:59:16 lewis1711: I recommend Pharo. it's where Seaside is developed 03:59:22 Unfortunately lthere aren't that many FLOSS Smalltalks. 03:59:48 Pharo is open source 03:59:55 And sadly, compared with Scheme and Lisp, there a few if any good books. 04:00:09 ARE few. 04:00:20 most smalltalk books are free, the publishers themselves released the rights 04:01:24 Is that true of the Xerox blue book. I have a dream of an online version something like the Symbolics DocEx. 04:01:52 If language L has index j and language M has index k, does L union M have index j+k? 04:01:54 i'm pretty sure the blubook is free too 04:02:09 thanks rien, will check out pharo 04:02:28 acarrico [~acarrico@pppoe-68-142-62-150.gmavt.net] has joined #scheme 04:03:01 lewis1711: http://stephane.ducasse.free.fr/FreeBooks.html <-- blue book is there for free (all are LEGAL) 04:03:45 pharo by example? 04:04:50 -!- blueadept [~blueadept@unaffiliated/blueadept] has quit [Remote host closed the connection] 04:04:53 I know about that, but making an online editable version like the hyperspec might involve some legal challenges as its a derived work rather than an exact copy. IANAL, so I might be speaking bafflegab. 04:05:31 I learned Squeak/Pharo/Cuis with PBE+the Xerox book. 04:05:40 ;;; Not the best LET*-OPTIONALS, but not the worst, either. Use Olin's if it's available to you. 04:05:48 in srfi-43. anyone know what that refers to? 04:05:51 Xerox book ::= the blue or purple book. 04:05:55 (gambit doens't like the definition 04:06:23 lewis1711: What's that in regards to? 04:06:47 in SRFI-43. a comment, just above his definition of LET*-OPTIONALS 04:06:54 I imagine it's another SRFI but can't find it 04:07:54 lewis1711, you don't really want to use SRFI 43. Everything in SRFI 43 is more clearly expressed using foof-loop. 04:08:46 Also, there is nothing insightful to be found by reading the SRFI 43 implementation. 04:09:07 Riastradh: the reason I am reading it is because it didn't load as is 04:09:22 but will check out foof-loop 04:09:56 Riastradh: Are there any plans to make foof-loop a SRFI? 04:10:02 No. 04:10:05 Hmm. 04:11:38 tbh I think I'll preform my functions on lists then convert it to a vector at the end...then again the advantage of a vector is (in my mind) faster iteration as it's contiguous in memory. unless vectors mean something else in scheme land 04:11:42 to TSPL v3, batman! 04:12:03 lewis1711: Yes, vectors are contiguous. 04:12:28 "Vectors are more convenient and efficient than lists for some applications. Whereas accessing an arbitrary element in a list requires a linear traversal of the list up to the selected element, arbitrary vector elements are accessed in constant time." 04:12:31 right, so faster ref 04:13:15 nilg` [~user@77.70.2.229] has joined #scheme 04:13:24 and I believe lists are faster to append, since each element has a pointer, where as when you append two vectors a lot of stuff has to be moved around so they're contiguous 04:13:28 cky: ah 04:14:04 I think it should be the opposite 04:14:20 but I see your line of thought 04:14:27 how so? 04:14:42 *cky* is perplexed at rien's statement. 04:14:48 indeed appending two lists is a simple matter of changing the pointer of the last item of the list, however you have to walk a bunch to get there 04:14:55 faze` [~faze`@c-66-41-214-124.hsd1.mn.comcast.net] has joined #scheme 04:15:00 I'm no hardware expert, but traversing a flat list would require jumps in memory of undeterminabe size, whereas with a vector it's right there 04:15:04 whereas for arrays it's a simple realloc that has been optimized to death 04:15:16 lewis1711: You do get cache locality. 04:15:18 oh the join thing 04:15:24 lewis1711: That's one advantage of contiguous storage. 04:16:04 rien: Scheme does not have realloc. 04:16:12 rien: Vectors are not resizeable. 04:16:21 cky: oh then ignore me 04:16:40 how does it allow appending of vectors then? 04:16:42 you're right, vectors are superior. screw you guys, I am making a new language called VEP for vector processing. and I will use curly braces 04:16:44 or it doesn't? 04:16:50 rien: You create a new one. 04:16:52 VEP lol 04:17:03 Ha! 04:17:25 I'd rather have HASP, oh wait that's called Lua 04:17:45 cky: oh then that's expensive 04:18:29 I keep thinking about learning lua, and hating that it's not an expression language. 04:18:39 that it has statements? 04:19:10 Yep. If not returning a value is a screw. 04:19:31 rien: yeah I was just thinking that. except in Lua the whole program isn't a table 04:19:34 and how about TAP? 04:19:57 could have a compiler called tap-that :/ 04:20:21 actually, speaking of Lua... *attempts an idea he had earlier* 04:21:09 *cky* wants to make a trie-based language called triep, aka tripe, get it? :-P 04:21:12 lewis1711: good point. 04:21:27 I don't get it 04:21:45 I really like lua actually. I remember there was a good reason why you couldn't have a scheme on the Lua VM though 04:21:49 someone here told me 04:23:39 rien: Tripe is a...delicacy. Well, in some cultures. 04:24:10 rien: That would be like me saying curdled pig blood is a delicacy. You usually have to be some shade of Chinese to appreciate it. ;-) 04:24:14 lewis1711: was it in regards to tail calls? 04:24:28 cky: lol I see 04:24:30 possibly. but Lua has TCO I am pretty sure 04:24:37 lewis1711: Lua has TCO 04:24:39 I'm sure of it 04:24:44 I'm having to think hard about that in the context of Scheme on Squeak's VM. 04:24:48 what Lua doesn't have is Continuations 04:25:05 only coroutines without the clone method 04:25:08 Can't you do that with CPS conversion though? 04:25:43 yes if you write your whole program in CPS 04:25:49 lua doesn't CPS convert 04:26:05 destructive iteration was faster for a lot of stuff than recursion with lua 04:26:23 though my benchmakrs may have been flawed, I simply ran a function loads of times then took the system/real/user time 04:27:09 I clearly remember having written TCO code in Lua 04:28:46 rien: via trampolining or did Lua permit it without that hassle? 04:29:19 you'd write code as if it were scheme 04:29:37 if the last call wasn't part of an expression then that's it, it was a tail call 04:29:46 no hassle 04:30:13 Hmm... I don't have Lua on this machine, so I'll have to take your word for it. 04:32:32 http://lua-users.org/wiki/ProperTailRecursion 04:32:36 I think scheme is more lenient than that 04:32:37 Did anyone recommend me some studying beyond LiSP, RABBIT, and Orbit for my efforts to compile Scheme to Squeaks VM? 04:32:38 ? 04:33:14 copumpkin: wait, you wanna have scheme running inside a smalltalk image? 04:33:25 ? 04:33:46 lewis1711: What do you mean "more lenient"? 04:33:53 Let's have scheme run everywhere! 04:34:19 how's ironscheme, does anyone here know/care? 04:34:37 rien: leppie is the maintainer of it, and he's in this channel. 04:35:08 I asked that. One thing I like about squeak/cuis/pharo is having a thumb drive I can stick in just about any common computer and have something to hack. Trouble is that I don't like Smalltalk for everything. I'd like to stick a Scheme in there. 04:35:08 oh, so then ^W^W^W^W^W^W^W^W^W^W :P 04:35:34 copumpkin: I totally agree on both counts 04:35:44 cky: is it not clear from the xample? 04:35:54 lewis1711: not to me 04:35:55 rien: I think you're talking to someone else 04:35:59 lewis1711: No, please spell it out. 04:36:16 function fact(n) if (n==0) then return 1 else return n*fact(n-1) end end 04:36:21 copumpkin: wha do you mean? 04:36:23 is not tail recursive in lua 04:36:32 Lua will not CPS transform sir 04:36:34 lewis1711: It's not tail recursive, full stop. 04:36:38 isn't it? 04:36:42 nooo 04:36:42 lewis1711: Of course not. 04:36:45 lol 04:36:47 rien: I think you want to direct that to me. (caoliver) 04:36:49 fact() is part of an expression 04:36:52 well, that's educational :D 04:36:56 rien: you're talking to me when I have no idea what you're talking about, and hadn't spoken for a while when you highlighted me. Did you mean someone else? 04:36:57 I thought that was a lua limitation 04:36:58 copumpkin: oh, so sorry :/ 04:37:16 I can barely distinguish a from o here 04:37:18 no problem :) was just confused 04:37:20 lewis1711: Let's write it in Scheme: (if (zero? n) 1 (* n (fact (- n 1)))) 04:37:27 copumpkin: :) 04:37:37 lewis1711: Notice, something happens to the result of fact; it's not returned straight away. 04:37:41 lewis1711: Thus, it's not tail recursion. 04:37:47 de rien! ;) 04:37:53 heh 04:40:54 cky: I have much to learn on the path to scheme enlightenment :| 04:41:55 jonrafkind [~jon@jonr5.dsl.xmission.com] has joined #scheme 04:42:33 What else should I plan to study? As I recall Riastradh was involved with a T port, so at least someone here should be able to give a a few boots to the head. 04:42:58 s/a a/me a/ 04:42:58 lewis1711: I've been learning Scheme for most of a decade, and I'm still learning. :-) 04:43:00 caoliver: at one time, study should stop, and action should take precedence. 04:43:05 You'll learn by doing. 04:43:14 awww, SRFI-49 doesn't work. it looks so pretty too 04:43:24 cky: haha. I thought this was supposed to be a simple language! 04:43:44 lewis1711: Yes, it is. Its versatility comes from its simplicity. 04:43:55 And versatile means, there are lots of techniques. 04:43:55 pjb: problem is that certain stupidity causes you to discard large chunks of work. I'd rather learn from someone else's mistakes where possible. 04:44:18 e.g., foof-loop is an important Scheme library, but I still have yet to learn it. 04:45:00 lewis1711: Making fire with sticks is a much simpler method than with a lighter, that doesn't mean it's easier. :-P 04:45:12 humm 04:45:18 scheme seems reasonably high level to me 04:45:25 lewis1711: It _is_ high level. 04:45:45 well yes, but I in the grand scheme of HLL's I mean 04:45:51 I'd put it somewhere near the top 04:49:00 flipzagging [~flipzaggi@wikimedia/NeilK] has joined #scheme 04:51:41 -!- ski [~slj@c83-254-21-112.bredband.comhem.se] has quit [Ping timeout: 264 seconds] 04:52:10 ski [~slj@c83-254-21-112.bredband.comhem.se] has joined #scheme 04:54:55 -!- aisa [~aisa@c-68-35-165-60.hsd1.nm.comcast.net] has quit [Quit: aisa] 05:00:04 ;;; A few uses of the LET-OPTIONAL and :OPTIONAL macros for parsing 05:00:04 ;;; optional arguments. 05:00:08 macros, gotta catch em all 05:01:18 -!- gozoner [~ebg@ip68-6-68-92.sb.sd.cox.net] has quit [Remote host closed the connection] 05:03:15 -!- mathguru123 [~mathguru1@c-24-11-171-16.hsd1.mi.comcast.net] has quit [Read error: Connection reset by peer] 05:13:50 yes, monads are like burritos and macros are like pokemons :) 05:13:56 teurastaja [~user@modemcable182.177-200-24.mc.videotron.ca] has joined #scheme 05:14:34 omg, just found out about the do loop in scheme. will use it for some quick and dirty vector processing 05:14:55 lewis1711: "do" is just syntactic sugar around named let. 05:15:19 lewis1711: All instances of "do" can be expanded into named let. The converse does not apply. 05:17:03 -!- Riastradh [debian-tor@fsf/member/riastradh] has quit [Ping timeout: 240 seconds] 05:17:50 rudybot: (define (fib-using-do n) (do ((a 0 b) (b 1 (+ a b)) (n n (- n 1))) ((zero? n) a))) 05:17:50 cky: Done. 05:17:51 -!- parcs [~patrick@ool-45741d7d.dyn.optonline.net] has quit [Ping timeout: 240 seconds] 05:17:51 saccade [~saccade@c-67-180-11-158.hsd1.ca.comcast.net] has joined #scheme 05:17:53 syntacic sugar is great 05:17:54 Riastradh [debian-tor@fsf/member/riastradh] has joined #scheme 05:17:57 rudybot: (fib-using-do 10) 05:17:57 cky: ; Value: 55 05:18:32 rudybot: (do ((vec (make-vector 5)) (i 0 (+ i 1))) ((= i 5) vec) (vector-set! vec i i)) 05:18:33 lewis1711: ; Value: #(0 1 2 3 4) 05:18:36 rudybot: (define (fib-using-named-let n) (let loop ((a 0) (b 1) (n n)) (if (zero? n) a (loop b (+ a b) (- n 1)))) 05:18:36 cky: error: eval:1:0: read: expected a `)' to close `(' 05:18:39 what is "((= i 5) vec)" ? 05:18:55 rudybot: (define (fib-using-named-let n) (let loop ((a 0) (b 1) (n n)) (if (zero? n) a (loop b (+ a b) (- n 1))))) 05:18:56 cky: Done. 05:19:03 parcs [~patrick@ool-45741d7d.dyn.optonline.net] has joined #scheme 05:19:15 rudybot: (fib-using-named-let 10) 05:19:15 cky: ; Value: 55 05:19:30 lewis1711: The using-do version expands to the using-named-let. They are identical in every way. 05:19:46 yeah but the named let is longer 05:19:47 :) 05:20:09 Sure. I use "do" when it's appropriate, and if the named let form isn't clearer. :-) 05:20:56 The ((= i 5) vec) means, if (= i 5) is true, then return vec. 05:21:02 Otherwise, keep looping. 05:21:10 ohh. 05:23:04 Here's the equivalent version in named let: (let loop ((vec (make-vector 5)) (i 0)) (cond ((= i 5) vec) (else (vector-set! vec i i) (loop vec (+ i 1))))) 05:23:47 (I used "cond" over "if" purely for the implicit "begin". :-P) 05:24:03 *rien* learned something useful 05:24:10 rien: Oh, yes? 05:24:11 *rien* will never use (if (begin again 05:24:17 rien: :-D 05:24:30 it'll save me one indentation level 05:24:36 Hahahahahaha. 05:24:44 I still find scheme a little hard to read sometimes 05:25:06 lewis1711: Well, I don't want to spam the channel, so I didn't lay that out the way I usually do. 05:25:35 not the infix and brackets:P just the lack of syntax, i guess (double edged sword, because it means the language is a giant list which is damn handy) 05:25:42 cky: yeah, even when it is layed out properly 05:26:01 I find it easy to read with the right (emacs') indentation 05:26:11 also, I have just discovered my schemes "init file", where you can load stuff that gets injected into all your files. 05:26:34 so I am now changing a bunch of names, to ones I think are better:P *will try not to get too carried away so people can still read it* 05:26:56 lewis1711: What in particular do you find hard to read? 05:27:32 caoliver: just the lack of syntax. keeping track of where one thing is out of scope, and where it is 05:28:30 -!- nilg` [~user@77.70.2.229] has quit [Read error: Connection reset by peer] 05:28:54 Hmm... that never bothered me much. If I did more common lisp with special vars (dynamic extent), I'd likely have much more pain. 05:29:10 Of that variety that is. 05:30:26 with syntax highlighting it's not a huge deal 05:30:53 editors seem to be pretty bad at scheme syntax highlighting though, including you know which 05:32:16 whaaaaa, burn him alive!!! 05:32:19 :P 05:33:24 hahaha 05:33:41 don't worry, vims scheme highlighting sucks as *peace offering* 05:33:50 the best i've seen is... gist :| 05:33:51 what's the scheme way to repeat an action several times (action as in a function that does side effects) 05:33:56 for-each 05:33:59 *cky* must try loading up some Scheme files in Kate and see how it looks. 05:34:14 no not for each, something like ruby's 100.times do |i| .... end 05:34:19 hmmm 05:34:23 rien: foof-loop. 05:34:28 :D 05:34:29 rien: There's a dotimes-like thing there. 05:34:32 or make a function yourself with do 05:34:36 or for each 05:34:37 lewis1711: Nooo!!! 05:34:40 Use foof-loop. 05:34:41 Srsly. 05:34:42 ? 05:34:50 hmm, chicken-instal foof-loop? 05:34:53 but I like rolling my own inscheme 05:35:05 lewis1711: No, using common libraries means everybody speaks the same language. 05:35:33 ok, so, lemme get this straight. you're pro r5... but we should all use the same procedures. but r6 is too big 05:35:53 jewel [~jewel@196-215-16-138.dynamic.isadsl.co.za] has joined #scheme 05:36:01 rudybot: init r5rs 05:36:02 rien: your r5rs sandbox is ready 05:36:24 cky: trouble is outside of RnRS and SRFI, can we really speak of common? 05:36:26 rudybot: (require-library utf8) 05:36:26 rien: error: reference to an identifier before its definition: require-library in module: 'program 05:36:38 nilg` [~user@77.70.2.229] has joined #scheme 05:36:49 incubot: (require-library utf8) 05:36:50 Error: unbound variable: utf8 05:37:03 incubot: sudo chicken-install utf8 :PP 05:37:07 only difference, as I recall, between the Scheme48 & scsh components of Sunterlib is that the Scheme48 parts will run in vanilla Scheme48, even if there's no convenient way to install them. 05:37:18 I am interested as to why foof-loop isn't an SRFI 05:37:19 MichaelRaskin [~MichaelRa@195.178.216.22] has joined #scheme 05:37:20 rien: Fail. 05:37:28 Use chicken-install -s, not sudo chicken-install. 05:37:32 cky: I wanted to show you something 05:37:59 Put down that pickle! 05:38:05 -!- nilg [~user@77.70.2.229] has quit [Remote host closed the connection] 05:38:11 Oops, wrong sketch. 05:38:26 fds: Riastradh just beore that he didn't want to make it one. didn't give a reason 05:39:55 I'm lucky I already knew what you were trying to say there. 05:39:58 :-) 05:40:43 :/ 05:40:54 how do I mutate a list at a specific location? 05:41:07 rudybot: (set! (list-ref '(1 2 3) 0) 9000) 05:41:08 lewis1711: error: eval:1:6: set!: not an identifier at: (list-ref (quote (1 2 3)) 0) in: (set! (list-ref (quote (1 2 3)) 0) 9000) 05:41:09 expensively 05:41:25 this ain't common lisp :) 05:41:25 is that so 05:41:34 *lewis1711* doesn't know common-lisp 05:41:45 CL's set! is VERY smart 05:41:54 that thing you tried would work there I think 05:42:00 I guess I will just use a vector if I want a mutable data structure 05:42:16 set-car! set-cdr! 05:42:36 rien: There's SRFI 17. 05:42:44 Which has "some" concept of setf-places. 05:42:54 Probably not as powerful as setf-places in CL, but still. 05:43:54 -!- nilg` [~user@77.70.2.229] has quit [Read error: Connection reset by peer] 05:43:59 anyway, I have now made vset! => vector-set!, and vref => vector-ref 05:44:05 always found them too verbose 05:44:19 Heh. 05:44:24 cky: good to know 05:44:37 lewis1711: M-/ 05:44:49 that ain't too bad though 05:45:09 *fds* loves M-/ 05:45:18 I've even started trying to use it on IRC :-( 05:45:27 rien: huh? 05:45:36 This is one of the many reasons I should IRC from Emacs 05:45:37 walterma` [~user@131.247.152.4] has joined #scheme 05:45:44 oh, emacs 05:45:45 nah:P 05:46:04 lewis1711: M-/ in emacs is autocompletion 05:47:03 -!- waltermai [~user@131.247.152.4] has quit [Ping timeout: 240 seconds] 05:47:11 I may also go def -> define, but define is a macro appareantly? gets hairy. 05:47:35 I'm all for that but cky will kill you 05:48:03 there should be a (def-alias def define) :) 05:48:21 rien: There's a name for that. It's Clojure. 05:48:42 noooooooooooooo 05:49:13 > (def-alias def define) 05:49:13 *** ERROR IN (console)@6.16 -- Macro name can't be used as a variable: define 05:49:16 cky: do some rudybot magic and alias define to def for us, will ya? 05:49:30 cky: (> C-libraries java-libraries) 05:49:38 so gambit over clojure for me:) 05:49:56 lewis1711: Sod that. Managed >>> unmanaged. 05:50:08 rien: Thanks, but no thanks. 05:50:11 stop using infix operators! 05:50:39 C has loads of mathematical, graphics and sound libraries, that jave does not have 05:50:47 I guess it depends on the librarys you want 05:51:00 -!- flipzagging [~flipzaggi@wikimedia/NeilK] has quit [Ping timeout: 240 seconds] 05:51:01 I dunno the first thing about web-dev or databases, which I think is what java libs are all about 05:51:11 web-dev in java? 05:51:18 I dunno. web backends? 05:51:26 hope not 05:51:28 all I know is java has no LAPACK:P 05:51:42 rien: Yes, Java is often used for web backends. 05:51:54 rien: A decade ago, it was JSP; these days, JSF. 05:52:21 adu [~ajr@pool-173-73-0-57.washdc.fios.verizon.net] has joined #scheme 05:52:25 rien: And then there's Phobos (JavaScript-based Rails-like framework), though not sure if that has taken off. 05:52:33 I am sort of growing to like c anyway. malloc(sizeof(yomomma)); 05:52:38 Of course you can also run JRuby on Rails, Grails, etc. 05:52:55 lewis1711: You and I are never gonna be in the same programming team. 05:53:24 hahaha 05:53:28 don't like C?:D 05:53:46 lewis1711: I used to do a lot of C programming. I still can. But I don't believe in unmanaged programming any more. 05:54:08 but scheme is unmanaged! :O 05:54:15 rien: That's simply not true. 05:54:52 could be. my only example of managed language is C# 05:55:36 it's not really that bad with a modern compiler like clang. clang -std=c99 -Wall warns me about most of my idiocy 05:55:48 rien: Most _any_ dynamic language used in the mainstream are managed. 05:56:01 rien: Including Perl, Python, Ruby, JS, PHP, etc. 05:56:49 hm. they weren't called that at first 05:56:50 flipzagging [~flipzaggi@wikimedia/NeilK] has joined #scheme 05:57:02 rien: Well, of course. 05:57:06 also C is really, really portable. almost any language has a C FFI (funnily enough, Javas is horrible:P) 05:57:06 rien: But the concept has always been there. 05:57:12 cky: how do YOU define managed? 05:57:33 caoliver: Object creation, memory management, etc. are all the responsibility of a runtime system, rather than managed by the application code. 05:58:08 caoliver: Hint: things like shared_ptr, etc. still count as "managed by the application code". 05:58:33 lewis1711: JVM is pretty portable too. Maybe not to the same degree as C, but it works for me. 05:58:58 yeah. I don't mind java *the language*, the eco system just doesn't have what i want though 05:59:07 also this computer is too slow to run modern java IDE's :D 06:00:25 As I've had to glue Scheme code onto non-C libraries, and may have some stints of embedded programming to do, I have to deal with unmanaged stuff. I just like it nicely quarantined, and small enough to believe in. 06:01:04 Errr... make that C libraries. 06:01:13 Brain fart. 06:01:26 caoliver: Hehehehe. 06:01:44 caoliver: I'm with you there:) 06:01:59 I dislike unmanaged code in the same way I dislike define-macro macros. 06:03:16 Unmanaged code needs good static and dynamic analysis tools, like Coverity. 06:03:38 -!- walterma` is now known as waltermai 06:04:00 StephenFalken: Yep. 06:04:25 Or to be small enough to understand completely. 06:08:27 That. 06:08:58 rudybot: (define-syntax nil! (syntax-rules () ((_ x) (set! x '())))) 06:08:59 lewis1711: Done. 06:09:15 that gave me an error in gambit :/ "ill-formed expression" 06:09:58 perhaps one cannot preform macros in the interpreter 06:15:46 lewis1711: You can, but only R6RS allows using _ instead of the macro name. 06:16:51 appareantly you have to load a lib for it in gambit :/ http://dynamo.iro.umontreal.ca/~gambit/wiki/index.php?title=Documentation:Special_form_define-syntax 06:16:52 http://tinyurl.com/4vmvsg4 06:17:01 Hahahahahaha. 06:17:07 No different from Guile, then. 06:18:42 hm, working now 06:18:48 cky: any idea of the reason? 06:18:50 seems.. odd 06:20:33 -!- mwolfe [~michael@cpe-67-49-72-40.socal.res.rr.com] has quit [Remote host closed the connection] 06:24:19 lewis1711: Probably, in such systems, hygienic macros are an add-on atop define-macro macros. 06:24:41 lewis1711: There are other Scheme implementations that do not provide define-macro macros at all, and syntax-rules and syntax-case are native. 06:25:06 i dont think you can get hygienic macros starting with define-macro.. can you? 06:25:45 As I recall, Chibi doesn't have syntax-rules as a built-in, but layers them on top of syntactic closures. 06:25:52 I'm not sure but I don't think it's possible 06:26:02 either* 06:27:00 wait... there is another kind of macro? 06:27:05 define-macro... 06:27:09 oh dear :D 06:28:31 define-macro (unhygienic. Doesn't brush its teeth) 06:31:07 richard-stallman-macro ? 06:31:37 Sorry. My lame attempt at humor. Pay it no heed. 06:33:04 -!- waltermai [~user@131.247.152.4] has left #scheme 06:39:38 caoliver: I wouldn't sweat it when i say stuff like.. 06:39:50 Ice Cube and Macro 10 - Pistol Grip Pump 06:41:39 It's getting late here. Time to crash. 06:41:50 ttyl. 06:41:56 user18 [~user@p5B2A9A5F.dip0.t-ipconnect.de] has joined #scheme 06:42:17 -!- caoliver [~userName@75-134-208-20.dhcp.trcy.mi.charter.com] has left #scheme 06:42:26 -!- jewel [~jewel@196-215-16-138.dynamic.isadsl.co.za] has quit [Ping timeout: 240 seconds] 06:46:08 -!- user17 [~user@p5B2A9A7D.dip0.t-ipconnect.de] has quit [Ping timeout: 276 seconds] 06:58:17 -!- ski [~slj@c83-254-21-112.bredband.comhem.se] has quit [Ping timeout: 264 seconds] 06:58:36 ski [~slj@c83-254-21-112.bredband.comhem.se] has joined #scheme 07:00:26 -!- evhan [~evhan@76-250-39-229.lightspeed.mdsnwi.sbcglobal.net] has quit [Ping timeout: 276 seconds] 07:11:33 -!- myu2 [~myu2@v077103.dynamic.ppp.asahi-net.or.jp] has quit [Remote host closed the connection] 07:12:17 -!- teurastaja [~user@modemcable182.177-200-24.mc.videotron.ca] has quit [] 07:43:28 slom [~sloma@port-87-234-239-162.static.qsc.de] has joined #scheme 08:06:40 HG` [~HG@xdsl-188-118-132-35.dip.osnanet.de] has joined #scheme 08:21:02 -!- acarrico [~acarrico@pppoe-68-142-62-150.gmavt.net] has quit [Ping timeout: 276 seconds] 08:30:03 -!- yx [debian-tor@gateway/tor-sasl/yx] has quit [Remote host closed the connection] 08:31:22 -!- user18 [~user@p5B2A9A5F.dip0.t-ipconnect.de] has quit [Ping timeout: 255 seconds] 08:32:04 -!- saccade [~saccade@c-67-180-11-158.hsd1.ca.comcast.net] has quit [Quit: This computer has gone to sleep] 08:34:27 nilg` [~user@77.70.2.229] has joined #scheme 08:41:41 -!- pchrist_ [~spirit@gentoo/developer/pchrist] has quit [Quit: leaving] 08:42:16 pchrist [~spirit@gentoo/developer/pchrist] has joined #scheme 08:49:00 myu2 [~myu2@58x5x224x106.ap58.ftth.ucom.ne.jp] has joined #scheme 08:58:23 -!- jcowan [~John@cpe-74-68-112-189.nyc.res.rr.com] has quit [Quit: Leaving] 09:01:58 yx [debian-tor@gateway/tor-sasl/yx] has joined #scheme 09:03:00 adu_ [~ajr@pool-71-191-173-95.washdc.fios.verizon.net] has joined #scheme 09:03:44 gravicappa [~gravicapp@ppp85-140-119-72.pppoe.mtu-net.ru] has joined #scheme 09:04:26 -!- adu [~ajr@pool-173-73-0-57.washdc.fios.verizon.net] has quit [Ping timeout: 240 seconds] 09:05:29 acarrico [~acarrico@pppoe-68-142-62-150.gmavt.net] has joined #scheme 09:06:09 -!- adu_ [~ajr@pool-71-191-173-95.washdc.fios.verizon.net] has quit [Client Quit] 09:19:03 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping timeout: 240 seconds] 09:19:39 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Ping timeout: 240 seconds] 09:23:13 -!- MichaelRaskin [~MichaelRa@195.178.216.22] has quit [Ping timeout: 245 seconds] 09:25:17 preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #scheme 09:28:09 -!- jonrafkind [~jon@jonr5.dsl.xmission.com] has quit [Read error: Operation timed out] 09:28:15 -!- yx [debian-tor@gateway/tor-sasl/yx] has quit [Ping timeout: 240 seconds] 09:30:49 yx [debian-tor@gateway/tor-sasl/yx] has joined #scheme 09:32:00 user17 [~user@p5B2A9A5F.dip0.t-ipconnect.de] has joined #scheme 09:35:18 MichaelRaskin [~MichaelRa@195.178.216.22] has joined #scheme 09:42:41 -!- ski [~slj@c83-254-21-112.bredband.comhem.se] has quit [Ping timeout: 264 seconds] 09:43:09 ski_ [~slj@c83-254-21-112.bredband.comhem.se] has joined #scheme 09:48:36 -!- ski_ [~slj@c83-254-21-112.bredband.comhem.se] has quit [Read error: Connection reset by peer] 09:48:53 ski [~slj@c83-254-21-112.bredband.comhem.se] has joined #scheme 10:00:05 -!- ski [~slj@c83-254-21-112.bredband.comhem.se] has quit [Ping timeout: 264 seconds] 10:01:21 ski [~slj@c83-254-21-112.bredband.comhem.se] has joined #scheme 10:09:22 ski_ [~slj@c83-254-21-112.bredband.comhem.se] has joined #scheme 10:09:41 -!- ski [~slj@c83-254-21-112.bredband.comhem.se] has quit [Ping timeout: 264 seconds] 10:10:18 -!- vu3rdd [~vu3rdd@fsf/member/vu3rdd] has quit [Ping timeout: 245 seconds] 10:13:14 -!- ski_ is now known as ski 10:14:21 -!- Axioplase is now known as Axioplase_ 10:15:17 Blkt [~user@93-33-139-151.ip44.fastwebnet.it] has joined #scheme 10:21:38 -!- Ruinpeople [~nnscript@unaffiliated/ruinpeople] has quit [Ping timeout: 272 seconds] 10:24:33 ski__ [~slj@c83-254-21-112.bredband.comhem.se] has joined #scheme 10:24:41 -!- ski [~slj@c83-254-21-112.bredband.comhem.se] has quit [Ping timeout: 264 seconds] 10:25:43 -!- ski__ is now known as ski 10:32:50 Ruinpeople [~nnscript@unaffiliated/ruinpeople] has joined #scheme 10:33:19 -!- zanes [~zane@wall.tripitinc.com] has quit [Ping timeout: 240 seconds] 10:37:21 good morning everyone 10:39:03 morning 10:40:11 zanes [~zane@wall.tripitinc.com] has joined #scheme 10:41:26 -!- lewis1711 [~lewis@125-239-255-244.jetstream.xtra.co.nz] has left #scheme 10:53:57 -!- flipzagging [~flipzaggi@wikimedia/NeilK] has quit [Quit: flipzagging] 11:07:17 -!- ski [~slj@c83-254-21-112.bredband.comhem.se] has quit [Ping timeout: 264 seconds] 11:07:46 ski [~slj@c83-254-21-112.bredband.comhem.se] has joined #scheme 11:13:26 -!- Blkt [~user@93-33-139-151.ip44.fastwebnet.it] has quit [Remote host closed the connection] 11:15:24 lewis1711 [~lewis@125-239-255-244.jetstream.xtra.co.nz] has joined #scheme 11:16:24 zanes_ [~zane@wall.tripitinc.com] has joined #scheme 11:16:24 -!- zanes [~zane@wall.tripitinc.com] has quit [Read error: Connection reset by peer] 11:16:24 -!- zanes_ is now known as zanes 11:19:05 pretty sure I found a bug in gambit. might try and find their bug-tracking thing if they have one. 11:27:19 They have one, but it looks slightly abandoned. 11:30:08 hmm, I submitted it anyway. 11:31:04 I'll join #gambit and leave a link 11:45:52 -!- myu2 [~myu2@58x5x224x106.ap58.ftth.ucom.ne.jp] has quit [Remote host closed the connection] 11:56:35 -!- copumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Ping timeout: 260 seconds] 11:57:00 copumpkin [~pumpkin@209-6-232-56.c3-0.sbo-ubr1.sbo.ma.cable.rcn.com] has joined #scheme 11:57:00 -!- copumpkin [~pumpkin@209-6-232-56.c3-0.sbo-ubr1.sbo.ma.cable.rcn.com] has quit [Changing host] 11:57:00 copumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 12:04:51 Grazl [~Grazl@94.Red-83-40-106.dynamicIP.rima-tde.net] has joined #scheme 12:10:43 -!- lewis1711 [~lewis@125-239-255-244.jetstream.xtra.co.nz] has left #scheme 12:14:48 Ruinpeople_ [~nnscript@109.130.89.160] has joined #scheme 12:17:32 -!- Ruinpeople [~nnscript@unaffiliated/ruinpeople] has quit [Ping timeout: 272 seconds] 12:17:47 myu2 [~myu2@58x5x224x106.ap58.ftth.ucom.ne.jp] has joined #scheme 12:18:11 masm [~masm@bl15-129-210.dsl.telepac.pt] has joined #scheme 12:22:26 man_in_ltop [~unused@unaffiliated/man-in-shack/x-4279753] has joined #scheme 12:22:29 *man_in_ltop* waves 12:22:45 anyone here worked with lilypond? 12:23:18 hi man_in_ltop 12:23:28 someone gave me a script to use for my document: http://lsr.dsi.unimi.it/LSR/Snippet?id=467 12:23:43 basically i need to complete that TODO 12:24:26 but for \bookpart headers 12:24:36 man_in_ltop: That sounds like a very lilypond-specific thing 12:24:40 indeed 12:24:49 #lilypond is quiet :) 12:24:52 :) 12:26:21 scheme confuses me :) 12:27:14 what confuses you specifically? 12:27:55 MrFahrenheit [~RageOfTho@users-146-124.vinet.ba] has joined #scheme 12:28:21 the syntax 12:28:37 there is not much :-) 12:28:41 If you're serious about learning it, you could check out The Little Schemer. It's a very gentle introduction to Scheme and recursion 12:28:55 The fact that Scheme is embedded in lilypond docs might be extra-confusing 12:29:02 really i just want something that solves this one section 12:29:09 *problem 12:30:47 interesting, lilypond's markup language is tex-like rather than lispy 12:30:58 I wonder why 12:31:20 Probably because it's also about type-setting 12:31:29 They might've started out as a TeX preprocessor? 12:31:37 perhaps 12:31:43 wouldn't surprise me 12:32:02 is there a lisp->tex library somewhere actually? 12:32:21 What does lisp->tex mean? 12:33:38 well, a program that translates an s-expression based syntax for tex to tex 12:34:00 ah 12:34:07 multidoc ;) 12:34:20 mistie can probably also output TeX 12:34:28 But that's not s-expressions, come to think of it 12:35:35 multidoc, hohum 12:36:48 yeah, hohum is right 12:36:56 slatex 12:37:16 That just prettifies Scheme code listings 12:37:22 for some subsets of tex expressions 12:37:53 does multidoc still work for latex? 12:38:04 schmir [~schmir@mail.brainbot.com] has joined #scheme 12:38:14 -!- ski [~slj@c83-254-21-112.bredband.comhem.se] has quit [Read error: Connection reset by peer] 12:40:14 C-Keen: I have no idea 12:42:47 ski [~slj@c83-254-21-112.bredband.comhem.se] has joined #scheme 12:44:42 lewis1711 [~lewis@125-239-255-244.jetstream.xtra.co.nz] has joined #scheme 12:47:12 -!- schmir [~schmir@mail.brainbot.com] has quit [Remote host closed the connection] 12:48:12 -!- myu2 [~myu2@58x5x224x106.ap58.ftth.ucom.ne.jp] has quit [Remote host closed the connection] 12:51:05 -!- ski [~slj@c83-254-21-112.bredband.comhem.se] has quit [Ping timeout: 264 seconds] 12:52:57 ski [~slj@c83-254-21-112.bredband.comhem.se] has joined #scheme 13:12:25 mathk__ [~mathk@194.177.61.44] has joined #scheme 13:13:04 dfkjjkfd [~paulh@210-11-ftth.onsnetstudenten.nl] has joined #scheme 13:14:05 schmir [~schmir@mail.brainbot.com] has joined #scheme 13:16:11 -!- mathk [~mathk@194.177.61.43] has quit [Ping timeout: 240 seconds] 13:16:11 -!- mathk__ is now known as mathk 13:19:39 tupi [~david@139.82.89.24] has joined #scheme 13:33:11 -!- Grazl [~Grazl@94.Red-83-40-106.dynamicIP.rima-tde.net] has quit [Ping timeout: 240 seconds] 13:33:30 -!- masm [~masm@bl15-129-210.dsl.telepac.pt] has quit [Ping timeout: 265 seconds] 13:34:53 -!- ski [~slj@c83-254-21-112.bredband.comhem.se] has quit [Ping timeout: 264 seconds] 13:35:41 masm [~masm@bl15-129-210.dsl.telepac.pt] has joined #scheme 13:36:33 Rearden [~John@rrcs-184-74-157-126.nys.biz.rr.com] has joined #scheme 13:36:50 ski [~slj@c83-254-21-112.bredband.comhem.se] has joined #scheme 13:42:26 -!- drdo [~user@91.205.108.93.rev.vodafone.pt] has quit [Ping timeout: 240 seconds] 13:49:17 -!- ski [~slj@c83-254-21-112.bredband.comhem.se] has quit [Ping timeout: 264 seconds] 13:50:06 -!- MapMan [mapman@78.9.28.178] has quit [Ping timeout: 250 seconds] 13:51:06 ski [~slj@c83-254-21-112.bredband.comhem.se] has joined #scheme 13:51:46 MapMan [mapman@host-62-141-192-113.swidnica.mm.pl] has joined #scheme 13:52:11 -!- lewis1711 [~lewis@125-239-255-244.jetstream.xtra.co.nz] has left #scheme 13:54:46 -!- wbooze [~levgue@xdsl-78-35-169-58.netcologne.de] has quit [Read error: Connection reset by peer] 13:54:55 -!- homie [~levgue@xdsl-78-35-169-58.netcologne.de] has quit [Read error: Connection reset by peer] 13:55:24 dnolen [~davidnole@184.152.69.75] has joined #scheme 13:55:59 wbooze [~levgue@xdsl-78-35-171-133.netcologne.de] has joined #scheme 13:56:07 homie [~levgue@xdsl-78-35-171-133.netcologne.de] has joined #scheme 13:58:34 -!- homie [~levgue@xdsl-78-35-171-133.netcologne.de] has quit [Client Quit] 13:58:43 -!- wbooze [~levgue@xdsl-78-35-171-133.netcologne.de] has quit [Client Quit] 14:05:21 -!- Rearden [~John@rrcs-184-74-157-126.nys.biz.rr.com] has quit [Quit: Leaving] 14:05:39 Rearden [~John@rrcs-184-74-157-126.nys.biz.rr.com] has joined #scheme 14:10:50 -!- gravicappa [~gravicapp@ppp85-140-119-72.pppoe.mtu-net.ru] has quit [Ping timeout: 240 seconds] 14:11:41 -!- Rearden [~John@rrcs-184-74-157-126.nys.biz.rr.com] has quit [Quit: Leaving] 14:12:01 Rearden [~John@rrcs-184-74-157-126.nys.biz.rr.com] has joined #scheme 14:17:51 -!- joast [~rick@CPE-76-178-178-72.natnow.res.rr.com] has quit [Ping timeout: 240 seconds] 14:24:13 zeroish [~zeroish@135.207.174.50] has joined #scheme 14:25:09 myu2 [~myu2@v077103.dynamic.ppp.asahi-net.or.jp] has joined #scheme 14:25:41 Grazl [~Grazl@94.Red-83-40-106.dynamicIP.rima-tde.net] has joined #scheme 14:27:11 homie [~levgue@xdsl-78-35-171-133.netcologne.de] has joined #scheme 14:28:39 wbooze [~levgue@xdsl-78-35-171-133.netcologne.de] has joined #scheme 14:29:06 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 14:32:01 joast [~rick@CPE-76-178-178-72.natnow.res.rr.com] has joined #scheme 14:34:50 -!- gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Ping timeout: 240 seconds] 14:35:08 gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 14:36:57 -!- langmartin [~user@exeuntcha2.tva.gov] has quit [Remote host closed the connection] 14:42:33 gravicappa [~gravicapp@ppp91-78-230-80.pppoe.mtu-net.ru] has joined #scheme 14:46:17 jao [~user@pdpc/supporter/professional/jao] has joined #scheme 14:50:14 kty1104 [~kty1104@118.219.120.7] has joined #scheme 14:50:24 hi there 14:50:30 anybody alive? 14:50:42 anybody there? 14:50:43 brainz! 14:50:49 hello 14:50:52 good to see you 14:51:21 can I ask you where are you from? 14:51:53 kty1104: if you have a question about scheme, go ahead and ask. 14:52:27 I have no question for now I just came here for killing time 14:55:14 #join minecraft 14:58:59 -!- Rearden [~John@rrcs-184-74-157-126.nys.biz.rr.com] has quit [Ping timeout: 240 seconds] 14:59:25 Rearden [~John@209-217-211-155.northland.net] has joined #scheme 14:59:37 kty1104: you probably mean /join #minecraft 15:00:51 a thanks 15:01:13 -!- klutometis [klutometis@klutometis.wikitex.org] has quit [Changing host] 15:01:13 klutometis [klutometis@pdpc/supporter/professional/klutometis] has joined #scheme 15:06:29 what time is it now there? 15:07:01 -!- kty1104 [~kty1104@118.219.120.7] has quit [] 15:08:38 -!- pr [phil@unaffiliated/pr] has quit [Ping timeout: 255 seconds] 15:15:03 kty1104 [~kty1104@118.219.120.7] has joined #scheme 15:15:17 hello~ can I ask you guys something? 15:16:32 -!- dnolen [~davidnole@184.152.69.75] has quit [Quit: dnolen] 15:16:44 Obviously you can -- you just did. 15:17:27 you can probably even ask again! 15:17:30 pr [phil@komodo.contextshift.eu] has joined #scheme 15:17:31 -!- pr [phil@komodo.contextshift.eu] has quit [Changing host] 15:17:31 pr [phil@unaffiliated/pr] has joined #scheme 15:17:32 is it possible to make Operating system using only Scheme? 15:17:46 sorry for dummy question 15:18:02 not /only/ scheme, no 15:18:12 you would need some glue to let it talk to the hardware 15:18:19 and that glue would more or less have to be assembly and/or C 15:18:29 oh I see 15:18:48 -!- twem2 [~twem2@puma-mxisp.mxtelecom.com] has quit [Read error: Connection reset by peer] 15:18:48 then what about hooking? 15:18:55 hooking of what? 15:18:56 elly: Not strictly true. ;-) 15:19:08 elly: You can write the bootloader in Scheme if you AOT-compile it into object code. 15:19:13 other program or kernel inception 15:19:18 elly: Ditto with other bootstrapping parts. 15:19:22 wow! 15:19:40 could you tell me what AOT is it? 15:19:58 kty1104: I don't think there's an implementation yet, but it's theoretically possible. 15:19:59 AOT compiling is just compiling 15:20:03 TR2N [email@2001:470:1f14:135b::2] has joined #scheme 15:20:05 -!- StephenFalken [email@2001:470:1f14:135b::2] has quit [Read error: Connection reset by peer] 15:20:12 cky: you're really, really stretching the definition of 'scheme' there, I think 15:20:13 *bremner* hates that acronym 15:20:30 elly: Why do you say that? 15:20:40 bremner: Okay. Statically compile. Better? :-) 15:21:25 cky: because no current scheme has the primitives you'd need to do this - you would need to add support *in the compiler* for "now execute the IRET instruction" and such 15:21:33 elly: Of course. 15:21:38 I mean, you'd have scheme's syntax, but you'd be writing assembly 15:21:46 do you know Quine? 15:21:49 elly: Well, yes. 15:21:59 elly: But you can still use Scheme programming idioms, macros, etc. 15:21:59 -!- copumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Quit: Computer has gone to sleep.] 15:22:02 I think that violates the spirit of the question, if not the letter :P 15:22:07 Hahahahahaha. 15:22:26 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Ping timeout: 240 seconds] 15:22:34 you could also write an OS in 'just scheme' if you hack the compiler to statically emit all the required machine opcodes before starting to run your scheme program 15:23:47 wow.. 15:24:09 I have no Idea what Quine is for 15:24:59 elly: The compiler needs to support certain kernel-level operations, yes. You do need some trapdoor mechanisms to generate specific instructions, etc. 15:25:44 elly: But I consider that "better" than switching to "pure" assembly, or C. 15:26:08 thank you for your very good reply "cky" 15:26:51 kty1104: O_o Are you mocking my use of quotes? 15:27:05 not at all 15:27:12 I am 15:27:18 aisa [~aisa@c-68-35-165-60.hsd1.nm.comcast.net] has joined #scheme 15:27:22 bremner: :-O 15:27:31 actually, it is the use of quotes for emphasis that makes me crazy 15:27:37 crazier 15:28:23 bremner: Agree. Obviously not the case here. :-) 15:28:28 is scheme good for programming beginer? 15:29:28 -!- kty1104 [~kty1104@118.219.120.7] has quit [] 15:29:38 what an odd person 15:32:05 Heh. I swear I've seen them before, but maybe not. 15:36:26 bweaver [~user@host-68-169-175-225.WISOLT2.epbfi.com] has joined #scheme 15:42:04 -!- pchrist [~spirit@gentoo/developer/pchrist] has quit [Ping timeout: 265 seconds] 15:43:53 pchrist [~spirit@gentoo/developer/pchrist] has joined #scheme 15:50:31 flipzagging [~flipzaggi@wikimedia/NeilK] has joined #scheme 15:51:23 copumpkin [~pumpkin@17.101.89.205] has joined #scheme 15:51:24 -!- copumpkin [~pumpkin@17.101.89.205] has quit [Changing host] 15:51:24 copumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 15:51:36 mwolfe [~mwolfe@corona.cornerturn.com] has joined #scheme 15:52:55 xvilka [~xvilka@109.170.106.227] has joined #scheme 16:01:36 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 16:05:42 r2q2 [43ad6b5a@gateway/web/freenode/ip.67.173.107.90] has joined #scheme 16:05:45 -!- jao [~user@pdpc/supporter/professional/jao] has quit [Ping timeout: 265 seconds] 16:05:46 hello 16:09:53 -!- flipzagging [~flipzaggi@wikimedia/NeilK] has quit [Ping timeout: 245 seconds] 16:10:49 -!- gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Ping timeout: 255 seconds] 16:11:08 gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 16:14:28 -!- Rearden [~John@209-217-211-155.northland.net] has quit [Quit: Leaving] 16:15:05 flipzagging [~flipzaggi@wikimedia/NeilK] has joined #scheme 16:15:17 -!- MichaelRaskin [~MichaelRa@195.178.216.22] has quit [Remote host closed the connection] 16:17:53 corruptmemory [~jim@96.246.167.18] has joined #scheme 16:19:01 acs_ [59eed542@gateway/web/freenode/ip.89.238.213.66] has joined #scheme 16:22:41 evhan [~evhan@76-250-39-229.lightspeed.mdsnwi.sbcglobal.net] has joined #scheme 16:26:10 -!- flipzagging [~flipzaggi@wikimedia/NeilK] has quit [Ping timeout: 246 seconds] 16:27:03 -!- Riastradh [debian-tor@fsf/member/riastradh] has quit [Ping timeout: 240 seconds] 16:31:43 flipzagging [~flipzaggi@wikimedia/NeilK] has joined #scheme 16:32:33 -!- slom [~sloma@port-87-234-239-162.static.qsc.de] has quit [Remote host closed the connection] 16:38:25 carleastlund [~cce@gotham.ccs.neu.edu] has joined #scheme 16:40:45 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Ping timeout: 276 seconds] 16:41:37 So much snow 16:41:43 seus [~sbero@adsl-99-114-191-162.dsl.spfdmo.sbcglobal.net] has joined #scheme 16:41:46 Anyone here doing google summer of code? 16:44:56 is paste.lisp.org not working at the moment? 16:45:10 i can't get it to fully submit 16:46:04 -!- yx [debian-tor@gateway/tor-sasl/yx] has quit [Remote host closed the connection] 16:47:09 i did summer of code a few years ago 16:50:38 ok...well paste.lisp.org isn't pasting to the channel...so here's what i'm currently working on...can you tell me if i should be using lambda to figure it out? http://paste.lisp.org/display/119305 16:51:11 you need to return a new function, right? 16:51:14 lambda is how you make those 16:51:40 ok that's what i was thinking 16:51:47 i'll need to read up on those a bit 16:51:55 figure out how to construct this 16:52:00 thanks! 16:52:38 lambdas are functions 16:52:59 yes...just undefined 16:53:01 Lambdas create functions! 16:53:03 right? 16:53:15 Well, lambdas create procedures. 16:53:18 or i guess i'd say not properly defined to be used elsewhere 16:53:20 yes 16:53:28 that's what i was trying to say 16:54:13 Err nvm 16:54:52 seus: Yes you probably need a lambda. 16:55:08 yes..thx :) 16:55:17 -!- corruptmemory [~jim@96.246.167.18] has quit [Remote host closed the connection] 16:56:31 Sim. 16:56:32 seus: an example of a function that returns a lambda would be 16:56:59 (define (plusone x ) (lambda (x) (+ 1 x)) 16:58:16 Which is just syntactic sugar for 16:58:37 (define (plusone x) (lambda (x) (lambda (x) (+ 1 x))) 16:58:40 i think 16:59:35 lambdas are anonymous functions 16:59:51 -!- lechon [~l@unaffiliated/keram] has quit [Quit: Leaving] 17:00:44 so then in my example, (between 0 1) 0.7) do I need to then nest two lambdas to access the 0.7? (lambda (lambda ( m n)) v) ? 17:01:45 no that isn't correct syntax 17:03:06 -!- schmir [~schmir@mail.brainbot.com] has quit [Remote host closed the connection] 17:04:16 corruptmemory [~jim@96.246.167.18] has joined #scheme 17:04:46 seus I just annotated your paste 17:04:53 http://paste.lisp.org/display/119305#1 17:05:09 -!- acs_ [59eed542@gateway/web/freenode/ip.89.238.213.66] has quit [Ping timeout: 240 seconds] 17:06:32 r2q2: it's syntactic sugar for (define plusone (lambda (x) (lambda (x) (+ 1 x)))) 17:07:54 yx [debian-tor@gateway/tor-sasl/yx] has joined #scheme 17:07:55 i gotcha r2q2 ... thanks a ton! 17:09:21 jewel [~jewel@196-215-16-138.dynamic.isadsl.co.za] has joined #scheme 17:11:10 -!- offby1 is now known as xyzzy 17:11:33 lechon [~l@unaffiliated/keram] has joined #scheme 17:12:21 -!- r2q2 [43ad6b5a@gateway/web/freenode/ip.67.173.107.90] has quit [Ping timeout: 240 seconds] 17:13:10 -!- xyzzy is now known as offby1 17:14:14 zitterbewegung [43ad6b5a@gateway/web/freenode/ip.67.173.107.90] has joined #scheme 17:15:55 langmartin [~user@exeuntcha2.tva.gov] has joined #scheme 17:17:05 -!- nilg` [~user@77.70.2.229] has quit [Read error: Connection reset by peer] 17:23:42 -!- devn [~defn@rot13.pbqr.org] has quit [Quit: leaving] 17:24:30 -!- HG` [~HG@xdsl-188-118-132-35.dip.osnanet.de] has quit [Ping timeout: 240 seconds] 17:25:44 -!- arbscht [~arbscht@unaffiliated/arbscht] has quit [Read error: Connection reset by peer] 17:26:49 arbscht [~arbscht@unaffiliated/arbscht] has joined #scheme 17:29:56 HG` [~HG@xdsl-188-118-133-222.dip.osnanet.de] has joined #scheme 17:34:57 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 17:36:06 erjiang [~erjiang@7.80.244.66.jest.smithvilledigital.net] has joined #scheme 17:37:35 -!- langmartin [~user@exeuntcha2.tva.gov] has left #scheme 17:37:50 langmartin [~user@exeuntcha2.tva.gov] has joined #scheme 17:38:01 Modius [~Modius@cpe-70-123-158-125.austin.res.rr.com] has joined #scheme 17:43:17 -!- zitterbewegung is now known as r2q2 17:55:03 How do I read a certain number of bytes from a port in Chicken? 17:58:08 erjiang: read-string 17:58:25 (read-string bytes filedescriptor) 17:58:28 Riastradh [debian-tor@fsf/member/riastradh] has joined #scheme 17:58:33 or maybe it's (read-string bytes port) 18:00:26 ah, you are right. thanks! 18:03:31 no problem 18:03:55 erjiang: http://antoszka.pl/chicken-bytes.jpg 18:06:01 -!- ada2358 [~ada2358@login.ccs.neu.edu] has quit [Read error: Connection reset by peer] 18:07:51 -!- Riastradh [debian-tor@fsf/member/riastradh] has quit [Ping timeout: 240 seconds] 18:10:57 jonrafkind [~jon@crystalis.cs.utah.edu] has joined #scheme 18:15:00 Articate [~Moriya@pjp-78.uio.no] has joined #scheme 18:16:45 How do I set the current-input-port for a procedure call? 18:19:44 drdo [~user@2001:690:2100:1b:226:8ff:fef7:3d9e] has joined #scheme 18:19:54 Phao [phao@189.13.75.170] has joined #scheme 18:20:46 you can wrap it with parameterize 18:21:31 (parameterize ([current-input-port new-port]) body ...) 18:22:42 *bremner* smells dynamic scope 18:22:51 bremner: isn't it great? 18:23:04 what is this, #emacs? 18:23:36 well, when you're talking about file i/o... 18:24:05 rapacity: thanks by the way 18:24:21 ah np 18:26:23 erjiang: I think the functions that open files already set that for you 18:27:23 rien_: I'm using a custom input port 18:28:39 so what is a good starter page for scheme? 18:31:36 starter page? 18:31:47 page to get you going 18:32:14 the book The Scheme Programming Language e4 is a definitive guide 18:32:22 http://www.scheme.com/tspl4/ 18:32:44 depends on your programming background I guess 18:32:54 Pretty heavy 18:33:24 you've done functional programming before? ML? Haskell? 18:33:25 imperative, that is 18:33:28 oh 18:33:28 noppe 18:33:31 hmm 18:33:37 C, Python, Java - that kind of thing I know by heart 18:34:07 a lot of people say that The Little Schemer is a good book to learn recursion and that kind of stuff 18:34:50 some people fall into the trap of trying to use Scheme like it's C or Java 18:34:59 I've just never seen tutorials of anything be so text heavy, before :p 18:35:13 yeah, I would want to stay clear of that 18:35:22 but hopefully I'd manage 18:35:28 I'll check out Little Schemer :) 18:35:34 thanks for the help, so far :) 18:35:35 hmm, maybe somebody else has some good suggestions? 18:36:23 I'll be open to it - I would enjoy a text that doesn't start from scratch, but more on "how is this different from imperative programming" 18:36:58 the professor in my course seems a bit all over the place when it comes to that - sometimes he's talking way too basic, other times it seems he skipped some pages 18:37:04 parolang [~kevin@c-64-246-121-114.oregonrd-wifi-1261.amplex.net] has joined #scheme 18:37:36 one thing that's different is that side-effects are avoided 18:37:55 in C, Java, etc. you're constantly changing the values of existing variables 18:38:02 yeah - that's a nice thing :) 18:38:03 x++, y+=2, etc. 18:38:28 in functional programming, you avoid doing that at all 18:40:00 somebody told me it was like goto statements: they're good for writing tight, fast code, but they cause more problems once things get complex 18:41:25 I think every type of programming has its uses. 18:41:37 brainfuck d:? 18:42:10 Brainfuck is a programming language, not a type of programming :) 18:42:20 Just don't be a member of any cult. 18:42:20 ah you meant paradigm 18:43:06 Sure, if that's what it's called these days :) 18:43:33 brainfuck is like, close to a turing machine, right? 18:43:42 IIRC, yes 18:43:55 Good enough for Turing :D 18:44:45 -!- flipzagging [~flipzaggi@wikimedia/NeilK] has quit [Quit: flipzagging] 18:47:09 if you really want to learn lisp ... stay away from common lisp 18:48:40 That...doesn't even make sense... 18:49:15 ofcourse i does... have you read the common lisp book? 18:49:30 no mention of recursion 'til the later chapters 18:50:11 "More generally, sicp doesnt state how to program and how to manage the design of a program. It leaves these things implicit and implies that students can discover a discipline of design and programming on their own." 18:51:50 what is the usage of Chicken's "error" procedure? 18:52:02 Common Lisp is worth learning, but the most practical Lisp these days is Clojure 18:52:12 not CL at this point 18:52:23 hopefully Scheme will be doing better after R7RS 18:52:35 for varying definitions of "practical" 18:52:50 Are lisps really that different that one needs to be learned at the expense of the others? 18:52:54 erjiang: true, but it's easier to get stuff done in it 18:52:59 parolang: nope 18:53:04 I've learned all of them 18:53:09 Adamant: only if JVM is an acceptable target 18:53:10 (still learning Clojure) 18:53:34 erjiang: for now yeah. they are trying to do native code or LLVM at some point, though 18:53:46 Adamant: It seems to me that if you master scheme, that learning clojure would just be understanding some additional details. 18:53:51 Adamant: and there were a few abandoned .NET versions iirc 18:54:03 parolang: well, there is the whole Java oop system 18:54:06 parolang: mostly, but every language has it's own feel that takes a while to get 18:54:27 there's a difference between programming in it, programming well, and programming expertly 18:54:47 erjiang: Yeah. You'd have to learn the OOP system of whichever Scheme implementation that you use. 18:54:52 the second two take time and learning 18:55:03 erjiang: And then learn the differences between Java's and SchemeImpl's. 18:56:13 Adamant: I guess right now my mind is in a world where it's all about the concepts, and the language doesn't matter that much. Maybe some other time I'll think differently. 18:56:44 I can't believe we are talking about r7rs when r6rs came out a few years ago. 18:57:26 Riastradh [debian-tor@fsf/member/riastradh] has joined #scheme 18:57:47 other Lisps use more looping constructs than Scheme, right? 18:57:52 Some people can't believe it took so long for r6rs to come out. What was it, like 15 years? PL advances do happen more often than that. 18:58:43 r6rs started in 1992? 18:59:27 No, the R6RS process started in 2003. 18:59:58 Or rather, a bunch of people at the Scheme Workshop said `we should do an R6RS within the next two years' in 2003, and then the process really started in 2005 or so. 19:00:01 I mean so long between r5rs and r6rs, regardless of when people actually started work on r6. 19:00:15 The R5RS was published in 1998. 19:00:29 Ok, so around 10 years, then. 19:00:58 parolang: the language does matter, just not as much as some people think. concepts are usually more important. 19:01:30 I voted for r6rs thinking that it would bring scheme forward but it didn't seem to achieve that goal unforuntately. 19:01:48 carleastlund, it's worth noting that the RnRS reports are not meant to advance the state of the art; not even the SRFI process does that, though it's closer than the standards to that process. 19:02:37 gnomon: I mean there were advances that happened outside of the reports that could have been incorporated earlier. And I'm not saying that's my position -- just saying there's nothing written in stone that says RnRS reports need to be few an far between. 19:02:40 nego [~nego@c-76-16-30-244.hsd1.il.comcast.net] has joined #scheme 19:07:15 Actually, there is. I just got out a hammer and chisel and a bit of stone and wrote it there. 19:10:25 Well, I'm sure natural erosion will take care of that in time. 19:13:17 -!- parolang [~kevin@c-64-246-121-114.oregonrd-wifi-1261.amplex.net] has quit [Ping timeout: 265 seconds] 19:17:37 hey do you guys have any good resources to that I can read up on and get very good with tail-recursion? 19:17:39 What's a good way to read in binary floats from a file in Chicken? 19:23:32 seus, htdp.org or sicp (google it) 19:26:11 flipzagging [~flipzaggi@wikimedia/NeilK] has joined #scheme 19:28:26 seus: you should learn how to CPS transform 19:28:52 seus: I wish I knew where to learn that, I'd love to know how to do it manually like some people that have helped me in the past know. 19:29:26 -!- chemuduguntar [~ravi@118-92-148-22.dsl.dyn.ihug.co.nz] has quit [Ping timeout: 240 seconds] 19:29:38 hmm..that CPS looks pretty interesting 19:30:22 tail-recursion doesn't look all that bad...I just need to figure out a few more details with scheme to really make it work wel 19:31:34 -!- tessier [~treed@kernel-panic/copilotco] has quit [Ping timeout: 250 seconds] 19:32:07 wingo [~wingo@90.164.198.39] has joined #scheme 19:33:39 -!- Grazl [~Grazl@94.Red-83-40-106.dynamicIP.rima-tde.net] has quit [Ping timeout: 276 seconds] 19:33:42 oh wait...cps is just another name for tail-recursion I believe right? 19:34:41 rasterbar [~rasterbar@unaffiliated/rasterbar] has joined #scheme 19:36:41 cps-style does indeed have only tail calls. 19:36:57 and hello schemers 19:39:55 StephenFalken [email@89-180-199-205.net.novis.pt] has joined #scheme 19:40:19 -!- TR2N [email@2001:470:1f14:135b::2] has quit [Ping timeout: 245 seconds] 19:42:05 parolang [~kevin@c-64-246-121-114.oregonrd-wifi-1261.amplex.net] has joined #scheme 19:42:35 seus: CPS style is when everything has a tail call and all tail calls execute the continuation 19:44:42 hmm i see 19:46:59 -!- tupi [~david@139.82.89.24] has quit [Quit: Leaving] 19:47:06 hi wingo 19:51:09 -!- r2q2 [43ad6b5a@gateway/web/freenode/ip.67.173.107.90] has quit [Ping timeout: 240 seconds] 19:53:17 -!- neilcj [~neilcj@c-174-49-216-137.hsd1.pa.comcast.net] has quit [Quit: leaving] 20:00:02 -!- jewel [~jewel@196-215-16-138.dynamic.isadsl.co.za] has quit [Ping timeout: 240 seconds] 20:01:00 tessier [~treed@mail.copilotco.com] has joined #scheme 20:01:15 nilg [~user@77.70.2.229] has joined #scheme 20:04:53 -!- rasterbar [~rasterbar@unaffiliated/rasterbar] has quit [Read error: Connection reset by peer] 20:05:32 rasterbar [~rasterbar@unaffiliated/rasterbar] has joined #scheme 20:12:00 neilcj [~neilcj@c-174-49-216-137.hsd1.pa.comcast.net] has joined #scheme 20:12:02 -!- parcs [~patrick@ool-45741d7d.dyn.optonline.net] has quit [Ping timeout: 240 seconds] 20:13:33 parcs [~patrick@ool-45741d7d.dyn.optonline.net] has joined #scheme 20:15:13 krmckelv [~krmckelv@adsl-99-137-202-10.dsl.bltnin.sbcglobal.net] has joined #scheme 20:15:43 IU shout out 20:21:33 -!- HG` [~HG@xdsl-188-118-133-222.dip.osnanet.de] has quit [Quit: Leaving.] 20:24:46 um lol 20:25:13 Fare [~Fare@ita4fw1.itasoftware.com] has joined #scheme 20:26:27 krmckelv: sup 20:31:57 why is there no fold-left in Chicken? 20:32:02 -!- Ruinpeople_ [~nnscript@109.130.89.160] has quit [Quit: ( www.nnscript.com :: NoNameScript 4.22 :: www.esnation.com )] 20:34:39 -!- yx [debian-tor@gateway/tor-sasl/yx] has quit [Ping timeout: 240 seconds] 20:35:14 -!- leppie [~lolcow@196-215-83-125.dynamic.isadsl.co.za] has quit [Ping timeout: 240 seconds] 20:35:41 -!- mathk [~mathk@194.177.61.44] has quit [Ping timeout: 240 seconds] 20:35:41 leppie [~lolcow@196-215-83-125.dynamic.isadsl.co.za] has joined #scheme 20:35:58 erjiang: It's called fold. 20:36:54 unbound variable: fold 20:37:07 (use srfi-1) 20:37:39 incubot: (use srfi-1) 20:37:40 Error: unbound variable: srfi-1 20:37:50 Oh, it doesn't support "use". Hmm. 20:37:56 incubot: (require 'srfi-1) 20:37:56 # 20:37:59 incubot: fold 20:38:03 problem with arithmetic examples is that they don't differentiate between fold and fold-right. 20:38:13 lol 20:38:17 incubot: (fold + 5 '(1 2 3 4)) 20:38:17 15 20:38:21 ok, (use srfi-1) did work in csi 20:39:42 yx [debian-tor@gateway/tor-sasl/yx] has joined #scheme 20:40:02 :-) 20:41:12 lolcow [~lolcow@196-215-83-125.dynamic.isadsl.co.za] has joined #scheme 20:41:38 -!- minion [~minion@common-lisp.net] has quit [Quit: Common Lisp IRC library - http://common-lisp.net/project/cl-irc] 20:41:59 lisppaste [~lisppaste@common-lisp.net] has joined #scheme 20:42:14 minion [~minion@common-lisp.net] has joined #scheme 20:42:37 specbot [~specbot@common-lisp.net] has joined #scheme 20:42:45 -!- leppie [~lolcow@196-215-83-125.dynamic.isadsl.co.za] has quit [Ping timeout: 260 seconds] 20:42:59 -!- lolcow is now known as leppie 20:43:58 -!- antoszka [~antoszka@unaffiliated/antoszka] has quit [Read error: Operation timed out] 20:44:00 Trying to diagnose a problem in a Gambit Scheme swank server implementation, I can "print" from the main thread but not from the handler (it errors out) - is there some good trick for "print"ing from a thread for diagnostics purposes? 20:48:09 -!- yx [debian-tor@gateway/tor-sasl/yx] has quit [Remote host closed the connection] 20:48:47 antoszka [~antoszka@unaffiliated/antoszka] has joined #scheme 20:51:44 incubot: (require utf8) ;just trying 20:51:44 Error: unbound variable: utf8 20:51:47 oh ok 20:57:46 aking_ [~aking@67.23.13.119] has joined #scheme 20:57:58 -!- aking [~aking@67.23.13.119] has quit [Ping timeout: 240 seconds] 21:02:15 -!- pnkfelix [~Adium@c-71-225-45-140.hsd1.nj.comcast.net] has quit [Ping timeout: 240 seconds] 21:02:59 -!- pjb [~t@81.202.16.46.dyn.user.ono.com] has quit [Remote host closed the connection] 21:04:33 flipzagging_ [~flipzaggi@wikimedia/NeilK] has joined #scheme 21:06:31 yx [debian-tor@gateway/tor-sasl/yx] has joined #scheme 21:08:27 -!- flipzagging [~flipzaggi@wikimedia/NeilK] has quit [Ping timeout: 240 seconds] 21:08:27 -!- flipzagging_ is now known as flipzagging 21:11:18 schmir [~schmir@p54A915E6.dip0.t-ipconnect.de] has joined #scheme 21:12:50 -!- mwolfe [~mwolfe@corona.cornerturn.com] has quit [Remote host closed the connection] 21:19:42 -!- krmckelv [~krmckelv@adsl-99-137-202-10.dsl.bltnin.sbcglobal.net] has left #scheme 21:24:50 -!- leppie [~lolcow@196-215-83-125.dynamic.isadsl.co.za] has quit [Ping timeout: 240 seconds] 21:25:52 kuribas [~user@dD576358E.access.telenet.be] has joined #scheme 21:25:58 mathk [~mathk@194.177.61.44] has joined #scheme 21:27:31 rasterba_ [~rasterbar@174-144-117-249.pools.spcsdns.net] has joined #scheme 21:30:13 -!- seus [~sbero@adsl-99-114-191-162.dsl.spfdmo.sbcglobal.net] has quit [Quit: seus] 21:30:40 -!- rasterbar [~rasterbar@unaffiliated/rasterbar] has quit [Ping timeout: 240 seconds] 21:31:10 -!- flipzagging [~flipzaggi@wikimedia/NeilK] has quit [Quit: flipzagging] 21:35:56 -!- rasterba_ [~rasterbar@174-144-117-249.pools.spcsdns.net] has quit [Remote host closed the connection] 21:36:31 rasterbar [~rasterbar@unaffiliated/rasterbar] has joined #scheme 21:37:03 -!- Riastradh [debian-tor@fsf/member/riastradh] has quit [Ping timeout: 240 seconds] 21:40:09 Riastradh [debian-tor@fsf/member/riastradh] has joined #scheme 21:41:01 seus [~sbero@99.114.191.162] has joined #scheme 21:41:29 -!- masm [~masm@bl15-129-210.dsl.telepac.pt] has quit [Quit: Leaving.] 21:44:51 -!- Adamant [~Adamant@unaffiliated/adamant] has quit [Quit: Adamant] 21:44:53 twopoint718 [~chris@76.201.148.90] has joined #scheme 21:46:18 pytho [8cb6907f@gateway/web/freenode/ip.140.182.144.127] has joined #scheme 21:49:13 -!- neilcj [~neilcj@c-174-49-216-137.hsd1.pa.comcast.net] has quit [Ping timeout: 246 seconds] 21:52:45 -!- man_in_ltop [~unused@unaffiliated/man-in-shack/x-4279753] has left #scheme 21:55:44 -!- langmartin [~user@exeuntcha2.tva.gov] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 22:03:50 -!- twopoint718 [~chris@76.201.148.90] has quit [Ping timeout: 240 seconds] 22:04:49 twopoint718 [~chris@76.201.148.90] has joined #scheme 22:10:00 flipzagging [~flipzaggi@wikimedia/NeilK] has joined #scheme 22:10:36 hi guys, i have a question.. i'm trying to extract the first symbol from 2 different lists, and then compare them to see if they compliment each other or not. i know i can use car to show me the first symbol in both lists, but that doesn't change what's in the list. 22:11:23 pjb [~t@81.202.16.46.dyn.user.ono.com] has joined #scheme 22:12:05 pytho: Why do you need to change the list? 22:12:23 i just assumed i needed to 22:12:32 pytho: Nope. :-) 22:14:16 -!- preflex is now known as preflux 22:14:55 -!- nilg [~user@77.70.2.229] has quit [Remote host closed the connection] 22:16:43 -!- preflux is now known as preflex 22:17:03 Here, convo comes back to the channel. :-) 22:19:17 -!- nego [~nego@c-76-16-30-244.hsd1.il.comcast.net] has quit [Read error: Operation timed out] 22:19:25 ahh yes. sorry 22:20:53 :-) 22:27:19 -!- jonrafkind [~jon@crystalis.cs.utah.edu] has quit [Read error: Operation timed out] 22:27:54 jonrafkind [~jon@crystalis.cs.utah.edu] has joined #scheme 22:31:56 -!- Fare [~Fare@ita4fw1.itasoftware.com] has quit [Quit: Leaving] 22:33:01 thanks cky. i was able to figure it out :] 22:33:50 -!- Teapot [~teapot@gateway/shell/bshellz.net/x-leqdrnmqnqopwxdf] has quit [Ping timeout: 276 seconds] 22:33:57 -!- jonrafkind [~jon@crystalis.cs.utah.edu] has quit [Ping timeout: 240 seconds] 22:35:10 nego [~nego@c-76-16-30-244.hsd1.il.comcast.net] has joined #scheme 22:36:00 -!- pytho [8cb6907f@gateway/web/freenode/ip.140.182.144.127] has quit [Quit: Page closed] 22:38:37 -!- rasterbar [~rasterbar@unaffiliated/rasterbar] has quit [Read error: Connection reset by peer] 22:39:10 rasterbar [~rasterbar@unaffiliated/rasterbar] has joined #scheme 22:39:10 jonrafkind [~jon@crystalis.cs.utah.edu] has joined #scheme 22:40:36 -!- flipzagging [~flipzaggi@wikimedia/NeilK] has left #scheme 22:44:18 seus_ [~sbero@adsl-99-114-191-162.dsl.spfdmo.sbcglobal.net] has joined #scheme 22:44:18 -!- seus [~sbero@99.114.191.162] has quit [Read error: Connection reset by peer] 22:44:19 -!- seus_ is now known as seus 22:53:04 bweaver` [~user@host-68-169-158-230.WISOLT2.epbfi.com] has joined #scheme 22:54:50 -!- bweaver [~user@host-68-169-175-225.WISOLT2.epbfi.com] has quit [Ping timeout: 240 seconds] 23:00:15 rgrau [~user@62.Red-88-2-20.staticIP.rima-tde.net] has joined #scheme 23:08:56 -!- schmir [~schmir@p54A915E6.dip0.t-ipconnect.de] has quit [Ping timeout: 276 seconds] 23:09:09 -!- kuribas [~user@dD576358E.access.telenet.be] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 23:13:08 HG` [~HG@xdsl-188-118-133-222.dip.osnanet.de] has joined #scheme 23:13:25 Grazl [~Grazl@11.Red-79-150-124.dynamicIP.rima-tde.net] has joined #scheme 23:23:48 -!- wingo [~wingo@90.164.198.39] has quit [Ping timeout: 272 seconds] 23:25:54 -!- MrFahrenheit [~RageOfTho@users-146-124.vinet.ba] has quit [Read error: Connection reset by peer] 23:28:46 MrFahrenheit [~RageOfTho@users-146-124.vinet.ba] has joined #scheme 23:33:55 -!- carleastlund [~cce@gotham.ccs.neu.edu] has quit [Quit: carleastlund] 23:35:38 -!- twopoint718 [~chris@76.201.148.90] has left #scheme 23:35:51 pumpkin [~pumpkin@17.101.89.205] has joined #scheme 23:35:51 -!- pumpkin [~pumpkin@17.101.89.205] has quit [Changing host] 23:35:51 pumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 23:38:04 -!- copumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Ping timeout: 246 seconds] 23:51:54 -!- gravicappa [~gravicapp@ppp91-78-230-80.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 23:53:14 -!- corruptmemory [~jim@96.246.167.18] has quit [Ping timeout: 240 seconds] 23:53:30 -!- drdo [~user@2001:690:2100:1b:226:8ff:fef7:3d9e] has quit [Ping timeout: 260 seconds]