00:00:36 BossKonaSegwaY [~Michael@72.49.0.102] has joined #scheme 00:03:19 -!- Triclops256|away is now known as Triclops256 00:05:03 -!- _ffio_ [~fire@unaffiliated/security] has quit [Ping timeout: 240 seconds] 00:05:25 -!- BossKonaSegwaY [~Michael@72.49.0.102] has quit [Ping timeout: 276 seconds] 00:05:45 ffio [~fire@unaffiliated/security] has joined #scheme 00:07:00 -!- microcode is now known as meinsanto 00:08:28 BossKonaSegwaY [~Michael@72.49.0.102] has joined #scheme 00:08:35 jonrafkind [~jon@racket/jonrafkind] has joined #scheme 00:14:55 -!- jaimef [jaimef@dns.mauthesis.com] has quit [Excess Flood] 00:15:05 -!- BossKonaSegwaY [~Michael@72.49.0.102] has quit [Ping timeout: 256 seconds] 00:18:00 -!- Triclops256 is now known as Triclops256|away 00:21:02 jaimef [jaimef@dns.mauthesis.com] has joined #scheme 00:21:43 -!- meinsanto is now known as microcode 00:22:19 -!- tupi [~user@139.82.89.157] has quit [Remote host closed the connection] 00:27:09 -!- Triclops256|away is now known as Triclops256 00:30:08 -!- jaimef [jaimef@dns.mauthesis.com] has quit [Excess Flood] 00:30:32 jaimef [jaimef@dns.mauthesis.com] has joined #scheme 00:31:54 BossKonaSegwaY [~Michael@72.49.0.102] has joined #scheme 00:35:44 BossKonaSegwaY1 [~Michael@72.49.0.102] has joined #scheme 00:36:37 -!- BossKonaSegwaY [~Michael@72.49.0.102] has quit [Ping timeout: 276 seconds] 00:37:21 -!- agumonkey [~agu@245.217.72.86.rev.sfr.net] has quit [Ping timeout: 264 seconds] 00:44:14 -!- BossKonaSegwaY1 [~Michael@72.49.0.102] has quit [Ping timeout: 240 seconds] 00:45:46 BossKonaSegwaY [~Michael@72.49.0.102] has joined #scheme 00:50:30 -!- pcl [~pcl@cpe-172-254-108-166.nyc.res.rr.com] has quit [Quit: Leaving.] 00:51:32 jcowan [~jcowan@cpe-108-182-78-175.nyc.res.rr.com] has joined #scheme 00:53:59 -!- tcsc [~tcsc@c-76-127-240-20.hsd1.ct.comcast.net] has quit [Quit: computer sleeping] 00:58:00 BossKonaSegwaY1 [~Michael@72.49.0.102] has joined #scheme 00:58:23 -!- BossKonaSegwaY [~Michael@72.49.0.102] has quit [Ping timeout: 264 seconds] 00:58:46 bjz [~brendanza@125.253.99.68] has joined #scheme 00:59:50 -!- BossKonaSegwaY1 [~Michael@72.49.0.102] has quit [Read error: Connection reset by peer] 01:00:17 -!- jaimef [jaimef@dns.mauthesis.com] has quit [Excess Flood] 01:04:43 BossKonaSegwaY [~Michael@72.49.0.102] has joined #scheme 01:06:03 -!- Triclops256 is now known as Triclops256|away 01:07:02 jaimef [jaimef@dns.mauthesis.com] has joined #scheme 01:08:40 -!- jaimef [jaimef@dns.mauthesis.com] has quit [Quit: Emacs must have died] 01:09:26 jaimef [jaimef@dns.mauthesis.com] has joined #scheme 01:10:52 -!- BossKonaSegwaY [~Michael@72.49.0.102] has quit [Read error: Connection reset by peer] 01:17:15 BossKonaSegwaY [~Michael@72.49.0.102] has joined #scheme 01:19:20 BossKonaSegwaY1 [~Michael@72.49.0.102] has joined #scheme 01:20:10 -!- jao [~jao@pdpc/supporter/professional/jao] has quit [Ping timeout: 276 seconds] 01:22:07 -!- BossKonaSegwaY [~Michael@72.49.0.102] has quit [Ping timeout: 276 seconds] 01:24:04 -!- BossKonaSegwaY1 [~Michael@72.49.0.102] has quit [Ping timeout: 276 seconds] 01:25:03 BossKonaSegwaY [~Michael@72.49.0.102] has joined #scheme 01:27:33 BossKonaSegwaY1 [~Michael@72.49.0.102] has joined #scheme 01:29:26 -!- BossKonaSegwaY [~Michael@72.49.0.102] has quit [Ping timeout: 240 seconds] 01:30:16 -!- walter [~walter@97-88-38-33.dhcp.roch.mn.charter.com] has quit [Quit: This computer has gone to sleep] 01:42:05 fridim__ [~fridim@65.93.78.88] has joined #scheme 01:48:48 walter [~walter@97-88-38-33.dhcp.roch.mn.charter.com] has joined #scheme 02:02:34 does scheme have dictionaries? 02:03:26 Many Scheme implementations have hash tables. 02:03:47 ok 02:03:49 Probably I should say most do. 02:04:38 http://www.scheme.com/tspl4/objects.html#./objects:h13 02:05:19 Unfortunately, there are two incompatible standard interfaces for them, so it's irritating to write portable code. 02:05:44 -!- BossKonaSegwaY1 [~Michael@72.49.0.102] has quit [Ping timeout: 260 seconds] 02:05:44 The hashtables described at that URL are part of the standard AFAIK. 02:07:31 They are part of the R6RS standard, but relatively few Schemes have adopted that standard. Some quite prominent ones have not, and some others provide it but don't seem to particularly care for it. 02:07:56 Scheme is not a language but a family quarrel. 02:08:37 zacts: Racket has a generic interface for dictionaries, which includes hash tables among other types. 02:08:38 heh 02:08:38 pcl [~pcl@cpe-172-254-108-166.nyc.res.rr.com] has joined #scheme 02:10:28 jcowan: I guess I can maybe see why, because scheme is so lispy and organic, it kind of lends towards evolving, rather than keeping it within strict structures. 02:13:37 There has historically been a lot of pressure toward keeping the standard small, which was one of the reasons why R6RS was less than successful. 02:14:12 Now we will have two compatible standards, R7RS-small (the successor to R5RS) and the ongoing R7RS-large (the successor to R6RS conceptually speaking, though not in detail). 02:16:13 -!- leo_33 [~jswksl@46.12.21.122.dsl.dyn.forthnet.gr] has left #scheme 02:19:05 BossKonaSegwaY [~Michael@72.49.0.102] has joined #scheme 02:23:18 BossKonaSegwaY1 [~Michael@72.49.0.102] has joined #scheme 02:23:26 -!- BossKonaSegwaY [~Michael@72.49.0.102] has quit [Ping timeout: 240 seconds] 02:23:33 -!- BossKonaSegwaY1 [~Michael@72.49.0.102] has quit [Read error: Connection reset by peer] 02:25:23 -!- bjz [~brendanza@125.253.99.68] has quit [Ping timeout: 264 seconds] 02:38:14 -!- fridim__ [~fridim@65.93.78.88] has quit [Ping timeout: 240 seconds] 02:38:26 so why can't scheme be used for kernel level programming? I mean sicp contains a picture of a lisp interpreter implemented in hardware? 02:40:08 What makes you think it can't be? 02:40:50 -!- walter [~walter@97-88-38-33.dhcp.roch.mn.charter.com] has quit [Quit: This computer has gone to sleep] 02:41:29 I guess I'm wondering if it would rely on a scheme interpreter implemented in hw, or could you write kernel level scheme code on an intel cpu for example? 02:41:49 You could do either one. 02:42:02 neat 02:48:11 It would, however, take a lot of work, and unless you identify a more specific goal than `write kernel code in Scheme' it's not clear what the value of that work would be. 02:56:47 yeah, just curious 02:57:12 I mean do lisp machines have any advantages over something like gnu/linux or FreeBSD? 02:57:32 s/do/would/ 02:57:45 You're comparing hardware to an OS, seems pretty apples to oranges. 02:57:53 -!- Giomancer [~gio@107.201.206.230] has quit [Quit: Leaving] 02:58:16 Presumably he meant `Lisp machines running Genera' or whatever compared with `conventional hardware running GNU/Linux or FreeBSD'. 02:58:25 -!- Aethaeryn [~Michael@wesnoth/umc-dev/developer/aethaeryn] has quit [Ping timeout: 246 seconds] 02:58:51 -!- Kruppe [~user@CPE602ad0938e9a-CM602ad0938e97.cpe.net.cable.rogers.com] has quit [Quit: rcirc on GNU Emacs 24.3.1] 03:00:38 Genera is a much more exploratory system than any Unix. You can point and click to get at the source code for whatever you pointed and clicked on; you can get a symbolic debugger when something crashes, and perhaps dynamically fix it and restart it where it left off; you can easily replace code at run-time. 03:03:02 Genera is also a much more intricately stateful system than any Unix. If you intern a symbol in the wrong package, and it gets stored somewhere, you will be stuck with that not just until you restart the process (like in a Common Lisp system running on a Unix) but until you reboot the machine. Reproducible results and clear, simple, language-independent data formats are more valued in the Unix world. 03:04:27 amgarchIn9 [~amgarchin@p4FD62D18.dip0.t-ipconnect.de] has joined #scheme 03:05:53 Aethaeryn [~Michael@wesnoth/umc-dev/developer/aethaeryn] has joined #scheme 03:05:56 gravicappa [~gravicapp@ppp91-77-165-34.pppoe.mtu-net.ru] has joined #scheme 03:08:59 oh wow 03:09:05 interesting 03:10:43 Genera is the moral equivalent of a VM, but running on bare hardware. 03:11:37 zacts, 03:11:48 are you there 03:11:50 ? 03:12:02 Qoj, you have thirty seconds to persuade me that you're not going to spam the channel again. 03:12:33 Haha 03:12:56 I didn't spam the channel, I was telling you the "problem" 03:13:30 I just came to ask if someone could go on #programming and ask them to invite me, it became invite only and I got kicked out. 03:13:50 alexei [~amgarchin@p4FD560E1.dip0.t-ipconnect.de] has joined #scheme 03:14:40 Why don't you ask them privately, then? #scheme is not a place to beg to be let back wherever you were booted out probably for spamming. 03:14:55 Also, I guess you can say im on the pat for learning comp-sci and i've been told I need to get Linux. As of now I'm learning SICP and really don't feel like installing it as of now, will this make a difference? 03:15:17 Riastradh, the PM doesn't work :/ 03:15:47 And i'm not begging, i'm sure it was an accident, I never spammed on that channel ( and this one). 03:16:27 path to* 03:16:46 -!- amgarchIn9 [~amgarchin@p4FD62D18.dip0.t-ipconnect.de] has quit [Ping timeout: 240 seconds] 03:22:24 daat418 [~daat_un@c-67-180-90-80.hsd1.ca.comcast.net] has joined #scheme 03:22:46 -!- daat418 [~daat_un@c-67-180-90-80.hsd1.ca.comcast.net] has quit [Client Quit] 03:35:54 -!- jcowan [~jcowan@cpe-108-182-78-175.nyc.res.rr.com] has quit [Quit: Leaving] 03:37:57 brianmwaters [41b78511@gateway/web/freenode/ip.65.183.133.17] has joined #scheme 03:39:43 okay, here's a question: (hopefully i'm not trollin' too hard with this one) as someone who has invested a lot of time in scheme books and papers, writing a project in scheme, looking at other people's scheme code, etc, and is interested in lisp and functional programming in general, what do i have to gain from learning Common Lisp, other than a little perspective? 03:44:22 fridim__ [~fridim@65.93.78.88] has joined #scheme 03:44:44 a vast array of libraries 03:46:07 maybe it's easier to get paid for using common lisp? 03:46:21 i have a feeling it's still pretty hard :) 03:46:30 Appreciation for reproducible results and semantics independent from image state. 03:46:35 maybe it's even easier to get a job at a university playing with scheme, who knows 03:46:59 Riastradh: what do you mean by that? 03:47:25 I mean that diving into the world of Common Lisp will give you a good opportunity to appreciate reproducible results and to appreciate semantics of programs that don't depend on the current image state. 03:47:41 Your favourite choice of language is unlikely to be correlated much with job prospects. 03:47:47 what do you mean by "current image state" 03:48:46 The current state of the Lisp process, if you like -- what's currently loaded into memory and what state it's in. 03:50:18 Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has joined #scheme 03:50:21 i see. but if as long as CL has mutable state (setq) it's going to have code that depends on it, just like Scheme. so i'm missing somehting 03:50:44 or, i should have said, it *can* have code that depends on mutability. 03:51:31 I'm not talking about the behaviour of the program, exactly. I'm talking about the meanings of the names you use to write programs. 03:52:17 Huh? 03:52:25 oh, so you're referring to the fact that you can (define cons 5) 03:52:30 In Scheme, you can look at a program, given a lexical environment, and know what the text of the program means. In Common Lisp, being given the lexical environment isn't enough; the semantics depends much more intricately on the current state of the image. 03:52:31 in scheme 03:52:44 OOOOOH 03:52:54 i'm sorry, it sounded like you were saying it was the other way around 03:53:11 For example, in Common Lisp, you have to worry about what names have been interned in what packages. 03:53:39 The Lisp package system is a scourge upon mankind. 03:54:02 lol, some would say that about R6RS's package system, it seems. 03:54:10 Different concept of `package system'. 03:54:27 Yeah, they're definitely different uses of the word entirely. 03:54:33 Common Lisp's packages are a deeply, fundamentally botched idea. 03:54:36 Lisp packages are just namespace mechanisms. 03:54:47 And really terrible ones, at that. 03:55:07 There may be things wrong with the R6RS's library system, but the concept isn't fundamentally botched. 03:55:19 yeah 03:55:39 i've actually been wondering what types of issues people have had, specifically. 03:55:58 But don't just believe me when I say that Common Lisp packages are fundamentally botched; mess with them yourself. 03:56:08 i've only used r6rs's module system, and (load "file.scm"), so i have little perspective 03:57:00 my implementation of choice (chez) only seems to support those two. 04:00:03 i guess i will just have to look at CL so see what i'd be missing :) 04:01:41 -!- gravicappa [~gravicapp@ppp91-77-165-34.pppoe.mtu-net.ru] has quit [Ping timeout: 248 seconds] 04:05:31 joydaemon [~eoinkelly@122-62-34-98.jetstream.xtra.co.nz] has joined #scheme 04:06:39 -!- pcl [~pcl@cpe-172-254-108-166.nyc.res.rr.com] has quit [Quit: Leaving.] 04:10:45 -!- fridim__ [~fridim@65.93.78.88] has quit [Ping timeout: 248 seconds] 04:11:39 my two main interests at this point are to learn SICP/HTDP/PLAI/scheme and haskell 04:11:47 scheme first 04:12:25 -!- MrFahrenheit [~RageOfTho@77.221.25.95] has quit [Ping timeout: 276 seconds] 04:14:15 I like how, in scheme, names are just names. for example, (define pi 3.14159) (define procedure (lambda () ...) 04:14:30 that's a hell of a reading list :) 04:14:38 pick one! 04:15:04 The point of lists is that they can contain more than one thing. 04:15:17 brianmwaters: If I were to pick one I would do SICP, but I'm not fully prepared for it. 04:15:29 thus simply scheme (almost done) and HTDP 04:15:37 PLAI logically follows from HTDP 04:15:39 smart 18-year-olds are prepared for it. 04:15:47 just know that it's a big undertaking to read the whole thing. 04:15:56 then SICP is my goal. 04:16:30 i'm just about to start it, recognizing that it will take months (if i even finish it), so i will be doing other things alongside, SICP being very "part time" 04:16:45 cool 04:17:47 the later chapters look most interesting, but i cannot help myself but to read things in order. it's like some kind of self-deprecating OCD 04:18:15 the later chapters do look cool 04:18:21 yes 04:18:43 i'm going to take this opportunity to put in a plug for the little schemer and it's sequel. 04:18:58 they are quick reads, but really quite good. 04:19:01 simply scheme is really easy, and HTDP looks farily easy. I'm thinking I could finish HTDP in about a month or so. 04:19:10 or maybe even less 04:19:21 i haven't looked at those at all, so idunno. 04:19:25 I actually have the little schemer's, but haven't read them 04:19:30 do it!!!! 04:19:43 but be prepared to have your mind twisted up in a pretzel. 04:19:50 ok! :-) 04:20:03 and make sure you've got lots of mustard. 04:20:58 in all seriousness, though, be ready to read and re-read parts of that book 04:21:12 i'm still all twisted up over the Y-combinator part. 04:21:18 I mean I've read almost all of the first little schemer, but stopped to do simply scheme. I'll pick it up again. 04:21:35 jelly bean stains 04:21:53 aaah!!!!! but the last three chapters are the really good ones!!!! you probably know everything in the first seven already. 04:22:00 yeah I do 04:22:15 the first are so simple, it's actually hard to read. 04:22:23 yeah it can be boring depending on where you're coming from, but i promise the last two or three will not let down 04:22:37 yes exactly. that's what i'm dreading on the beginning of SICP 04:22:54 but it does look like it will start to get interesting. the logic programming book looks cool too. 04:23:06 yeah i just ordered it :) 04:23:19 joneshf-laptop [~joneshf@c-98-208-36-36.hsd1.ca.comcast.net] has joined #scheme 04:23:19 I just couldn't remember how to do some of the math in SICP.. 04:23:21 i am actually procrastinating finishing the last chapter of the seasoned schemer right now. 04:23:35 yes i think i remember you asked a question about phi in here last night. 04:23:47 figger it out? 04:23:49 namely I just rememberd yesterday how to do mathematical induction, not that hard, but I just haven't been using my math much. 04:24:33 newton's method is easy 04:24:41 complex numbers are easy.. 04:25:15 I just need to review. I can read the text fine, it's just some of the exercises. 04:25:37 and I totally want to do the exercises along with the reading. 04:26:23 brianmwaters: in the reasoned schemer do you end up writing any cool programs? 04:26:28 I mean 04:26:33 seasoned schemer 04:26:41 when i learned about the Curry-Howard isomorphism, i figured that if programming is easy, then math should be easy, since they're the same thing, but i have yet to experience it that way :) 04:27:00 well, yes!!!!!!!!!!!!! 04:27:22 you learn a lot about call/cc (although they call it letcc and it has slightly different syntax) 04:27:38 Curry-Howard is about programs and proofs, not exactly programs and math. 04:27:48 ah interesting 04:27:55 and in the last chapter you implement another eval/apply interpreter, but this one is more extended from the one in TLS in that it supports define, set! and call/cc 04:28:15 oh, yeah you implement a simple interpreter don't you 04:29:04 carleastlund: yes, i was speaking loosely :) actually learning to program when i was a kid was what got me to not be afraid of math. if it wasn't for code i probably would have been a history major in college or someting :) 04:29:26 are you a comp sci major brianmwaters ? 04:30:11 zacts: yes. i don't know if it's because TSS was more outside my scope of knowledge, but i found it a lot harder to follow. they play a lot of weird games and leave it entirely to you to do the reverse engineering. 04:30:32 no, i majored in skiing and beer 04:30:45 I want to major in comp sci 04:31:23 I'm going to be reviewing all of my math over the next 3-6 months, and I'm going to be taking lots of math classes. 04:31:43 then do it! it's one of the best majors for young people to do, especially if they're interested 04:32:20 zacts: are you in HS? 04:32:24 ah no 04:32:48 I'm done with HS 04:33:00 don't kill yourself over the math. most CS majors squeak by with one formal math class and a few calculus requirements. 04:33:13 unless, of course, that's the kind of CS you're interested int. 04:34:27 man we flood this channel, lol 04:34:50 sorry, I have a way of doing that accidentally. :-/ 04:36:01 as long as we're somewhat on-topic and not talking over anyone, it's not the worst thing in the world 04:36:28 I don't know, I guess Machine Learning might eventually be an interest of mine. I just want to get SICP done in my first year or so in college, then decide what to do after that. 04:37:14 I will be starting classes at the end of next month. College Math / English/Writing / ... 04:37:20 well that's good. at least you know what you're into. most college students just ride the wave. 04:37:38 just don't flunk out like i did ;) 04:37:53 ok :-) 04:38:02 but remember: no class on a powder day 04:38:11 -!- DeadZen [~deadzen@unaffiliated/deadzen] has quit [Quit: Changing server] 04:38:27 so what got you interested in scheme to begin with? 04:38:43 it's functional programming, really. 04:38:53 i could spill my life story. 04:39:11 don't do that, just curious as to what features of scheme you liked. 04:39:28 but i see scheme as a manifestation of *functional programming*, whereas i see haskell/ML as a manifestation of *functional programming PLUS types* 04:39:46 interesting 04:39:55 so why try and master two things at once? i figured i'd study functional programming for a while, then after that, study types. 04:40:09 so i'm still in the FP stage of that self-assigned "program" 04:40:15 that's what I'm doing 04:40:39 you mean a self-assigned "program"? 04:40:50 or doing scheme before ML 04:40:52 -!- cibs [~cibs@60-251-40-253.HINET-IP.hinet.net] has quit [Ping timeout: 256 seconds] 04:40:57 Scheme before Haskell 04:41:10 and I kind of have a self assigned program, along with starting college. 04:41:18 I'm going to be super busy with all of this stuff. 04:41:19 yeah. 04:41:28 just don't let your own curiosity kill your grades 04:41:38 -!- joydaemon [~eoinkelly@122-62-34-98.jetstream.xtra.co.nz] has quit [Quit: joydaemon] 04:41:48 ok, only need to stay focused on college for four years, initially.. 04:41:50 i used to do vector caclulus and shit like that while at the same time earning C's in basic calculus 04:41:50 ehaliewicz [~user@50-0-51-11.dsl.static.sonic.net] has joined #scheme 04:42:00 hehe 04:42:16 brianmwaters, have you read HtDP at all? 04:42:26 nope. 04:42:38 in fact, i thought it was a python book :) 04:42:46 *brianmwaters* ducks tomatoes 04:43:42 defanor [~d@ppp91-77-121-170.pppoe.mtu-net.ru] has joined #scheme 04:44:02 It's entirely in a Scheme-based language, and yet it's clearly done with types in mind. I think it illustrates quite well how you're going to be using types whether you used a typed language or not. The only question is how much help the compiler gives you. So if you can do statically-untyped Scheme-ish functional programming, statically-typed ML/Haskell-ish functional programming should be pretty 04:44:02 straightforward, and not require all that much extra head-space. 04:44:10 oh, i see the authors are Felleise, Findler, Flatt and Krishnamurthi, all bigwig schemers 04:44:55 carleastlund: sounds interesting. i agree with the idea that types can be a more vague idea than what's in the compiler. 04:45:25 I'm not sure what you mean by that. It sounds false, but I could easily be misinterpreting. 04:45:31 however, i think that the HM type systems allow a new way of programming that you can't bring over from regular FP. 04:45:56 just like you wouldn't want to write imperative code in scheme, you wouldn't want to write "regular" FP code in ML and than "layer the types on". 04:46:03 it allows for its own style that must be mastered. 04:46:21 cibs [~cibs@60-251-40-253.HINET-IP.hinet.net] has joined #scheme 04:46:38 There are some slightly different idioms, but I don't know, I tend to think of ML and Scheme programs as not very different at all. And I've written plenty of both. 04:47:02 right on. you've probably written more than me. 04:47:15 *zacts* can't wait to start HTDP 04:47:39 Haskell's type system is very different -- type classes inject some code you don't write yourself, so you couldn't do the same thing in vanilla Scheme. (Of course you could always just reimplement the Haskell type system as a set of macros.) 04:48:22 :) 04:48:42 on the same token haskell's type classes are a different thing than HM. 04:48:48 as in hindley-milner 04:49:11 but still very cool and useful. 04:49:30 carleastlund: on the statement you wanted me to clarify, it was a poorly-worded refrence to where you wrote "I think it illustrates quite well how you're going to be using types whether you used a typed language or not." 04:50:16 I know HM type inference quite well. :) But the soundness proofs for HM type systems are based on an untyped execution semantics, so clearly, ML is not so far from an untyped language -- you _can_ very specifically think of your program in an untyped sense, and then just "layer the types on". 04:51:08 brianmwaters: then I want to clarify that I don't think they should be "vague" in any context, whether it's the compiler doing it or the programmer. 04:51:18 yeah. i just have this loose feeling from the bit of ML coding i've done, that there is more to writing *good, idiomatic* ML code than just writing lisp and layering on the types. 04:51:38 although you *can* do that, it doesn't always feel right. but i haven't done to much ML hacking 04:52:03 brianmwaters: Personally, I consider the process of writing good, idiomatic Scheme/Lisp code to be imagining an ML program, and then writing down everything but the types. 04:52:13 hahahahahahahahahahhaha 04:52:31 they you might as well use ML and get that type-soundness proof for free :) 04:52:58 But Scheme lets me (a) make up new type features without waiting for the compiler implementer to write them, and (b) use macros. 04:53:38 When I started writing in Racket (then PLT Scheme), most MLs didn't have recursive modules or first-class polymorphism. Scheme's never had a problem with programs that use those. 04:54:04 the academic ML/Haskell community really hates on macros. i once read an abstract that began with "in languages weak enough to require macros..." 04:54:16 -!- wbooze [~wbooze@xdsl-78-35-156-159.netcologne.de] has quit [Ping timeout: 240 seconds] 04:54:30 Most of them have no idea what macros are, what they're for, and what they can do. 04:54:41 yeah 04:54:57 how can you even have ML without first-class polymorphism? 04:55:43 Basic HM type inference doesn't have first-class polymorphism. You have to instantiate a polymorphic value before you pass it somewhere. 04:55:47 actually even the non-academic ML/Haskell hackers hate on scheme and lisp to some extent 04:56:15 okay you're beyond me with the ML there. like i said, it's the "next" thing for me. sounds interesting though 04:57:00 -!- youlysses [~user@75-132-28-10.dhcp.stls.mo.charter.com] has quit [Ping timeout: 260 seconds] 04:57:15 -!- arubin [~arubin@99-114-192-172.lightspeed.cicril.sbcglobal.net] has quit [Quit: Textual IRC Client: www.textualapp.com] 04:57:17 The two sides think poorly of each other, often due to making no attempt to understand the reasoning of the other side. I think equally poorly of ML/Haskell people who never learn how dynamically-typed programs are written, or what macros are for, as I do of Scheme/Lisp people who have no idea what type systems are for. It's important to know both sides, and most people just learn one and decide the other is 04:57:18 stupid. 04:59:30 hence why i am gunning to learn both sides in-depth. 04:59:34 i have to agree with you. 04:59:40 I encourage it! 05:00:04 -!- kobain [~kobian@unaffiliated/kobain] has quit [Quit: El motor por excelencia http://www.europio.org/] 05:05:23 -!- Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/] 05:08:26 kvda [~kvda@unaffiliated/kvda] has joined #scheme 05:08:58 -!- alexei [~amgarchin@p4FD560E1.dip0.t-ipconnect.de] has quit [Ping timeout: 276 seconds] 05:09:46 -!- Qoj [~Joq@69-84-118-201-dhcp.mia.fl.atlanticbb.net] has quit [Ping timeout: 256 seconds] 05:10:30 Qoj [~Joq@69-84-118-201-dhcp.mia.fl.atlanticbb.net] has joined #scheme 05:11:17 me too 05:11:29 that's why I'm starting with scheme, then I'm going to learn haskell 05:19:58 -!- ffio [~fire@unaffiliated/security] has quit [Quit: WeeChat 0.4.1] 05:20:33 ffio [~fire@unaffiliated/security] has joined #scheme 05:29:09 -!- Riastradh [~riastradh@fsf/member/riastradh] has quit [Ping timeout: 240 seconds] 05:29:52 Riastradh [~riastradh@fsf/member/riastradh] has joined #scheme 05:31:52 carleastlund: sorry for the delay. 05:31:59 to pick up, i was saying, 05:32:14 in fact, before i got into this in-depth, i identified more with the types side, having come from a c/java background and seen the power of alg. datatypes as an intro to FP. 05:32:26 to the point where i didn't understand dynamic typechecking at all 05:40:19 i was going to do a project in ML, but then i decided to do a Scheme "prototype" instead... you know how that goes. and that's when i found out that Scheme was the bomb. 05:40:32 and also started to appreciate dynamic typing 05:40:57 zacts: maybe we'll both hit scheme/haskell at the same time. in fact, we're both at the beginning of SICP. 05:41:08 zacts: sorry, i meant ML/Haskell 05:42:12 that might be cool. Although, I may start with HDTP before SICP. 05:42:22 righton. 05:42:52 i'm on the Little Schemer still 05:43:02 before moving to HDTP > SICP 05:43:05 kvda: which ch? 05:43:23 A little over half way in the book. 05:44:38 Someone compared the book to how musicians practice scales, so it's a bit repetitive but it does seem 'fundamental' 05:45:05 getting used to thinking recursively etc, has already been a big change in thinking for me. 05:45:41 it gets less repetetive and more mind-twisty toward the end. 05:46:01 they're running you through some practice before showing you the fun stuff :) 05:46:29 Little Schemer isn't written for just reading -- it's very much a book written for "playing along". The repetition can be off-putting when just reading it, but it's pretty essential for practice to really see what's going on in-depth. At least that's the theory -- I personally found out about the Little Schemer years after getting into FP, so I've never gone through it the way a newcomer would. 05:48:10 brianmwaters, yes that's what it feels like - it's building up to something 05:48:32 carleastlund, i'm very much following along, by writing code, slowly 05:49:16 roadie [~user@14.96.123.229] has joined #scheme 05:49:21 yeah i have gotten a lot out of asking my own questions and playing in the REPL during the heavy parts 05:49:23 i am enjoying it, but i'm a little eager to get to HTDP as i feel it's a little more practical 05:49:43 not necessarily the "cover the right hand column, think of the answer, then uncover it" approach 05:49:55 hello 05:50:02 Hello, roadie. 05:50:23 well TLS is not gonna be your practical "Hello, World", here's how you open a file type book 05:50:28 I am on os x 10.6.8 any advice on which scheme to install for learning? 05:50:32 that's what i'm doing brianmwaters , covering the answers. that's why it can be slow to get through it 05:50:42 roadie: ALL OF THEM!!!! 05:50:48 haha 05:50:56 roadie: I recommend Racket, it's very easy to install and comes with a lot of tools for new programmers. 05:51:13 although the Racket people will tell you it's not really scheme :)))) 05:51:26 but i agree with racket. 05:51:27 carleastlund: thanks, will it work nice on this OS? 05:51:43 if you're a command-line type, i find Petite Chez scheme to "just work" 05:51:45 is guile the one that has a interpreter and a compiler? 05:52:00 roadie: Yep. Most of the Racket developers -- I'm one of them -- use Mac OS in fact, so it's very thoroughly tested there. :) 05:52:10 i used a different one, on my openbsd laptop, but forget which one it is 05:52:16 racket is good if you're on osx 05:52:29 kvda: yes i think so. guile looks great but my distro is stuck at 1.8 which is the R5RS version so i don't use it. 05:52:49 *brianmwaters* ducks again 05:52:56 kvda: um, no, guile is embeddable interpreter. chicken has a translator to C / compiler 05:53:03 youlysses [~user@75-132-28-10.dhcp.stls.mo.charter.com] has joined #scheme 05:53:22 defanor: sure you're not thinking of gauche or gambit (ha) 05:53:24 so many schemes 05:53:32 it might've been gambit 05:54:04 i liked it because i think it compiled straight to native code, none of this compiling to C business 05:54:38 i thought that reading Chicken's output would be an interesting exercise, but i could not make sense of it. 05:55:15 gambit translates scheme to C too, i think 05:55:47 there's a Gambit-C which does that 05:55:51 not sure about gauche, never tried 05:56:00 defanor: quickly wikipedia-ing guile, it looks like you're right about embedding. 05:56:07 gsc, the default gambit compiler, doesn't seem to do that 05:56:12 Gambit hasn't generated native code without going through C in a couple decades... 05:56:26 -!- zacts [~zacts@unaffiliated/zacts] has quit [Quit: leaving] 05:56:27 there we go ^ 05:56:27 so that pretty much leaves Chez and Racket as the biggest "general-purpose" R6RS interpreter/compilers, and they both run on Mac. 05:56:54 Or, to rephrase with fewer negatives: 05:57:09 Gambit has generated native code only by going through C for a couple decades. 05:57:32 then it must be pretty old :) 05:57:38 pardon my ignorance 05:57:46 i bet it still has code in ALL CAPS 05:57:49 haha 05:58:36 according to wikipedia, Gambit-C is 19 years old. 05:58:47 gambit is 25. 05:58:49 -!- youlysses [~user@75-132-28-10.dhcp.stls.mo.charter.com] has quit [Remote host closed the connection] 05:59:22 so all notable schemes translate to c before compiling? 05:59:27 No. 05:59:50 Also, `before compiling' is a little misleading. The process of taking in Scheme and spitting out C is also compiling. 06:00:08 right 06:00:25 Some go via C; some don't. Some can take either route, such as MIT Scheme and Larceny. 06:00:32 kvda: no, definitely not. there are many approaches. 06:00:33 zacts [~user@unaffiliated/zacts] has joined #scheme 06:00:50 which ones don't go through C? 06:00:54 Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has joined #scheme 06:01:00 I just gave you two examples. 06:01:01 guile 06:01:13 for another example 06:02:09 Riastradh, yes, but they do both 06:02:11 thanks defanor 06:02:39 yw. but guile does not compile at all 06:02:48 Chez does not. 06:02:52 and Racket is its own JIT. 06:04:17 kvda, what's the substance of your question? What are you trying to learn by finding an example of a pile of software that particularly excludes certain functionality, in contrast to software that may have the functionality even if it is not necessary to use that functionality to the end of running Scheme fast? 06:05:24 actually, almost all of them don't compile to C :) 06:07:44 Riastradh, curiosity 06:08:30 Is that ok with you? 06:10:50 i think this is a healthy high-level bickering about implementations :) 06:12:26 How about `MIT Scheme before 1991'? 06:12:33 `Larceny before ~1998'? 06:12:53 *brianmwaters* was a baby before 1991 06:12:58 (or, `MIT Scheme between ~1995 and ~2006') 06:13:37 Sorry, `MIT Scheme before 1993'. 06:13:57 *brianmwaters* was a toddler before 1993 06:14:04 Year of bitrot may be off too, and Larceny's is just a guess. 06:15:46 i have not heard of larceny before, but they purport to support IEEE, R5RS, ERR5RS and R6RS 06:16:25 that's a lot of differences to sort out 06:18:31 roadie` [~user@14.96.3.115] has joined #scheme 06:19:21 It's not terribly hard if you approach it right like Racket does. 06:20:05 -!- roadie` [~user@14.96.3.115] has quit [Remote host closed the connection] 06:20:28 -!- roadie [~user@14.96.123.229] has quit [Ping timeout: 276 seconds] 06:21:12 racket has a really interesting approach. 06:21:43 i wonder how they separate out all the common functionality between r5, r6, and racket, while keeping what's separate separate. 06:21:57 still sounds like a bit of bookkeeping :) 06:22:36 It's not a matter of bookkeeping. We implement Racket, then we implement the R5RS and R6RS languages on top of that. So there's just a layer of macros that translate R5 and R6 to normal Racket. 06:23:08 Well, mostly macros, I'm sure some value definitions too. 06:23:40 oh, i thought it was actually a smaller core and then everything on top of that, including racket. 06:23:48 as you can tell i haven't looked at it 06:24:03 Well yes, if you go all the way down. There's a ridiculous number of them. 06:25:47 But my point is that we don't separate out "common" and "common + Racket" and "common + R5" and "common + R6". We just implement Racket, and then on top of that R5 and R6. We don't separate the non-R5/R6 parts of Racket from the other parts. 06:26:18 you work on racket? 06:26:24 I do. 06:28:18 ah! you work for matthias felleisen 06:28:25 Indeed. 06:28:27 i am armed with google 06:28:33 A potent weapon. 06:28:37 that's a hell of a name to have as your advisor 06:28:51 Name nothing, you should meet the person! ;-) 06:29:53 yeah, i'm sure he's a good guy 06:30:05 he wrote a whole book about mustard and jelly stains 06:30:21 Him and Dan Friedman, yes. :) 06:30:47 -!- Aethaeryn [~Michael@wesnoth/umc-dev/developer/aethaeryn] has quit [Ping timeout: 264 seconds] 06:32:43 so you know a bit about theorem provers, then 06:32:57 My dissertation was on that topic, so yes. 06:34:47 that lies more on the "types" side of the cultural split we discussed earlier, no? 06:35:17 -!- Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/] 06:35:34 Hardly. Theorem provers like Coq and Isabel are typed. The one I worked with is ACL2; it is based on Common Lisp, and untyped. So it cuts both ways. 06:36:54 and here i thought there was some fundamental connection between types and proofs 06:36:56 lol 06:37:12 hkBst [~marijn@gentoo/developer/hkbst] has joined #scheme 06:37:15 There is, but it doesn't have to be directly represented in a theorem prover. 06:37:16 still workin' on that 06:37:22 cool 06:37:36 brianmwaters, what made you appreciate dynamic typing? sorry i joined the conversation late 06:37:46 Aethaeryn [~Michael@wesnoth/umc-dev/developer/aethaeryn] has joined #scheme 06:38:04 kvda: i was just hacking along on my scheme project and finally did something that was impossible with static types 06:38:15 ah 06:38:21 (without doing some janky dadatype jankyness) 06:38:28 Actually a hard part of my dissertation involved figuring out what the relationship between ACL2 theorems, and types, even _is_. I'm still not sure I understand it, but I figured it out well enough to get the degree, so that's that done with! ;-) 06:38:40 haha 06:38:46 i think it was just simply returning a value instead of true, actually, which is a Scheme thing 06:39:05 carleastlund: nice 06:39:32 brianmwaters: in static types, that's usually done with an "option type" or a "maybe type", so it's possible it could have been done anyway. But if it put you onto Scheme, hey, whatever works. :) 06:39:54 i find it dynamic typing to be more human friendly. static typing hits is more 'correct' but it can be annoying to work with 06:40:57 carleastlund: yeah i think what i was doing was slightly more general than could be done with options, but like i said, still doable with some elaborate datatype 06:41:15 Static typing often comes off as draconian if encountered early in programming. I find people often appreciate it more if they spend a long time without it, get used to having to solve type issues by hand, and then suddenly discover, oh wait, there are tools that _help_ with this? Great! So there's a lot of perspective that goes into these things. 06:41:17 the attraction to dynamic typing is that you can "just do it" 06:41:19 like Nike 06:41:45 that's interesting, because i learned the static paradigm first. 06:42:07 my first forays into PHP and Perl (before I discovered FP) were frought with confusion 06:42:15 it just didn't make any sense to me 06:44:17 it was hard to read other people's code without having the types spelled out in the declarations 06:44:21 carleastlund, that's a spot on description 06:44:53 thanks, kvda 06:45:02 and then Perl did all sorts of weird implicit conversions and stuff like that 06:45:16 like "2" + 2 = 4 <--- WTF? 06:45:32 i don't know if it does exactly that one, but things not unlike that. 06:46:01 Yep, it does exactly that one. 06:46:05 which i despised and hated greatly. 06:46:06 in javascript that's "22" 06:46:14 yeah. exactly. 06:46:37 good luck remembering the semantics of perl, js, python and all industry's other favorites 06:47:24 You could easily design a statically typed language that did that, though. That's just an issue of how the operator + works and whether you can have a union of string and number types. 06:47:33 yes that's true. 06:47:42 in pythong, what do you think, 2 == True evals to? 06:48:03 False 06:48:08 but in one like C, you'd never have that, because you'd pass a paramater "a", which is an int, and add it to another int, so you'd do int addition 06:48:30 unless you do some (void *) C hackey bullshit 06:48:45 actually that's what makes C great :) 06:49:16 Well, but C does do implicit conversion of numeric types. So it's not entirely devoid of that sort of thing. 06:49:44 yeah you're right, as far as short and int and long, and sorting out that whole mess. 06:50:00 carleastlund, is there a good reason why it equals False? can why you can go True = 2, 2 == True >> True 06:50:10 but the point is, at the time, i associated all that shit with dynamic typing. 06:50:27 luckily sheme has dynamic typing without all that other noise 06:50:29 aranhoide [~smuxi@225.Red-79-151-101.dynamicIP.rima-tde.net] has joined #scheme 06:50:39 jrapdx [~jra@c-98-246-145-216.hsd1.or.comcast.net] has joined #scheme 06:50:40 kvda: well presumably because 2 is not equal to True. Why would 2 == True return True? 06:50:48 and the convention is to name paramaters after the expected, so that helps with my other complaint 06:51:03 (after the expected type), i menat to say 06:51:53 carleastlund, but 1 == True >> True 06:51:59 carleastlund: in javascript, the answer to those questions is "because javascript said so" 06:52:01 0 == False >> True 06:52:23 the expectation is for all positive ints to be True 06:52:27 kvda: Okay, then, True is just a name for 1 and False is just a name for 0, then. 06:52:44 All positive ints are true, but they're not all the value named True. 06:53:11 like how in scheme everything is true, except false, but not all things are the value true. 06:53:15 X == True doesn't mean "is X true?", it means "is X precisely the same as the value named True?" 06:53:38 yes. 06:53:56 listen to that guy, he has a PhD 06:54:02 oh completely 06:54:15 ears wide open 06:54:22 Haha, yes, I have a piece of paper that says I'm allowed to say whatever I want and you have to pretend it's really smart, even if I only made it up just a minute ago. 06:54:36 haha 06:55:14 If you want to know the value of a diploma, just watch the end of the Wizard of Oz where the scarecrow gets his, and listen to what the Wizard says. :) 06:55:29 youtube link? :p 06:55:50 ok so it seems that I don't get something here (not unusual). 06:56:40 Hmm, the link I found (https://www.youtube.com/watch?v=2pWSwfVDiq8) doesn't have the quote I was looking for. It may only be in the book. 06:57:11 -!- aranhoide [~smuxi@225.Red-79-151-101.dynamicIP.rima-tde.net] has quit [Ping timeout: 264 seconds] 06:58:52 haha that clip is pretty good none the less 06:59:37 And now I can't remember which friend of mine put the quote at the end of their dissertation. None of the copies I found online seem to have it. Oh well. :/ 07:01:02 kvda: so what is it you're not getting about 2 == True? Do you have a specific question to ask or are you just still sorting it all out? 07:02:09 What is the difference between True and true, and why are they not the same? that might be a badly formed question, but there in lies my uncertainty 07:02:24 kvda: try to separate the platonic idea of true from the python value True. 07:02:42 "true", the platonic idea, is as you normally think of it 07:02:43 yep got that part, why should we seperate them though? 07:02:48 "the sky is blue" 07:02:50 2+2 = 4 07:03:07 "True", the python value, on the other hand is just that: a value in python. 07:03:09 kvda: when you run the python expression "True", what value does it return? 07:03:12 and herein lies the difference 07:03:25 carleastlund, True 07:03:50 in python, many expressions, among them the if statement, are predicated upon wheter or not an argument to them is true or not 07:04:02 (notice I did not say "True or not") 07:04:06 many values are "true" 07:04:15 brianmwaters, how is True == 1 then? 07:04:22 among them, 1, 2, 3, 4, 5, and True 07:04:42 please feel free to refer me to a text, if explaining this is too basic 07:04:50 True is the only thing that is true 07:05:06 kvda: actually i have been explaining the Scheme version to you. 07:05:26 i don't know anything about types in Python, so it seems there is more to the story than I have provided :) 07:05:31 but that's the basic idea 07:05:42 kvda: the more I look at it, the more I think I actually got some details wrong, so I'm going to revise my answer. 07:05:49 but notice False == 0 is True 07:07:12 i get the scheme one i think, that's consistent 07:07:21 kvda: Python is a rather idiosyncratic language. I think what's going on here is that there's a value called True, separate from numbers, but == is programmed to return True when given 1 and True, even though they're not the same, and conditional statements are programmed to take the "true" branch for the value True and positive integers, and are programmed to take the "false" branch for the value True and zero. 07:07:21 I don't know what they do for other kinds of values. But there might not be some great overarching design, just a lot of slapdash rules, because Python is quirky. 07:07:25 if we're talking about python, it's probably because True and False are numbers (You can add them to other numbers) and it's weird 07:07:41 python -c 'print 3 * True' 07:07:44 3 07:08:23 it might be because it allows you to do weird things like index lists or slice with conditions 07:08:27 Yeah, it basically looks like True and False are programmed to convert to 1 and 0, respectively, when needed. Probably owing to languages like C where 1 and 0 are the canonical values to use for truth and falsehood, because there are no separate boolean values or types. 07:08:56 so then, rather than what carleastlund said, it may be that False is 0 and True is 1, and boolean relations are programmed to print their results to the REPL as True and False instead of 1 and 0... 07:09:26 (rather than what he said before, that is. his comment right before mine is in line with mine.) 07:09:29 True and False I am pretty sure, are singleton objects just like None 07:09:39 they have their own class 07:09:40 or type 07:10:03 aha, it looks like bool inherits int 07:10:59 carleastlund, i think in C any positive int is true, no? 07:11:01 something inside me feels like all these idiosyncracies between languages are of little value, and wouldn't it be great if there were just a de-facto standard, and languages could just differ on more interesting things? 07:11:26 kvda: Yes, but 1 is the most commonly used value for truth. 07:11:35 right 07:11:36 what i am discovering here, is that rather than having been a "static types guy" all along, i may have really been a "strong types guy" 07:11:51 Does the phrase "strong types" mean anything precise? 07:12:07 no. 07:12:26 but generally, it's where no is no and if you don't like it, then cast, goddammnit 07:12:49 I've always taken it to the degree of implicit type coercion / conversion but I don't know if that's right 07:12:51 finnrobi, bool inherits int? that's weird 07:13:17 kvda: I don't disagree 07:13:25 Some of the differences between languages are meaningful design decisions, and some are just lunacy. Most of what I've ever learned about Python suggest lunacy. 07:13:53 haha 07:14:27 it's pretty well respected as a language, which is funny if you're suggesting it was created by a lunatic 07:14:51 Define "well respected". I don't know anyone in academic language research that takes it seriously at all. 07:15:23 And industry uses crap language and ignores every shred of language research, constantly. I have zero respect for popularity or respect for a language in industry as any measure of quality. 07:15:33 languages* 07:15:48 i didn't mean in academic circles, and i knew you would say that :) 07:15:54 i meant in industry and by hackers 07:16:00 and it seems to be catching on in CS 101 07:16:09 Worst thing that ever happened to CS 101, then. 07:16:19 well... 07:16:32 your other options are Java, C++ and Pascal 07:16:36 pick your poison 07:16:49 Java and Pascal are MILES above C++ and Python. 07:17:02 For all that Java has its problems in teaching, it's not Python or C++. 07:17:22 i can't comment on Python, but it's definitely better than C-- 07:17:48 I get the joke but C-- is actually a different language that really exists. :) 07:17:49 Java above Python?? 07:18:19 well yes 07:18:30 Java, for instance, has the sense to use lexical scope. Python doesn't. That's just the _start_. 07:18:49 python doesn't have that? WTF 07:18:57 jewel [~jewel@105-236-99-241.access.mtnbusiness.co.za] has joined #scheme 07:19:05 Well it's not _completely_ dynamic like old-school Lisp. But it's not entirely lexical either. 07:19:14 Point is they mess stuff up. 07:19:20 so where does that put Ruby, Perl/Python baby... 07:19:41 przl [~przlrkt@p4FE640F3.dip0.t-ipconnect.de] has joined #scheme 07:19:44 Perl is a barfcan 07:19:44 let alone JavaScript and all this Node.js nonsense 07:19:46 I don't know much about Ruby. I have a nostalgic fondness for Perl, but I wouldn't teach with that either. 07:20:33 i read that Perl cannot even be parsed without information from *runtime*, let alone semantic/type analysis, thereby making a compiler impossible 07:20:52 but i could be blabbering nonsense 07:21:19 No, there's some messy bits with regular expressions and variable splicing and whatnot, I'd believe it. 07:21:32 yowza 07:21:46 carleastlund: so whats your take on C 07:21:50 It doesn't mean compilation is impossible, but it does mean the compiler might have to stuff in some of the program source and a copy of eval. 07:22:00 yeah 07:22:19 eval is a lot of runtime for "compiled" 07:22:24 C is a mess too, in many ways, but we don't have a really good answer for disciplined systems-level programming to replace it, so for now it needs to be taught. Just not at the introductory level. 07:22:52 brianmwaters: sure, but not every program will need that, and of those that do, they won't necessarily need it for every part of the program. 07:23:16 it's funny though, how C's un-disciplined-ness allows it to do a lot of the stuff it's good for 07:23:48 I don't have a problem with people learning these languages at some point, I just think it's a crying shame to teach people "this is what programming is" with a language that's a big ball of never-thought-through junk by people who have no idea what language design is about. 07:24:55 i'm well on-board with the "teach Scheme/Racket in 101" train. 07:25:11 civodul [~user@gateway/tor-sasl/civodul] has joined #scheme 07:25:13 for a lot of reasons, not just what you have mentioned. 07:25:40 because i'm not really sure the average 101 student seees a language to a depth to realize there are problems. 07:25:51 but scheme has other advantages 07:25:54 1) no syntax 07:26:00 Yeah, I also think it's good to start with dynamic types before moving to static. And the static typing crowd hate that, which is stupid, because it'd be the best thing that ever happened to them. Everyone would come out _loving_ static types. 07:26:12 2) no mutation. math doesn't mutate. that confuses kids. so get rid of it. 07:26:27 there you go. 3) dynamic types 07:26:44 4) relatively *strong* type system, which avoids confusion early-on 07:26:57 (ie, the conversation we just had about True and 1 does not exist) 07:27:15 It sounds like "strong typing" should really mean "pays attention to algebraic data types". 07:27:23 5) a lot of good Scheme literature about *computer science* not *software developent* 07:27:38 5) is one of the strongest points 07:27:59 but all of these combined make a pretty pretty solid argument for scheme 07:28:00 I'm not sure I understand point 5 there. 07:28:11 carleastlund: well i'm not really sure what alg. datatypes would look like in a dynamically-checked environment, but if you can enlighten me maybe i'd agree with that one :) 07:28:35 5 revised) a lot of good Scheme literature about computer science 07:28:51 yes the revised point 5 is better 07:29:08 that's going to be an offtopic now, but i have a question: what do you all think about call/cc? 07:29:13 brianmwaters: just about everything in Scheme is an algebraic data type. An s-expression, for instance, is the recursive union of symbols, strings, numbers, and lists of s-expressions. 07:29:37 carleastlund: :) :) :) awesome. i'll think on that more later. 07:29:45 any papers to recomment on that topic? 07:29:55 defanor: other than that it can be confusing as all get-out? 07:30:07 defanor: Continuations are an interesting feature and useful to understand, although I rarely find a direct use for them in programming. 07:30:35 brianmwaters: HtDP again 07:30:46 shit, you're really making the case for that one 07:30:49 okay yhank 07:30:51 *thanks 07:31:14 but i just got a big fat copy of SICP in the mail, and the wizard is waiting for me 07:31:14 aren't them like gotos in scheme? 07:31:22 defanor: hell no 07:31:23 isn't call/cc one of the main points about scheme 07:31:39 they're that and so much more... 07:31:42 brianmwaters: I had years of functional programming experience when I started in grad school, and I was still learning things from HtDP by the THIRD TIME I taught from it. Let that sink in. It is WAY deeper than it seems, that book. 07:31:45 just heard such comparison lately, thinking about it from that time 07:32:09 sure they are much more, but scheme is much more too :) 07:32:14 carleastlund: i guess it just gets some hard knocks from the old school SICP crowd 07:32:17 "Proper tail recursion was one of the central ideas in Steele and Sussman's original version of Scheme" 07:33:12 brianmwaters: hard knocks like "SICP > HtDP", which is fine, people can prefer what they like? Or actual detractions, problems people have with the book's content? 07:33:33 i'm not sure exactly what has come from other people's mouths 07:34:02 but i think there is an idea that it is a distillation of SICP 07:34:09 not saying i agree with it, i haven't read either 07:34:14 but i got that from somewhere... 07:34:31 so it must be out there 07:34:32 defanor: continuations are a compositional goto. It's hard to figure out what a goto means when interspersed in a language with conditional statements, loops, variable initializations, etc. What context are you in when you go from here to there? Continuations give a very precise meaning to each context transition. 07:35:14 defanor: they can also hurt your brain very badly. 07:35:20 ("compositional" = "you can put the pieces together and their meaning flows from their combination"; non-compositional things like goto can't be understood that way, you have to read the whole program to figure out what even one piece means) 07:36:45 -!- yacks [~py@180.151.36.168] has quit [Ping timeout: 264 seconds] 07:36:55 that's funny. in the same way that unstructured use of Goto can lead to spaghetti code (according to dijkstra), so can unstructured use of call/cc 07:37:21 but it enables a lot of nifty tricks, if you use it with care. 07:37:25 Well, they can both certainly be used to create confusing programs. 07:37:51 i mean, so can lambda 07:38:00 or for ( ; ;) 07:38:21 but the potential for confusion with call/cc is higher :) 07:38:33 -!- Aethaeryn [~Michael@wesnoth/umc-dev/developer/aethaeryn] has quit [Read error: Operation timed out] 07:38:49 wingo [~wingo@fanzine.igalia.com] has joined #scheme 07:38:52 But you can use continuations to create some useful tools, and someone using those tools never has to know what the continuations are doing. Whereas goto, if used purely internally it doesn't really enable anything you couldn't do with normal flow control, and if used externally -- to leap out of / into a caller's context, for instance -- is just messy, and requires the caller to be "cooperating" for everything 07:38:53 to make sense and work right. 07:39:22 hm 07:39:49 One of my exams in college had a question that gave a program using callcc in ML, that had a bug in it. The question was to find the bug. One of the most mind-bending things I had to do. (I found the bug, I was very happy.) 07:40:11 was it a type error? 07:40:23 that sounds like a hard question. what class? 07:40:34 No, I'm pretty sure it was a logic error. The program would run, it just did the wrong thing. 07:40:38 Programming Languages. 07:40:43 damn 07:40:51 Taught by Bob Harper, one of the creators of ML. 07:40:58 yea 07:41:02 cmu? 07:41:09 carleastlund, what is your goto language these days? 07:41:17 Yeah. One of the best classes I took, the reason I do what I do today. 07:41:18 GOOD PUN!!!!! 07:41:26 hahaha 07:41:32 my goto language is assembly 07:41:36 -___- (smug face) 07:41:41 my JMP language is assembly 07:41:46 my call/cc language is Scheme 07:42:04 my call-with-current-continuation language is Racket, of course 07:43:30 yacks [~py@180.151.36.168] has joined #scheme 07:43:47 i thought you might be more into the ML fam 07:43:56 speaking of scheme y'all see this rant? http://journal.stuffwithstuff.com/2013/07/18/javascript-isnt-scheme/ 07:45:04 I've done plenty of ML and I love it, but as a PL researcher I belong in a language where I can extend the compiler on the fly as I see fit. Only Racket has that, in all the world. 07:45:09 JavaScript/Node.js is a pit of crazy 07:45:35 carleastlund, that does seem like the right fit 07:45:52 people have certainly bent SML/NJ in all sorts of ways 07:46:02 And yet most PL researchers do not know that this brilliant thing is even possible, and languish waiting for compiler writers to implement their new favorite feature. 07:46:29 Node.js - It's JavaScript on the server! (please use CoffeeScript, a python look like syntax) 07:47:09 haha, I like the part in the rant where they say Guy Steele is pre-emptively rolling in his not-yet-occupied grave :) 07:47:47 yes. 07:47:51 me too 07:48:23 Aethaeryn [~Michael@wesnoth/umc-dev/developer/aethaeryn] has joined #scheme 07:48:27 okay, it has been good talking to you guys 07:48:42 likewise 07:48:45 and zacts, who seems to be gone 07:49:03 but i have been procrastinating reading the last chapter of the seasone schemer for hours now 07:49:20 so now i'm going to play a game: see how far i can make it before passing out 07:49:26 good nigt!! 07:49:35 brianmwaters, got one more second? 07:49:43 sure, whatsup? 07:49:44 I'll tell you a story about the author, Dan Friedman. 07:49:51 okay! 07:50:36 He's in his 60s now, and not at his best every day. He's brilliant and has the energy of a 5-year-old in general, but some days he's not feeling it. And he once told me how he can tell if it's an off day. 07:50:57 He goes through the first chapter of the Little Schemer. The first chapter. Of an introductory book. That he wrote the first edition of in 1974. 07:51:39 hahaha 07:51:44 and what 07:51:53 (maybe it was a later chapter, but still) And if there are some exercises he can't keep in his head long enough to get perfectly right without peeking, it's a bad day and he gives up and goes home. 07:51:55 -!- mrowe is now known as mrowe_away 07:52:24 haha 07:52:38 so i'm smarter than dan friedman on a bad day!!?! NICE 07:52:42 So anyway. You're not alone in using the Schemer books as a litmus test for focus. :) 07:53:15 yes. and they make many attempts to distract 07:53:28 with donuts, cake, mustart, pretzels, jelly and hamburgers 07:53:37 i'm getting hungry 07:53:40 cya, good chat 07:53:55 'night 07:54:03 -!- brianmwaters [41b78511@gateway/web/freenode/ip.65.183.133.17] has quit [Quit: Page closed] 07:54:39 peterhil [~peterhil@158.127.31.162] has joined #scheme 08:04:28 -!- jonrafkind [~jon@racket/jonrafkind] has quit [Ping timeout: 276 seconds] 08:05:46 -!- ffio [~fire@unaffiliated/security] has quit [Ping timeout: 240 seconds] 08:06:31 ffio_ [~fire@unaffiliated/security] has joined #scheme 08:09:03 alexei [~amgarchin@p4FD560E1.dip0.t-ipconnect.de] has joined #scheme 08:10:21 -!- racycle [~racycle@75-25-129-128.lightspeed.sjcpca.sbcglobal.net] has quit [Remote host closed the connection] 08:12:11 -!- przl [~przlrkt@p4FE640F3.dip0.t-ipconnect.de] has quit [Ping timeout: 264 seconds] 08:13:29 carleastlund: Re. C alternatives, did you see Rust ? http://rust-lang.org 08:13:44 taylanub: I am _immensely_ enthusiastic about Rust, yes. 08:14:54 wait, isn't there something really awful about Rust or is that Dart? 08:15:10 The syntax. ;) 08:15:23 I don't know, I haven't heard anything bad about Rust. And I don't know anything about Dart. 08:15:59 I know Rust doesn't have tail calls, which is unfortunate, but it sounds like they've made that decision as a very carefully thought-out design trade-off, so I'm not distraught about it. 08:16:00 kvda: You were probably thinking about Dart. Re. Rust syntax, I just find anything that isn't s-expressions a shame, I could say. :P 08:16:30 s-expressions are nice for many purposes, but if a language doesn't have macros, they aren't as necessary. 08:16:49 Rust does have macros... 08:17:02 Well, then double-you tee eff. ;-) 08:17:47 Well, if they have syntax simple enough to do that, then it's close enough. 08:18:34 http://static.rust-lang.org/doc/rust.html#syntax-extensions 08:18:43 Yeah, I found that. 08:19:09 przl [~przlrkt@p4FE640F3.dip0.t-ipconnect.de] has joined #scheme 08:38:24 -!- pnkfelix [~user@bas75-2-88-170-201-21.fbx.proxad.net] has quit [Remote host closed the connection] 08:39:02 rmathews [~roshan@122.164.153.77] has joined #scheme 08:41:41 roadie [~user@14.96.3.115] has joined #scheme 08:41:49 hello 08:42:15 I found racket and now I would also like to install mit/gnuscheme 08:42:23 mit-scheme-9.1.1.tar.gz (5.9MB) mit-scheme-c-9.1.1.tar.gz (16.5MB) 08:42:24 what is the difference? or rather, which one do I want to try and 08:42:24 compile on OS X? 08:42:44 sorry for the layout 08:43:52 http://www.gnu.org/software/mit-scheme/liarc-build.html Apparently the "c" one is more portable or so. 08:44:42 taylanub: thanks - will try it then 08:44:47 "Note that you cannot build a working system from the source unless you have a working MIT/GNU Scheme compiler to do the compilation. (This doesn't apply to the portable C source, which requires only a C compiler.) This means that if the above binaries don't work on your system, it is pointless to try building a custom set of binaries from the source code." 08:45:29 roadie: Now I remember; MIT/GNU Scheme requires an already working version to "build itself," so you have a problem if there are no pre-compiled binaries for your architecture. 08:45:56 roadie: On OS X, I'm betting MacPorts or so would have MIT/GNU Scheme actually. 08:46:06 taylanub: I have a .dmg which gives a selfcontained MIT/GNU scheme 08:46:25 but that opens an Edwin Xterm with scheme --listening 08:46:43 No Idea how to use that. and no emacs connection? 08:47:00 I am using Homebrew only 08:47:06 No luck there 08:47:13 -!- carleastlund [~carleastl@209-6-40-238.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Quit: carleastlund] 08:47:29 Hrm OK, I don't know then. 08:48:55 oh, edwin is an Emacs-like editor written in Scheme 08:51:04 Thus the following sequence of commands can be used to build and 08:51:04 install MIT/GNU Scheme, assuming you have already installed a 08:51:04 compatible binary release. 08:51:08 sorry 08:51:54 taylanub: so, have I done that by plonking MIT/GNUscheme.app in the Applications folder? 08:52:00 probably not 08:52:43 Since Emacs mostly works with portable/traditional Unix interfaces, it will e.g. search the PATH environment variable when searching for an executable. 08:53:41 .app directories in the Application directory (yes, .app are actually just directories) have each their own directory hierarchy with some executables somewhere; the directories which those executables are in are usually not added to PATH (which would be a lot of directories). 08:54:48 You could put the MIT/GNU Scheme executable's directory into your PATH as a special-case, or make a hardlink, symlink, or wrapper script that is in your PATH and runs the executable. 08:55:15 ah, yes 08:58:01 Image saved on Tuesday November 8, 2011 at 10:45:46 PM 08:58:02 Release 9.1.1 || Microcode 15.3 || Runtime 15.7 || SF 4.41 08:58:02 LIAR/x86-64 4.118 || Edwin 3.116 08:58:02 08:58:05 1 ]=> 08:58:08 08:58:11 sorry for spamming 08:58:35 that is the prompt run in terminal 08:59:11 and ln -s might work? should it be in /usr/bin/ or /usr/local/bin/ ? 09:10:09 agumonkey [~agu@245.217.72.86.rev.sfr.net] has joined #scheme 09:14:46 -!- roadie [~user@14.96.3.115] has quit [Ping timeout: 240 seconds] 09:15:01 -!- przl [~przlrkt@p4FE640F3.dip0.t-ipconnect.de] has quit [Ping timeout: 268 seconds] 09:25:17 -!- Guest71688 is now known as micro` 09:34:26 przl [~przlrkt@p4FE640F3.dip0.t-ipconnect.de] has joined #scheme 10:02:06 pnkfelix [~user@64.213.97.194] has joined #scheme 10:02:09 gravicappa [~gravicapp@ppp91-77-165-34.pppoe.mtu-net.ru] has joined #scheme 10:05:00 -!- sttau [~sttau@unaffiliated/sttau] has quit [Ping timeout: 260 seconds] 10:05:37 sttau [~sttau@unaffiliated/sttau] has joined #scheme 10:07:23 -!- przl [~przlrkt@p4FE640F3.dip0.t-ipconnect.de] has quit [Ping timeout: 264 seconds] 10:11:17 -!- peterhil [~peterhil@158.127.31.162] has quit [Ping timeout: 248 seconds] 10:12:19 hey schemers, quick reminder about this year's quasiconf: http://quasiconf.twoticketsplease.de/ - speaker slots are still available, so submit away :-) 10:19:06 -!- tenq is now known as tenq|away 10:22:13 przl [~przlrkt@p4FE640F3.dip0.t-ipconnect.de] has joined #scheme 10:24:31 Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has joined #scheme 10:31:39 -!- przl [~przlrkt@p4FE640F3.dip0.t-ipconnect.de] has quit [Ping timeout: 246 seconds] 10:34:06 -!- Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has quit [Ping timeout: 246 seconds] 10:35:48 -!- dessos [~dessos@c-174-60-176-249.hsd1.pa.comcast.net] has quit [Ping timeout: 260 seconds] 10:37:13 -!- ehaliewicz [~user@50-0-51-11.dsl.static.sonic.net] has quit [Ping timeout: 276 seconds] 10:45:26 -!- yacks [~py@180.151.36.168] has quit [Ping timeout: 240 seconds] 10:45:48 -!- Qoj [~Joq@69-84-118-201-dhcp.mia.fl.atlanticbb.net] has quit [Ping timeout: 256 seconds] 10:47:52 -!- fgudin [fgudin@odin.sdf-eu.org] has quit [Quit: Reconnecting] 10:48:02 fgudin [fgudin@odin.sdf-eu.org] has joined #scheme 10:50:00 brianloveswords, http://www.lisperati.com/landoflisp/panel60.html 10:54:23 yacks [~py@180.151.36.168] has joined #scheme 11:09:11 -!- rmathews [~roshan@122.164.153.77] has quit [Quit: Bye..] 11:12:44 peterhil [~peterhil@158.127.31.162] has joined #scheme 11:22:21 przl [~przlrkt@p4FE640F3.dip0.t-ipconnect.de] has joined #scheme 11:23:57 Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has joined #scheme 11:26:34 -!- Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has quit [Client Quit] 11:26:59 Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has joined #scheme 11:45:21 -!- kvda [~kvda@unaffiliated/kvda] has quit [Quit: z____z] 11:52:52 -!- przl [~przlrkt@p4FE640F3.dip0.t-ipconnect.de] has quit [Ping timeout: 246 seconds] 11:55:53 -!- yacks [~py@180.151.36.168] has quit [Read error: Operation timed out] 12:00:05 przl [~przlrkt@p4FE640F3.dip0.t-ipconnect.de] has joined #scheme 12:01:05 -!- Triclops256|away is now known as Triclops256 12:09:23 noam__ [~noam@213.57.201.130] has joined #scheme 12:13:14 -!- noam_ [~noam@213.57.201.130] has quit [Ping timeout: 268 seconds] 12:14:06 -!- noam__ [~noam@213.57.201.130] has quit [Read error: Connection reset by peer] 12:16:02 -!- Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/] 12:19:51 jerryzhou [~jerryzhou@58.245.253.218] has joined #scheme 12:27:11 -!- adiii [~adityavit@c-50-156-85-49.hsd1.ca.comcast.net] has quit [Ping timeout: 264 seconds] 12:33:11 -!- agumonkey [~agu@245.217.72.86.rev.sfr.net] has quit [Ping timeout: 264 seconds] 12:34:28 adiii [~adityavit@c-50-156-85-49.hsd1.ca.comcast.net] has joined #scheme 12:35:19 yacks [~py@180.151.36.168] has joined #scheme 12:40:31 robot-be` [~user@c-24-118-142-0.hsd1.mn.comcast.net] has joined #scheme 12:42:13 -!- robot-beethoven [~user@c-24-118-142-0.hsd1.mn.comcast.net] has quit [Ping timeout: 246 seconds] 12:49:35 -!- jerryzhou [~jerryzhou@58.245.253.218] has quit [Quit: Leaving] 12:50:23 homie [~homie@xdsl-78-35-132-153.netcologne.de] has joined #scheme 12:54:27 edw [~edw@207.239.61.34] has joined #scheme 12:55:18 agumonkey [~agu@245.217.72.86.rev.sfr.net] has joined #scheme 12:57:27 Kruppe [~user@j2petkovich.uwaterloo.ca] has joined #scheme 13:02:59 -!- pnkfelix [~user@64.213.97.194] has quit [Quit: rcirc on GNU Emacs 24.2.1] 13:03:41 pnkfelix [~fklock@people1.scl3.mozilla.com] has joined #scheme 13:04:42 -!- pnkfelix [~fklock@people1.scl3.mozilla.com] has quit [Client Quit] 13:05:03 pnkfelix [~fklock@people1.scl3.mozilla.com] has joined #scheme 13:05:25 -!- pnkfelix [~fklock@people1.scl3.mozilla.com] has quit [Client Quit] 13:06:41 -!- langmartin [~user@host-68-169-154-130.WISOLT2.epbfi.com] has quit [Ping timeout: 248 seconds] 13:09:36 wbooze [~wbooze@xdsl-78-35-132-153.netcologne.de] has joined #scheme 13:11:18 pnkfelix [~fklock@people1.scl3.mozilla.com] has joined #scheme 13:12:24 -!- pnkfelix [~fklock@people1.scl3.mozilla.com] has quit [Client Quit] 13:12:38 -!- Kruppe [~user@j2petkovich.uwaterloo.ca] has quit [Read error: Operation timed out] 13:13:40 Nisstyre-laptop [~yours@oftn/member/Nisstyre] has joined #scheme 13:14:32 -!- Nisstyre-laptop [~yours@oftn/member/Nisstyre] has quit [Client Quit] 13:15:34 -!- hkBst [~marijn@gentoo/developer/hkbst] has quit [Remote host closed the connection] 13:15:58 hkBst [~marijn@80.120.175.18] has joined #scheme 13:15:58 -!- hkBst [~marijn@80.120.175.18] has quit [Changing host] 13:15:58 hkBst [~marijn@gentoo/developer/hkbst] has joined #scheme 13:16:24 davexunit [~user@38.104.7.18] has joined #scheme 13:19:41 add^_ [~user@m176-70-3-33.cust.tele2.se] has joined #scheme 13:21:54 -!- pygospa [~Pygosceli@kiel-4d0666aa.pool.mediaWays.net] has quit [Disconnected by services] 13:22:02 TheRealPygo [~Pygosceli@kiel-4d067ac2.pool.mediaWays.net] has joined #scheme 13:30:24 -!- peterhil [~peterhil@158.127.31.162] has quit [Quit: Must not waste too much time here...] 13:31:04 jao [~jao@208.Red-193-153-230.dynamicIP.rima-tde.net] has joined #scheme 13:31:08 -!- jao [~jao@208.Red-193-153-230.dynamicIP.rima-tde.net] has quit [Changing host] 13:31:08 jao [~jao@pdpc/supporter/professional/jao] has joined #scheme 13:36:02 langmartin [~user@host-68-169-175-226.WISOLT2.epbfi.com] has joined #scheme 13:54:42 kobain [~kobian@unaffiliated/kobain] has joined #scheme 13:55:15 rins [~aaron@38.88.168.154] has joined #scheme 13:55:16 -!- gravicappa [~gravicapp@ppp91-77-165-34.pppoe.mtu-net.ru] has quit [Ping timeout: 240 seconds] 13:57:17 jarod_ch_ [~jarod_che@115.193.165.101] has joined #scheme 14:01:41 -!- cruxeter1us is now known as cruxeternus 14:08:41 -!- tenq|away is now known as tenq 14:11:26 -!- przl [~przlrkt@p4FE640F3.dip0.t-ipconnect.de] has quit [Ping timeout: 240 seconds] 14:12:05 racycle [~racycle@75-25-129-128.lightspeed.sjcpca.sbcglobal.net] has joined #scheme 14:12:07 przl [~przlrkt@p4FE640F3.dip0.t-ipconnect.de] has joined #scheme 14:13:50 -!- jao [~jao@pdpc/supporter/professional/jao] has quit [Ping timeout: 240 seconds] 14:29:37 -!- jarod_ch_ [~jarod_che@115.193.165.101] has quit [Quit: Textual IRC Client: http://www.textualapp.com/] 14:37:49 karswell [~user@34.94.125.91.dyn.plus.net] has joined #scheme 14:49:24 tupi [~user@139.82.89.157] has joined #scheme 14:54:10 tcsc [~tcsc@c-76-127-240-20.hsd1.ct.comcast.net] has joined #scheme 14:57:47 -!- przl [~przlrkt@p4FE640F3.dip0.t-ipconnect.de] has quit [Ping timeout: 264 seconds] 15:09:13 -!- hkBst [~marijn@gentoo/developer/hkbst] has quit [Quit: Konversation terminated!] 15:16:41 is there some scheme implementation that could be used to create libraries for C programs easily, providing appropriate function names and argument types (with some additional instructions for define-like construction)? 15:16:54 Easily? No, not really. 15:18:45 -!- ohama [ohama@cicolina.org] has quit [Ping timeout: 264 seconds] 15:19:50 defanor: chicken might have featuers to help. 15:20:12 features, even. 15:21:11 cowanj1 [~cowanj1@mail.digitalkingdom.org] has joined #scheme 15:21:49 i'm using chicken, and googling about libs now, but can't find anything useful for that 15:22:36 ohama [ohama@cicolina.org] has joined #scheme 15:22:58 checking options for csc now 15:23:08 -!- cowanj1 [~cowanj1@mail.digitalkingdom.org] has quit [Client Quit] 15:23:27 przl [~przlrkt@p4FE640F3.dip0.t-ipconnect.de] has joined #scheme 15:23:43 cowanj1 [~cowanj1@mail.digitalkingdom.org] has joined #scheme 15:24:43 bjz [~brendanza@125.253.99.68] has joined #scheme 15:24:48 kuribas [~user@d54C430B0.access.telenet.be] has joined #scheme 15:25:08 -!- cowanj1 [~cowanj1@mail.digitalkingdom.org] has quit [Client Quit] 15:25:22 jcowan [~John@mail.digitalkingdom.org] has joined #scheme 15:28:40 thought about wrapping guile functions by hand, but it is boring and will take too much time 15:30:47 should write some wrappers generator maybe 15:31:13 In Guile, of course. 15:31:30 "Lisp programmers don't write Lisp, their macros do it for them." 15:32:02 huh 15:35:46 -!- tenq is now known as tenq|away 15:35:51 pcl [~pcl@cpe-172-254-108-166.nyc.res.rr.com] has joined #scheme 15:38:32 gravicappa [~gravicapp@ppp91-77-165-34.pppoe.mtu-net.ru] has joined #scheme 15:39:00 -!- tenq|away is now known as tenq 15:54:32 jcowan_ [~John@mail.digitalkingdom.org] has joined #scheme 15:54:49 -!- jcowan [~John@mail.digitalkingdom.org] has quit [Disconnected by services] 15:54:56 -!- jcowan_ is now known as jcowan 15:55:06 jcowan_ [~John@mail.digitalkingdom.org] has joined #scheme 15:56:43 -!- jcowan_ [~John@mail.digitalkingdom.org] has quit [Client Quit] 16:01:44 walter [~walter@97-88-38-33.dhcp.roch.mn.charter.com] has joined #scheme 16:05:43 -!- ffio_ [~fire@unaffiliated/security] has quit [Ping timeout: 268 seconds] 16:06:03 _ffio_ [~fire@unaffiliated/security] has joined #scheme 16:06:52 carleastlund [~carleastl@209-6-40-238.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 16:07:47 defanor: I use guile as my scheme of choice. 16:08:06 defanor: the tactics that I've seen from people that make bindings is to use the dynamic FFI 16:08:30 defanor: and auto-generate the majority the bindings, which requires you to parse some input file and generate the Guile code. 16:09:34 defanor: for example, guile-figl (foreign interface to gl), used the opengl documentation in xml format to generate bindings. 16:11:44 um, isn't it for calling C functions from Scheme? I need the opposite 16:11:56 nomous [~nomous@78.209.173.133] has joined #scheme 16:13:10 -!- taylanub [tub@p4FD92ED9.dip0.t-ipconnect.de] has quit [Disconnected by services] 16:13:12 and with standard C types, to make it a shared library usable without guile functions. and then generate bindings for other languages with SWIG 16:13:17 -!- nomous [~nomous@78.209.173.133] has quit [Client Quit] 16:13:39 taylanub [tub@p4FD92A4C.dip0.t-ipconnect.de] has joined #scheme 16:15:52 Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com] has joined #scheme 16:15:57 dessos [~dessos@c-174-60-176-249.hsd1.pa.comcast.net] has joined #scheme 16:16:55 -!- civodul [~user@gateway/tor-sasl/civodul] has quit [Remote host closed the connection] 16:17:01 -!- brianloveswords [~brianlove@li124-154.members.linode.com] has quit [Excess Flood] 16:17:23 brianloveswords [~brianlove@li124-154.members.linode.com] has joined #scheme 16:21:49 defanor: you want to call scheme functions from C? 16:22:02 I totally misunderstood your problem, then. woops. 16:22:33 libguile provides a way to call procedures from C code. 16:23:08 yep. but it's boring to wrap Scheme functions in C 16:23:47 -!- kuribas [~user@d54C430B0.access.telenet.be] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 16:24:07 -!- bjz [~brendanza@125.253.99.68] has quit [Quit: Leaving...] 16:24:11 so, I'm looking for another way or going to write some simple wrappers generator 16:24:53 the point is to rewrite some C library (with bindings to another langueges) in Scheme 16:27:16 -!- walter [~walter@97-88-38-33.dhcp.roch.mn.charter.com] has quit [Quit: This computer has gone to sleep] 16:28:23 -!- _ffio_ is now known as ffio 16:28:24 walter [~walter@97-88-38-33.dhcp.roch.mn.charter.com] has joined #scheme 16:33:36 -!- cdidd [~cdidd@128-69-115-132.broadband.corbina.ru] has quit [Remote host closed the connection] 16:33:43 -!- wingo [~wingo@fanzine.igalia.com] has quit [Read error: Operation timed out] 16:35:36 cdidd [~cdidd@128-68-27-60.broadband.corbina.ru] has joined #scheme 16:39:20 -!- alexei [~amgarchin@p4FD560E1.dip0.t-ipconnect.de] has quit [Ping timeout: 260 seconds] 16:43:22 -!- wbooze [~wbooze@xdsl-78-35-132-153.netcologne.de] has quit [Ping timeout: 256 seconds] 16:43:52 found some generator, looks nice: http://www.nongnu.org/g-wrap/ 16:44:34 -!- 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:51:10 or not. looks like it's to call C from Scheme too 17:00:43 -!- przl [~przlrkt@p4FE640F3.dip0.t-ipconnect.de] has quit [Ping timeout: 271 seconds] 17:00:54 defanor: http://gnu.april.org/software/guile/docs/docs-1.8/guile-ref/Calling-Scheme-procedures-from-C.html seems to be a useful page 17:00:55 http://tinyurl.com/o8jwh48 17:03:03 yep, thanks, but i'm using 2.0.7 already. need to translate some modified scheme function definitions into C wrappers that will use such guile functions 17:03:38 There's also http://wiki.call-cc.org/man/4/Embedding , but I'm not sure that's exactly what you are looking for. 17:05:10 przl [~przlrkt@p4FE640F3.dip0.t-ipconnect.de] has joined #scheme 17:05:33 That's Chicken, not Guile 17:06:12 I thought defanor said he was using chicken. 17:06:16 chicken is ok too, and embedding looks like an alternative to guile 17:06:38 i'm using both chicken and guile actually, but thought that it'll be easier with guile 17:07:09 cause embedding is like one of it's main purposes 17:08:01 *or "its". sorry for all the misspells btw 17:08:51 The spelling of "its" is one of the irrationalities of English. It was originally "it's" and shoulda stood there. 17:09:14 hiroakip [~hiroaki@132.176.181.134] has joined #scheme 17:09:15 hiroaki [~hiroaki@132.176.181.134] has joined #scheme 17:10:33 -!- hiroakip [~hiroaki@132.176.181.134] has quit [Client Quit] 17:12:19 is there some "right" way to install guile modules, not with cp? 17:21:51 -!- przl [~przlrkt@p4FE640F3.dip0.t-ipconnect.de] has quit [Ping timeout: 246 seconds] 17:22:01 Okasu [~1@unaffiliated/okasu] has joined #scheme 17:23:46 -!- agumonkey [~agu@245.217.72.86.rev.sfr.net] has quit [Ping timeout: 240 seconds] 17:26:12 daat418 [~daat_un@chammerling-mini.xinet.COM] has joined #scheme 17:26:12 -!- daat418 [~daat_un@chammerling-mini.xinet.COM] has quit [Client Quit] 17:30:56 ccorn [~ccorn@h165043.upc-h.chello.nl] has joined #scheme 17:32:38 -!- edw [~edw@207.239.61.34] has quit [Ping timeout: 240 seconds] 17:34:33 edw [~edw@207.239.61.34] has joined #scheme 17:36:53 defanor: proper autotools files 17:44:33 um, i've never tried to install anything to some fixed (or obtained on configure stage via guile, for example) path with autotools. could you point me on corresponding manual chapter? 17:45:17 -!- ccorn [~ccorn@h165043.upc-h.chello.nl] has quit [Quit: ccorn] 17:45:39 i've tried to find that in manual once, had no luck 17:56:38 arubin [~arubin@99-114-192-172.lightspeed.cicril.sbcglobal.net] has joined #scheme 18:00:20 bjz [~brendanza@125.253.99.68] has joined #scheme 18:00:25 -!- gravicappa [~gravicapp@ppp91-77-165-34.pppoe.mtu-net.ru] has quit [Ping timeout: 268 seconds] 18:00:33 oh, there is example by the link above: http://git.savannah.gnu.org/cgit/g-wrap.git/tree/ 18:01:35 noam [~noam@213.57.201.130] has joined #scheme 18:04:42 agumonkey [~agu@245.217.72.86.rev.sfr.net] has joined #scheme 18:06:30 MrFahrenheit [~RageOfTho@77.221.25.95] has joined #scheme 18:20:31 jonrafkind [~jon@racket/jonrafkind] has joined #scheme 18:20:57 Fare [~fare@cpe-69-203-115-132.nyc.res.rr.com] has joined #scheme 18:25:12 gravicappa [~gravicapp@ppp91-77-160-134.pppoe.mtu-net.ru] has joined #scheme 18:33:00 -!- yacks [~py@180.151.36.168] has quit [Quit: Leaving] 18:39:13 yacks [~py@180.151.36.168] has joined #scheme 18:41:27 przl [~przlrkt@p4fe640f3.dip0.t-ipconnect.de] has joined #scheme 18:44:27 alexei [~amgarchin@p4FD560E1.dip0.t-ipconnect.de] has joined #scheme 18:45:22 chturne [~charles@host86-129-183-85.range86-129.btcentralplus.com] has joined #scheme 18:45:23 -!- chturne [~charles@host86-129-183-85.range86-129.btcentralplus.com] has quit [Client Quit] 18:46:46 -!- agumonkey [~agu@245.217.72.86.rev.sfr.net] has quit [Ping timeout: 240 seconds] 18:50:11 youlysses [~user@75-132-28-10.dhcp.stls.mo.charter.com] has joined #scheme 18:54:50 -!- gravicappa [~gravicapp@ppp91-77-160-134.pppoe.mtu-net.ru] has quit [Ping timeout: 256 seconds] 19:02:49 -!- jonrafkind [~jon@racket/jonrafkind] has quit [Remote host closed the connection] 19:05:56 -!- jcowan [~John@mail.digitalkingdom.org] has quit [Quit: Leaving] 19:06:55 jao [~jao@208.Red-193-153-230.dynamicIP.rima-tde.net] has joined #scheme 19:07:05 -!- jao is now known as Guest85594 19:07:08 jonrafkind [~jon@racket/jonrafkind] has joined #scheme 19:07:38 -!- Guest85594 [~jao@208.Red-193-153-230.dynamicIP.rima-tde.net] has quit [Changing host] 19:07:39 Guest85594 [~jao@pdpc/supporter/professional/jao] has joined #scheme 19:10:53 -!- Guest85594 is now known as jao 19:11:26 -!- tenq is now known as tenq|away 19:11:46 -!- jewel [~jewel@105-236-99-241.access.mtnbusiness.co.za] has quit [Ping timeout: 240 seconds] 19:23:59 gravicappa [~gravicapp@ppp91-77-183-101.pppoe.mtu-net.ru] has joined #scheme 19:28:05 -!- alexei [~amgarchin@p4FD560E1.dip0.t-ipconnect.de] has quit [Ping timeout: 248 seconds] 19:30:40 -!- yacks [~py@180.151.36.168] has quit [Quit: Leaving] 19:31:32 aranhoide [~smuxi@139.Red-79-155-209.dynamicIP.rima-tde.net] has joined #scheme 19:33:19 -!- walter [~walter@97-88-38-33.dhcp.roch.mn.charter.com] has quit [Quit: This computer has gone to sleep] 19:34:10 -!- jao [~jao@pdpc/supporter/professional/jao] has quit [Ping timeout: 246 seconds] 19:35:14 -!- homie [~homie@xdsl-78-35-132-153.netcologne.de] has quit [Quit: Verlassend] 19:35:57 -!- bjz [~brendanza@125.253.99.68] has quit [Read error: Connection reset by peer] 19:36:02 bjz_ [~brendanza@125.253.99.68] has joined #scheme 19:36:46 oleo [~oleo@xdsl-78-35-132-153.netcologne.de] has joined #scheme 19:37:12 -!- oleo [~oleo@xdsl-78-35-132-153.netcologne.de] has quit [Read error: Connection reset by peer] 19:37:25 yacks [~py@180.151.36.168] has joined #scheme 19:38:13 oleo [~oleo@xdsl-78-35-132-153.netcologne.de] has joined #scheme 19:39:20 alexei [~amgarchin@p4FD560E1.dip0.t-ipconnect.de] has joined #scheme 19:43:54 -!- Triclops256 is now known as Triclops256|away 19:45:15 -!- przl [~przlrkt@p4fe640f3.dip0.t-ipconnect.de] has quit [Ping timeout: 268 seconds] 19:49:36 przl [~przlrkt@p4FE640F3.dip0.t-ipconnect.de] has joined #scheme 19:55:02 -!- aranhoide [~smuxi@139.Red-79-155-209.dynamicIP.rima-tde.net] has quit [Ping timeout: 240 seconds] 19:58:54 bondar [~bondar@197.156.132.62] has joined #scheme 19:59:10 -!- bondar [~bondar@197.156.132.62] has quit [Excess Flood] 19:59:20 bondar [~bondar@197.156.132.62] has joined #scheme 19:59:21 -!- bondar [~bondar@197.156.132.62] has quit [Excess Flood] 20:00:18 userzxcvasdf [~neutral_a@c656847C1.dhcp.as2116.net] has joined #scheme 20:00:24 bondar [~bondar@197.156.132.62] has joined #scheme 20:00:34 -!- bondar [~bondar@197.156.132.62] has quit [Excess Flood] 20:00:45 bondar [~bondar@197.156.132.62] has joined #scheme 20:00:48 -!- bondar [~bondar@197.156.132.62] has quit [Excess Flood] 20:00:59 bondar [~bondar@197.156.132.62] has joined #scheme 20:01:00 -!- bondar [~bondar@197.156.132.62] has quit [Client Quit] 20:02:30 agumonkey [~agu@245.217.72.86.rev.sfr.net] has joined #scheme 20:06:06 bondar [~bondar@197.156.132.62] has joined #scheme 20:06:14 -!- bondar [~bondar@197.156.132.62] has quit [Excess Flood] 20:10:00 aranhoide [~smuxi@139.Red-79-155-209.dynamicIP.rima-tde.net] has joined #scheme 20:10:01 -!- aranhoide [~smuxi@139.Red-79-155-209.dynamicIP.rima-tde.net] has quit [Remote host closed the connection] 20:10:14 bondar [~bondar@197.156.132.62] has joined #scheme 20:10:21 -!- bondar [~bondar@197.156.132.62] has quit [Excess Flood] 20:12:17 aranhoide [~smuxi@139.Red-79-155-209.dynamicIP.rima-tde.net] has joined #scheme 20:13:26 bondar [~bondar@197.156.132.62] has joined #scheme 20:13:33 -!- bondar [~bondar@197.156.132.62] has quit [Excess Flood] 20:16:24 bondar [~bondar@197.156.132.62] has joined #scheme 20:16:30 -!- bondar [~bondar@197.156.132.62] has quit [Excess Flood] 20:18:53 -!- jonrafkind [~jon@racket/jonrafkind] has quit [Remote host closed the connection] 20:20:08 -!- metasyntax [~tvenable@proxy5.med-web.com] has quit [Quit: Leaving] 20:20:28 ehaliewicz [~user@50-0-51-11.dsl.static.sonic.net] has joined #scheme 20:22:11 jonrafkind [~jon@racket/jonrafkind] has joined #scheme 20:26:13 is there a decent scheme interpreter that runs on android? mainly for developing android applications? 20:27:00 -!- alexei [~amgarchin@p4FD560E1.dip0.t-ipconnect.de] has quit [Ping timeout: 246 seconds] 20:28:05 I'm not aware of one. But Danny Yoo, if I recall correctly, has been working on something that _compiles_ Scheme to android ... I think it's called Whalesong 20:29:08 nope, it compiles to javascript. Although that might be useful for building a smartphone app anyway. 20:29:16 https://github.com/dyoo/whalesong 20:29:47 neat 20:30:07 can chicken compile to android I wonder? 20:30:12 it compiles to C iirc 20:30:23 dunno; probably not. 20:32:34 zacts: yes. It's not officially supported, but it works. See https://github.com/chicken-mobile 20:32:39 huh 20:36:35 ``Scheme is even more Lisp than Lisp, so its like that weird avant garde band no ones heard of that Radiohead always claims inspired their latest album.'' 20:37:20 -!- ohama [ohama@cicolina.org] has quit [Ping timeout: 260 seconds] 20:39:25 cool 20:40:27 ohama [ohama@cicolina.org] has joined #scheme 20:41:17 http://journal.stuffwithstuff.com/2013/07/18/javascript-isn't-scheme/ if you wanna read the whole thing. It made me laugh. 20:42:08 I posted that on #emacs last night 20:56:15 -!- kvalle_ is now known as kvalle 20:57:14 offby1: entertaining article 20:58:13 it's not ? 20:58:15 lol 20:58:26 This probably does not help: http://javascript.crockford.com/little.html 20:59:04 -!- davexunit [~user@38.104.7.18] has quit [Quit: Later] 21:00:13 jerryzhou [~jerryzhou@58.245.253.218] has joined #scheme 21:04:05 -!- fridim_ [~fridim@173.231.115.58] has quit [Ping timeout: 248 seconds] 21:04:36 -!- tupi [~user@139.82.89.157] has quit [Remote host closed the connection] 21:11:10 zacts: kawa works very well on android 21:11:22 (though it compiles to Java, not interpreted) 21:11:50 ah cool 21:11:51 ccorn [~ccorn@h165043.upc-h.chello.nl] has joined #scheme 21:12:26 daat418 [~daat_un@chammerling-mini.xinet.COM] has joined #scheme 21:12:56 for example https://github.com/ecraven/SchemeAndroidOGL (no claims of quality :) 21:13:51 gambit does compile to iOS and Android, too, although it may take some more work (using the NDK or JNI) 21:14:11 if Android is your main target I'd try kawa first 21:14:38 ok 21:15:29 gambit compiles to native ARM code, not Java, right? 21:15:45 kawa works really well, you just have to learn how to map Java to Kawa Scheme correctly :) 21:16:56 -!- daat418 [~daat_un@chammerling-mini.xinet.COM] has quit [Client Quit] 21:17:25 ecraven: gambit compiles to C, then you compile to native ARM with the android SDK 21:18:21 which means interfacing to the java API is less nice than I imagine is with kawa (never tried it, but I intend to soon) 21:19:16 OTOH, if you want to target both Android and iOS with one codebase, C starts to look sensible again 21:20:08 aranhoide: "someone" should write a macro layer for both in kawa :) 21:20:32 or write Scheme that is portable enough that you can compile it both with Kawa and (choose your Scheme that compiles to C here) 21:20:57 I think both chicken and kawa aim to support R7RS soon, and then there's Chibi 21:21:17 aranhoide: but the way you interface with Java code in kawa is definitely not part of R7RS :) 21:21:31 (and you can't get much done on Android without interfacing with the Android APIs) 21:21:35 ya, that part you'd have to abstract away anyway 21:22:17 depending on the nature of the app you may want to consider SDL2 21:22:28 (if you choose an implementation that targets C) 21:23:07 SDL2 supports iOS and Android, so for games it's a portable option 21:23:24 (and non-mobile computers of course) 21:24:18 Nisstyre [~yours@oftn/member/Nisstyre] has joined #scheme 21:25:04 but then you'd have to do SDL2 bindings for your implementation of choice. there are SDL 1.2 bindings out there for many of them, but I don't know whether there's any that supports SDL2 21:25:28 (I mean, that has bindings already) 21:25:56 most have ffis though, so it should be possible 21:28:05 -!- edw [~edw@207.239.61.34] has quit [Quit: Computer has gone to sleep.] 21:28:50 -!- jonrafkind [~jon@racket/jonrafkind] has left #scheme 21:30:33 oh, it should certainly be possible 21:32:23 -!- rins [~aaron@38.88.168.154] has quit [Ping timeout: 260 seconds] 21:32:33 but perhaps for a similar amount of work you can abstract away the differences between kawa on android and whatever other implementation and/or platform you want to target 21:32:52 and do without SDL2 21:36:15 does kawa work on iOS? does iOS have a JVM at all? 21:37:37 aranhoide: i don't believe so 21:41:04 -!- zacts [~user@unaffiliated/zacts] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 21:41:54 jao [~jao@208.Red-193-153-230.dynamicIP.rima-tde.net] has joined #scheme 21:41:57 -!- jao [~jao@208.Red-193-153-230.dynamicIP.rima-tde.net] has quit [Changing host] 21:41:58 jao [~jao@pdpc/supporter/professional/jao] has joined #scheme 21:42:10 -!- langmartin [~user@host-68-169-175-226.WISOLT2.epbfi.com] has quit [Ping timeout: 276 seconds] 21:43:12 zacts [~zacts@unaffiliated/zacts] has joined #scheme 21:49:24 there's MOCL, if you don't need continuations... 21:53:33 -!- ccorn [~ccorn@h165043.upc-h.chello.nl] has quit [Quit: ccorn] 22:04:04 -!- gravicappa [~gravicapp@ppp91-77-183-101.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 22:08:43 HG` [~HG@wprt-5d836a6e.pool.mediaWays.net] has joined #scheme 22:14:48 -!- jao [~jao@pdpc/supporter/professional/jao] has quit [Ping timeout: 246 seconds] 22:23:17 jao [~jao@208.Red-193-153-230.dynamicIP.rima-tde.net] has joined #scheme 22:23:20 -!- jao [~jao@208.Red-193-153-230.dynamicIP.rima-tde.net] has quit [Changing host] 22:23:21 jao [~jao@pdpc/supporter/professional/jao] has joined #scheme 22:25:03 -!- HG` [~HG@wprt-5d836a6e.pool.mediaWays.net] has quit [Quit: Leaving.] 22:28:10 -!- TheRealPygo is now known as pygospa 22:30:09 -!- jao [~jao@pdpc/supporter/professional/jao] has quit [Ping timeout: 240 seconds] 22:38:28 jao [~jao@55.Red-79-148-157.dynamicIP.rima-tde.net] has joined #scheme 22:38:31 -!- jao [~jao@55.Red-79-148-157.dynamicIP.rima-tde.net] has quit [Changing host] 22:38:31 jao [~jao@pdpc/supporter/professional/jao] has joined #scheme 22:44:22 -!- oleo [~oleo@xdsl-78-35-132-153.netcologne.de] has quit [Quit: Verlassend] 23:00:06 -!- Nisstyre [~yours@oftn/member/Nisstyre] has quit [Quit: Leaving] 23:06:04 -!- bjz_ [~brendanza@125.253.99.68] has quit [Quit: Leaving...] 23:09:05 -!- agumonkey [~agu@245.217.72.86.rev.sfr.net] has quit [Read error: Operation timed out] 23:11:25 -!- jerryzhou [~jerryzhou@58.245.253.218] has quit [Quit: Leaving] 23:19:29 -!- Okasu [~1@unaffiliated/okasu] has quit [Quit: leaving] 23:33:19 -!- MrFahrenheit [~RageOfTho@77.221.25.95] has quit [Ping timeout: 276 seconds] 23:35:56 blackwol` [~blackwolf@ool-4574e84c.dyn.optonline.net] has joined #scheme 23:37:24 -!- blackwolf [~blackwolf@ool-4574e84c.dyn.optonline.net] has quit [Ping timeout: 240 seconds] 23:41:26 what is the best scheme implementation if I want to write a scheme irc bot? 23:41:40 I'm doing tic tac toe with simply scheme, and want to make a bot out of it 23:43:42 rudybot: what are you written in? 23:43:46 aranhoide: eli, saying that you need this effort means requiring all the code to be written using the same methodology and the same QA method and level 23:45:08 zacts: Probably Racket. 23:45:15 ok 23:45:20 I'll look into it 23:49:56 wait, do you end up writing a scheme interpreter at the end of HTDP? 23:50:04 or is that only SICP? 23:50:43 eek, is there a way to make racket conform to a certain standard? 23:50:56 it's not evaluating my simply.scm or ttt.scm source.. 23:51:07 but guile does work for those source files 23:52:05 Yes. 23:52:13 Are you running Dr Racket? 23:52:33 no, I am running racket from the command line in uxterm 23:52:35 Regardless, it will accept a #lang line. 23:52:46 a racket REPL 23:53:05 I have it running inside tmux split with | vim | racket> | 23:53:20 http://docs.racket-lang.org/r5rs/running.html 23:53:46 But I meant using Racket. 23:54:08 https://github.com/offby1/rudybot 23:54:12 ok 23:54:14 rudybot is written in Racket. 23:58:56 -!- defanor [~d@ppp91-77-121-170.pppoe.mtu-net.ru] has quit [Ping timeout: 260 seconds] 23:59:39 *offby1* wakes up