00:15:19 -!- jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Ping timeout: 252 seconds] 00:16:30 kvda [~kvda@124-169-23-5.dyn.iinet.net.au] has joined #scheme 00:17:40 woonie [~woonie@nusnet-201-180.dynip.nus.edu.sg] has joined #scheme 00:18:08 -!- Blkt [~user@82.84.158.49] has quit [Remote host closed the connection] 00:20:23 mister_m [~mattosaur@216-80-123-91.c3-0.drb-ubr1.chi-drb.il.cable.rcn.com] has joined #scheme 00:23:02 -!- groovy2shoes [~cory@unaffiliated/groovebot] has quit [Read error: Connection reset by peer] 00:28:38 -!- bytbox [~s@129.2.129.228] has quit [Ping timeout: 240 seconds] 00:29:22 -!- ijp is now known as ijpbot 00:29:35 -!- ijpbot is now known as ijp 00:30:54 -!- dzhus [~sphinx@95-25-98-202.broadband.corbina.ru] has quit [Remote host closed the connection] 00:35:25 -!- woonie [~woonie@nusnet-201-180.dynip.nus.edu.sg] has quit [Ping timeout: 252 seconds] 00:45:33 jrslepak [~jrslepak@c-71-233-151-135.hsd1.ma.comcast.net] has joined #scheme 00:48:08 bytbox [~s@129.2.129.228] has joined #scheme 01:00:50 -!- Myk001 [~Myk@adsl-76-213-205-226.dsl.mtry01.sbcglobal.net] has quit [Ping timeout: 255 seconds] 01:05:45 groovy2shoes [~cory@unaffiliated/groovebot] has joined #scheme 01:05:52 -!- ijp [~user@host109-158-110-107.range109-158.btcentralplus.com] has quit [Ping timeout: 276 seconds] 01:10:11 -!- snizzo [~quassel@host108-8-dynamic.50-79-r.retail.telecomitalia.it] has quit [Remote host closed the connection] 01:15:45 -!- GoKhlaYeh [~GoKhlaYeh@135.51.68.86.rev.sfr.net] has quit [Ping timeout: 252 seconds] 01:20:58 xwl_ [user@nat/nokia/x-aeqfvbotatcdwdyo] has joined #scheme 01:21:54 Myk001 [~Myk@adsl-76-213-205-226.dsl.mtry01.sbcglobal.net] has joined #scheme 01:23:03 -!- groovy2shoes [~cory@unaffiliated/groovebot] has quit [Quit: It is now safe to turn off your groovebot.] 01:25:09 porco [~porco@222.130.132.223] has joined #scheme 01:25:25 ijp [~user@host109-158-110-107.range109-158.btcentralplus.com] has joined #scheme 01:27:11 -!- bytbox [~s@129.2.129.228] has quit [Ping timeout: 252 seconds] 01:38:54 -!- Myk001 [~Myk@adsl-76-213-205-226.dsl.mtry01.sbcglobal.net] has quit [Ping timeout: 245 seconds] 01:42:18 tuubow [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has joined #scheme 01:51:58 dous_ [~dous@210.24.42.190] has joined #scheme 02:03:14 bytbox [~s@129.2.129.228] has joined #scheme 02:03:46 -!- bytbox [~s@129.2.129.228] has quit [Client Quit] 02:05:20 -!- realitygrill [~realitygr@adsl-76-226-137-152.dsl.sfldmi.sbcglobal.net] has quit [Ping timeout: 252 seconds] 02:05:23 realitygrill_ [~realitygr@adsl-76-226-125-165.dsl.sfldmi.sbcglobal.net] has joined #scheme 02:05:59 Myk001 [~Myk@76.213.205.226] has joined #scheme 02:06:39 -!- Myk001 [~Myk@76.213.205.226] has quit [Client Quit] 02:13:53 SeanTAllen [u4855@gateway/web/irccloud.com/x-jirercroiwzzkbec] has joined #scheme 02:17:25 -!- mmc1 [~michal@178-85-131-65.dynamic.upc.nl] has quit [Ping timeout: 248 seconds] 02:22:07 -!- masm1 [~masm@2.80.175.203] has quit [Quit: Leaving.] 02:41:47 jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 02:45:09 -!- MrFahrenheit [~RageOfTho@users-38-111.vinet.ba] has quit [Ping timeout: 245 seconds] 02:46:09 -!- pjb [~t@81.202.16.46.dyn.user.ono.com] has quit [Ping timeout: 240 seconds] 02:54:48 -!- jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Ping timeout: 252 seconds] 03:04:38 -!- kvda [~kvda@124-169-23-5.dyn.iinet.net.au] has quit [Quit: -___-] 03:08:23 karswell__ [~coat@93-97-29-243.zone5.bethere.co.uk] has joined #scheme 03:10:12 -!- karswell_ [~coat@93-97-29-243.zone5.bethere.co.uk] has quit [Ping timeout: 252 seconds] 03:13:09 -!- arbscht [~arbscht@fsf/member/arbscht] has quit [Ping timeout: 240 seconds] 03:15:12 wow it was unbelievable to me how quickly i wrote map, reduce and filter 03:15:51 this is truly an amazing language 03:19:24 cataska [~cataska@210.64.6.233] has joined #scheme 03:20:36 pushp0p: done fold yet? 03:22:04 nm, I see "reduce" 03:22:25 done the classic "write map using fold" exercise? 03:22:47 jrslepak: After writing map with fold, try writing map with unfold. 03:23:13 One can also write filter using fold, of course. 03:23:37 cky: It seems like fold can do all things (except for unfold; no: unfold, too). 03:23:55 jrslepak: no i guess i'll try that 03:24:02 is fold = reduce? 03:24:15 pushp0p: They're highly similar. 03:24:26 pushp0p: In Scheme, reduce uses the first element of the list as the initial value. 03:24:37 Whereas for fold, the initial value is explicitly specified. 03:24:43 ah 03:25:24 klutometis: I'm not sure that fold can be used to implement unfold generally, and vice versa. 03:25:30 i've heard the sentiment that doing SICP will make you a programmer 03:25:31 cky: I take that back: it may indeed not be possible to unfold with fold. 03:25:37 klutometis: See, fold is a list->* operation, and unfold is a *->list operation. 03:26:01 map is a list->list operation, which fits both list-> and *->list. 03:26:11 That's why you can implement map using fold and using unfold. 03:26:35 Correction: which fits both list->* and *->list 03:27:06 pushp0p: well, at a minimum it's a good idea. 03:28:34 cky: What is the operator, by the way, that expresses "implementable by"? Call it X, for the sake of argument; and ~, not. I'm not surprised that fold ~X unfold and vice versa, since they're (in some sense) inverses of each other. 03:28:46 I also find it interesting that X is not commutative. 03:29:03 But maybe that's all implied in the type-calculus. 03:29:09 well let's put it this way: is there anything a moderately competent programmer would need to know about programming that isn't covered in SICP (assuming the programmer works in a high-level language other than C). 03:29:22 i guess OOP design 03:29:24 pushp0p: Concurrency. 03:29:45 pushp0p: SICP covers it some, but.... 03:30:06 *cky* takes that back, then. :-) 03:30:12 isn't functional programming well-suited to concurrency? 03:30:18 pushp0p: Very. 03:30:21 immutability and what not 03:30:28 pushp0p: yes, quite a lot. SICP isn't meant to cover everything about programming. 03:31:11 but what it does cover is pretty important too. 03:31:18 an obvious one is parsing 03:31:34 i thought writing a scheme interpreter is part of it 03:31:47 is that something else that i'm getting confused with it? 03:31:50 yes, but you hijack the underlying read and write 03:32:14 I/O or what 03:33:19 pushp0p: a more comprehensive course on "programming" would be TAOCP, but then, you would still want to read SICP. 03:33:38 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Remote host closed the connection] 03:34:06 pushp0p: and then you'd still miss stuff that a job interviewer is looking for-- like Design Patterns and a whole bunch of circus tricks. 03:34:19 pushp0p: so i guess it depends what your objective is. 03:34:48 i gave myself a year to get more proficient at programming 03:34:51 kind of a formal education of sorts 03:38:15 pushp0p: In that case, just write code. Lots and lots of code. 03:38:22 -!- PreciousMetals [~Heart@unaffiliated/colours] has quit [Ping timeout: 272 seconds] 03:38:25 pushp0p: Be sure to study quality open-source code too. 03:38:43 well i am enjoying SICP 03:38:49 there's no way i'm going to give up on that prematurely 03:38:57 Sure, read on! But make time to write code too. 03:39:08 Don't spend so much time reading that you neglect to code. 03:39:14 i'm just doing the exercises 03:39:23 not quite coding 03:39:26 *qu1j0t3* agrees with cky 03:39:30 but practice nonetheless 03:39:34 I didn't realise it at the time, but one of the best ways I developed coding was taking on a freelance project. 03:39:37 pushp0p: that's good. sicp without the exercises doesn't buy you much. 03:40:07 so there are versions of TAOCP that don't use assembly? 03:40:27 Another way that helped me a lot was joining Stack Overflow; having to explain stuff to others helped me understand my stuff better. 03:40:31 the wikipedia seemed to suggest something like that, but was sort of ambiguous 03:40:44 oh, it's defniitely true, pushp0p 03:40:53 both things. take on a project. and teach others. 03:40:55 pushp0p: I think TAOCP that skips assembly is missing the point. 03:41:08 i don't feel like learning some hypothetical assembly language 03:41:19 but scheme is a hypothetical language :) 03:41:31 yeah but it's high-level 03:41:37 i know, i know... 03:41:44 pushp0p: do you know any assembly languages now? 03:41:56 i did a very small amount of x86 03:42:12 making a brainfuck compiler 03:42:17 pushp0p: Okay, so do TAOCP using x86 assembly. 03:42:20 That's fine too. 03:42:25 nice idea cky 03:42:29 You just can't bail out of using assembly. 03:42:35 if that particular translation exists i'd probably use it 03:42:44 or maybe arm or something 03:42:47 pushp0p: Sure, translate it using your brain. 03:42:49 heard that is a pretty cool one 03:42:50 pushp0p: Any arch is fine. 03:42:53 +1 03:43:01 one class I had in Uni made us write in machine code directly :( 03:43:03 pushp0p: when it asks for mix, supplyx86 03:43:04 pushp0p: As long as you're willing to understand the arch top-to-bottom. 03:43:47 The next edition of TAOCP will use MMIX. 03:43:50 as in 1 hour, not a semester 03:43:52 I happen to like MMIX a lot. 03:44:12 I talk a lot about writing a Scheme OS. When I get around to it, I will initially target MMIX first. 03:44:27 1. It's a cleaner architecture. 2. It will help get my brain out of x86-think. 03:44:30 why do you think assembly language is important for algorithms 03:44:39 pushp0p: Because you see things as the machine does. 03:44:43 That is the point of TAOCP. 03:45:52 oh ok 03:46:41 why don't i just learn to see thigns how a hypothetical scheme machine would 03:47:44 pushp0p: Because, especially when you get to algorithms, it's important to see what real operations a computer does to achieve them, so you know the true cost of an operation. 03:47:57 pushp0p: A hypothetical Scheme machine won't get you grasp what an operation's true cost is. 03:48:05 PreciousMetals [~Heart@unaffiliated/colours] has joined #scheme 03:48:19 pushp0p: That kind of thing will help you analyse algorithms, to see which ones are better than others for a given task, etc. 03:48:45 pushp0p: For example, how is a hypothetical Scheme machine going to help you understand about cache misses/hits? 03:49:14 pushp0p: On modern computers, algorithms have to be designed around how to make good use of CPU caches. 03:49:31 i was just kidding 03:52:31 -!- tauntaun [~user@li327-197.members.linode.com] has quit [Remote host closed the connection] 04:07:15 pushp0p: maybe you could contribute to this... http://wiki.squeak.org/squeak/1762 04:07:59 what prerequisites would be required 04:09:48 ah, squeak 04:14:58 MichaelRaskin [~MichaelRa@195.178.216.22] has joined #scheme 04:16:39 i was just kidding about a hypothetical scheme computer 04:16:43 i'll probably do TAOCP 04:17:12 a scheme computer is quite interesting though. 04:17:20 CESK machine? 04:17:22 it has been attempted 04:17:30 qu1j0t3: By many, I'm certain. 04:17:32 or actual hardware? 04:17:33 yes. 04:17:49 jrslepak: well, i saw a shot of a chip die for scheme "of some kind" just this week. 04:17:54 maybe it was pasted in here 04:19:29 Certainly there have been Lisp machines. And according to the wikipedia page on Lisp machines, also Prolog, Modula-2, Java, and Erlang machines. 04:19:51 So Scheme would be no great leap. 04:20:04 what is good about scheme that is not good about lisp 04:20:40 or common lisp 04:20:42 or w/e 04:20:57 Lexical scope, hygienic macros, Lisp's package system is bizarre, as is its separate function namespace. 04:21:18 carleastlund: not to mention Java. 04:21:24 carleastlund: oh 04:21:27 *qu1j0t3* blushes 04:21:29 carleastlund: I'm tired! 04:22:05 Modula-2? 04:22:18 Are you expressing surprise or asking what it is? 04:22:26 the former 04:24:21 Re: Scheme vs Common Lisp, there are corresponding answers on the other side; I believe CL in general has more library support than most or possibly all Schemes. The way I look at it, Scheme is better designed, but CL has had much more use in practice and thus more pragmatic development infrastructure. 04:25:06 attila_lendvai [~attila_le@87.247.57.176] has joined #scheme 04:25:07 -!- attila_lendvai [~attila_le@87.247.57.176] has quit [Changing host] 04:25:07 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #scheme 04:25:39 -!- homie` [~levgue@xdsl-78-35-138-220.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 04:27:31 bytbox [~s@129.2.129.228] has joined #scheme 04:32:57 *offby1* holds his palm horizontally and waggles it 04:33:19 *carleastlund* holds his palm vertically and waves at offby1 04:33:24 CL in my experience lacks libraries to deal with the modern world -- i.e., REST, Redis, etc. Some schemes have such things 04:33:35 Not that I've checked in, like, five years :) 04:34:28 EmmanuelOga [~emmanuel@host83.190-31-137.telecom.net.ar] has joined #scheme 04:34:28 well... a Redis library isn't something one should expect to find in CL five years ago 04:34:31 Could well be. I don't really know; my only direct exposure to CL has been through the ACL2 theorem prover. Which is not the same as really being a CL user. 04:35:24 homie [~levgue@xdsl-78-35-138-220.netcologne.de] has joined #scheme 04:35:53 *ijp* will finish his one of these days 04:43:00 god this picture language part is stupid 04:43:46 wow, you're up to that already? i'm not... :/ 04:44:07 i'm up to that point in the lectures 04:44:47 I can't remember how SICP does it, but I though it was neat when I read henderson's functional geometry paper 04:45:22 i mean it's kind of cool 04:45:35 maybe i should find whatever i need to download to be able to use it myself 04:45:38 ah. i've read a good deal of Henderson's Functional Programming Implementation and Application book, and I recommend it to pushp0p 04:45:57 is that pragmatically minded? 04:46:09 luoluoluo [Administra@113.247.6.206] has joined #scheme 04:46:11 not like Real World Haskell, no. 04:46:42 but in some ways it's like SICP, hashes out recursive fundamentals nicely. As does "ML for the Working Programmer", if you're not bound to lisp family 04:53:47 jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 04:55:45 jrapdx [~jra@68-186-3-228.dhcp.mdfd.or.charter.com] has joined #scheme 05:03:40 -!- wbooze [~wbooze@xdsl-78-35-138-220.netcologne.de] has quit [Quit: none] 05:04:49 wbooze [~wbooze@xdsl-78-35-138-220.netcologne.de] has joined #scheme 05:19:19 -!- miql_ [~miql@ip98-165-228-225.ph.ph.cox.net] has quit [Ping timeout: 245 seconds] 05:24:35 miql_ [~miql@ip98-165-228-225.ph.ph.cox.net] has joined #scheme 05:30:07 -!- luoluoluo [Administra@113.247.6.206] has quit [Quit: Leaving] 05:32:21 gravicappa [~gravicapp@ppp91-77-160-212.pppoe.mtu-net.ru] has joined #scheme 05:40:20 -!- jrslepak [~jrslepak@c-71-233-151-135.hsd1.ma.comcast.net] has quit [Quit: Leaving] 05:40:36 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 05:43:45 -!- jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Ping timeout: 272 seconds] 05:46:08 -!- bytbox [~s@129.2.129.228] has quit [Ping timeout: 255 seconds] 05:50:19 tom_i [~thomasing@ingserv.demon.co.uk] has joined #scheme 05:53:14 -!- jcowan [~John@cpe-66-65-190-254.nyc.res.rr.com] has quit [Quit: Leaving] 06:24:44 jewel [~jewel@196-215-88-26.dynamic.isadsl.co.za] has joined #scheme 06:30:56 toekutr [~user@50-0-51-2.dsl.static.sonic.net] has joined #scheme 06:32:26 -!- copumpkin is now known as scamcoin51 06:33:18 -!- scamcoin51 is now known as copumpkin 06:41:38 pjb [~t@81.202.16.46.dyn.user.ono.com] has joined #scheme 06:41:52 -!- pjb [~t@81.202.16.46.dyn.user.ono.com] has quit [Remote host closed the connection] 06:42:27 pjb [~t@81.202.16.46.dyn.user.ono.com] has joined #scheme 06:43:06 -!- pjb is now known as Guest82931 06:43:27 -!- Guest82931 is now known as pjb 06:54:00 -!- wbooze [~wbooze@xdsl-78-35-138-220.netcologne.de] has quit [Read error: Connection reset by peer] 06:56:52 -!- jewel [~jewel@196-215-88-26.dynamic.isadsl.co.za] has quit [Ping timeout: 276 seconds] 07:10:31 -!- ToxicFrog [~ToxicFrog@24-246-40-169.cable.teksavvy.com] has quit [Ping timeout: 276 seconds] 07:11:10 -!- gravicappa [~gravicapp@ppp91-77-160-212.pppoe.mtu-net.ru] has quit [Ping timeout: 276 seconds] 07:11:42 -!- djcb [~user@a88-114-95-13.elisa-laajakaista.fi] has quit [Remote host closed the connection] 07:12:38 ToxicFrog [~ToxicFrog@24-246-40-169.cable.teksavvy.com] has joined #scheme 07:17:27 albert-sicp [~albert-si@adsl-71-156-44-252.dsl.irvnca.sbcglobal.net] has joined #scheme 07:24:44 gravicappa [~gravicapp@ppp91-77-175-50.pppoe.mtu-net.ru] has joined #scheme 07:24:55 -!- _schulte_ [~eschulte@c-174-56-1-147.hsd1.nm.comcast.net] has quit [Ping timeout: 245 seconds] 07:35:55 -!- tom_i [~thomasing@ingserv.demon.co.uk] has quit [Ping timeout: 252 seconds] 07:37:06 -!- jonrafkind [~jon@jonr5.dsl.xmission.com] has quit [Ping timeout: 252 seconds] 07:48:49 -!- albert-sicp [~albert-si@adsl-71-156-44-252.dsl.irvnca.sbcglobal.net] has quit [Remote host closed the connection] 07:49:01 -!- mister_m [~mattosaur@216-80-123-91.c3-0.drb-ubr1.chi-drb.il.cable.rcn.com] has quit [Remote host closed the connection] 07:56:00 -!- toekutr [~user@50-0-51-2.dsl.static.sonic.net] has quit [Remote host closed the connection] 08:00:58 mmc1 [~michal@178-85-131-65.dynamic.upc.nl] has joined #scheme 08:03:07 -!- realitygrill_ [~realitygr@adsl-76-226-125-165.dsl.sfldmi.sbcglobal.net] has quit [Quit: realitygrill_] 08:05:13 realitygrill [~realitygr@adsl-76-226-125-165.dsl.sfldmi.sbcglobal.net] has joined #scheme 08:09:52 -!- carleastlund [~cce@209-6-40-238.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Quit: carleastlund] 08:18:07 -!- mmc1 [~michal@178-85-131-65.dynamic.upc.nl] has quit [Ping timeout: 276 seconds] 08:18:56 homie` [~levgue@xdsl-84-44-208-174.netcologne.de] has joined #scheme 08:21:31 -!- homie [~levgue@xdsl-78-35-138-220.netcologne.de] has quit [Ping timeout: 252 seconds] 08:22:39 hkBst [~marijn@gentoo/developer/hkbst] has joined #scheme 08:23:41 dzhus [~sphinx@95-25-98-202.broadband.corbina.ru] has joined #scheme 08:27:42 wbooze [~wbooze@xdsl-84-44-208-174.netcologne.de] has joined #scheme 08:27:52 -!- hkBst [~marijn@gentoo/developer/hkbst] has quit [Read error: Connection reset by peer] 08:28:14 hkBst [~marijn@gentoo/developer/hkbst] has joined #scheme 08:28:16 -!- pygospa [~Pygosceli@kiel-4d0662f2.pool.mediaWays.net] has quit [Ping timeout: 245 seconds] 08:29:57 -!- lucasaiu [~lucasaiu@176.31.156.98] has quit [Quit: Leaving.] 08:31:49 kpal [~kpal@janus-nat-128-240-225-120.ncl.ac.uk] has joined #scheme 08:35:46 pygospa [~Pygosceli@kiel-4d0675cf.pool.mediaWays.net] has joined #scheme 08:41:38 attila_lendvai [~attila_le@87.247.57.176] has joined #scheme 08:41:38 -!- attila_lendvai [~attila_le@87.247.57.176] has quit [Changing host] 08:41:38 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #scheme 08:44:08 -!- surrounder [~surrounde@d130031.upc-d.chello.nl] has quit [Quit: "latuh"] 08:44:08 -!- xwl_ [user@nat/nokia/x-aeqfvbotatcdwdyo] has quit [Read error: Connection reset by peer] 08:44:29 -!- cmatei [~cmatei@95.76.22.68] has quit [Ping timeout: 240 seconds] 08:45:09 -!- Obfuscate [~keii@ip98-176-16-175.sd.sd.cox.net] has quit [Ping timeout: 240 seconds] 08:46:37 lucasaiu [~lucasaiu@176.31.156.98] has joined #scheme 08:47:54 -!- EmmanuelOga [~emmanuel@host83.190-31-137.telecom.net.ar] has quit [Ping timeout: 244 seconds] 08:49:33 -!- jrapdx [~jra@68-186-3-228.dhcp.mdfd.or.charter.com] has quit [Quit: Leaving] 08:52:23 -!- hkBst [~marijn@gentoo/developer/hkbst] has quit [Read error: Connection reset by peer] 08:52:43 hkBst [~marijn@79.170.210.172] has joined #scheme 08:52:43 -!- hkBst [~marijn@79.170.210.172] has quit [Changing host] 08:52:43 hkBst [~marijn@gentoo/developer/hkbst] has joined #scheme 08:54:18 djcb [djcb@nat/nokia/x-gloztrkiekrtxiww] has joined #scheme 08:56:57 cmatei [~cmatei@95.76.22.68] has joined #scheme 08:57:13 surrounder [~surrounde@d130031.upc-d.chello.nl] has joined #scheme 08:59:10 tom_i [~thomasing@cmc.beaming.biz] has joined #scheme 08:59:53 GoKhlaYeh [~GoKhlaYeh@135.51.68.86.rev.sfr.net] has joined #scheme 09:02:31 -!- miql_ [~miql@ip98-165-228-225.ph.ph.cox.net] has quit [Quit: leaving] 09:10:46 -!- tuubow [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has quit [Ping timeout: 276 seconds] 09:15:35 wingo [~wingo@90.163.36.89] has joined #scheme 09:35:30 rostayob [~rostayob@host86-137-13-33.range86-137.btcentralplus.com] has joined #scheme 09:39:29 woonie [~woonie@nusnet-228-5.dynip.nus.edu.sg] has joined #scheme 09:41:53 -!- realitygrill [~realitygr@adsl-76-226-125-165.dsl.sfldmi.sbcglobal.net] has quit [Read error: Connection reset by peer] 09:42:16 realitygrill [~realitygr@adsl-76-226-125-165.dsl.sfldmi.sbcglobal.net] has joined #scheme 09:44:25 -!- paperkettles [~chris@ip72-195-132-159.ri.ri.cox.net] has quit [Quit: paperkettles] 09:55:43 jewel [~jewel@196-215-88-26.dynamic.isadsl.co.za] has joined #scheme 09:59:12 -!- pjb [~t@81.202.16.46.dyn.user.ono.com] has quit [Ping timeout: 244 seconds] 10:06:59 ijp` [~user@host86-182-157-0.range86-182.btcentralplus.com] has joined #scheme 10:10:34 -!- ijp [~user@host109-158-110-107.range109-158.btcentralplus.com] has quit [Ping timeout: 276 seconds] 10:12:30 kuribas [~user@d54C43316.access.telenet.be] has joined #scheme 10:15:43 -!- porco [~porco@222.130.132.223] has quit [] 10:21:15 -!- rostayob [~rostayob@host86-137-13-33.range86-137.btcentralplus.com] has quit [Quit: WeeChat 0.3.5] 10:25:40 -!- ijp` is now known as ijp 10:29:28 -!- Arafangion [~Arafangio@220-244-108-23.static.tpgi.com.au] has quit [Remote host closed the connection] 10:30:03 Arafangion [~Arafangio@220-244-108-23.static.tpgi.com.au] has joined #scheme 10:44:53 -!- pygospa [~Pygosceli@kiel-4d0675cf.pool.mediaWays.net] has quit [Ping timeout: 252 seconds] 10:46:45 pygospa [~Pygosceli@kiel-4dbec510.pool.mediaWays.net] has joined #scheme 10:56:33 Obfuscate [~keii@ip98-176-16-175.sd.sd.cox.net] has joined #scheme 10:58:39 -!- realitygrill [~realitygr@adsl-76-226-125-165.dsl.sfldmi.sbcglobal.net] has quit [Quit: realitygrill] 11:01:44 How is "find-if" called in Scheme? 11:03:38 masm [~masm@2.80.175.203] has joined #scheme 11:03:41 Using "(car (filter ...))" is kind of stupid, but whatever... 11:03:42 srfi-1's filter is similar 11:05:03 DGASAU: you mean because it always returns a list? 11:10:14 srfi 1 find? 11:10:22 -!- jewel [~jewel@196-215-88-26.dynamic.isadsl.co.za] has quit [Ping timeout: 276 seconds] 11:10:48 rudybot: eval (require srfi/1) 11:10:49 ijp: Done. 11:10:59 rudybot: eval (find even? '(3 1 4 1 5 9)) 11:10:59 ijp: ; Value: 4 11:11:05 rudybot: eval (find char? '(3 1 4 1 5 9)) 11:11:05 ijp: ; Value: #f 11:11:17 ah I always forget about find, thanks ijp 11:11:58 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 11:12:20 arbscht [~arbscht@fsf/member/arbscht] has joined #scheme 11:14:19 -!- arbscht [~arbscht@fsf/member/arbscht] has quit [Client Quit] 11:14:43 arbscht [~arbscht@fsf/member/arbscht] has joined #scheme 11:16:16 bigfg [~b_fin_g@r190-135-22-131.dialup.adsl.anteldata.net.uy] has joined #scheme 11:19:43 -!- bfgun [~b_fin_g@r186-52-153-18.dialup.adsl.anteldata.net.uy] has quit [Ping timeout: 252 seconds] 11:21:12 rostayob [~rostayob@dyn1214-162.wlan.ic.ac.uk] has joined #scheme 11:23:05 snizzo [~quassel@host108-8-dynamic.50-79-r.retail.telecomitalia.it] has joined #scheme 11:30:41 -!- snizzo [~quassel@host108-8-dynamic.50-79-r.retail.telecomitalia.it] has quit [Remote host closed the connection] 11:36:07 MrFahrenheit [~RageOfTho@users-38-111.vinet.ba] has joined #scheme 11:40:34 -!- woonie [~woonie@nusnet-228-5.dynip.nus.edu.sg] has quit [Ping timeout: 245 seconds] 11:58:40 -!- MrFahrenheit [~RageOfTho@users-38-111.vinet.ba] has quit [Ping timeout: 248 seconds] 12:00:18 snizzo [~quassel@host108-8-dynamic.50-79-r.retail.telecomitalia.it] has joined #scheme 12:14:12 -!- amgarching [~matveev@theo1.theochem.tu-muenchen.de] has quit [Remote host closed the connection] 12:17:36 kevinneyc [kevinneyc@120.200.29.127] has joined #scheme 12:18:01 pjb [~t@81.202.16.46.dyn.user.ono.com] has joined #scheme 12:18:02 scheme 12:18:28 -!- pjb is now known as Guest92931 12:18:39 -!- Guest92931 is now known as pjb 12:18:56 -!- kevinneyc [kevinneyc@120.200.29.127] has left #scheme 12:19:13 -!- rostayob [~rostayob@dyn1214-162.wlan.ic.ac.uk] has quit [Quit: WeeChat 0.3.5] 12:19:26 Good morning Schemers... 12:19:27 Scheme! 12:19:31 rostayob [~rostayob@dyn1214-162.wlan.ic.ac.uk] has joined #scheme 12:19:43 So my implementation is inching ever forward to being a full R5RS now... 12:20:04 .. if only that the list of things it doesn't yet do is now smaller than the list it does. So, yaknow, over halfway :) 12:24:33 Congratulations! 12:26:01 Just the difficult bits left.. like delay/force, continuations,... 12:28:43 -!- ijp [~user@host86-182-157-0.range86-182.btcentralplus.com] has quit [Quit: ciao] 12:33:31 LeoNerd: which implementation substrate? 12:33:39 Hmm? 12:34:22 LeoNerd: what implementation are you using to write your implementation, what are you building on top of? 12:34:34 Oh I see.... Heh.. long story 12:35:06 Perl, basically. It started off as a small example parser, for my Parser::MGC module, just to parse a "lisp-like syntax" into a tree. 12:35:22 Then I hacked it a bit more, and decided that it wouldn't take -much- more effort to build an evaluator for it 12:37:49 LeoNerd: this is really silly. 12:38:12 LeoNerd: the best/easiest/funiest way to implement scheme, is to write it in scheme, even if you target Perl or something else. 12:41:47 -!- snizzo [~quassel@host108-8-dynamic.50-79-r.retail.telecomitalia.it] has quit [Remote host closed the connection] 12:42:45 attila_lendvai [~attila_le@176.222.175.179] has joined #scheme 12:42:45 -!- attila_lendvai [~attila_le@176.222.175.179] has quit [Changing host] 12:42:45 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #scheme 12:52:03 jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 12:52:27 soveran [~soveran@186.19.214.247] has joined #scheme 12:54:21 -!- confab [~confab@c-71-193-9-153.hsd1.ca.comcast.net] has quit [Quit: Leaving] 12:57:32 tuubow [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has joined #scheme 13:13:56 tupi [~david@139.82.89.24] has joined #scheme 13:24:08 bytbox [~s@129.2.129.228] has joined #scheme 13:26:47 pjb: surely you mean funnest, and not funniest :p 13:32:59 It's more fun to write scheme than anything else (but Common Lisp). 13:38:35 Glou [~Glou@lam60-1-82-233-77-149.fbx.proxad.net] has joined #scheme 13:38:50 -!- Glou [~Glou@lam60-1-82-233-77-149.fbx.proxad.net] has quit [Client Quit] 13:39:11 Glou [~Glou@lam60-1-82-233-77-149.fbx.proxad.net] has joined #scheme 13:39:35 -!- Glou [~Glou@lam60-1-82-233-77-149.fbx.proxad.net] has quit [Client Quit] 13:41:13 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 13:51:19 Does anyone have any good articles/links/etc... about let-syntax? Google is being stupid. 13:51:32 -!- rostayob [~rostayob@dyn1214-162.wlan.ic.ac.uk] has quit [Quit: WeeChat 0.3.5] 13:51:45 It's finding lots of articles about the syntax of let, or various related things.. doesn't appear to understand the hyphen 13:53:41 LeoNerd: try something like "scheme local macros let-syntax"? 13:54:16 "let-syntax" just. 13:54:31 Ya.. neither of those seem to find all that much of interest :/ 13:54:45 No results found for "scheme local macros let-syntax". 13:54:58 At most, try: scheme local macros "let-syntax" 13:55:10 OK clarification: None of those find anything with some interesting examples 13:55:22 Lots of people talking about it, saying what it does. I want to see some real code doing something I can follow 13:55:27 LeoNerd: "let-syntax" finds only interesting scheme let-syntax pages. 13:55:36 LeoNerd: but you have to be friend with google. 13:56:18 Also, google remember your usual searches, so if you're used to search for porn, let-syntax or even "let-syntax" might not give expected results (ie. porn, or whatever). 13:56:57 Hah.. 13:57:13 Yeah.. it's just mostly that it finds articles with the words "let" and "syntax", but not necessarily "let-syntax" 13:57:22 As a schemer, it's expected you know the difference between a symbol and a string... 13:58:24 and quoting is written with a single prefix apostrophe: 'let and 'syntax not necessarily 'let-syntax which means for google '(let syntax), but necessarily for '"let-syntax". 13:59:24 -!- jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Read error: Operation timed out] 13:59:45 -!- wingo [~wingo@90.163.36.89] has quit [Quit: Leaving] 14:00:06 wingo [~wingo@90.163.36.89] has joined #scheme 14:00:12 Also unrelatedly, I'm quite liking the look of Racket's ...+ in macros :) 14:00:14 Might have to steal it 14:12:05 wingo_ [~wingo@218.pool85-50-103.dynamic.orange.es] has joined #scheme 14:15:22 -!- wingo [~wingo@90.163.36.89] has quit [Ping timeout: 245 seconds] 14:26:16 I wonder how often ...+ is actually useful. 14:26:32 I'd say the vast majority of the time, ... is more useful than ...+. 14:27:18 Well, it's jsut a bit nicer if you want to require at least one form 14:27:23 foo foo* ... vs foo ...+ 14:27:36 EmmanuelOga [~emmanuel@host83.190-31-137.telecom.net.ar] has joined #scheme 14:28:09 LeoNerd: Of course. My point is that that is so seldom. 14:29:08 LeoNerd: i.e., most of the time, "zero or more" is more appropriate than "one or more". 14:29:26 There are exceptions. For example, lambdas should have at least one expression in the body. 14:29:27 -!- samth_away is now known as samth 14:33:38 jonrafkind [~jon@jonr5.dsl.xmission.com] has joined #scheme 14:37:05 klutometis: IcedCoffeeScript is doing a CPS transformation, not promises 14:37:38 jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 14:44:51 woonie [~woonie@nusnet-213-254.dynip.nus.edu.sg] has joined #scheme 14:46:01 jrslepak [~jrslepak@c-71-233-151-135.hsd1.ma.comcast.net] has joined #scheme 14:54:08 rostayob [~rostayob@dyn1196-206.wlan.ic.ac.uk] has joined #scheme 14:55:17 _schulte_ [~eschulte@c-174-56-1-147.hsd1.nm.comcast.net] has joined #scheme 14:55:33 -!- rostayob [~rostayob@dyn1196-206.wlan.ic.ac.uk] has quit [Client Quit] 14:55:45 rostayob [~rostayob@dyn1196-206.wlan.ic.ac.uk] has joined #scheme 15:02:51 confab_ [~win7@c-71-193-9-153.hsd1.ca.comcast.net] has joined #scheme 15:03:04 -!- copumpkin [~copumpkin@unaffiliated/pumpkingod] has quit [Quit: Computer has gone to sleep.] 15:04:42 -!- confab_ is now known as confab 15:06:06 -!- jeapostrophe [~jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [Ping timeout: 244 seconds] 15:11:07 snizzo [~quassel@iglu.cc.uniud.it] has joined #scheme 15:13:57 -!- rostayob [~rostayob@dyn1196-206.wlan.ic.ac.uk] has quit [Ping timeout: 248 seconds] 15:15:33 -!- finnrobi [~robb@xvm-20-190.ghst.net] has quit [Ping timeout: 248 seconds] 15:16:01 finnrobi [~robb@xvm-20-190.ghst.net] has joined #scheme 15:26:50 copumpkin [~copumpkin@unaffiliated/pumpkingod] has joined #scheme 15:27:24 -!- pothos [~pothos@114-36-224-117.dynamic.hinet.net] has quit [Remote host closed the connection] 15:27:44 pothos [~pothos@114-36-224-117.dynamic.hinet.net] has joined #scheme 15:28:46 ijp [~user@host86-182-157-0.range86-182.btcentralplus.com] has joined #scheme 15:31:19 -!- dous_ [~dous@210.24.42.190] has quit [Remote host closed the connection] 15:31:21 -!- jrslepak [~jrslepak@c-71-233-151-135.hsd1.ma.comcast.net] has quit [Quit: This computer has gone to sleep] 15:35:30 -!- jonrafkind [~jon@jonr5.dsl.xmission.com] has quit [Read error: Operation timed out] 15:37:50 rostayob [~rostayob@dyn1222-63.wlan.ic.ac.uk] has joined #scheme 15:39:33 -!- dzhus [~sphinx@95-25-98-202.broadband.corbina.ru] has quit [Remote host closed the connection] 15:56:35 -!- snizzo [~quassel@iglu.cc.uniud.it] has quit [Remote host closed the connection] 16:06:50 stis [~stis@1-1-1-39a.veo.vs.bostream.se] has joined #scheme 16:07:11 -!- eno [~eno@nslu2-linux/eno] has quit [Ping timeout: 248 seconds] 16:08:47 eno [~eno@nslu2-linux/eno] has joined #scheme 16:09:57 soveran [~soveran@186.19.214.247] has joined #scheme 16:10:31 -!- bytbox [~s@129.2.129.228] has quit [Quit: Lost terminal] 16:15:52 -!- ASau [~user@95-26-139-80.broadband.corbina.ru] has quit [Ping timeout: 276 seconds] 16:15:53 zmv [~zmv@186.204.150.191] has joined #scheme 16:16:28 -!- eno [~eno@nslu2-linux/eno] has quit [Ping timeout: 272 seconds] 16:17:07 eno [~eno@nslu2-linux/eno] has joined #scheme 16:18:15 jewel [~jewel@196-215-88-26.dynamic.isadsl.co.za] has joined #scheme 16:24:13 jeapostrophe [~jay@lallab.cs.byu.edu] has joined #scheme 16:25:04 samth: Right; I saw that after the fact. Curious to me, though, that it requires an entire interpreter to do so. 16:26:09 -!- djcb [djcb@nat/nokia/x-gloztrkiekrtxiww] has quit [Remote host closed the connection] 16:30:46 I wonder if CPS-transformation can be implemented as a macro in Scheme (assuming no specific need to hook into "native" continuations). 16:31:33 not in r6rs, due to identifier macros 16:32:43 Right. 16:33:06 wingo_: how does that square with turing-completeness? 16:34:10 hkBst: dunno :) 16:34:18 i think you could do cps in macros 16:34:32 but later phases of the expander would undo the cps by expanding identifier-syntax 16:34:36 is the thing. 16:35:10 -!- MichaelRaskin [~MichaelRa@195.178.216.22] has left #scheme 16:36:31 -!- eno [~eno@nslu2-linux/eno] has quit [Ping timeout: 244 seconds] 16:37:04 wingo_: unless you also transformed those macros to produce valid CPS'ed code... 16:37:58 porco [~porco@125.33.83.213] has joined #scheme 16:38:09 ah yes indeed 16:38:13 eno [~eno@nslu2-linux/eno] has joined #scheme 16:38:21 i guess a cps processor has to know about macros anyway 16:38:32 so it's not an additional constraint to make it handle identifier-syntax 16:38:36 good point! 16:38:38 the racket web language does some transformation on all the code to make web programming as natural as ordinary programming. IIRC it used to be very CPS-like, but is now somewhat different. 16:39:09 there are some interesting papers about it. 16:40:21 CampinSam [~CampinSam@24-176-98-217.dhcp.jcsn.tn.charter.com] has joined #scheme 16:43:01 -!- eno [~eno@nslu2-linux/eno] has quit [Ping timeout: 248 seconds] 16:43:51 eno [~eno@nslu2-linux/eno] has joined #scheme 16:49:09 -!- hkBst [~marijn@gentoo/developer/hkbst] has quit [Quit: Konversation terminated!] 16:50:26 sadhu [~sadhu@117.201.56.94] has joined #scheme 16:50:35 i am using mit gnu scheme and i want to compile the code and produce an executable? 16:51:37 -!- eno [~eno@nslu2-linux/eno] has quit [Ping timeout: 276 seconds] 16:52:47 eno [~eno@nslu2-linux/eno] has joined #scheme 16:53:10 sadhu: reading the manual of MIT scheme should prove helpful. Otherwise, http://www.schemeprogramming.info/compiling-a-stand-alone-executable-with-mit-scheme 16:53:10 http://tinyurl.com/7em57d8 16:55:25 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 17:04:08 mintsoup [~mintsoup@173-164-33-21-colorado.hfc.comcastbusiness.net] has joined #scheme 17:04:38 -!- eno [~eno@nslu2-linux/eno] has quit [Ping timeout: 240 seconds] 17:06:47 eno [~eno@nslu2-linux/eno] has joined #scheme 17:11:35 -!- drwho [~drwho@56-34-237-24.gci.net] has quit [Quit: leaving] 17:12:53 -!- eno [~eno@nslu2-linux/eno] has quit [Ping timeout: 248 seconds] 17:14:42 eno [~eno@nslu2-linux/eno] has joined #scheme 17:17:35 -!- zmv [~zmv@186.204.150.191] has quit [Ping timeout: 252 seconds] 17:22:31 realitygrill [~realitygr@adsl-76-226-125-165.dsl.sfldmi.sbcglobal.net] has joined #scheme 17:25:05 -!- tom_i [~thomasing@cmc.beaming.biz] has quit [Ping timeout: 244 seconds] 17:32:18 -!- lucasaiu [~lucasaiu@176.31.156.98] has quit [Quit: Leaving.] 17:34:20 dzhus [~sphinx@95-25-98-202.broadband.corbina.ru] has joined #scheme 17:36:00 add^_ [~add^_^@m212-152-19-244.cust.tele2.se] has joined #scheme 17:38:29 -!- _schulte_ [~eschulte@c-174-56-1-147.hsd1.nm.comcast.net] has quit [Ping timeout: 255 seconds] 17:40:42 ASau [~user@95-26-213-211.broadband.corbina.ru] has joined #scheme 17:46:16 -!- kpal [~kpal@janus-nat-128-240-225-120.ncl.ac.uk] has quit [Ping timeout: 244 seconds] 17:51:34 -!- bigfg [~b_fin_g@r190-135-22-131.dialup.adsl.anteldata.net.uy] has quit [Quit: Leaving] 17:51:38 -!- wingo_ is now known as wingo 17:52:07 -!- githogori [~githogori@c-50-131-15-16.hsd1.ca.comcast.net] has quit [Read error: Operation timed out] 17:52:18 MichaelRaskin [~MichaelRa@3ad50e34.broker.freenet6.net] has joined #scheme 18:05:08 djcb [~user@a88-114-95-13.elisa-laajakaista.fi] has joined #scheme 18:07:17 bubo [~bubo@62-47-148-170.adsl.highway.telekom.at] has joined #scheme 18:08:55 MrFahrenheit [~RageOfTho@users-38-111.vinet.ba] has joined #scheme 18:09:48 langmartin [~user@host-68-169-175-226.WISOLT2.epbfi.com] has joined #scheme 18:15:28 -!- tuubow [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has quit [Ping timeout: 276 seconds] 18:15:42 jonrafkind [~jon@crystalis.cs.utah.edu] has joined #scheme 18:17:13 realitygrill_ [~realitygr@76.226.208.179] has joined #scheme 18:17:25 -!- realitygrill [~realitygr@adsl-76-226-125-165.dsl.sfldmi.sbcglobal.net] has quit [Ping timeout: 276 seconds] 18:17:25 -!- realitygrill_ is now known as realitygrill 18:26:57 -!- sadhu [~sadhu@117.201.56.94] has quit [Quit: Leaving] 18:28:37 -!- porco [~porco@125.33.83.213] has quit [] 18:28:41 -!- kuribas [~user@d54C43316.access.telenet.be] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 18:35:46 tom_i [~thomasing@ingserv.demon.co.uk] has joined #scheme 18:42:19 snizzo [~quassel@host108-8-dynamic.50-79-r.retail.telecomitalia.it] has joined #scheme 18:44:44 pchrist_ [~spirit@gentoo/developer/pchrist] has joined #scheme 18:47:39 -!- pchrist [~spirit@gentoo/developer/pchrist] has quit [Ping timeout: 245 seconds] 18:49:10 -!- dzhus [~sphinx@95-25-98-202.broadband.corbina.ru] has quit [Remote host closed the connection] 18:52:42 -!- MichaelRaskin [~MichaelRa@3ad50e34.broker.freenet6.net] has left #scheme 18:55:53 bytbox [~s@wireless-206-196-167-53.umd.edu] has joined #scheme 18:57:23 stamourv [~user@ahuntsic.ccs.neu.edu] has joined #scheme 19:03:04 MichaelRaskin [~MichaelRa@3ad50e34.broker.freenet6.net] has joined #scheme 19:04:19 -!- MrFahrenheit [~RageOfTho@users-38-111.vinet.ba] has quit [Ping timeout: 245 seconds] 19:09:11 So... Hmm.. Do I understand correctly that a define or define-syntax line in the toplevel of the program, is able to see name bindings introduced by all the other define-like lines in the toplevel, even those lexically after it? 19:10:01 _schulte_ [~eschulte@c-174-56-1-147.hsd1.nm.comcast.net] has joined #scheme 19:12:53 -!- tom_i [~thomasing@ingserv.demon.co.uk] has quit [Ping timeout: 248 seconds] 19:13:58 depends :) 19:14:13 r5rs is not very clear on this point. 19:15:26 Yah.. that was the impression I was coming to.. :/ 19:15:35 wingo: you need to fully-expand macros to do any interesting analysis 19:15:38 My implementation currently doesn't, so I have to order things correctly in my prelude to make them work 19:15:49 E.g. the implementation of 'case' requires 'member' to be visible 19:15:58 klutometis: icedcoffeescript is a compiler, not an interpreter 19:16:33 klutometis: and there's no language in which you can add continuations without a new language (except maybe C) 19:16:55 samth: I'm not sure I get what you mean there.... 19:17:08 -!- fds [~frankie@ajax.webvictim.net] has quit [Quit: leaving] 19:17:59 LeoNerd: about what? 19:18:09 Your last line 19:18:48 LeoNerd: i mean that you can't add continuations to a language without them without writing either an interpreter or a compilers 19:18:58 unless your language is unsafe, like C 19:19:02 bfig [~b_fin_g@r186-48-228-18.dialup.adsl.anteldata.net.uy] has joined #scheme 19:19:04 Ahhh 19:20:40 githogori [~githogori@216.207.36.222] has joined #scheme 19:28:13 -!- add^_ [~add^_^@m212-152-19-244.cust.tele2.se] has quit [Quit: add^_] 19:30:30 -!- _schulte_ [~eschulte@c-174-56-1-147.hsd1.nm.comcast.net] has quit [Quit: leaving] 19:30:45 _schulte_ [~eschulte@c-174-56-1-147.hsd1.nm.comcast.net] has joined #scheme 19:32:42 wingo: Some elightenment is provided by => http://icem.folkwang-hochschule.de/~finnendahl/cm_kurse/doc/schintro/schintro_67.html 19:32:44 http://tinyurl.com/6puj9d6 19:34:15 tom_i [~thomasing@ingserv.demon.co.uk] has joined #scheme 19:37:50 -!- snizzo [~quassel@host108-8-dynamic.50-79-r.retail.telecomitalia.it] has quit [Remote host closed the connection] 19:37:52 -!- wingo [~wingo@218.pool85-50-103.dynamic.orange.es] has quit [Ping timeout: 272 seconds] 19:42:12 -!- bytbox [~s@wireless-206-196-167-53.umd.edu] has quit [Quit: Lost terminal] 19:43:00 choas [~lars@p5795C1C9.dip.t-dialin.net] has joined #scheme 19:51:46 rageous [~Adium@75-168-33-49.mpls.qwest.net] has joined #scheme 20:09:52 -!- tom_i [~thomasing@ingserv.demon.co.uk] has quit [Ping timeout: 276 seconds] 20:09:52 -!- woonie [~woonie@nusnet-213-254.dynip.nus.edu.sg] has quit [Ping timeout: 276 seconds] 20:13:42 -!- MichaelRaskin [~MichaelRa@3ad50e34.broker.freenet6.net] has quit [Ping timeout: 245 seconds] 20:15:55 bytbox [~s@129.2.129.228] has joined #scheme 20:17:08 -!- _schulte_ [~eschulte@c-174-56-1-147.hsd1.nm.comcast.net] has quit [Ping timeout: 272 seconds] 20:23:47 _schulte_ [~eschulte@206.169.60.164] has joined #scheme 20:28:30 -!- langmartin [~user@host-68-169-175-226.WISOLT2.epbfi.com] has quit [Ping timeout: 244 seconds] 20:30:01 -!- jewel [~jewel@196-215-88-26.dynamic.isadsl.co.za] has quit [Ping timeout: 276 seconds] 20:30:44 -!- rostayob [~rostayob@dyn1222-63.wlan.ic.ac.uk] has quit [Read error: Connection reset by peer] 20:32:45 -!- CampinSam [~CampinSam@24-176-98-217.dhcp.jcsn.tn.charter.com] has quit [Quit: leaving] 20:33:50 -!- bubo [~bubo@62-47-148-170.adsl.highway.telekom.at] has left #scheme 20:45:01 sureaint [~mortimer@65-86-91-130.client.dsl.net] has joined #scheme 20:46:58 -!- sureaint [~mortimer@65-86-91-130.client.dsl.net] has quit [Client Quit] 20:47:18 -!- bfig [~b_fin_g@r186-48-228-18.dialup.adsl.anteldata.net.uy] has quit [Read error: Connection reset by peer] 20:53:27 bweaver [~user@host-68-169-158-230.WISOLT2.epbfi.com] has joined #scheme 20:56:59 dzhus [~sphinx@95-25-98-202.broadband.corbina.ru] has joined #scheme 21:02:53 mmc1 [~michal@178-85-131-65.dynamic.upc.nl] has joined #scheme 21:04:02 bfig [~b_fin_g@r186-49-2-238.dialup.adsl.anteldata.net.uy] has joined #scheme 21:10:19 -!- bytbox [~s@129.2.129.228] has quit [Quit: Lost terminal] 21:11:53 -!- wbooze [~wbooze@xdsl-84-44-208-174.netcologne.de] has quit [Ping timeout: 252 seconds] 21:12:16 homie`` [~levgue@xdsl-78-35-143-195.netcologne.de] has joined #scheme 21:12:28 turbofail [~user@c-107-3-149-149.hsd1.ca.comcast.net] has joined #scheme 21:12:38 -!- homie` [~levgue@xdsl-84-44-208-174.netcologne.de] has quit [Ping timeout: 252 seconds] 21:15:31 -!- pushp0p is now known as Seraphiel 21:15:42 bytbox [~s@129.2.129.228] has joined #scheme 21:15:49 -!- Seraphiel is now known as tarposcks 21:15:57 drwho [~drwho@56-34-237-24.gci.net] has joined #scheme 21:16:04 -!- tarposcks is now known as Seraphime 21:19:12 MrFahrenheit [~RageOfTho@users-38-111.vinet.ba] has joined #scheme 21:20:22 So it turns out my macro system doesn't handle two levels of nested ... in expanding templates 21:21:08 While implementing this, a thought occurs to me. What if a ... 'ed form in the template takes two variables that were matched by different ...'ed forms in the pattern, but different times? 21:21:39 ...I don't think that's allowed. 21:21:44 Lemme try. 21:21:50 so the macro transformer should just yield an error? 21:23:08 Here's an example: 21:23:15 rudybot: (define-syntax-rule (zip (a ...) (b ...)) '((a b) ...)) 21:23:17 cky: your sandbox is ready 21:23:17 cky: Done. 21:23:22 rudybot: (zip (1 2 3) (4 5 6)) 21:23:23 cky: ; Value: ((1 4) (2 5) (3 6)) 21:23:30 rudybot: (zip (1 2 3 4) (5 6 7)) 21:23:30 cky: error: #:1:42: syntax: incompatible ellipsis match counts for template at: ... in: (quote ((a b) ...)) 21:23:35 \o/ 21:23:51 Coolbeans. So that should be easy enough for me to detect 21:28:21 Writing loops "guts outside" is still funky. 21:28:31 Oh? 21:30:13 Instead of natural (loop for elt in list when (pred elt) collect (f elt)) 21:30:30 one _has_ to write a weird construction with map and filter. 21:30:50 (And hope that interpreter is able to optimize it.) 21:32:42 It becomes even funkier when you aggregate more parameters. :) 21:33:13 Ah.. I wrote myself a generic 'generate' predicate 21:33:15 Er.. 21:33:18 iterator thingy 21:33:24 To generate lists 21:33:36 ticking [~janpaulbu@87.253.189.132] has joined #scheme 21:33:57 I'd prefer to avoid generating them. 21:34:43 Perhaps also a map-values? 21:35:08 (map-values (lambda (elt) (if (pred elt) (values (f elt)) (values))) list) 21:37:32 Hey I wanted to do an assembly DSL in R5RS, but getting the labels right requires counting the elements on an expression, and evaluating it afterwards. Problem is macros don't seem powerfull enough to do counting, but the eval is not powerfull enough to bind the newly introduced functions. I feel betrayed by the language ^^ 21:38:47 -!- stis [~stis@1-1-1-39a.veo.vs.bostream.se] has left #scheme 21:40:00 Don't use macros. 21:40:46 (Common Lisp's macros can do counting, FYI.) 21:40:58 Yeah I did it the CL way, quote -> do glorious things -> eval 21:41:27 sadly I'm required to use R5RS as that is the only language that runs on our system ^^ 21:41:47 ? 21:42:21 custom Dependent Type CPU project, choice of R5RS was made due to simple spec 21:44:31 but it seems though that it's pretty unlispy, as the environment provided by eval is only the barebone one like a sandbox 21:45:31 Do you have machine language spec public? 21:45:56 not yet, we're currently in an early development stage 21:46:14 it will be similar to darpas safe, but on a students project scale ^^ 21:47:24 -!- gravicappa [~gravicapp@ppp91-77-175-50.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 21:47:35 But as soon as its done we'll publish the souce for it on opencores 21:50:22 I'm not sure that you do want to use macros here. 21:53:46 You mean as in quote -> manipulate -> eval? 21:57:01 The problem is I'd like to be able to use lisp expressions inside the assembly command, so a passive tree walker won't cut it ^^ 21:59:01 Yes. 21:59:09 kennyd [~kennyd@93-141-34-117.adsl.net.t-com.hr] has joined #scheme 21:59:09 You can use quasiquote, if that matters. 22:00:02 rostayob [~rostayob@02d99acf.bb.sky.com] has joined #scheme 22:00:49 kuribas [~user@d54C43316.access.telenet.be] has joined #scheme 22:01:49 Considered that as well, but the calculations need to be done after the label have been resolved :/ 22:03:22 I could delay all calculations, do the labels, and then force. 22:04:34 nasty ^^ 22:04:50 Holycrap I love unittest-based programming 22:05:12 I just hacked up and rewrote my macro transformer logic once again, wasn't sure if it was finished yet... just ran the tests.. they all pass. 22:05:20 nice^^ 22:05:29 So now I'm sitting thinking "Hrmmm... is it finished, or are the tests just insufficient" 22:05:29 LeoNerd: how do you know your tests are correct though 22:05:33 Well, exactly :) 22:05:36 hehe 22:05:50 I'm rewriting patterns and templates with ... in them, into an internal form 22:06:34 ((var val) ...) becomes an Ellipsis object, which is a subclass of a Pair, with a third member "slicevars", where I keep track of what variables the thing uses.. then I splice out the ... from the original pattern 22:07:00 what are you implementing your scheme in? 22:07:05 Perl 22:07:08 It's a long story :) 22:07:10 ha 22:07:37 -!- _schulte_ [~eschulte@206.169.60.164] has quit [Ping timeout: 252 seconds] 22:07:52 http://search.cpan.org/~pevans/Parser-MGC-0.09/lib/Parser/MGC.pm#SYNOPSIS <== First, I wrote this module. As an example, I wrote a minimal S-expr parser. 22:07:58 -!- homie`` [~levgue@xdsl-78-35-143-195.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 22:08:02 This entire interpreter kinda grew out of that ;) 22:09:31 ha, nice 22:09:31 ASau, thanks talking helped a lot, I think I found a solution, altough it's beyond good and evil^^ split the assembly into a quote and delay part via macro, extract label from quote, then force delayed. 22:09:55 But I'm learning quite a lot of Scheme by writing this, which is good. 22:10:09 homie [~levgue@xdsl-78-35-143-195.netcologne.de] has joined #scheme 22:11:09 homie: hey there Cologne fellow! 22:11:41 ticking: perhaps it's too late here, do you mean that (in)famous haskellite style where you pile delays up? 22:12:43 hrhr no, just one delay ^^ 22:12:54 delay until I resolve the labels 22:13:01 I understand that part. 22:13:10 I think I could even skip that and use a begin 22:13:30 You can adopt haskellite style if you wish though. 22:13:55 as I can do the binding to the asoc list that hold the label offsets in the root macro 22:14:47 Basically, instruction is function mapping code to code'. 22:15:09 Where code carries info about all your labels and so on. 22:15:33 Kind of classical one-pass assembly. 22:16:17 I'm I think I have to google up one-pas assembly ^^ 22:16:29 If you represent your instructions as functions, 22:17:02 then your assembly pass is 22:17:39 (loop with code = empty for i in list do (setf code (apply i code))) 22:18:51 You can rewrite it in Scheme yourself, it should be something like reverse+fold. 22:21:27 so you mean in case a label is not yet found the instruction using it will not that in code and if the label comes allong it will resolve that? 22:22:05 You just push it onto list with address where you want to patch later when the label is defined. 22:22:17 I'm ~80% sure you could write this (loop ...) as a Scheme macro 22:22:25 Likely around do, or my 'generate' function 22:22:34 Aaactually, yes. I could turn it into my generate quite simply 22:22:46 -!- kennyd [~kennyd@93-141-34-117.adsl.net.t-com.hr] has left #scheme 22:23:21 Hm, I'm not sure where the offset counting of the labels would be done 22:24:09 Currently my instructions are functions, (except for the label which get extracted first) label are reffered explicitly by (ref label) 22:25:35 deflabel = (lambda (code) (push (cons label . (code-current-address code)) (code-labels code)) (resolve label code)) 22:25:44 Something like that. 22:27:47 A bit more elaborate explanation. 22:28:05 You realize that the notation 22:28:09 ins1 22:28:11 ins2 22:28:34 actually means: start from empty code, append "ins1", append "ins2," right? 22:28:52 yeah 22:29:14 You can write it as (ins2 (ins1 (new-code)). 22:29:43 Now you think a bit how your instruction being appended modifies code. 22:30:01 Label defines label and resolves all previosly met occurances. 22:30:26 Instruction with not yet defined label leaves empty place 22:30:42 and remembers position to fill in later as above. 22:31:09 You can even create a delay so that you could do arithmetics with it. 22:31:49 Some meaningful instruction appends octets or machine words, 22:32:00 hm right 22:32:03 increases instruction pointer. 22:32:13 I think 2 pass is more straightforward though :/ 22:32:22 even though more ugly 22:32:22 Now you write your asm this way: 22:32:38 (list ins1 ins2 ins3) 22:33:26 And your asm does convolution like above to get (insn ...(ins3 (ins2 (ins1 (new-code))))) 22:33:41 LeoNerd: see for instance http://mumble.net/~campbell/scheme/foof-loop.txt or "The Anatomy of a Loop" 22:34:46 ticking: now you (defun mov (src dst) (cond ((...src...dst...) (lambda (code) (...))) ...)) 22:35:12 and do the same for other operations. 22:35:45 Somewhat weird, but it works. :) 22:36:36 That's basically how all one-pass assemblers are written. 22:36:53 Only without HOFs. 22:38:02 hrhr 22:38:15 Though, that's your own project, you may do whatever you wish. 22:38:54 I think the work to be done by label is a bit to complicated for the time of the day ;) 22:39:35 but the idea is pretty nice ^^ 22:39:49 thanks a lot for the input .D 22:43:20 *qu1j0t3* wonders if 'conciser' is a valid word 22:44:11 -!- ticking [~janpaulbu@87.253.189.132] has quit [Quit: Linkinus - http://linkinus.com] 22:47:24 it is if you can convince enough people to use it 22:47:30 qu1j0t3: the rule I know is that for words of <= 2 syllabes, you can add -er, but for longer words, you must use more + word. 22:49:31 pjb: i wasn't aware of that rule. 22:49:56 ijp: yeah, i've just never heard it before. So it might not have saturated the language yet. 22:50:44 ticking [~janpaulbu@87.253.189.132] has joined #scheme 22:53:42 janpaulbultmann [~janpaulbu@87.253.189.132] has joined #scheme 22:54:06 -!- ticking [~janpaulbu@87.253.189.132] has quit [Read error: Connection reset by peer] 22:57:05 \o/ and now I can handle nested ... in macros 23:03:04 -!- whitequark [~whitequar@2a00:ab00:1::4464:5550] has left #scheme 23:05:58 -!- jrslepak_ [~jrslepak@punchout.ccs.neu.edu] has quit [Quit: Leaving] 23:06:04 jrslepak_ [~jrslepak@punchout.ccs.neu.edu] has joined #scheme 23:06:42 pjb: so curiouser and curiouser :p 23:07:26 -!- choas [~lars@p5795C1C9.dip.t-dialin.net] has quit [Read error: Operation timed out] 23:08:34 -!- karswell__ [~coat@93-97-29-243.zone5.bethere.co.uk] has quit [Read error: Operation timed out] 23:08:41 karswell__ [~coat@93-97-29-243.zone5.bethere.co.uk] has joined #scheme 23:09:47 -!- dzhus [~sphinx@95-25-98-202.broadband.corbina.ru] has quit [Remote host closed the connection] 23:17:27 So, now I have proper ellipses in macros, and a proper do macro that includes optional step. I think I shall call bedtime here today. :) 23:17:48 I might just have something CPAN'able by the end of the week 23:20:13 -!- kuribas [~user@d54C43316.access.telenet.be] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 23:28:28 -!- jeapostrophe [~jay@lallab.cs.byu.edu] has quit [Read error: Operation timed out] 23:34:46 -!- tupi [~david@139.82.89.24] has quit [Quit: Leaving] 23:35:17 wbooze [~wbooze@xdsl-78-35-143-195.netcologne.de] has joined #scheme 23:39:16 -!- copumpkin [~copumpkin@unaffiliated/pumpkingod] has quit [Quit: Computer has gone to sleep.] 23:41:35 _schulte_ [~eschulte@c-174-56-1-147.hsd1.nm.comcast.net] has joined #scheme 23:50:27 -!- masm [~masm@2.80.175.203] has quit [Quit: Leaving.] 23:51:59 tuubow [~adityavit@NYUFGA-WLESSAUTHCLIENTS-01.NATPOOL.NYU.EDU] has joined #scheme 23:57:38 -!- tuubow [~adityavit@NYUFGA-WLESSAUTHCLIENTS-01.NATPOOL.NYU.EDU] has quit [Ping timeout: 252 seconds] 23:59:41 Hrmm.. I need a simple example of a lambda with inner 'define's that I can shove in a unit-test to assert they work correctly