00:05:14 schoppenhauer [n=christop@unaffiliated/schoppenhauer] has joined #scheme
00:19:59 RageOfThou [n=RageOfTh@users-55-249.vinet.ba] has joined #scheme
00:20:54 reprore [n=reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme
00:22:52 -!- araujo [n=araujo@gentoo/developer/araujo] has quit [Read error: 54 (Connection reset by peer)]
00:24:28 -!- Narrenschiff [n=ritchie@xolotl.plus.com] has quit []
00:29:11 -!- masm [n=masm@bl7-39-93.dsl.telepac.pt] has quit [Read error: 110 (Connection timed out)]
00:29:40 masm [n=masm@bl10-6-120.dsl.telepac.pt] has joined #scheme
00:32:56 -!- MrFahrenheit [n=RageOfTh@users-33-65.vinet.ba] has quit [Success]
00:37:15 -!- bipt [i=bpt@cpe-075-182-092-215.nc.res.rr.com] has quit [Read error: 110 (Connection timed out)]
00:37:36 n0am [n=noam@188.88.96.36] has joined #scheme
00:37:42 bipt [i=bpt@cpe-075-182-095-015.nc.res.rr.com] has joined #scheme
00:39:50 araujo [n=araujo@gentoo/developer/araujo] has joined #scheme
00:41:44 daedra [n=simon@unaffiliated/daedra] has joined #scheme
00:42:36 -!- davazp [n=user@95.Red-83-55-182.dynamicIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)]
00:43:16 hey, I'm trying to apply a function to the first element in one list, to each element in the second, then the second element in the first list to each element in the second (and so forth)
00:43:57 is it possible to do this with map?
00:45:11 I think its simple to do with iteration (a nested loop with the function inside the deepest nest), but I'm trying to get my head round map
00:48:27 -!- jonrafkind [n=jon@crystalis.cs.utah.edu] has quit [Read error: 113 (No route to host)]
01:00:55 -!- _nofear [n=_nofear@189.115.0.219] has quit []
01:11:28 Zuu [i=zuu@unaffiliated/zuu] has joined #scheme
01:12:10 this is a quickie, what is the usual name for these: 'foo
01:12:25 symbols? datums? constants?
01:14:47 or just names?
01:17:08 Hmm, i had imagined this to be an easy one :)
01:19:16 i have attempted to find descriptions of the scheme tokens, but ' is just mentioned several places making it hard to determine what i should call " 'foo "
01:19:37 maybe quotations?
01:20:28 When (if) anyone decides to answer, please highlight me :)
01:25:16 Zuu: That's a quotation of a symbol, I'd say, but I may be wrong.
01:25:33 'foo is read by the reader as (quote foo) - eg, it turns into a list
01:26:01 yeah i sortof figured out what it did, it's just that i dont know what to call it
01:26:42 as in, if i had to describe this through words: (bar 'foo baz)
01:27:33 bar is called with followed by
01:30:33 im a bit rusty, but these symbols represent values right? Sow what is the idea of quoting it?
01:31:19 i can see the idea of quoting a list of ssymbols as to not evaluate it as a function, but quoting a single symbol, i dont get.
01:32:00 cky_ [n=cky@h-98-105-27-134.ip.alltel.net] has joined #scheme
01:32:30 Anyways, thanks for the answer alaricsp :)
01:33:27 wait, you might actually have answered both questions already, it's just me being slow :P
01:35:21 -!- cky [n=cky@h-98-105-29-215.ip.alltel.net] has quit [Read error: 60 (Operation timed out)]
01:37:27 Zuu: Well, in a Scheme expression, 'foo evaluates to a symbol object that has the string representation "foo", while foo on its own evaluates to whatever foo is bound to, or an error if it's not bound
01:37:32 (sorry, I was off fiddling with fire)
01:38:02 :)
01:38:34 i think i just came across something mentioning that 'foo is just called "foo symbol"
01:39:33 alaricsp, i think i understand the idea now, thanks again :)
01:42:22 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection]
01:46:08 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme
01:47:54 -!- mrsolo [n=mrsolo@nat/yahoo/x-xrkbebrgbingffek] has quit [Remote closed the connection]
01:56:44 arcfide [n=arcfide@ppp-70-246-149-137.dsl.stlsmo.swbell.net] has joined #scheme
01:58:57 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit ["ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.0.14/2009090900]"]
01:59:16 mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme
01:59:24 dfeuer [n=dfeuer@wikimedia/Dfeuer] has joined #scheme
02:00:13 -!- jay-mccarthy [n=jay@lallab.cs.byu.edu] has quit [verne.freenode.net irc.freenode.net]
02:00:18 *arcfide* hunts for Riastradh.
02:00:46 jay-mccarthy [n=jay@lallab.cs.byu.edu] has joined #scheme
02:04:44 -!- daedra [n=simon@unaffiliated/daedra] has left #scheme
02:06:02 -!- cky_ is now known as cky
02:06:11 arcfide: where you gonna look?
02:06:20 *mejja* recommends http://www.mass.gov/dfwele/dfw/regulations/abstracts/hunting_dates.pdf
02:10:23 -!- bweaver [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has quit ["ERC Version 5.3 (IRC client for Emacs)"]
02:16:32 -!- visof [n=visof@41.238.232.232] has quit [Remote closed the connection]
02:34:51 -!- masm [n=masm@bl10-6-120.dsl.telepac.pt] has quit ["Leaving."]
02:36:59 -!- blackened` [n=blackene@ip-89-102-22-70.karneval.cz] has quit []
02:38:19 hello. is there a default way in scheme to get some unique identifier for an existing object? something like a pointer or so? i dont need to access any object by that identifier, i just have to make sure that two identical lists can be somehow differed if I need it.
02:40:30 schoppenhauer: nothing in r5rs that i can think of; there may be some implementation-dependent mechanism
02:40:45 klutometis: is there something for petite and mzscheme?
02:40:55 schoppenhauer: You can also use eq? to _compare_ whether two items have the same identity.
02:41:18 specbot: eq?
02:41:34 cky: this would be sufficient. but does eq? really only compare pointers? because I need to have (eq? (list) (list)) to be #f
02:41:40 cky: for example
02:41:40 specbot: r5rs eq?
02:41:40 http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-9.html#%_idx_216
02:41:42 It is.
02:41:42 -rudybot_:#scheme- http://tinyurl.com/6hr3jb
02:41:46 schoppenhauer: Try it and see.
02:42:59 schoppenhauer: look at the rationale for eq? vs. eqv? in the link above; it's possible that eq? is implemented as pointer comparison, which may or may not help you determine object identity
02:45:15 hm ...
02:45:50 thank you.
02:53:08 is there any form of mutable objects in scheme, that you can pass to a function, and this function can change?
02:53:29 (I know this is not very functional, but its the easiest way to do what I want right now)
02:55:50 These are sometimes needed, and you can construct one using pairs, but most people uses their implementation's version of boxes.
02:57:12 ok
02:57:32 arcfide: can this be done by set-car! and set-cdr! ?
02:57:34 Mutating objects reminds me of SRFI-17.
02:57:44 schoppenhauer: Yep, that'd be the usual way.
02:57:50 cky: ok thanks
02:58:05 schoppenhauer: What implementation are you using?
02:58:25 arcfide: i have to write code that is usable on petite chez scheme and mzscheme, both r5rs
02:58:30 schoppenhauer: If you have SRFI-17, you can also use (set! (car foo) bar) and (set! (cdr foo) bar), but set-car! and set-cdr! is more portable (works on plain-jane R5RS).
02:59:06 cky: well, then I prefer set-car! and set-cdr!
02:59:10 *nods*
02:59:20 schoppenhauer: Petite Chez Scheme has Boxes, and so does mzscheme. If you are restricted to using only R5RS, then you can just use pairs.
02:59:23 i prefer to write portable code
02:59:37 arcfide: yes, but i prefer portable code.
02:59:51 arcfide: but thank you
03:00:04 schoppenhauer: It's hard to find a Scheme implementation that doesn't have boxes, and harder still to find a Scheme that doesn't allow you to write a trivial portable boxes library.
03:00:05 I mean its not that it has to be very efficient code ... it just has to work.
03:00:38 Even if you decide to do so portably, you should make it clear what you are doing by creating a box abstraction yourself.
03:02:10 arcfide: from common lisp comes the possibility to differ between implementations by #+...(...), for example #+sbcl( sbcl-special-code ), etc. - is there something similar in scheme? (because if so, then I maybe would use it for this)
03:02:28 arcfide: i agree its better to write an abstraction layer which makes clear what I am actually doing
03:02:56 -!- copumpkin [n=copumpki@dhcp-212-196.cs.dartmouth.edu] has quit []
03:03:39 schoppenhauer: No, and generally you would avoid such things in your code. Just write the code using boxes, and then provide a simple boxes library in case the implementation doesn't provide it.
03:04:06 ok
03:04:27 arcfide: are the mzscheme- and petite-scheme boxes identical?
03:05:44 schoppenhauer: You'd need to check the docs for each. I know that boxes don't differ that much among implementations.
03:05:54 ok thank you
03:07:46 -!- rdd [n=user@c83-250-152-128.bredband.comhem.se] has quit [Remote closed the connection]
03:08:06 Riastradh [n=riastrad@tissot.csail.mit.edu] has joined #scheme
03:08:40 bytecolor, `is the average do statement inherently slower than the average tail recursion?' In any reasonable implementation of Scheme, DO is a macro that expands into a tail recursion.
03:09:38 bytecolor, the primitive mechanism for looping in Scheme is procedure call. There is nothing `faster', although a compiler will usually generate better code for certain patterns of procedure calls.
03:12:47 arcfide: Boo.
03:14:46 -!- bgs100 [n=ian@unaffiliated/bgs100] has quit ["Leaving"]
03:22:36 *arcfide* blinks.
03:22:45 *arcfide* has become the hunted.
03:23:17 Riastradh: You booed? :-)
03:29:25 Hi.
03:33:29 You hunted?
03:34:32 copumpkin [n=copumpki@c-24-63-67-154.hsd1.nh.comcast.net] has joined #scheme
03:35:23 *kapwing*
03:35:47 hitting them on the fly, I see
03:35:59 omg it's Riastradh
03:36:01 We're playing IRC tag, copumpkin. Join the fun! (You're not allowed to reply for at least five minutes, enough time for one of us to get distracted.)
03:36:18 -!- RageOfThou [n=RageOfTh@users-55-249.vinet.ba] has quit [Read error: 113 (No route to host)]
03:36:50 :o
03:42:46 hmm, now I just realized I don't know how to play tag
03:43:15 *copumpkin* makes appropriate noises and grabs Adamant
03:43:21 I think the : symbol and use of the Tab key may somehow be involved
03:43:23 I assume that's what is needed
03:44:52 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote closed the connection]
03:47:25 Riastradh: Well, I sent you an email about what I wanted to say, so I no longer require you on IRC, unless you have some more information about OmniWeb's Gopher support. It appears that it is broken.
03:47:39 *Adamant* attaches a tag to the copumpkin value, uses the obligatory :, then jets for daily consciousness interruption
03:48:05 I get some things, and it appears to be sending the right stuff to the server, but for some reason it must not like the output.
03:48:09 Darn, arcfide stole my turn.
03:48:58 I was going to say to copumpkin: `It's like phone tag, but over IRC. Some hours ago, arcfide prodded (the absent) me, and so half an hour ago I prodded him back, and then he prodded me back, so I prodded him once more in return, and I still haven't a clue what all this prodding is about.'
03:49:11 But now I have to wait another five minutes to say that.
03:49:12 Phooey.
03:49:14 I see!
03:49:17 Ahem.
03:49:48 Now I see what it's about, though.
03:50:03 arcfide, maybe it would be easier if you found a host that talks the FTP or the HTTP.
03:50:57 -!- luz [n=davids@189.122.90.116] has quit ["Client exiting"]
03:52:30 tjaway [n=timj@e176197179.adsl.alicedsl.de] has joined #scheme
03:52:39 -!- rudybot_ is now known as rudybot
03:52:45 cky_ [n=cky@h-166-166-114-105.ip.alltel.net] has joined #scheme
03:52:54 -!- cky [n=cky@h-98-105-27-134.ip.alltel.net] has quit [Nick collision from services.]
03:52:58 -!- cky_ is now known as cky
03:56:57 My IRC tag technique seems a little flakey. Apparently I was more surprising too copumpkin than arcfide, even though I said `boo' to arcfide but not to copumpkin.
03:57:26 well I just hadn't seen you in here for a while
04:00:40 -!- reprore [n=reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection]
04:02:39 Summermute [n=Summermu@c-69-251-24-39.hsd1.dc.comcast.net] has joined #scheme
04:03:16 djanatyn [n=djanatyn@c-76-27-121-193.hsd1.ut.comcast.net] has joined #scheme
04:07:58 *copumpkin* tags Summermute
04:08:26 -!- tjafk [n=timj@e176207188.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)]
04:16:34 jlongster [n=user@c-68-59-187-95.hsd1.tn.comcast.net] has joined #scheme
04:38:26 arcfide, I haven't gotten your email, and I think that it should have gotten past greylisting by now.
04:55:04 Riastradh: It boils down to, "I think OmniWeb has a screw loose."
04:55:44 OmniWeb appears to send the appropriate request, and I know that sending that same request over every other gopher client results in the appropriate response and receiving the appropriate data back in a valid form, so I'm not sure why OmniWeb is having such a hard time with it.
04:55:46 OK. Considered submitting a bug report? You would be much more qualified than I, as you have already written a Gopher server and analyzed the bits going over the intertubes.
04:56:28 I was hoping you had some tricks about debugging OmniWeb.
04:57:42 No, sorry. I have never attempted to debug OmniWeb, for two reasons: (1) It is proprietary software. (2) It exhibits bugs very seldom for me, perhaps once every few months.
04:58:27 Alright. It seems to work just fine except for the "9" protocol, which is used for binary transfers.
04:58:35 I'll go ahead and submit the report.
05:00:05 Riastradh: Um, I'm not sure where to report bugs. Is there some interface on their web page, or an email address?
05:00:26 Ah..., um, I guess that forum thing is the official bug reporting tool, huh?
05:01:15 Oh blast, they require registration.
05:02:05 I Googled `reporting omniweb bugs', and (Google's summary text for) the first hit suggested sending mail omniweb5@omnigroup.com.
05:07:01 Thanks.
05:07:08 'how cool would it be if every time you used it, you thought "Wow, this rules!"'
05:08:06 offby1: From where is this exactly?
05:08:22 Probably from the Omni Group's web page for OmniWeb.
05:08:50 They're a little excited about their own products.
05:08:50 Hehe, I checked out the features they were advertising, but I'm not sure I was any more impressed than with Opera. What features do you like about OmniWeb Riastradh?
05:09:06 Riastradh: Yes, they do seem to be rather . . . enthused.
05:09:31 Not that I can use it seeing that they are on Mac OS X exclusively, but...*shrug*.
05:09:55 Riastradh: Oh, and are you still against UTF-8 non-ASCII characters or the like in this channel when you are reading? :-)
05:13:10 OmniWeb renders web pages, with ads blocked, and with cookies blocked except for domains on a white list. That's pretty much all I request it to do. When I need to use a web site that uses JavaScript, I launch Firefox.
05:14:30 Oh, OmniWeb also has a source viewer that doubles as a source editor. That way, I can strip out obnoxious parts of a web page as I encounter them (bad CSS, unwanted images, &c.) and redisplay the page on the fly.
05:15:12 I'm sure that I could persuade Firefox to do all that too, but that would require me to track down and install and customize some elaborate collection of plugins, which would take more than zero time and mental effort.
05:16:49 If you want to communicate clearly in this channel, I suggest restricting your text to US-ASCII code points, because the IRC protocol is broken, and many IRC clients behave in various unpleasant ways in the face of non-US-ASCII code points.
05:18:49 jonrafkind [n=jon@c-98-202-82-46.hsd1.ut.comcast.net] has joined #scheme
05:19:19 Hrm, are the Scheme implementations actually taking SRFI 103 seriously?
05:19:35 I can't imagine so.
05:19:48 If they are, then I shall take them even less seriously than I currently do.
05:20:14 I haven't read it, but I've seen some people arguing that it should be used. I'm not really sure what it suggests.
05:21:58 Whoever suggests that it be used should be punished by being forced to use it. That punishment should not be inflicted upon any innocent bystanders, however.
05:31:04 elderK [n=zk@125-236-160-103.jetstream.xtra.co.nz] has joined #scheme
05:37:30 cky_ [n=cky@h-166-166-116-136.ip.alltel.net] has joined #scheme
05:39:45 -!- cky [n=cky@h-166-166-114-105.ip.alltel.net] has quit [Nick collision from services.]
05:39:46 -!- cky_ is now known as cky
05:40:14 -!- NNshag [n=shag@lns-bzn-37-82-253-57-237.adsl.proxad.net] has quit ["Quitte"]
05:45:51 -!- Riastradh [n=riastrad@tissot.csail.mit.edu] has quit ["leaving"]
05:49:55 cky_ [n=cky@h-166-165-129-23.ip.alltel.net] has joined #scheme
05:50:18 -!- cky [n=cky@h-166-166-116-136.ip.alltel.net] has quit [Nick collision from services.]
05:50:18 -!- cky_ is now known as cky
06:05:36 graphviz is leet!
06:05:52 Jafet [n=Jafet@unaffiliated/jafet] has joined #scheme
06:10:29 -!- djanatyn [n=djanatyn@c-76-27-121-193.hsd1.ut.comcast.net] has quit [Read error: 54 (Connection reset by peer)]
06:10:38 I was quite happy when I saw that someone had made OpenGL bindings for Chez.
06:10:39 :-)
06:10:48 And I'm working on Descot again!
06:11:09 Ah, it's good to be working on it. Riastradh, that means you'll probably see some things that show you how easy it is to use Descot the way you want. :-)
06:11:31 Also, you'll be glad to see the new web site changes that are font size and page width dynamic.
06:11:46 Though, I suppose you'll still disable the stylesheet anyways. :-)
06:12:07 cky_ [n=cky@h-166-165-129-23.ip.alltel.net] has joined #scheme
06:12:17 -!- cky [n=cky@h-166-165-129-23.ip.alltel.net] has quit [Nick collision from services.]
06:12:23 -!- cky_ is now known as cky
06:35:57 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection]
06:36:13 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme
06:46:32 -!- schoppenhauer [n=christop@unaffiliated/schoppenhauer] has quit []
06:54:31 Summermute66 [n=Summermu@c-69-251-24-39.hsd1.dc.comcast.net] has joined #scheme
07:03:19 -!- cmatei [n=cmatei@95.76.26.166] has quit [Remote closed the connection]
07:12:43 -!- Summermute [n=Summermu@c-69-251-24-39.hsd1.dc.comcast.net] has quit [Read error: 110 (Connection timed out)]
07:14:06 :D yo arc!
07:16:07 -!- borism [n=boris@213-35-233-3-dsl.end.estpak.ee] has quit [Read error: 54 (Connection reset by peer)]
07:16:19 uman [n=uman@unaffiliated/uman] has joined #scheme
07:16:24 borism [n=boris@213-35-233-3-dsl.end.estpak.ee] has joined #scheme
07:16:48 I asked this in ##lisp but haven't gotten a response. Is SICP a good text for learning Lisp/functional programming ?
07:18:45 Yup
07:18:55 You can't go wrong with SICP, uman.
07:19:12 How to design programs is good too, if you want some more.
07:19:20 :) HtDP and SICP can be found online for free!
07:19:20 SICP even has videos!
07:19:20 hmmm
07:20:43 There are many aspects to lisp; SICP tries to teach design and philosophy
07:21:07 You'll also want a copy of the scheme language report
07:21:51 HTDP is sort of a "junior" version of SICP, for programmers who aren't good at math yet
07:22:18 Well, yes, you can go wrong with SICP, but it is a great book.
07:22:40 For the language reference, I prefer TSPL.
07:23:14 If you liked SICP, you'll like Lisp in Small Pieces.
07:23:32 s/ed/e/ ; whoops
07:24:16 Thanks, guys
07:24:22 I think I'll start reading SICP, it seems interesting
07:24:27 aye, about the reference.
07:24:36 Dybvig's TSPL is cool - and available for free online, uman
07:25:31 slom [n=ibook@217.235.88.252] has joined #scheme
07:28:28 shit; no one ported foof-loop to chicken 4?
07:28:37 i wonder if s48-modules would work
07:28:42 klutometis: Those crazies.
07:29:32 Jafet: what standard of math ability is required for SICP?
07:29:34 Jafet: HtDP is definitely not a junior version of SICP.
07:29:58 uman: SICP really doesn't require that much math. Some of the exercises make more sense with some Math background.
07:30:19 arcfide: i've struggled with luddism since chicken 4 was released; i guess i may have to persist in my chicke-3-anachronism
07:31:20 uman: nothing special; you should be able to grok things like infinitie series, etc. from wikipedia if you don't know them already
07:33:26 oh, I'm a math major
07:33:29 I should be fine then
07:34:22 heh; bizarre you should ask, then. just dive in ;)
07:34:37 Jafet1 [n=Jafet@unaffiliated/jafet] has joined #scheme
07:34:53 I was afraid a math major at the U. of Arizona might have less math aptitude than a CS major at MIT :)
07:35:05 -!- Jafet [n=Jafet@unaffiliated/jafet] has quit [Nick collision from services.]
07:35:07 -!- Jafet1 is now known as Jafet
07:35:58 Math courses are more consistent in quality than programming ones, probably
07:36:40 I've never taken a programming class, so I wouldn't know
07:36:46 cky_ [n=cky@h-98-105-58-222.ip.alltel.net] has joined #scheme
07:36:46 actually I start my first one on Wednesday
07:36:50 *eli* hands Jafet the most awkwardly questionable conclusion of the week.
07:37:08 uman: my ex-fiancee's brother went to U of A; doesn't it have a party-school reputation, or something?
07:37:09 xwl [n=user@123.115.125.156] has joined #scheme
07:37:16 I can't think of any kind of course with more variable quality than "computer science", honestly
07:37:29 Or are you still on my impression of HtDP?
07:37:39 No.
07:37:42 Jafet: well, the subject largely deals with variables :)
07:37:57 How do you reach such a conclusion?
07:38:01 oops, forgot I was in #scheme, so that comment was probably insulting in addition to corny :)
07:38:28 I expect course quality to vary greatly between different teachers, then between departments, then between schools.
07:38:36 -!- cky [n=cky@h-166-165-129-23.ip.alltel.net] has quit [Nick collision from services.]
07:38:37 uman: whoops; that must have been ASU
07:38:51 The field would be somewhere around the bottom of the list.
07:38:57 klutometis: sorry the fiancee thing didn't work out :/ and ASU and U of A are both known as party schools, but ASU is definitely the more famous for it
07:39:07 klutometis: they were ranked #1 party school by Playboy I think.
07:39:19 -!- cky_ is now known as cky
07:39:26 ...and it's an odd thing to say, since I have no idea kind of information it conveys, and what uman should do with it.
07:39:38 Jafet: I agree with eli. I have had wildly varying quality of math instructors. Actually the best I have had was at a community college, and the worst was at U of A.
07:39:42 uman: How much math have you done?
07:39:51 Ok.
07:40:19 eli: Calc 1-3, differential equations, and some linear algebra
07:40:37 Calc 1-2 and LA I learned rigorously, Calc 3 and D.E. was more applied
07:41:02 I think Indiana University scored #5 or something like that on the Playboy party list or some such.
07:41:03 best teacher was Calc 3 at community college, worst was O.D.E. teacher at UA
07:41:06 Or was it #3?
07:41:30 ASU also has better looking women than U of A :(
07:41:38 eli: why do you ask?
07:41:39 uman: In this case, and pardon the blasphemy, you're likely to find Haskell more appealing and/or natural.
07:41:51 eli: hmmm, why?
07:42:14 eli: and for the sake of argument accepting that the Haskell recommendation is correct, is SICP still worth reading?
07:42:21 i believe this is the list you're talking about, gentlemen? http://www.fanblogs.com/ncaa/005842.php
07:42:26 A number of generalizations that can just as well be wrong.
07:42:45 uman: some people have even done SICP in haskell
07:42:53 uman: One thing is that mathematicians are more attached to traditional syntax.
07:43:28 uman: A more important fact is that `=' in Haskell has the same meaning it has in math -- and that's very different than most conventional langugaes. (At least Scheme is cleaner in that area.)
07:43:36 http://www.codepoetics.com/wiki/index.php?title=Topics:SICP_in_other_languages
07:43:38 -rudybot:#scheme- http://tinyurl.com/yvqsht
07:44:02 uman: And yet more important than that is the fact that lazy evaluation is a more fitting model of "doing math" (whatever that means).
07:44:12 '=' meaning something different in programming than math doesn't really bother me
07:44:25 eli: in fact mathematicians themselves use '=' to mean wildly different things depending on context
07:44:34 uman: All of these conclusions immediately get null and void if you're interested in logic -- in that case you're much closer to CS anyway.
07:44:41 (But you didn't have that on your list.)
07:45:09 eli: for example a mathematician is liable to write "cos(x) = O(1)" which is nonsense if you interpret '=' in the standard way
07:45:26 Yes, mathematicians mean different things for symbols, but they almost always keep the meaning close to the visual appearance -- and assignment is very far from doing something similar.
07:45:40 i still contend that scheme has more mathematical sophistication out-of-the-box than most languages; witness the type-orthogonal exact/inexact dimension
07:45:50 eli: mathematics doesn't really have the concept of "assignment"
07:46:10 -!- jlongster [n=user@c-68-59-187-95.hsd1.tn.comcast.net] has quit [Read error: 113 (No route to host)]
07:46:11 uman: Right -- that's why I have it high on the points of contention.
07:46:35 as well as the provisions for exact irrational numbers
07:46:50 eli: still, I would agree (I think, hate to put words in your mouth though) with you that C and friends fucked up by making '=' and '==' mean what they did. ' uman: indeed, R uses the It's just notation.
07:47:30 klutometis: Having such a rich numerical hierarchy (and an odd exact/inexact side-hierarchy) is something that sorely sticks out in an otherwise very minimal language.
07:47:55 There are people who don't like Lisp because it is notated with parens.
07:48:06 eli: it's a charming decadence, though; even if it is decadent
07:48:30 from what I can tell this channel sucks much less than ##c and ##c++
07:48:39 uman: Yes -- and the really bad outcome of that is in misleading newbies: they're practically the only ones who will be confused by it, and the ones who will suffer most from such a confusion.
07:48:46 we had a two hour debate in ##c++ over whether O(2n) and O(n) mean the same thing :(
07:49:30 -!- arcfide [n=arcfide@ppp-70-246-149-137.dsl.stlsmo.swbell.net] has left #scheme
07:49:34 eli: newbies and bad typists -- I've had "Problem exists between finger and brain" incidents which caused me to think '==' and type '='
07:49:35 uman: Actually, if you're into resource complexities, then there's a big negative point for Haskell's laziness --
07:49:37 R also allows you to use ->, if you feel so inclined. :-P
07:49:37 e.g., y y
07:49:47 it makes resource analysis a nightmare.
07:50:10 cky: jesus; after years of R, i didn't know that
07:50:33 klutometis: It's okay. I didn't know it until one of the designers of R told me so. :-P
07:50:45 *cky* studied at the statistics department at the University of Auckland.
07:50:52 eli: I'm honestly too much of a beginner at programming to know for sure what I'm into
07:50:57 Complexity analysis in Haskell is quite interesting, because you have to approach it in a different way
07:51:10 cky: heh; i even hung out with some of those designers a few months ago at the R conference in copenhagen. none of them felt inclined to clue me in ;)
07:51:27 for some definition of "beginner" (e.g. the people I work with think I'm a wizard, but they're shitty VB hacks :) )
07:52:22 oh god someone tried translating SICP into C++
07:52:24 why
07:52:38 uman: Well, to give you a few more details,
07:52:59 SICP and HtDP are very different -- they're both trying to teach you how to program in general,
07:53:19 cky_ [n=cky@h-96-15-122-169.ip.alltel.net] has joined #scheme
07:53:21 eli: but the point is, I've never done any CS more theoretical than "help us build this shitty C# app to make me money", so "what I'm into" is kinda hard to know
07:53:23 Jafet: something like this? http://www.springerlink.com/content/p2r17451hx57552p/
07:53:37 but SICP is kind of like "we'll show you a collection of some really cool things", for a definition of "cool" that is taken from the 80s.
07:53:51 eli: amb is still cool, motherfucker ;)
07:53:55 and HtDP is more like "we'll teach you how to think methodically about solving problems".
07:54:06 eli: I see
07:54:19 and HtDP is like: we'll make programming safe for valley girls/guys ;)
07:54:24 SICP in general is more advanced and fast, HtDP is more slow and robuts.
07:54:32 wow, on that translation page, presenting examples from section 1.1 require eight #include statements.
07:54:33 klutometis, yes, except I can read it
07:54:39 four standard and four from boost
07:54:40 -!- cky [n=cky@h-98-105-58-222.ip.alltel.net] has quit [Nick collision from services.]
07:54:42 -!- cky_ is now known as cky
07:54:57 klutometis: re `amb' -- yes, it's somewhat cool, but not nearly as much as it was in the 80s -- similar things were done from nearly every possible angle.
07:55:25 klutometis: And re your HtDP analogy -- it is impressively bad.
07:56:27 I've heard the term "valley girl" several times but never "valley guy"
07:56:32 I don't know what either one means
07:56:39 -!- slom [n=ibook@217.235.88.252] has quit []
07:56:49 uman: re the choice of languages, BTW, you should certainly stick with Scheme if you're into symbolic stuff -- even more if you're into the meta-stuff. (That was implicit in my reference to logic.)
07:57:48 I think I'll stick with reading SICP, based on what I've heard in this channel
07:57:59 and after that decide in which direction to continue my studies
07:59:45 you've all been quite helpful
08:04:08 -!- jonrafkind [n=jon@c-98-202-82-46.hsd1.ut.comcast.net] has quit [Read error: 110 (Connection timed out)]
08:09:38 is it easier to figure out resource complexity for languages like Scheme, or for "standard" procedural languages like C(++) ?
08:10:34 I guess the point might be moot since you can implement the same algorithms in either language, I imagine
08:10:48 It's probably similar for both.
08:11:29 Scheme might be easier in general since it's much more "formal" than C/C++.
08:11:49 C is plenty formal, go listen to Zhivago for a while
08:12:05