00:05:17 -!- _ffio_ [~fire@unaffiliated/security] has quit [Ping timeout: 246 seconds] 00:06:32 brianmwaters [41b78511@gateway/web/freenode/ip.65.183.133.17] has joined #scheme 00:13:03 -!- jlongste` [~user@pool-72-84-229-181.rcmdva.fios.verizon.net] has quit [Ping timeout: 268 seconds] 00:14:48 jonrafkind [~jon@c-50-131-54-186.hsd1.ca.comcast.net] has joined #scheme 00:14:48 -!- jonrafkind [~jon@c-50-131-54-186.hsd1.ca.comcast.net] has quit [Changing host] 00:14:48 jonrafkind [~jon@racket/jonrafkind] has joined #scheme 00:17:44 -!- C-Keen [cckeen@pestilenz.org] has quit [Ping timeout: 252 seconds] 00:17:55 C-Keen [cckeen@pestilenz.org] has joined #scheme 00:18:02 -!- zacts [~zacts@unaffiliated/zacts] has quit [Quit: leaving] 00:18:37 zacts [~zacts@unaffiliated/zacts] has joined #scheme 00:23:17 _ffio_ [~fire@unaffiliated/security] has joined #scheme 00:24:41 arubin [~arubin@99-114-192-172.lightspeed.cicril.sbcglobal.net] has joined #scheme 00:29:14 -!- kbtr [~kbtr@li198-73.members.linode.com] has quit [Read error: Operation timed out] 00:29:32 kbtr [~kbtr@li198-73.members.linode.com] has joined #scheme 00:31:21 -!- mrowe is now known as mrowe_away 00:36:14 -!- miql [~miql@ip70-176-216-109.ph.ph.cox.net] has quit [Ping timeout: 240 seconds] 00:37:57 -!- wbooze [~wbooze@xdsl-78-35-181-88.netcologne.de] has quit [Ping timeout: 264 seconds] 00:38:13 wbooze [~wbooze@xdsl-78-35-172-219.netcologne.de] has joined #scheme 00:38:16 miql [~miql@ip70-176-216-109.ph.ph.cox.net] has joined #scheme 00:39:19 -!- mrowe_away is now known as mrowe 00:40:12 -!- brianmwaters [41b78511@gateway/web/freenode/ip.65.183.133.17] has quit [Quit: Page closed] 00:40:44 brianmwaters [41b78511@gateway/web/freenode/ip.65.183.133.17] has joined #scheme 00:44:18 -!- carleastlund [~carleastl@209-6-40-238.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Quit: carleastlund] 00:50:09 may I ask scheme related math questions here? ##math is too busy. 00:57:47 how do i recover from a missed interview? 00:59:06 Why did you miss it? 00:59:20 -!- fridim__ [~fridim@65.93.78.88] has quit [Ping timeout: 260 seconds] 01:00:06 i called in late i got the schedule mixed up 01:00:12 it was over the phone 01:00:49 then when nobody was there i called the secretary and she said she would reschedule 01:00:56 but havent heard 01:01:15 You should probably just move on. 01:01:21 If they reschedule, great. 01:01:25 Seems unlikely though. 01:01:42 -!- mrowe is now known as mrowe_away 01:01:58 this was yesterday 01:03:11 -!- pierpa``` [~user@host35-233-dynamic.56-79-r.retail.telecomitalia.it] has quit [Ping timeout: 264 seconds] 01:04:31 so she was lying 01:05:29 -!- mrowe_away is now known as mrowe 01:06:49 BossKonaSegwaY [~Michael@72.49.0.102] has joined #scheme 01:07:36 -!- BossKonaSegwaY1 [~Michael@72.49.0.102] has quit [Ping timeout: 252 seconds] 01:16:15 BossKonaSegwaY1 [~Michael@72.49.0.102] has joined #scheme 01:19:02 -!- BossKonaSegwaY [~Michael@72.49.0.102] has quit [Ping timeout: 268 seconds] 01:25:27 zacts, ask away! 01:25:53 exercise 1.13 sicp 01:25:57 Can't guarantee you'll get an answer if you ask, but I _can_ guarantee you'll get no answer if you don't! 01:26:10 what math do I need to know to solve that problem. 01:26:16 mathematical induction I guess 01:27:06 Qoj [~Joq@69-84-118-201-dhcp.mia.fl.atlanticbb.net] has joined #scheme 01:28:31 why i just so happen to have a copy of SICP sitting right here next to me right now... 01:28:39 zacts: Spoilers (the answer): http://www.billthelizard.com/2009/12/sicp-exercise-113-fibonacci-and-golden.html 01:28:40 http://tinyurl.com/lny5fgv 01:28:43 zacts, yup - does that help? Is induction something with which you are comfortable and familiar? 01:29:49 zacts, or are you looking for a different way to think about the problem? Because given that you're at that exercise, I'm assuming you've tried some of the earlier ones; so where you read "induction", you could also replace that tool with "iteration", "recursion", "looping"... 01:30:13 zacts, and discovering the parallels between all those constructs will make your brain light up in very useful ways. 01:31:12 I can't remember how to do mathematical induction. 01:32:49 Well it's not a trivial example of induction 01:33:02 zacts, the general form is to pick a value in the sequence, N, and prove the hypothesis for just that value; then prove that the same guarantee holds for N+1; then you're done, mix a G&T and put your feet up. 01:33:38 Can someone message #programming 01:33:43 at ask them to invite Qoj 01:33:45 :) 01:34:18 gnomon: wow, that's it? 01:34:37 lol sounds simple right 01:36:34 zacts, that's it. Of course it's easier said than done, but in most cases not a *lot* easier. 01:36:42 ok 01:37:22 gnomon: you seem to follow kfogel's rule of IRC discourse: prefix every utterance with the nick of the person to whom it's aimed. A fine convention but I cannot be bothered. 01:37:52 so do many people try to verify programs by automating techniques such as mathematical induction? 01:38:47 *some* people, key word some... 01:38:59 no, unless you have a strange definition of "many" 01:39:39 hehe ok :D 01:40:05 zacts, in my experience induction is more often used at design time to weigh the value of a particular approach, rather than post facto to verify the correct implementation of that approach. Formal methods applied at the tail end of the practice of programming are few and far between; cherish the opportunities to use them there! 01:40:26 ok cool 01:40:27 offby1, I try! Well, sometimes I do. 01:40:57 zacts, also, since you're asking that question... 01:42:05 zacts, it's worth noting that if you *do* apply formal methods to programs (or to their behaviours!) in the workplace, prepare to be looked at _very_ strangely. I've built a career on simply applying the scientific method to runtime behaviour but ten years on cow-orkers still think I'm an alien. 01:42:23 Can't imagine why. 01:43:11 *gnomon* prods offby1 with a tentacle 01:43:51 bzzt 01:43:52 ow 01:44:26 i'll thank you to keep your pods to yourself, sir 01:44:52 *gnomon* flails 01:45:11 -!- em_ [~em@user-0cev0hr.cable.mindspring.com] has quit [Quit: Reconnecting] 01:45:26 em [~em@unaffiliated/emma] has joined #scheme 01:46:23 so a "state variable" is a variable that holds the state of the computation, for example in a linear recursive process? 01:46:37 I mean linear iterative process 01:47:24 and why would you ever want to program using side effects, if you can accomplish the same thing without side effects? 01:47:41 in a higher level language than C. such as perl/python/scheme/... 01:49:33 zacts, to play devil's advocate, if the side effects are sufficiently exposed than they could conceivably make for a useful monitoring point - eg. if computation state leaks into the filesystem, one could gain some insight into the state of a running program by monitoring that side effect. 01:49:36 zacts: in most languages, side-effect-free programming is a little harder (at least initially) than otherwise 01:51:10 does functional programming generally result in slower programs, than with imperative programming? 01:51:11 BossKonaSegwaY [~Michael@72.49.0.102] has joined #scheme 01:51:31 There is a persistent idea, one long since passed into fiction, that it is reasonable to fully understand every code transformation applied between edit- and run-time, and that writing code free of side effects requires relying on transformations more difficult to understand. 01:52:01 -!- BossKonaSegwaY1 [~Michael@72.49.0.102] has quit [Ping timeout: 246 seconds] 01:52:07 carleastlund [~carleastl@209-6-40-238.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 01:52:30 zacts: typically not. The sorts of people who do FP, and the languages they use, tend to be reasonably fast. 01:52:34 Haskell kicks ass. 01:52:42 (the true fact of the matter is that compilers in all but the smallest niches have long since passed the threshold where even maintainers of those compilers _fully_ understand the emergent behaviour of the system, but old coding reflxes die extremely hard, especially when they get cargo-culted from generation to generation.) 01:52:45 haskell is next on my list after SICP 01:52:59 Ocaml is also scarily speedy. 01:53:13 And there's... what's the name of that crazy numeric language? SASL? 01:53:29 And of course there's Stalin. 01:54:01 offby1: so like with perl for example.. one could program in an equivalent fashion to functional programming with scheme more or less.. so why do people not often use a functional style with perl? 01:54:07 if there are reduced side effects? 01:55:00 zacts, most programmers are taught imperative programming, and either never learn functional programming, or learn it as an oddity in one course in their education. 01:55:51 Even a lot of people who know it reasonably well, do not clearly understand the relationship between imperative and functional programming, and don't know how to write an imperative program in a functional language or vice versa. 01:55:55 also, doesn't functional programming make parallelization simpler because of the reduced side effects? how does parallel programming work in a nutshell in regards to funtional programming. 01:56:23 carleastlund: I'm still a newbie in that area myself, but hope HTDP/SICP will eventually clear things up for me. 01:56:36 They'll certainly get you started. 01:56:39 zacts: about perl -- I dunno. There's a good book about FP in perl. I do mostly-FP style when I do perl. 01:56:51 Higher Order Perl? 01:57:00 I've read the first couple of chapters 01:57:11 I like it so far, but want to learn scheme / sicp first. 01:57:15 the very one 01:57:18 to _really_ learn this stuff 01:57:23 weie_ [~eie@softbank221078042071.bbtec.net] has joined #scheme 01:57:24 *shrug* 01:57:41 SICP is a good book, but it's not, deep down, about scheme 01:57:58 although you'll learn the basics as a side-effect of studying it 01:57:59 *offby1* ducks 01:58:03 cool 01:58:47 no, that's actually a good thing IMHO. they are just using scheme as the medium to explore the ideas they are presenting, not really tied to that language necessarily. 01:58:52 -!- weie [~eie@softbank221078042071.bbtec.net] has quit [Ping timeout: 256 seconds] 01:58:56 yep 01:59:17 does SICP get into artificial intelligence / machine learning? 01:59:31 I know it does come from the AI culture at MIT? 02:00:02 but that would be an eventual interest of mine. like neural networks, things like that. 02:00:14 I wouldn't really say it does. You'll learn more about building a CPU than you will about AI from SICP. 02:00:54 that's ok. it does cover a lot anyway. 02:01:02 A looooooooong time ago, Lisp-like programming languages came out of the AI research community, but that connection is largely an anachronism. AI and machine learning have absolutely nothing to do with programming languages of any kind, functional or not. They're mostly about statistics and such. 02:01:20 interesting 02:01:55 These days isn't most traditionally-defined "AI" processing done in numerically-oriented languages? 02:02:18 I guess I've had this connection between AI and (LISP) this whole time. :p 02:02:45 Lispishes were in fashion in the AI community when it was widely believed that higher-order symbolic processing would yield fruit; nowadays statistical rather than formal modeling seems to be the fashionable approach. 02:02:59 Historically, yes, there was a connection. But the AI done then bears little relation to the AI done now. 02:03:33 but there is a comeback in regards to functional programming with languages like haskell for general problems, not necessarily AI related. 02:04:13 I don't know that it's a comeback, I don't think functional programming ever really had a big popularity heyday to "come back" to. 02:04:25 haha yeah 02:04:48 I've realized I just flooded the channel, sorry. 02:05:05 -- 02:05:22 I think it was all good productive questions, so it's not a problem. 02:06:06 Functional programming will likely become slowly more popular because the features traditionally associated with it work very well for maintaining the plasticity of a program as it is built out into its problem space, and since economic and technical factors make that important and relevant again. 02:06:09 Better than the guy in here recently flooding with inane questions about snack foods. I'll take a discussion about the historical relationship between Lisp and AI any day. 02:07:21 It's difficult to argue for the benefits of functional programming when it's actually a productive use of time to count out CPU cycles, or when programmer time is so expensive that companies can expect to hire them for life, or when it's so cheap that programs are treated as throwaway investments. 02:09:52 inane questions about snack foods? 02:10:23 offby1: of the languages haskell/scheme which is your favorite to program in? 02:10:29 brianmwaters, it was stupid spam so I won't repeat it, but you can scan the irc logs for about a day ago if you want to see it. 02:10:37 it depends, if they were about something like (start-it2 ((donuts) (cheerios (cheerios (spaghettios))) donuts)) they might not be so innane... 02:11:18 but i digress; otherwise i am lurking along with your very interesting conversation 02:11:41 zacts: scheme. I barely recognize Haskell when I see it, let alone can program in it. 02:11:53 cool 02:12:11 so far I really like scheme. well bbl. got some stuff to do. thanks for the chat 02:15:16 -!- Qoj [~Joq@69-84-118-201-dhcp.mia.fl.atlanticbb.net] has quit [Ping timeout: 240 seconds] 02:20:59 offby1: my problem with Haskell is that it makes programming in every other language more difficult 02:21:08 not a real problem exactly, but still 02:21:48 In that you find Haskell easier than everything else? 02:23:18 [Nisstyre: the above question] 02:23:31 carleastlund: not exactly, but it makes programming easier in the long run because it points out my stupid errors 02:24:00 Now I'm just confused. First it makes things difficult, then it makes things eaiser make up your mind! ;-) 02:27:00 -!- tenq|away is now known as tenq 02:28:30 -!- Kabaka [~Kabaka@botters/kabaka] has quit [Remote host closed the connection] 02:28:56 welcome to haskell :) 02:29:09 Kabaka [~Kabaka@botters/kabaka] has joined #scheme 02:33:42 -!- Kabaka [~Kabaka@botters/kabaka] has quit [Client Quit] 02:33:58 jrapdx [~jra@c-98-246-145-216.hsd1.or.comcast.net] has joined #scheme 02:34:06 Kabaka [~Kabaka@botters/kabaka] has joined #scheme 02:38:47 weie [~eie@softbank221078042071.bbtec.net] has joined #scheme 02:40:16 -!- weie_ [~eie@softbank221078042071.bbtec.net] has quit [Ping timeout: 240 seconds] 02:44:12 back. so, when is imperative programming actually the more ideal solution in regards to scheme? 02:46:24 -!- copec [copec@schrodbox.unaen.org] has quit [Quit: checkity check out.] 02:47:07 zacts: there are some algorithms and data structures where there are more efficient known imperative solutions than functional ones. In some cases, it is probably provable that imperative > functional. For instance, you'll never beat O(1) worst-case vector-set! in a functional data structure. 02:47:30 so mainly performance reasons? 02:48:07 i find that functional programming, while easier to understand, is sometimes harder to do 02:48:15 BossKonaSegwaY1 [~Michael@72.49.0.102] has joined #scheme 02:48:31 In some cases, it is also a very natural interface. I know a functional interface to printing would be very unnatural. 02:48:34 and for many of us, taking the imperative shortcut in a restricted manner may be much quicker than doing it purely functionally, 02:49:23 -!- BossKonaSegwaY [~Michael@72.49.0.102] has quit [Ping timeout: 240 seconds] 02:50:26 carleastlund: some things are alleviated by a constant factor, e.g. snoc lists have O(1) "append" 02:50:37 but you have to reverse the cons list first 02:51:22 Nisstyre: I think you may be on a different issue here, or combining multiple issues. 02:51:48 carleastlund: no, I just mean that some functional data structures can be comparable to imperative ones if you do some transformations 02:52:46 -!- leo_33 [~jswksl@46.12.22.174.dsl.dyn.forthnet.gr] has quit [Ping timeout: 268 seconds] 02:53:08 Yes, but you're comparing (presumably functional) cons-based lists to (presumably functional) snoc-based lists aren't you? 02:53:47 fridim__ [~fridim@65.93.78.88] has joined #scheme 02:53:49 so that's what monads are for? does scheme have monads, or am I completely not understanding the concept of monad? 02:53:58 carleastlund: yes 02:54:02 I mean, I agree with the larger point. There are some very efficient functional data structures. Indeed, there are some data structure operations that are nearly always _better_ in the functional versions than the imperative ones. I just wouldn't start with cons-based lists for that discussion. 02:54:17 carleastlund: I figured it was simple enough to explain 02:54:21 instead of zippers or something 02:54:29 zacts: monads are one way of encoding imperative programming in a purely functional language. Scheme does not have or need monads because it is not _purely_ functional. 02:55:01 ah ok 02:56:06 The easiest case for functional data structures is copy. Sometimes you have to copy -- an array, a hash table, whatever -- so your changes don't clobber changes made by some other part of the program. Functional data structures can share, so copying is basically O(1) -- just return the original (or more accurately, don't copy in the first place). So functional data structures definitely have some clear 02:56:07 performance benefits. 02:57:31 carleastlund: http://www.haskell.org/haskellwiki/Constant_applicative_form 02:59:01 Nisstyre: I don't follow. What is the relevance of that page to this discussion? 02:59:15 carleastlund: that's how Haskell does what you're talking about 02:59:38 " 02:59:38 A CAF can always be lifted to the top level of the program. It can either be compiled to a piece of graph which will be shared by all uses or to some shared code which will overwrite itself with some graph the first time it is evaluated." 03:01:02 Nisstyre: no they're talking about a program transformation. I don't see any direct relevance. Their implementation of this CAF stuff may take advantage of what I just mentioned or it might be imperative, behind the scenes, who knows. 03:02:02 yeah, what I meant to say is that it's a result of that fact 03:02:06 I suppose 03:02:33 the fact that everything can be shared means it can be lifted to the top level if it's a CAF 03:03:37 joneshf-laptop [~joneshf@086.112-30-64.ftth.swbr.surewest.net] has joined #scheme 03:04:05 better explanation: http://stackoverflow.com/a/8330811/903589 03:04:12 data abstraction.. I wonder about a practical example of how the implementation of a data structure can dramatically change, while the api and interfaces do not. 03:04:38 so is much of the design of programs merely the design of interfaces and api? 03:06:16 zacts: Well, Racket's bytecode representation changes frequently, yet the API supported by the bytecode -- the Racket language itself -- changes very little as a result. So there's one example that affects Racket users quite frequently. :) 03:06:31 I see 03:07:08 but can you add more elements to a data structure, while keeping the original api? 03:07:23 Sure. 03:08:49 Isn't the point of an API to maintain [at least one] consistent interface, abstracting away specific implementation details? 03:09:03 ok I'm sure when I get to the ch on data abstraction in simply scheme I'll understand more fully 03:09:24 also, I learn well by doing examples. so the spreadsheet / database program should help me. 03:09:32 zacts -- I can represent finite sets of integers as numbers (using binary representation where 1s = "present" numbers), strings (binary again, using the characters), sorted lists of integers, hash tables keyed on the elements but the set operations of membership test, add element, and remove element wouldn't change from the user's perspective. 03:10:16 ah I see cool 03:10:50 so the selectors could be generalized to work on any sized data type. 03:10:57 ? 03:10:59 :-) 03:11:31 zacts, that depends on exactly what you mean by "selectors". 03:11:42 zacts, sure, unless the size of the data type is one of things exposed (either by design, by unintentional implementation, or by omission) by your API! 03:11:49 um.. let me read the ch on data abstraction, and then I'll get back to you. 03:12:00 zacts, that's probably a good idea -- happy reading! 03:12:07 ok. =) 03:22:08 oh one last question before I get into my reading for tonight.. um. is scheme and the art of programming a good book? 03:22:23 mainly there is a course I can take that uses that book. 03:23:10 zacts: Dan Friedman is one of the authors, so yes, it's a good book. 03:23:51 neato 03:24:41 yes he is good. 03:29:41 copec [copec@schrodbox.unaen.org] has joined #scheme 03:29:42 -!- copec [copec@schrodbox.unaen.org] has quit [Excess Flood] 03:30:11 copec [copec@schrodbox.unaen.org] has joined #scheme 03:45:06 leo_33 [~jswksl@46.12.22.174.dsl.dyn.forthnet.gr] has joined #scheme 03:45:48 -!- pcl [~pcl@cpe-172-254-108-166.nyc.res.rr.com] has quit [Quit: Leaving.] 03:49:31 preflex_ [~preflex@unaffiliated/mauke/bot/preflex] has joined #scheme 03:49:37 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping timeout: 246 seconds] 03:50:15 -!- preflex_ is now known as preflex 03:51:16 -!- brianmwaters [41b78511@gateway/web/freenode/ip.65.183.133.17] has quit [Quit: Page closed] 03:52:59 -!- tenq is now known as tenq|away 04:00:45 -!- fridim__ [~fridim@65.93.78.88] has quit [Ping timeout: 264 seconds] 04:05:20 -!- tenq|away is now known as tenq 04:19:23 -!- dessos [~dessos@c-174-60-176-249.hsd1.pa.comcast.net] has quit [Ping timeout: 240 seconds] 04:28:10 -!- Nisstyre [~yours@oftn/member/Nisstyre] has quit [Quit: Leaving] 04:30:53 -!- arubin [~arubin@99-114-192-172.lightspeed.cicril.sbcglobal.net] has quit [Quit: Textual IRC Client: www.textualapp.com] 04:31:45 -!- mrowe is now known as mrowe_away 04:34:53 juxovec [~juxovec@88.103.13.78] has joined #scheme 04:35:24 -!- mrowe_away is now known as mrowe 04:39:49 -!- youlysses [~user@75-132-28-10.dhcp.stls.mo.charter.com] has quit [Quit: Peace all. o/] 04:41:55 -!- wbooze [~wbooze@xdsl-78-35-172-219.netcologne.de] has quit [Ping timeout: 276 seconds] 05:13:26 -!- jkraemer [jkraemer@nat/google/x-hjvrsmazarfqalhv] has quit [Ping timeout: 240 seconds] 05:13:53 jkraemer [jkraemer@nat/google/x-pbbnlypmahxisoet] has joined #scheme 05:15:49 -!- mrowe is now known as mrowe_away 05:18:38 dessos [~dessos@c-174-60-176-249.hsd1.pa.comcast.net] has joined #scheme 05:18:45 -!- jao [~jao@pdpc/supporter/professional/jao] has quit [Ping timeout: 264 seconds] 05:18:51 -!- mrowe_away is now known as mrowe 05:22:18 -!- cosmez [~cosmez@200.92.100.68] has quit [Read error: Connection reset by peer] 05:26:14 -!- Khisanth [~Khisanth@50.14.244.111] has quit [Ping timeout: 240 seconds] 05:32:23 Khisanth [~Khisanth@50.14.244.111] has joined #scheme 05:32:54 -!- kobain [~kobian@unaffiliated/kobain] has quit [Quit: El motor por excelencia http://www.europio.org/] 05:39:46 -!- xilo [~xilo@107-209-248-232.lightspeed.austtx.sbcglobal.net] has quit [Ping timeout: 276 seconds] 05:43:55 -!- _ffio_ is now known as ffio 05:48:14 yay! tic-tac-toe my first AI program. 05:48:40 reminds me of the movies like war games or whatever or 2001 space odyssey. 05:56:59 :) 05:57:04 congratulations, zacts! 05:57:47 -!- yacks [~py@180.151.36.168] has quit [Quit: Leaving] 05:59:08 do people make games with scheme? I want to do something interesting like a game. maybe, like pong bricks. 05:59:20 on linux 06:00:00 I'm assuming racket would probably be the language of choice for something like that.. 06:07:33 zacts, keep going with HtDP or HtDP/2e and you'll be able to write games like pong and bricks with no problem. 06:07:41 cool 06:17:49 wait which edition should I be reading? some people say 1st, some say 2nd. 06:19:22 agumonkey [~agu@156.217.72.86.rev.sfr.net] has joined #scheme 06:22:55 zacts, I think I said 1st earlier, unsure of how ready 2nd is, but it looks like the authors are pushing it, so it's probably ready enough to read. In the end, either will teach you good stuff. 06:37:22 ok, well I'll probably go with the 1st edition, and then skim the second. 06:44:07 jewel [~jewel@105-236-99-241.access.mtnbusiness.co.za] has joined #scheme 06:46:40 -!- Gooder`` [~user@10.155.200.192.client.dyn.strong-in144.as13926.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 06:52:50 Gooder [~user@10.155.200.192.client.dyn.strong-in144.as13926.net] has joined #scheme 06:55:27 superjudge [~mjl@c83-250-14-77.bredband.comhem.se] has joined #scheme 06:59:15 Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has joined #scheme 06:59:59 -!- Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has quit [Client Quit] 07:03:16 -!- superjudge [~mjl@c83-250-14-77.bredband.comhem.se] has quit [Ping timeout: 240 seconds] 07:18:34 -!- ernst [~ernst@static.85-10-192-204.clients.your-server.de] has left #scheme 07:35:23 -!- miql [~miql@ip70-176-216-109.ph.ph.cox.net] has quit [Ping timeout: 240 seconds] 07:36:30 amgarchIn9 [~amgarchin@theo1.theochem.tu-muenchen.de] has joined #scheme 07:36:42 -!- carleastlund [~carleastl@209-6-40-238.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Quit: carleastlund] 07:51:07 peterhil [~peterhil@158.127.31.162] has joined #scheme 07:51:40 miql [~miql@ip70-176-216-109.ph.ph.cox.net] has joined #scheme 07:54:37 -!- juxovec [~juxovec@88.103.13.78] has quit [Remote host closed the connection] 07:56:29 civodul [~user@gateway/tor-sasl/civodul] has joined #scheme 08:03:24 hkBst [~marijn@80.120.175.18] has joined #scheme 08:03:25 -!- hkBst [~marijn@80.120.175.18] has quit [Changing host] 08:03:25 hkBst [~marijn@gentoo/developer/hkbst] has joined #scheme 08:04:46 -!- ffio [~fire@unaffiliated/security] has quit [Ping timeout: 240 seconds] 08:05:28 ffio_ [~fire@unaffiliated/security] has joined #scheme 08:07:58 -!- miql [~miql@ip70-176-216-109.ph.ph.cox.net] has quit [Ping timeout: 276 seconds] 08:09:04 miql [~miql@ip70-176-216-109.ph.ph.cox.net] has joined #scheme 08:09:26 -!- leo_33 [~jswksl@46.12.22.174.dsl.dyn.forthnet.gr] has quit [Ping timeout: 240 seconds] 08:13:50 leo_33 [~jswksl@46.12.163.84.dsl.dyn.forthnet.gr] has joined #scheme 08:15:07 -!- racycle [~racycle@75-25-129-128.lightspeed.sjcpca.sbcglobal.net] has quit [Remote host closed the connection] 08:16:58 -!- miql [~miql@ip70-176-216-109.ph.ph.cox.net] has quit [Remote host closed the connection] 08:18:22 leo_31 [~jswksl@79.103.35.76.dsl.dyn.forthnet.gr] has joined #scheme 08:18:30 -!- leo_33 [~jswksl@46.12.163.84.dsl.dyn.forthnet.gr] has quit [Ping timeout: 252 seconds] 08:29:30 -!- leo_31 [~jswksl@79.103.35.76.dsl.dyn.forthnet.gr] has quit [Ping timeout: 252 seconds] 08:30:19 leo_33 [~jswksl@46.12.99.192.dsl.dyn.forthnet.gr] has joined #scheme 08:44:35 -!- leo_33 [~jswksl@46.12.99.192.dsl.dyn.forthnet.gr] has quit [Ping timeout: 264 seconds] 08:45:05 leo_33 [~jswksl@46.12.126.45.dsl.dyn.forthnet.gr] has joined #scheme 08:54:14 -!- leo_33 [~jswksl@46.12.126.45.dsl.dyn.forthnet.gr] has quit [Ping timeout: 240 seconds] 08:55:02 leo_33 [~jswksl@46.12.107.59.dsl.dyn.forthnet.gr] has joined #scheme 08:55:53 Gooder` [~user@218.69.12.194] has joined #scheme 08:59:45 -!- Gooder [~user@10.155.200.192.client.dyn.strong-in144.as13926.net] has quit [Ping timeout: 248 seconds] 09:04:32 Do multiple-value returns actually gain one anything over literal-list returns ? Are there cases where a usage of the latter cannot be optimized as simply as an analogous usage of the former ? 09:05:14 let-values etc..? 09:06:20 That would be just destructuring-bind on a literal list. 09:08:29 leo_31 [~jswksl@46.12.127.71.dsl.dyn.forthnet.gr] has joined #scheme 09:10:21 With literal, I mean constructed with quoting *or* quasi-quoting, just not heap-allocated (assuming the implementation doesn't do that; if it does, it could also be using allocated lists for multiple-values; question is whether the latter optimization is significantly easier to implement). 09:10:35 -!- leo_33 [~jswksl@46.12.107.59.dsl.dyn.forthnet.gr] has quit [Ping timeout: 246 seconds] 09:13:02 taylanub: it's a performance hack mostly: no need to heap-allocate 09:14:13 Yeah .. both MV and literal-lists achieve that if I'm not mistaken, so the former would be redundant ? (Assuming we don't give up quoting. :P) 09:14:13 multiple-value calls aren't really needed either since they could destructure lists similarly 09:14:45 calls are there though, and multiple value returns are just calls after cps, so it's natural to have them also 09:14:55 przl [~przlrkt@62.217.45.197] has joined #scheme 09:15:13 -!- przl [~przlrkt@62.217.45.197] has quit [Client Quit] 09:15:58 przl [~przlrkt@62.217.45.197] has joined #scheme 09:23:46 -!- leo_31 [~jswksl@46.12.127.71.dsl.dyn.forthnet.gr] has quit [Ping timeout: 240 seconds] 09:24:55 leo_33 [~jswksl@46.12.52.215.dsl.dyn.forthnet.gr] has joined #scheme 09:32:49 -!- przl [~przlrkt@62.217.45.197] has quit [Ping timeout: 248 seconds] 09:37:31 -!- leo_33 [~jswksl@46.12.52.215.dsl.dyn.forthnet.gr] has quit [Ping timeout: 246 seconds] 09:37:38 leo_31 [~jswksl@79.103.52.143.dsl.dyn.forthnet.gr] has joined #scheme 09:37:44 yacks [~py@180.151.36.168] has joined #scheme 09:40:03 fzappa [~user@int.emakina.nl] has joined #scheme 09:41:50 -!- leo_31 [~jswksl@79.103.52.143.dsl.dyn.forthnet.gr] has quit [Ping timeout: 240 seconds] 09:42:08 leo_33 [~jswksl@46.12.91.235.dsl.dyn.forthnet.gr] has joined #scheme 09:46:53 przl [~przlrkt@62.217.45.197] has joined #scheme 09:57:24 -!- weie [~eie@softbank221078042071.bbtec.net] has quit [Read error: Connection reset by peer] 09:58:00 weie [~eie@softbank221078042071.bbtec.net] has joined #scheme 09:59:48 -!- Gooder` [~user@218.69.12.194] has quit [Remote host closed the connection] 10:12:31 -!- leo_33 [~jswksl@46.12.91.235.dsl.dyn.forthnet.gr] has quit [Read error: Connection reset by peer] 10:12:44 leo_33 [~jswksl@46.12.91.235.dsl.dyn.forthnet.gr] has joined #scheme 10:18:20 MrFahrenheit [~RageOfTho@77.221.25.95] has joined #scheme 10:21:59 -!- ggherdov [uid11402@gateway/web/irccloud.com/x-krqrhkkvgfqiuopk] has quit [Changing host] 10:22:00 ggherdov [uid11402@unaffiliated/ggherdov] has joined #scheme 10:22:00 -!- ggherdov [uid11402@unaffiliated/ggherdov] has quit [Changing host] 10:22:00 ggherdov [uid11402@gateway/web/irccloud.com/x-krqrhkkvgfqiuopk] has joined #scheme 10:25:09 -!- peterhil [~peterhil@158.127.31.162] has quit [Ping timeout: 248 seconds] 10:33:07 pnkfelix [~user@64.213.97.194] has joined #scheme 10:36:30 juxovec [~juxovec@ip-37-188-237-127.eurotel.cz] has joined #scheme 10:36:46 -!- przl [~przlrkt@62.217.45.197] has quit [Ping timeout: 240 seconds] 10:36:50 -!- tenq is now known as tenq|away 10:42:33 wingo [~wingo@fanzine.igalia.com] has joined #scheme 10:42:36 przl [~przlrkt@62.217.45.197] has joined #scheme 10:47:22 -!- eli [~eli@racket/eli] has quit [Read error: Operation timed out] 10:49:24 Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has joined #scheme 10:49:39 cosmez [~cosmez@200.92.100.68] has joined #scheme 11:06:57 -!- fzappa [~user@int.emakina.nl] has quit [Remote host closed the connection] 11:07:28 -!- wingo [~wingo@fanzine.igalia.com] has quit [Ping timeout: 246 seconds] 11:08:22 -!- juxovec [~juxovec@ip-37-188-237-127.eurotel.cz] has quit [Remote host closed the connection] 11:17:16 juxovec [~juxovec@88.103.13.78] has joined #scheme 11:19:03 -!- przl [~przlrkt@62.217.45.197] has quit [Ping timeout: 268 seconds] 11:21:01 wingo [~wingo@fanzine.igalia.com] has joined #scheme 11:22:10 peterhil [~peterhil@158.127.31.162] has joined #scheme 11:36:56 -!- yacks [~py@180.151.36.168] has quit [Ping timeout: 268 seconds] 11:38:13 -!- stamourv`` [~user@ahuntsic.ccs.neu.edu] has quit [Read error: Connection reset by peer] 11:38:23 stamourv`` [~user@ahuntsic.ccs.neu.edu] has joined #scheme 11:43:43 -!- Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has quit [Ping timeout: 268 seconds] 11:44:20 b4283 [~b4283@114-136-147-183.dynamic.hinet.net] has joined #scheme 11:48:40 add^_ [~user@m176-70-3-33.cust.tele2.se] has joined #scheme 11:54:33 -!- juxovec [~juxovec@88.103.13.78] has quit [Remote host closed the connection] 12:07:52 przl [~przlrkt@62.217.45.197] has joined #scheme 12:14:33 -!- Triclops256|away is now known as Triclops256 12:16:33 -!- przl [~przlrkt@62.217.45.197] has quit [Ping timeout: 248 seconds] 12:18:46 yacks [~py@180.151.36.168] has joined #scheme 12:27:50 -!- yacks [~py@180.151.36.168] has quit [Ping timeout: 240 seconds] 12:29:26 yacks [~py@180.151.36.168] has joined #scheme 12:30:52 przl [~przlrkt@62.217.45.197] has joined #scheme 12:32:48 -!- przl [~przlrkt@62.217.45.197] has quit [Client Quit] 12:33:05 przl [~przlrkt@62.217.45.197] has joined #scheme 12:34:46 edw [~edw@207.239.61.34] has joined #scheme 12:36:01 walter [~walter@97-88-38-33.dhcp.roch.mn.charter.com] has joined #scheme 12:37:08 kobain [~kobian@unaffiliated/kobain] has joined #scheme 12:41:35 -!- samth_away is now known as samth 12:42:45 gcartier [~gcartier@modemcable010.136-201-24.mc.videotron.ca] has joined #scheme 12:47:11 Nisstyre-laptop [~yours@oftn/member/Nisstyre] has joined #scheme 12:51:56 -!- walter [~walter@97-88-38-33.dhcp.roch.mn.charter.com] has quit [Quit: This computer has gone to sleep] 12:52:07 -!- edw [~edw@207.239.61.34] has quit [Quit: Textual IRC Client: www.textualapp.com] 12:52:31 edw [~edw@207.239.61.34] has joined #scheme 12:58:54 davexunit [~user@38.104.7.18] has joined #scheme 13:00:46 -!- yacks [~py@180.151.36.168] has quit [Ping timeout: 240 seconds] 13:12:11 -!- tenq|away is now known as tenq 13:12:35 Qoj [~Joq@69-84-118-201-dhcp.mia.fl.atlanticbb.net] has joined #scheme 13:12:46 can someone inv me to #programming 13:14:01 *taylanub* didn't know of that channel .. and why is it invite-only if it has such a generic name ? It should be ##programming, first of all. 13:14:39 langmartin [~user@host-68-169-154-130.WISOLT2.epbfi.com] has joined #scheme 13:15:13 yacks [~py@180.151.36.168] has joined #scheme 13:17:32 Hrm, in a form (fn ... x ...), if x is a literal or a variable-reference, does one also speak of a continuation at that point ? 13:18:25 I guess one could see literals and variable-references as called-on-the-spot thunks. 13:18:57 walter [~walter@97-88-38-33.dhcp.roch.mn.charter.com] has joined #scheme 13:20:21 tacey [~tacey@211.101.48.70] has joined #scheme 13:22:01 -!- pygospa [~Pygosceli@kiel-5f768ab9.pool.mediaWays.net] has quit [Disconnected by services] 13:22:09 pygospa [~Pygosceli@kiel-4d0666aa.pool.mediaWays.net] has joined #scheme 13:24:06 -!- joneshf-laptop [~joneshf@086.112-30-64.ftth.swbr.surewest.net] has quit [Remote host closed the connection] 13:26:13 -!- tacey [~tacey@211.101.48.70] has quit [Quit: Lost terminal] 13:26:32 wbooze [~wbooze@xdsl-78-35-165-123.netcologne.de] has joined #scheme 13:30:36 Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has joined #scheme 13:34:37 bjz_ [~brendanza@125.253.99.68] has joined #scheme 13:35:03 -!- bjz [~brendanza@125.253.99.68] has quit [Read error: Connection reset by peer] 13:36:31 taylanub: Re literals: Quasiquoted lists are *not* literals, and typically need to be heap-allocated. 13:38:20 Oh ... 13:39:37 A literal is something that's entirely static. 13:39:38 I wonder now, do we even call fully-quoted lists literals ? It's not reader syntax, but a special form, after all. 13:39:58 Quotes lists are entirely static, that's why. 13:40:05 OK, I see. 13:40:11 This has nothing to do with readers, or special forms, or anything. 13:44:40 -!- MrFahrenheit [~RageOfTho@77.221.25.95] has quit [Ping timeout: 276 seconds] 13:46:14 xilo [~xilo@107-209-248-232.lightspeed.austtx.sbcglobal.net] has joined #scheme 13:48:05 Does a quasiquoted list also need to be heap allocated if it doesn't use splicing ? (Its length would be statically known if I'm not mistaken, so it should be possible to stack-allocate the pairs and only set the unquoted parts at run-time.) 13:50:45 That could be an optimization. I'm not aware of anyone doing that, though. 13:51:45 I see. 13:52:39 To do anything like that, though, you'd need to ensure that the value doesn't escape, otherwise stack allocation won't work. 13:53:15 And since, IIUC, you're planning to use that to replace multiple values, you'll probably need some kind of interprocedural escape analysis. 13:53:34 Summary: Can of worms. 13:57:05 Interesting, I see. Kernel, if I got it right, uses argument-lists (trees, in fact) purely as a destructuring mechanism, stating that this eliminates the motivation for MV. I wonder if the optimizability characteristics of this design decision are touched in any of the papers about it (there's the thesis, and there's R-1RS, I've read a little of the latter). 13:58:12 Given that Kernel is, by design, pretty much unoptimizable (short of analysis heroics), I doubt so. 13:58:15 For that matter, I also have some skepticism toward its "clean design without compromises will naturally lead to good efficiency/optimizability anyway" claim .. 13:58:15 -!- xilo [~xilo@107-209-248-232.lightspeed.austtx.sbcglobal.net] has quit [Ping timeout: 246 seconds] 13:58:42 It all depends on what your clean design is. 13:59:10 -!- peterhil [~peterhil@158.127.31.162] has quit [Quit: Must not waste too much time here...] 13:59:26 The core of modern Fortran is pretty clean, and certainly very optimizable. Much more than the core of C, which is much less clean in comparison. 13:59:37 -!- Natch [~Natch@c-10cfe155.25-4-64736c10.cust.bredbandsbolaget.se] has quit [Quit: exit(EXIT_FAILURE);] 13:59:57 Hrm, is it "acknowledged" as being unoptimizable ? I thought it's broadly on the same level as Scheme; I thought its immutability features bring most things to the Scheme level wrt. staticity/optimizability. 14:06:03 ftp://ftp.ccs.neu.edu/pub/people/wand/papers/fexprs.ps 14:06:28 Fexprs break pretty much any kind of reasoning about your programs. 14:06:35 -!- gcartier [~gcartier@modemcable010.136-201-24.mc.videotron.ca] has quit [Remote host closed the connection] 14:06:45 And compilers need to do precisely that. 14:06:51 xilo [~xilo@107-209-248-232.lightspeed.austtx.sbcglobal.net] has joined #scheme 14:07:07 I thought that's exactly what J. Shutt has disproven ? Granted, I neither read nor could understand if I read the proof. 14:08:06 (Or maybe I should just try it, you never know.) 14:08:56 Not sure what he claims to have disproven, but it's probably something subtly different. 14:09:32 If what he's saying is that it's *possible* to do some optimizations, given sufficient analysis and/or runtime deoptimization, I can buy that. 14:09:47 gravicappa [~gravicapp@ppp91-77-172-23.pppoe.mtu-net.ru] has joined #scheme 14:09:57 But at that point, you're looking at a lot more work to get your optimizations that something like Scheme would require. 14:10:15 I think it proves that the unreasonability of fexprs only holds under some conditions, mostly dynamic scope. 14:10:44 Basically, compare the optimizations in Rabbit/Orbit (Scheme) to the ones in Self/JS. Different ballgame. 14:11:27 Sure, most of the time, fexprs will behave. But compilers can't generate code that only works "most of the time". 14:13:11 -!- przl [~przlrkt@62.217.45.197] has quit [Ping timeout: 240 seconds] 14:14:39 Hrm, appendix C of the R-1RK (correction BTW: I previously typed R-1RS) seems to touch the theoretical side of things in a not-too-formal manner. 14:17:17 -!- tenq is now known as tenq|away 14:17:18 Also, I think I finally understand what this "trivial equational theory" thing is supposed to mean: "two terms in the language are contextually equivalent iff they are -congruent" -> can never prove two forms to be operationally equivalent except for changing variable names, i.e. *cannot optimize* 14:17:24 stamourv: wait, what about Java2k 14:18:18 przl [~przlrkt@62.217.45.197] has joined #scheme 14:18:48 DerGuteMoritz: ? 14:19:29 taylanub: contextual equivalent  operational equivalence. 14:20:13 stamourv: "Java2K is not a deterministic programming language, but a probabilistic one. Even for built-in functions, there is only a certain probability the function will do whatever you intend it to do." 14:20:26 sorry, just trolling, never mind :-) 14:20:52 MrFahrenheit [~RageOfTho@77.221.25.95] has joined #scheme 14:21:06 Ah. :) 14:21:23 Probabilistic languages are actually a thing. 14:22:03 Kruppe [~user@CPE602ad0938e9a-CM602ad0938e97.cpe.net.cable.rogers.com] has joined #scheme 14:23:39 On Wikipedia, both "contextual equivalence" and "operational equivalence" link to "observational equivalence" which is an econometrics term. :\ 14:24:02 That's also a synonym. 14:24:50 Oh wait, it also mentions programming language semantics. Anyway, I should look for a better source .. do you have any ? (Or, is the explanation short ?) 14:24:53 racycle [~racycle@75-25-129-128.lightspeed.sjcpca.sbcglobal.net] has joined #scheme 14:25:28 Do you have any background in semantics? 14:26:14 "Denotational semantics" ? I have yet to get into that. 14:26:26 No, not denotational. 14:26:31 They're pretty useless, IMO. 14:26:44 Operational semantics are the relevant one here. 14:27:03 (is? are? not sure...) 14:27:28 Then I know that even less, I think. :\ 14:28:11 Ok, then I can try explaining the definition, but first a couple of pointers. 14:28:27 hmmm 14:28:33 should I be studying for physics 14:28:37 or reading sicp 14:28:42 PLAI is a very good PL book. I don't think it covers semantics, but it gives you the things you need to be able to study them. 14:28:52 EOPL is also good, and I think it may cover semantics. 14:29:07 -!- tenq|away is now known as tenq 14:29:17 "Semantics Engineering with PLT Redex" is probably the most relevant book here, but it may be a bit more advanced. 14:29:40 So I'd say that PLAI, then the Redex book may be a good sequence. 14:29:55 Anyway: here's the definition, roughly: 14:30:00 rins [~aaron@38.88.168.154] has joined #scheme 14:30:30 Two terms are observationally equivalent if no contexts can distinguish them. 14:31:35 That is, take any bigger program to plug the smaller ones in. If you can't tell, by executing the bigger program, which one you plugged in, then they're observationally equivalent. 14:32:05 So, for example, in most languages, `(+ 2 3)' and `5' are observationally equivalent. 14:32:21 A compiler is free to substitute one for the other (usually the latter for the former). 14:32:57 When you have fexprs, the "bigger program" can just look at the *text* of the program, so it can tell the two apart. 14:33:14 So no two programs are equivalent unless they're *textually* the same. 14:36:12 OK, is "observational equivalence" the same as either of "contextual" or "operational" ? 14:36:58 Yes. 14:37:16 See how the definition I gave is in terms of contexts. 14:37:29 And the formal definition is in terms of operational semantics. 14:38:46 OK, so "observational equivalence" = "contextual equivalence", I presume. And operational equivalence ? 14:39:03 They're *all* the same. 14:39:28 Oh, doh, I somehow managed to confuse = with !=. :P 14:39:38 OK, thanks a lot for your time. :) 14:40:17 ( with !, rather?) 14:43:07 -!- Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/] 14:43:11 -!- edw [~edw@207.239.61.34] has quit [Quit: Computer has gone to sleep.] 14:45:22 carleastlund [~carleastl@209-6-40-238.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 14:47:01 -!- tenq is now known as tenq|away 14:47:50 -!- przl [~przlrkt@62.217.45.197] has quit [Ping timeout: 240 seconds] 14:49:59 -!- leo_33 [~jswksl@46.12.91.235.dsl.dyn.forthnet.gr] has quit [Ping timeout: 264 seconds] 14:50:23 leo_33 [~jswksl@46.12.92.8.dsl.dyn.forthnet.gr] has joined #scheme 14:54:06 przl [~przlrkt@62.217.45.197] has joined #scheme 14:58:22 -!- hkBst [~marijn@gentoo/developer/hkbst] has quit [Quit: Konversation terminated!] 14:58:26 -!- tenq|away is now known as tenq 14:59:45 -!- leo_33 [~jswksl@46.12.92.8.dsl.dyn.forthnet.gr] has quit [Ping timeout: 256 seconds] 15:00:09 leo_33 [~jswksl@79.103.1.113.dsl.dyn.forthnet.gr] has joined #scheme 15:04:10 leo_31 [~jswksl@79.103.240.20.dsl.dyn.forthnet.gr] has joined #scheme 15:04:10 -!- leo_31 [~jswksl@79.103.240.20.dsl.dyn.forthnet.gr] has quit [Client Quit] 15:04:51 -!- leo_33 [~jswksl@79.103.1.113.dsl.dyn.forthnet.gr] has quit [Ping timeout: 256 seconds] 15:05:16 leo_33 [~jswksl@79.103.240.20.dsl.dyn.forthnet.gr] has joined #scheme 15:05:17 -!- brianloveswords [~brianlove@li124-154.members.linode.com] has quit [Excess Flood] 15:07:05 -!- tenq is now known as tenq|away 15:07:15 brianloveswords [~brianlove@li124-154.members.linode.com] has joined #scheme 15:13:33 -!- kobain [~kobian@unaffiliated/kobain] has quit [Ping timeout: 240 seconds] 15:13:47 leo_31 [~jswksl@46.12.21.197.dsl.dyn.forthnet.gr] has joined #scheme 15:13:55 kobain [~kobian@unaffiliated/kobain] has joined #scheme 15:14:33 -!- leo_33 [~jswksl@79.103.240.20.dsl.dyn.forthnet.gr] has quit [Ping timeout: 264 seconds] 15:17:01 leo_33 [~jswksl@79.103.35.182.dsl.dyn.forthnet.gr] has joined #scheme 15:18:09 -!- leo_31 [~jswksl@46.12.21.197.dsl.dyn.forthnet.gr] has quit [Ping timeout: 252 seconds] 15:18:42 -!- tenq|away is now known as tenq 15:19:04 -!- sttau [~sttau@unaffiliated/sttau] has quit [Ping timeout: 256 seconds] 15:19:45 sttau [~sttau@unaffiliated/sttau] has joined #scheme 15:21:00 Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has joined #scheme 15:22:00 -!- Kruppe [~user@CPE602ad0938e9a-CM602ad0938e97.cpe.net.cable.rogers.com] has quit [Remote host closed the connection] 15:22:57 -!- leo_33 [~jswksl@79.103.35.182.dsl.dyn.forthnet.gr] has quit [Ping timeout: 256 seconds] 15:23:38 edw [~edw@207.239.61.34] has joined #scheme 15:28:07 leo_33 [~jswksl@79.103.95.230.dsl.dyn.forthnet.gr] has joined #scheme 15:28:25 -!- Triclops256 is now known as Triclops|lunch 15:34:57 leo_31 [~jswksl@46.12.21.122.dsl.dyn.forthnet.gr] has joined #scheme 15:34:57 -!- leo_33 [~jswksl@79.103.95.230.dsl.dyn.forthnet.gr] has quit [Ping timeout: 264 seconds] 15:41:49 -!- Triclops|lunch is now known as Triclops256 15:42:13 -!- jewel [~jewel@105-236-99-241.access.mtnbusiness.co.za] has quit [Ping timeout: 246 seconds] 15:42:49 aranhoide [~smuxi@225.Red-79-151-101.dynamicIP.rima-tde.net] has joined #scheme 15:43:08 -!- aranhoide [~smuxi@225.Red-79-151-101.dynamicIP.rima-tde.net] has quit [Read error: Connection reset by peer] 15:50:16 -!- przl [~przlrkt@62.217.45.197] has quit [Ping timeout: 240 seconds] 16:02:41 -!- Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/] 16:03:57 -!- agumonkey [~agu@156.217.72.86.rev.sfr.net] has quit [Ping timeout: 268 seconds] 16:04:47 agumonkey [~agu@245.217.72.86.rev.sfr.net] has joined #scheme 16:04:53 -!- ffio_ [~fire@unaffiliated/security] has quit [Ping timeout: 248 seconds] 16:05:02 -!- Qoj [~Joq@69-84-118-201-dhcp.mia.fl.atlanticbb.net] has quit [Ping timeout: 240 seconds] 16:05:24 Kruppe [~user@j2petkovich.uwaterloo.ca] has joined #scheme 16:05:42 _ffio_ [~fire@unaffiliated/security] has joined #scheme 16:12:58 -!- taylanub [tub@p4FD9291C.dip0.t-ipconnect.de] has quit [Disconnected by services] 16:13:30 taylanub [tub@p4FD92ED9.dip0.t-ipconnect.de] has joined #scheme 16:18:56 tupi [~user@139.82.89.157] has joined #scheme 16:27:44 przl [~przlrkt@p5B2980EC.dip0.t-ipconnect.de] has joined #scheme 16:28:13 -!- przl [~przlrkt@p5B2980EC.dip0.t-ipconnect.de] has quit [Client Quit] 16:28:27 przl [~przlrkt@p5B2980EC.dip0.t-ipconnect.de] has joined #scheme 16:28:39 -!- tenq is now known as tenq|away 16:32:23 -!- amgarchIn9 [~amgarchin@theo1.theochem.tu-muenchen.de] has quit [Ping timeout: 240 seconds] 16:42:31 -!- tenq|away is now known as tenq 16:45:39 amgarchIn9 [~amgarchin@p4FD62D18.dip0.t-ipconnect.de] has joined #scheme 16:48:44 -!- civodul [~user@gateway/tor-sasl/civodul] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 16:48:50 -!- tenq is now known as tenq|away 16:53:19 -!- pnkfelix [~user@64.213.97.194] has quit [Remote host closed the connection] 16:53:33 -!- jonrafkind [~jon@racket/jonrafkind] has quit [Ping timeout: 264 seconds] 16:53:50 -!- bjz_ [~brendanza@125.253.99.68] has quit [Quit: Leaving...] 16:54:55 bjz [~brendanza@125.253.99.68] has joined #scheme 17:00:31 -!- tenq|away is now known as tenq 17:11:50 jao [~jao@208.Red-193-153-230.dynamicIP.rima-tde.net] has joined #scheme 17:11:53 -!- jao [~jao@208.Red-193-153-230.dynamicIP.rima-tde.net] has quit [Changing host] 17:11:53 jao [~jao@pdpc/supporter/professional/jao] has joined #scheme 17:14:27 -!- jrapdx [~jra@c-98-246-145-216.hsd1.or.comcast.net] has quit [Remote host closed the connection] 17:16:06 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Read error: Connection reset by peer] 17:16:47 pcl [~pcl@cpe-172-254-108-166.nyc.res.rr.com] has joined #scheme 17:17:13 -!- przl [~przlrkt@p5B2980EC.dip0.t-ipconnect.de] has quit [Ping timeout: 276 seconds] 17:17:17 araujo [~araujo@gentoo/developer/araujo] has joined #scheme 17:19:04 -!- pcl [~pcl@cpe-172-254-108-166.nyc.res.rr.com] has quit [Client Quit] 17:19:41 pcl [~pcl@cpe-172-254-108-166.nyc.res.rr.com] has joined #scheme 17:26:57 -!- BossKonaSegwaY1 [~Michael@72.49.0.102] has quit [Ping timeout: 248 seconds] 17:30:01 BossKonaSegwaY [~Michael@72.49.0.102] has joined #scheme 17:53:41 -!- Kruppe [~user@j2petkovich.uwaterloo.ca] has quit [Remote host closed the connection] 17:59:56 -!- gravicappa [~gravicapp@ppp91-77-172-23.pppoe.mtu-net.ru] has quit [Ping timeout: 260 seconds] 18:01:30 RageOfThou [~RageOfTho@77.221.25.95] has joined #scheme 18:02:38 -!- amgarchIn9 [~amgarchin@p4FD62D18.dip0.t-ipconnect.de] has quit [Read error: Operation timed out] 18:03:30 aranhoide [~smuxi@225.Red-79-151-101.dynamicIP.rima-tde.net] has joined #scheme 18:04:08 ccorn [~ccorn@h165043.upc-h.chello.nl] has joined #scheme 18:04:49 -!- MrFahrenheit [~RageOfTho@77.221.25.95] has quit [Ping timeout: 268 seconds] 18:09:29 gravicappa [~gravicapp@ppp91-77-165-34.pppoe.mtu-net.ru] has joined #scheme 18:09:52 Kruppe [~user@j2petkovich.uwaterloo.ca] has joined #scheme 18:10:59 -!- RageOfThou [~RageOfTho@77.221.25.95] has quit [Ping timeout: 268 seconds] 18:19:31 przl [~przlrkt@p5B2980EC.dip0.t-ipconnect.de] has joined #scheme 18:22:16 theseb [~cs@74.194.237.26] has joined #scheme 18:22:51 Natch [~Natch@c-10cfe155.25-4-64736c10.cust.bredbandsbolaget.se] has joined #scheme 18:23:45 Can compiling Lisp to C be as fast as using a virtual machine and compiling to bytecode or is it inherently slower?...Also what about say comiling Python to Lisp? 18:24:58 i know fastest is compiling to assembly but i wondered if "piggybacking" on these other languages will be competitive with that 18:25:28 theseb: that would depend on how fast the virtual machine is, how much optimization the compiler does, and so forth. There's no one "magic bullet" for deciding what the best compilation method is. 18:25:59 -!- wingo [~wingo@fanzine.igalia.com] has quit [Ping timeout: 240 seconds] 18:29:27 carleastlund: e.g. there is Chicken (Scheme to C)....i discovered a Python-to-Scheme.....those seemed to elegant and cool and couldn't believe they were competitive with the crusty old skool way of going straight to machine code....sounds like you are saying there is hope 18:29:27 amgarchIn9 [~amgarchin@p4FD62D18.dip0.t-ipconnect.de] has joined #scheme 18:29:34 s/to/so 18:29:39 s/and/I 18:29:52 that is awesome 18:30:43 Nearly every compiler uses one or more IRs (intermediate representations), so there are always multiple stops between source code and execution. Nothing wrong with one of those stops being some other compiler or virtual machine. 18:30:47 bondar [~bondar@197.156.132.62] has joined #scheme 18:30:47 -!- bondar [~bondar@197.156.132.62] has quit [Client Quit] 18:31:00 bondar [~bondar@197.156.132.62] has joined #scheme 18:31:18 -!- bondar [~bondar@197.156.132.62] has quit [Excess Flood] 18:31:52 gambit compiles to its own bytecode, and from there to C. it's reputedly pretty fast 18:32:08 bondar [~bondar@197.156.132.62] has joined #scheme 18:32:16 -!- bondar [~bondar@197.156.132.62] has quit [Excess Flood] 18:32:27 bondar [~bondar@197.156.132.62] has joined #scheme 18:32:27 -!- bondar [~bondar@197.156.132.62] has quit [Client Quit] 18:32:32 stalin is an experiment in aggressive optimization, and it compiles to C too 18:32:34 -!- yacks [~py@180.151.36.168] has quit [Ping timeout: 268 seconds] 18:32:44 a little too aggressive really 18:34:10 yacks [~py@180.151.36.168] has joined #scheme 18:34:20 turbofail: "too aggressive" how so? 18:35:02 carleastlund: scheme is so nice to understand it is satisfying to mentally interprety other languages as implemented in Scheme 18:35:18 Every programming language researcher's favorite fact about hardware is that Intel machine code is compiled to RISC code in the hardware before execution so even real Intel machines are only virtual machines after all. 18:35:39 theseb: it'll typically take a really long time to compile your code, and may consume all your RAM while doing it 18:35:48 the resulting code will be pretty damn fast though 18:37:48 bondar [~bondar@197.156.132.62] has joined #scheme 18:38:28 -!- jao [~jao@pdpc/supporter/professional/jao] has quit [Ping timeout: 276 seconds] 18:41:46 that reminds me i wonder if my current machine is beefy enough to have stalin compile itself 18:44:57 turbofail: that's awesome 18:45:36 it may be awesome in some sense, but it's also horrendously impractical 18:46:04 and it implements r4rs, IIRC. 18:46:05 turbofail: i can imagine some applications....imagine you had an enterprise app that took days to compute something (e.g. travel reservation sys) 18:46:26 turbofail: so it takes a few DAYS to compile an awesome binary ONCE...big deal 18:47:03 right that's the other problem... the "scheme" dialect it supports is pretty limited 18:47:17 not even all of R4RS 18:47:35 Scientific computations sometimes take years, so compiling the heck out of those could be a big win as well. Some article or paper or whatever pointed out for long-running computations, it can actually be advantageous to wait a few years and start it on better hardware. So waiting for a slow compiler is nothing. 18:47:55 sure, that's true, and that's sort of the author's use case i think 18:48:44 But yeah, I wouldn't want to do my moment-to-moment development and testing with a slow compilation process. 18:51:18 carleastlund: i've heard of a number of researchers building custom hardware for their long runningn calcs 18:52:15 Why does C have a reputation as the language of SPEED? I'd like to see Scheme be used for speed w/ an awesome compiler 18:55:47 actually fortran is the language of speed, for certain applications 18:56:52 -!- przl [~przlrkt@p5B2980EC.dip0.t-ipconnect.de] has quit [Ping timeout: 260 seconds] 18:58:32 theseb: There's a lot of reasons behind that. For one thing, it's easier to write things that are fast in C, because the common idioms don't have a lot of overhead (e.g. garbage collection). C compilers have been around for a long time and gotten a lot of attention, so they optimize very well. And most programmers have more experience in C, so they know how to write efficient code in it. 19:00:45 and soon OpenCL will be the language of speed 19:00:55 well that might already be the case 19:01:14 unless you need to branch 19:02:23 przl [~przlrkt@p5B2980EC.dip0.t-ipconnect.de] has joined #scheme 19:03:19 carleastlund: i thought it was also because C mimic the underlying hardware pretty well since it is composed of a register machine you tweak values in 19:03:20 youlysses [~user@75-132-28-10.dhcp.stls.mo.charter.com] has joined #scheme 19:03:44 carleastlund: Lisp isn't similar to the underlying CPU so much 19:03:55 carleastlund: maybe with a funky "lisp processor" C would lose...dunno 19:05:24 theseb: there were Lisp machines, way back when. You can look them up. :) 19:06:14 yup 19:06:58 theseb: C mimics the PDP-7 pretty well. Modern hardware, not so much. 19:07:16 But I don't think it's coincidence that C, modern hardware, and many efficient programming idioms are based on imperative register machines with mutable memory. It's a very straightforward, low-overhead method of computation. 19:07:48 for machines, anyway 19:08:21 ? 19:08:35 it's not that straightforward for humans to make sense of 19:09:37 Certainly. Its simplicity doesn't scale well. On the other hand, each individual step is pretty easy to grasp, which gives it the illusion of simplicity. Whereas functional data structures, higher order functions, and recursion are pretty mind-bending, which makes functional programming look crazily complex at first glance. 19:09:59 -!- pcl [~pcl@cpe-172-254-108-166.nyc.res.rr.com] has quit [Quit: Leaving.] 19:17:44 theseb: You can also just use "inline assembly" in C for a hot-spot, for the platforms you target. 19:19:13 taylanub: yup...linux kernel uses that to great effect 19:19:25 -!- przl [~przlrkt@p5B2980EC.dip0.t-ipconnect.de] has quit [Ping timeout: 276 seconds] 19:20:34 przl [~przlrkt@p5B2980EC.dip0.t-ipconnect.de] has joined #scheme 19:21:43 I do wonder though whether languages like Objective-C, C#, Java, etc. are really faster than well-optimized Scheme ... 19:24:42 i suspect that depends entirely on what your program is doing 19:25:08 I'm especially scorny against Apple for somewhat forcing developers into Objective-C even when big parts of a typical application's code tend to consist of GUI-fiddling and library-gluing; even a slow language would do fine for that. 19:25:36 lo 19:25:45 Java was originally known for being exceptionally slow, so the fact that it's decently fast now is a testament to the fact that speed has little to do with language and a lot to do with optimization. 19:28:11 I don't really understand why java is slow. In the end, it's a simple statically typed language. Maybe the jvm implementation is slow. 19:28:51 taylanub: do you know any compiler producing "well-optimized Scheme"? 19:28:53 the definition of "simple" is left as an exercise for the reader. 19:29:06 java isn't that slow 19:29:36 ecraven: A compiler producing Scheme ? 19:29:41 mario-goulart: I don't know what "simple statically typed" is supposed to suggest that has anything to do with efficiency I can imagine "simple statically typed" languages that would be very hard to make fast, and others that would be pretty similar to conventionally fast languages. 19:29:58 -!- bondar [~bondar@197.156.132.62] has quit [] 19:29:59 -!- tali713 [~tali713@2001:0:53aa:64c:182f:734e:b3ee:137e] has quit [Ping timeout: 245 seconds] 19:30:21 wirrbel [~wirbel@p5083F2E7.dip0.t-ipconnect.de] has joined #scheme 19:30:26 -!- theseb [~cs@74.194.237.26] has quit [Quit: Leaving] 19:32:33 -!- przl [~przlrkt@p5B2980EC.dip0.t-ipconnect.de] has quit [Ping timeout: 264 seconds] 19:33:05 carleastlund: I mean its primitive types match the C types, the compiler is aware of object types without even needing inference and the programming paradigm more or less match the underlying paradigm (imperative). 19:33:07 daat418 [~daat_un@chammerling-mini.xinet.COM] has joined #scheme 19:34:08 I'm going to go way out on a limb and guess that method dispatch complicates the heck out of all of that. 19:34:13 java still occasionally has to do dynamic dispatch 19:34:14 -!- daat418 [~daat_un@chammerling-mini.xinet.COM] has quit [Client Quit] 19:34:25 daat418 [~daat_un@chammerling-mini.xinet.COM] has joined #scheme 19:34:26 -!- daat418 [~daat_un@chammerling-mini.xinet.COM] has quit [Client Quit] 19:34:39 oh, I see. 19:34:43 having a JIT makes that a little less painful but can't remove it entirely 19:34:49 tali713 [~tali713@2001:0:53aa:64c:3086:4514:b3ee:137e] has joined #scheme 19:35:24 Can't that be done in compile time? 19:35:28 is just in time, JIT, basically a metaphorical equivalent to lazy evaluation? 19:35:34 Also garbage-collection. I've heard their GC nowadays is some freaky alien technology and configurable to PHP and back. 19:35:44 zacts: pretty much, yes. 19:36:34 ecraven: Do you mean a well-optimized scheme compiler that produces fast machine code or a X-to-scheme compiler that produces optimized scheme? 19:37:38 levi: the first 19:38:08 for example, is there any Scheme implementation that has a decent native code JIT compiler? 19:38:12 daat418 [~daat_un@chammerling-mini.xinet.COM] has joined #scheme 19:38:28 ecraven: Chez and Stalin are both known for good optimization. 19:38:45 larceny too? 19:38:47 ecraven: Chez, Gambit, Chicken, Stalin. Guile will soon get optional native compilation too .. 19:38:56 mario-goulart: it won't always be possible at compile time 19:39:27 Hmmm! 19:39:32 ecraven: Oh, don't know about compiling *directly* to native, and neither about JIT. The ones I mentioned produce something fast nevertheless, irrespective of how it's done .. 19:39:45 Stalin is/was pretty much the optimization winner amongst Scheme compilers, but as far as I remember it only supported R4RS and was *very* slow to compile. 19:39:47 for example, a java implementation of scheme's read may return one of several different subtypes of s-expression, and there's no way to predict which one it'll be 19:39:48 (From what I gather, anyway.) 19:40:03 mario-goulart: if you write the java equivalent of (map to-string objs), where each obj might have a different method for to-string, there's no way to statically compile a single implementation of to-string there. You have to do dynamic dispatch. 19:40:15 Racket has a JIT compiler, but I don't know how it compares to the state-of-the-art. 19:40:44 racket compares favourably to V8 in my brief experiments with the language shootout tests 19:40:48 carleastlund, turbofail: ah, ok. I see now. Thanks! 19:40:51 levi: It does a thing called "whole-program optimization" apparently. Also, I'm not sure if there's anything in e.g. R7RS-small when compared to R4RS that would make optimization significantly more challenging. 19:40:52 racket uses GNU lightning 19:40:52 -!- leo_31 [~jswksl@46.12.21.122.dsl.dyn.forthnet.gr] has quit [Ping timeout: 276 seconds] 19:40:53 If you want to look at a state-of-the-art tracing JIT compiler, look at luajit. 19:41:00 that said C++ has to do that too 19:43:20 taylanub: Whole-program optimization just means you can't compile modules separately, but it can do more static analysis because the whole program is there. 19:43:39 Yeah, that's what I guessed it would mean .. 19:44:13 tcsc [~tcsc@c-76-127-240-20.hsd1.ct.comcast.net] has joined #scheme 19:44:49 It's great for small programs, but becomes increasingly difficult to deal with as your codebase grows in size. 19:45:48 The general optimizability characteristics of Scheme probably haven't changed much since its incarnation. Or at least since RRS/RRRS I'd guess. Correct me if this is an ignorant claim. So I'd be interested in R7RS-ifying Stalin or so. 19:46:18 Also presumably problematic if you want to distribute libraries in binary form rather than source, but perhaps there's a solution to that I'm unaware of. 19:46:23 I got the impression that it was not a very friendly compiler to work with. 19:46:24 carleastlund: have you ever used Stalin? and it's impossible to buy a Chez license at the moment.. 19:46:35 ecraven: Nope. 19:47:10 ecraven: Do you have an actual use-case for a "blazing fast Scheme," or just wondering ? 19:47:32 taylanub: just wondering :) but i'd very much like one, for all kinds of programs (like 3d graphics and whatnot) 19:47:48 Because all this efficiency talk aside, I'm a strong proponent of the "fast enough, not as fast as possible" camp. :P 19:47:52 carleastlund: it doesn't really implement *any* scheme standard, crashes a lot, but if it does work, then it's very fast :) 19:48:10 Something like Gambit is probably plenty fast for 3d graphics. 19:48:11 I hear raw performance is a priority of gambit too, and that's more workable than stalin 19:48:20 ha. yeah stalin is not very friendly 19:48:34 turbofail: i'd even say "hostile" ;) 19:48:38 Gambit's author seems to focus a lot on numerical performance. 19:48:40 Wouldn't you just use OpenGL bindings for graphics ? Will the Scheme code still be a bottleneck ? 19:48:56 could be if you're doing physics or something 19:49:09 if you delegate all "engine-y" stuff to C then you might be OK 19:49:22 On the other hand, if any of you working on performant stuff in Scheme want to give Racket a try, we're always working on improving compilation, and we'd love to make things better for your favorite application! 19:49:25 you really want to use something like bullet for physics (if it's gamey stuff) 19:50:00 yeah probably 19:50:03 turbofail: actually, you can delegate it to the graphics card 19:50:10 carleastlund: boy, XML on a scheme channel... :-) 19:50:38 mario-goulart: it was the right idiom for the pun 19:50:47 :-) 19:51:05 mario-goulart: boy, a mismatched paren on a scheme channel... 19:51:13 I mean, you can have a decent 3D app in python using ctypes, which sounds like a pretty slow combo in principle 19:51:17 :-D 19:51:25 turbofail: if you don't actually calculate anything in scheme, then things will be fine, but then what's the point of using scheme :) 19:51:50 Racket is a really nice scheme environment, especially if you want to do any real parsing and structured data manipulation. 19:51:50 but if you store geometry in vertex buffer objects and textures in card memory, then Python won't be doing much (nor C really) 19:52:34 ecraven: there's still things like game logic and whatnot 19:52:42 you know... the part that makes it an actual game 19:52:58 Having built-in macro-based lex/parse tools turns out to be way nicer than external tools. 19:53:06 had you winked, you'd have commented out the mismatched paren ;) 19:53:44 aranhoide: excellent point. :-D 19:54:02 Now I'll just assume :-D is bound. 19:55:31 ecraven: you can use a slow language (not claiming that scheme is one) in the x% of the code that doesn't matter performance wise. which depending on the application, might be a lot 19:56:21 Which x% of the code is that? 19:57:01 The game industry makes heavy use of lua, which is semantically very similar to scheme. So there's absolutely no reason why you can't do a good bit of your game logic in scheme. 19:58:25 civodul [~user@gateway/tor-sasl/civodul] has joined #scheme 19:58:39 -!- daat418 [~daat_un@chammerling-mini.xinet.COM] has quit [Quit: brb] 19:59:43 przl [~przlrkt@p5B2980EC.dip0.t-ipconnect.de] has joined #scheme 19:59:58 -!- Triclops256 is now known as Triclops256|away 20:00:08 carleastlund: in Eve Online (www.eve.is), the vast majority of the code is Python. much of what is C++ could have been Python. 20:00:20 scheme > lua :) 20:01:04 aranhoide: If that's "the vast majority of the code", do you think it "doesn't matter performance wise"? Or just that Python isn't prohibitively slow? 20:01:23 the first 20:01:37 python would be prohibitively slow in sensitive areas 20:02:32 but much of the code goes to handling the UI and game logic 20:03:12 which you'd have to screw up really bad for it to slow your framerate (not that it doesn't happen, but it can always be fixed by using Python right, without reverting to C++) 20:03:49 by "doesn't matter" I mean "don't shoot yourself in the foot and you'll be fine" 20:04:53 -!- BossKonaSegwaY [~Michael@72.49.0.102] has quit [Read error: Connection reset by peer] 20:05:36 BossKonaSegwaY [~Michael@72.49.0.102] has joined #scheme 20:07:16 MrFahrenheit [~RageOfTho@77.221.25.95] has joined #scheme 20:09:30 daat418 [~daat_un@chammerling-mini.xinet.COM] has joined #scheme 20:12:46 -!- wirrbel [~wirbel@p5083F2E7.dip0.t-ipconnect.de] has quit [Quit: Leaving] 20:13:48 -!- BossKonaSegwaY [~Michael@72.49.0.102] has quit [Ping timeout: 246 seconds] 20:16:00 BossKonaSegwaY [~Michael@72.49.0.102] has joined #scheme 20:16:27 fridim_ [~fridim@173.231.115.58] has joined #scheme 20:19:55 In a game written in Lua, the slowest part of the program are written in C++. 20:20:07 It would be better to write it all in lisp or scheme. 20:30:41 pjb` [~t@90.24.241.80] has joined #scheme 20:31:50 -!- Nisstyre-laptop [~yours@oftn/member/Nisstyre] has quit [Ping timeout: 240 seconds] 20:34:21 -!- pjb [~t@90.24.196.163] has quit [Ping timeout: 264 seconds] 20:34:30 -!- pjb` is now known as pjb 20:39:04 jao [~jao@208.Red-193-153-230.dynamicIP.rima-tde.net] has joined #scheme 20:39:07 -!- jao [~jao@208.Red-193-153-230.dynamicIP.rima-tde.net] has quit [Changing host] 20:39:07 jao [~jao@pdpc/supporter/professional/jao] has joined #scheme 20:39:24 pnkfelix [~user@bas75-2-88-170-201-21.fbx.proxad.net] has joined #scheme 20:53:25 -!- gravicappa [~gravicapp@ppp91-77-165-34.pppoe.mtu-net.ru] has quit [Ping timeout: 248 seconds] 20:54:11 -!- Kruppe [~user@j2petkovich.uwaterloo.ca] has quit [Ping timeout: 264 seconds] 21:05:25 defanor [~d@ppp91-77-119-15.pppoe.mtu-net.ru] has joined #scheme 21:12:44 Nisstyre [~yours@oftn/member/Nisstyre] has joined #scheme 21:13:42 -!- samth is now known as samth_away 21:13:44 leo_33 [~jswksl@46.12.21.122.dsl.dyn.forthnet.gr] has joined #scheme 21:23:22 -!- ccorn [~ccorn@h165043.upc-h.chello.nl] has quit [Quit: ccorn] 21:24:18 -!- walter [~walter@97-88-38-33.dhcp.roch.mn.charter.com] has quit [Read error: Connection reset by peer] 21:25:02 walter [~walter@97-88-38-33.dhcp.roch.mn.charter.com] has joined #scheme 21:31:52 -!- dessos [~dessos@c-174-60-176-249.hsd1.pa.comcast.net] has quit [Ping timeout: 246 seconds] 21:38:25 -!- davexunit [~user@38.104.7.18] has quit [Quit: Later] 21:38:43 -!- sttau [~sttau@unaffiliated/sttau] has quit [Ping timeout: 256 seconds] 21:45:31 -!- daat418 [~daat_un@chammerling-mini.xinet.COM] has quit [Quit: leaving] 21:45:51 sttau [~sttau@unaffiliated/sttau] has joined #scheme 21:46:16 ccorn [~ccorn@h165043.upc-h.chello.nl] has joined #scheme 21:47:57 -!- ccorn [~ccorn@h165043.upc-h.chello.nl] has quit [Client Quit] 21:49:12 -!- add^_ [~user@m176-70-3-33.cust.tele2.se] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 21:50:27 ccorn [~ccorn@h165043.upc-h.chello.nl] has joined #scheme 21:50:35 -!- rins [~aaron@38.88.168.154] has quit [Ping timeout: 264 seconds] 22:07:18 BossKonaSegwaY1 [~Michael@72.49.0.102] has joined #scheme 22:08:09 daat418 [~daat_un@chammerling-mini.xinet.COM] has joined #scheme 22:09:11 -!- BossKonaSegwaY [~Michael@72.49.0.102] has quit [Ping timeout: 264 seconds] 22:09:53 -!- Nisstyre [~yours@oftn/member/Nisstyre] has quit [Quit: Leaving] 22:10:17 -!- daat418 [~daat_un@chammerling-mini.xinet.COM] has quit [Client Quit] 22:10:26 BossKonaSegwaY [~Michael@72.49.0.102] has joined #scheme 22:11:56 -!- BossKonaSegwaY1 [~Michael@72.49.0.102] has quit [Ping timeout: 260 seconds] 22:12:11 -!- jao [~jao@pdpc/supporter/professional/jao] has quit [Ping timeout: 264 seconds] 22:13:53 -!- civodul [~user@gateway/tor-sasl/civodul] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 22:15:34 -!- przl [~przlrkt@p5B2980EC.dip0.t-ipconnect.de] has quit [Ping timeout: 276 seconds] 22:18:58 Kruppe [~user@CPE602ad0938e9a-CM602ad0938e97.cpe.net.cable.rogers.com] has joined #scheme 22:19:40 daat418 [~daat_un@chammerling-mini.xinet.COM] has joined #scheme 22:21:43 BossKonaSegwaY1 [~Michael@72.49.0.102] has joined #scheme 22:25:09 BossKonaSegwaY2 [~Michael@72.49.0.102] has joined #scheme 22:25:19 -!- BossKonaSegwaY [~Michael@72.49.0.102] has quit [Ping timeout: 276 seconds] 22:26:35 -!- BossKonaSegwaY1 [~Michael@72.49.0.102] has quit [Ping timeout: 264 seconds] 22:28:22 jao [~jao@208.Red-193-153-230.dynamicIP.rima-tde.net] has joined #scheme 22:28:25 -!- jao [~jao@208.Red-193-153-230.dynamicIP.rima-tde.net] has quit [Changing host] 22:28:25 jao [~jao@pdpc/supporter/professional/jao] has joined #scheme 22:28:34 -!- jao [~jao@pdpc/supporter/professional/jao] has quit [Remote host closed the connection] 22:29:08 pcl [~pcl@cpe-172-254-108-166.nyc.res.rr.com] has joined #scheme 22:30:23 -!- BossKonaSegwaY2 [~Michael@72.49.0.102] has quit [Read error: Connection reset by peer] 22:30:32 jao [~jao@208.Red-193-153-230.dynamicIP.rima-tde.net] has joined #scheme 22:30:35 -!- jao [~jao@208.Red-193-153-230.dynamicIP.rima-tde.net] has quit [Changing host] 22:30:35 jao [~jao@pdpc/supporter/professional/jao] has joined #scheme 22:32:24 BossKonaSegwaY [~Michael@72.49.0.102] has joined #scheme 22:34:35 BossKonaSegwaY1 [~Michael@72.49.0.102] has joined #scheme 22:35:49 -!- amgarchIn9 [~amgarchin@p4FD62D18.dip0.t-ipconnect.de] has quit [Ping timeout: 248 seconds] 22:36:53 -!- BossKonaSegwaY [~Michael@72.49.0.102] has quit [Ping timeout: 248 seconds] 22:37:20 -!- jao [~jao@pdpc/supporter/professional/jao] has quit [Remote host closed the connection] 22:39:31 jao [~jao@208.Red-193-153-230.dynamicIP.rima-tde.net] has joined #scheme 22:39:34 -!- jao [~jao@208.Red-193-153-230.dynamicIP.rima-tde.net] has quit [Changing host] 22:39:34 jao [~jao@pdpc/supporter/professional/jao] has joined #scheme 22:41:16 przl [~przlrkt@p5B2980EC.dip0.t-ipconnect.de] has joined #scheme 22:44:25 noam_ [~noam@213.57.201.130] has joined #scheme 22:45:23 -!- noam [~noam@213.57.201.130] has quit [Read error: Connection reset by peer] 22:45:23 -!- ccorn [~ccorn@h165043.upc-h.chello.nl] has quit [Quit: ccorn] 22:49:08 ccorn [~ccorn@h165043.upc-h.chello.nl] has joined #scheme 22:49:08 -!- ccorn [~ccorn@h165043.upc-h.chello.nl] has quit [Client Quit] 22:49:22 -!- jaimef [jaimef@dns.mauthesis.com] has quit [Excess Flood] 22:52:16 -!- agumonkey [~agu@245.217.72.86.rev.sfr.net] has quit [Read error: Operation timed out] 22:56:01 jaimef [jaimef@dns.mauthesis.com] has joined #scheme 22:56:15 -!- BossKonaSegwaY1 [~Michael@72.49.0.102] has quit [Ping timeout: 260 seconds] 22:56:46 -!- jaimef [jaimef@dns.mauthesis.com] has quit [Excess Flood] 22:58:20 BossKonaSegwaY [~Michael@72.49.0.102] has joined #scheme 22:59:57 -!- edw [~edw@207.239.61.34] has quit [Quit: Computer has gone to sleep.] 23:02:03 -!- bjz [~brendanza@125.253.99.68] has quit [Quit: Leaving...] 23:02:03 -!- przl [~przlrkt@p5B2980EC.dip0.t-ipconnect.de] has quit [Ping timeout: 268 seconds] 23:04:01 jaimef [jaimef@dns.mauthesis.com] has joined #scheme 23:04:12 -!- wbooze [~wbooze@xdsl-78-35-165-123.netcologne.de] has quit [Ping timeout: 260 seconds] 23:04:36 -!- BossKonaSegwaY [~Michael@72.49.0.102] has quit [Ping timeout: 246 seconds] 23:05:05 wbooze [~wbooze@xdsl-78-35-156-159.netcologne.de] has joined #scheme 23:12:10 dessos [~dessos@c-174-60-176-249.hsd1.pa.comcast.net] has joined #scheme 23:14:46 -!- aranhoide [~smuxi@225.Red-79-151-101.dynamicIP.rima-tde.net] has quit [Ping timeout: 240 seconds] 23:16:45 -!- d2biG [drbig@unhallowed.pl] has quit [Remote host closed the connection] 23:18:41 Qoj [~Joq@69-84-118-201-dhcp.mia.fl.atlanticbb.net] has joined #scheme 23:24:13 BossKonaSegwaY [~Michael@72.49.0.102] has joined #scheme 23:24:30 -!- hiroakip [~hiroaki@77-20-192-229-dynip.superkabel.de] has quit [Quit: Ex-Chat] 23:33:14 BossKonaSegwaY1 [~Michael@72.49.0.102] has joined #scheme 23:34:09 -!- daat418 [~daat_un@chammerling-mini.xinet.COM] has quit [Quit: leaving] 23:34:23 -!- BossKonaSegwaY [~Michael@72.49.0.102] has quit [Ping timeout: 264 seconds] 23:37:39 agumonkey [~agu@245.217.72.86.rev.sfr.net] has joined #scheme 23:39:47 -!- BossKonaSegwaY1 [~Michael@72.49.0.102] has quit [Ping timeout: 264 seconds] 23:40:27 jonrafkind [~jon@racket/jonrafkind] has joined #scheme 23:47:41 -!- b4283 [~b4283@114-136-147-183.dynamic.hinet.net] has quit [Remote host closed the connection] 23:55:17 -!- jonrafkind [~jon@racket/jonrafkind] has quit [Ping timeout: 248 seconds] 23:56:17 -!- defanor [~d@ppp91-77-119-15.pppoe.mtu-net.ru] has quit [Read error: Operation timed out] 23:57:30 arubin [~arubin@99-114-192-172.lightspeed.cicril.sbcglobal.net] has joined #scheme