2014-11-28T00:42:08Z xyh joined #scheme 2014-11-28T00:49:22Z jumblerg quit (Quit: Textual IRC Client: www.textualapp.com) 2014-11-28T00:52:29Z leo2007 joined #scheme 2014-11-28T00:54:06Z vinleod quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-11-28T01:03:31Z jusss joined #scheme 2014-11-28T01:05:22Z BitPuffin joined #scheme 2014-11-28T01:13:05Z jeapostrophe quit (Ping timeout: 264 seconds) 2014-11-28T01:39:03Z kuribas quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-28T01:39:19Z kuribas joined #scheme 2014-11-28T01:46:07Z gnomon quit (Ping timeout: 245 seconds) 2014-11-28T01:47:56Z gnomon joined #scheme 2014-11-28T01:55:48Z kuribas quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-28T02:14:47Z joast joined #scheme 2014-11-28T02:16:38Z xyh quit (Remote host closed the connection) 2014-11-28T02:23:24Z sstrickl_ joined #scheme 2014-11-28T02:23:33Z oldskirt_ joined #scheme 2014-11-28T02:24:47Z carc quit (Ping timeout: 265 seconds) 2014-11-28T02:24:47Z sstrickl_ is now known as sstrickl 2014-11-28T02:25:07Z carc joined #scheme 2014-11-28T02:26:43Z oldskirt quit (Ping timeout: 265 seconds) 2014-11-28T02:28:01Z BitPuffin quit (Ping timeout: 244 seconds) 2014-11-28T02:32:40Z tobik quit (Ping timeout: 244 seconds) 2014-11-28T02:33:39Z tobik joined #scheme 2014-11-28T02:34:50Z oldskirt joined #scheme 2014-11-28T02:34:58Z oldskirt quit (Changing host) 2014-11-28T02:34:58Z oldskirt joined #scheme 2014-11-28T02:38:17Z oldskirt_ quit (Ping timeout: 264 seconds) 2014-11-28T02:39:49Z excelsior joined #scheme 2014-11-28T02:56:51Z cataska quit (Remote host closed the connection) 2014-11-28T03:08:11Z cataska joined #scheme 2014-11-28T03:15:18Z oleo__ joined #scheme 2014-11-28T03:15:59Z oleo is now known as Guest38833 2014-11-28T03:16:17Z Guest38833 quit (Ping timeout: 240 seconds) 2014-11-28T03:34:22Z daviid joined #scheme 2014-11-28T03:34:55Z Vutral quit (Ping timeout: 264 seconds) 2014-11-28T03:39:23Z Vutral joined #scheme 2014-11-28T03:57:48Z jusss quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-28T04:00:12Z annodomini joined #scheme 2014-11-28T04:00:12Z annodomini quit (Changing host) 2014-11-28T04:00:12Z annodomini joined #scheme 2014-11-28T04:01:23Z bb010g joined #scheme 2014-11-28T04:10:11Z acarrico quit (Ping timeout: 272 seconds) 2014-11-28T04:31:33Z stepnem quit (Ping timeout: 255 seconds) 2014-11-28T04:49:25Z MichaelRaskin quit (Quit: MichaelRaskin) 2014-11-28T04:53:31Z Rodya_ quit (Ping timeout: 264 seconds) 2014-11-28T05:04:51Z Vutral quit (Ping timeout: 255 seconds) 2014-11-28T05:09:33Z annodomini quit (Quit: annodomini) 2014-11-28T05:17:12Z Vutral joined #scheme 2014-11-28T05:33:14Z oldskirt_ joined #scheme 2014-11-28T05:33:15Z oldskirt_ quit (Changing host) 2014-11-28T05:33:15Z oldskirt_ joined #scheme 2014-11-28T05:33:22Z oldskirt_ quit (Excess Flood) 2014-11-28T05:33:55Z annodomini joined #scheme 2014-11-28T05:33:55Z annodomini quit (Changing host) 2014-11-28T05:33:55Z annodomini joined #scheme 2014-11-28T05:35:57Z oldskirt quit (Ping timeout: 240 seconds) 2014-11-28T05:46:13Z MichaelRaskin joined #scheme 2014-11-28T05:51:52Z ananna quit (Ping timeout: 250 seconds) 2014-11-28T05:56:59Z Guest85785 joined #scheme 2014-11-28T06:04:22Z DKordic quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-28T06:04:55Z psy quit (Remote host closed the connection) 2014-11-28T06:09:35Z psy joined #scheme 2014-11-28T06:09:59Z psy quit (Max SendQ exceeded) 2014-11-28T06:10:19Z psy joined #scheme 2014-11-28T06:12:46Z daviid quit (Ping timeout: 256 seconds) 2014-11-28T06:21:21Z pnpuff joined #scheme 2014-11-28T06:23:37Z alezost quit (Ping timeout: 245 seconds) 2014-11-28T06:41:32Z oleo__ quit (Quit: Verlassend) 2014-11-28T06:51:06Z pnpuff quit (Ping timeout: 256 seconds) 2014-11-28T06:51:17Z alexey1 joined #scheme 2014-11-28T06:51:30Z annodomini quit (Quit: annodomini) 2014-11-28T06:51:42Z kongtomorrow joined #scheme 2014-11-28T06:52:42Z annodomini joined #scheme 2014-11-28T06:52:42Z annodomini quit (Changing host) 2014-11-28T06:52:42Z annodomini joined #scheme 2014-11-28T06:54:44Z alezost joined #scheme 2014-11-28T07:19:09Z jewel_ quit (Remote host closed the connection) 2014-11-28T07:47:10Z civodul joined #scheme 2014-11-28T07:49:15Z mrowe is now known as mrowe_away 2014-11-28T08:08:23Z fridim_ joined #scheme 2014-11-28T08:29:58Z frkout_ joined #scheme 2014-11-28T08:33:04Z frkout quit (Ping timeout: 250 seconds) 2014-11-28T09:32:18Z redeemed joined #scheme 2014-11-28T09:41:22Z frkout_ quit (Remote host closed the connection) 2014-11-28T09:41:50Z frkout joined #scheme 2014-11-28T09:52:30Z alexey1 quit (Remote host closed the connection) 2014-11-28T09:52:58Z alexey1 joined #scheme 2014-11-28T09:57:44Z alexey1 quit (Ping timeout: 256 seconds) 2014-11-28T09:58:09Z certainty: iartenai 2014-11-28T10:00:11Z certaint1 quit (Quit: Lost terminal) 2014-11-28T10:00:18Z certainty quit (Quit: Lost terminal) 2014-11-28T10:00:44Z certainty joined #scheme 2014-11-28T10:00:53Z hive-mind quit (Ping timeout: 258 seconds) 2014-11-28T10:05:09Z alexey1 joined #scheme 2014-11-28T10:08:47Z Bahman joined #scheme 2014-11-28T10:13:59Z hive-mind joined #scheme 2014-11-28T10:21:41Z alexey1 quit (Remote host closed the connection) 2014-11-28T10:27:52Z kongtomorrow quit 2014-11-28T11:17:38Z stepnem joined #scheme 2014-11-28T11:38:11Z fantazo joined #scheme 2014-11-28T11:52:04Z jeapostrophe joined #scheme 2014-11-28T12:01:59Z teleScope joined #scheme 2014-11-28T12:02:48Z excelsior quit (Quit: leaving) 2014-11-28T12:12:52Z vinleod joined #scheme 2014-11-28T12:24:01Z fridim_ quit (Quit: Leaving) 2014-11-28T12:51:33Z bjz joined #scheme 2014-11-28T12:54:48Z bjz_ quit (Ping timeout: 250 seconds) 2014-11-28T13:06:36Z MichaelRaskin quit (Quit: MichaelRaskin) 2014-11-28T13:08:17Z jeapostrophe quit (Ping timeout: 264 seconds) 2014-11-28T13:23:37Z kuribas joined #scheme 2014-11-28T13:33:05Z b4283 joined #scheme 2014-11-28T13:34:10Z alexey1 joined #scheme 2014-11-28T13:43:51Z taylanub quit (Disconnected by services) 2014-11-28T13:44:20Z taylanub joined #scheme 2014-11-28T13:54:23Z acarrico joined #scheme 2014-11-28T14:01:12Z pnkfelix joined #scheme 2014-11-28T14:03:29Z acarrico quit (Ping timeout: 264 seconds) 2014-11-28T14:03:59Z jeapostrophe joined #scheme 2014-11-28T14:08:30Z oleo joined #scheme 2014-11-28T14:17:10Z alexey1 quit (Remote host closed the connection) 2014-11-28T14:22:08Z hypermagic joined #scheme 2014-11-28T14:34:32Z psy quit (Remote host closed the connection) 2014-11-28T14:36:08Z psy joined #scheme 2014-11-28T14:39:42Z nee joined #scheme 2014-11-28T15:01:33Z xyh joined #scheme 2014-11-28T15:08:33Z teleScope quit (Quit: Konversation terminated!) 2014-11-28T15:10:04Z teslacuted joined #scheme 2014-11-28T15:20:03Z alexey1 joined #scheme 2014-11-28T15:26:56Z stamourv` is now known as stamourv 2014-11-28T15:27:08Z stamourv quit (Changing host) 2014-11-28T15:27:08Z stamourv joined #scheme 2014-11-28T15:31:22Z kuribas quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-28T15:31:28Z alexey1 quit (Remote host closed the connection) 2014-11-28T15:34:46Z agumonkey quit (Ping timeout: 258 seconds) 2014-11-28T15:36:07Z agumonkey joined #scheme 2014-11-28T15:37:17Z mdibound quit (Ping timeout: 240 seconds) 2014-11-28T15:37:48Z teslacuted left #scheme 2014-11-28T15:37:53Z mdibound joined #scheme 2014-11-28T15:42:45Z oleo__ joined #scheme 2014-11-28T15:43:02Z oleo is now known as Guest89591 2014-11-28T15:44:12Z Guest89591 quit (Ping timeout: 244 seconds) 2014-11-28T16:02:32Z oleo__ quit (Quit: Verlassend) 2014-11-28T16:05:42Z nee quit (Quit: Verlassend) 2014-11-28T16:07:11Z alexey1 joined #scheme 2014-11-28T16:13:49Z oleo joined #scheme 2014-11-28T16:17:02Z alexey1 quit (Remote host closed the connection) 2014-11-28T16:25:34Z redeemed quit (Quit: q) 2014-11-28T16:28:13Z fgudin quit (Quit: leaving) 2014-11-28T16:28:54Z _theseb joined #scheme 2014-11-28T16:29:30Z _theseb: if you didn't have the begin special form is there another way to combine multiple sexps into one? 2014-11-28T16:29:37Z MouldyOldBones joined #scheme 2014-11-28T16:30:20Z stamourv: _theseb: You are confusing sexps and expressions. 2014-11-28T16:30:40Z stamourv: What `begin` does is sequencing expressions, so they are evaluated one after the other. 2014-11-28T16:30:53Z stamourv: And yes, you can do that without `begin`. 2014-11-28T16:30:57Z daviid joined #scheme 2014-11-28T16:32:43Z stamourv: rudybot: ((lambda (f) (displayln "doing this") (f)) (lambda () (displayln "and that!"))) 2014-11-28T16:32:43Z rudybot: stamourv: your sandbox is ready 2014-11-28T16:32:43Z rudybot: stamourv: ; stdout: "doing this\nand that!\n" 2014-11-28T16:33:08Z stamourv: Or even easier: 2014-11-28T16:33:40Z stamourv: rudybot: ((lambda (x y z) #f) (displayln "doing") (displayln 3) (displayln "things")) 2014-11-28T16:33:41Z rudybot: stamourv: ; Value: #f 2014-11-28T16:33:42Z rudybot: stamourv: ; stdout: "doing\n3\nthings\n" 2014-11-28T16:34:28Z stamourv: _theseb: Scheme does not specify the order in which arguments should be evaluated, so the latter is a bit brittle. 2014-11-28T16:34:32Z stamourv: Racket, on the other hand, does. 2014-11-28T16:34:54Z excelsior joined #scheme 2014-11-28T16:39:40Z theseb joined #scheme 2014-11-28T16:40:03Z annodomini quit (Quit: annodomini) 2014-11-28T16:41:48Z theseb: stamourv: any way to simulate "begin special form" if lambda function invocations can only evaluate one expression? 2014-11-28T16:42:09Z theseb: stamourv: your example had 2 expressions in the 1st lambda 2014-11-28T16:42:43Z annodomini joined #scheme 2014-11-28T16:43:20Z xyh left #scheme 2014-11-28T16:43:21Z stamourv: theseb: Sure, just use arguments. 2014-11-28T16:43:39Z stamourv: You don't even need to use their value, see the second example. 2014-11-28T16:48:28Z theseb: stamourv: oh hell...that's genius! 2014-11-28T16:48:46Z _theseb quit (Quit: Page closed) 2014-11-28T16:49:00Z theseb: stamourv: you used a lambda just to eval the arguments! i like it 2014-11-28T16:54:24Z pnkfelix quit (Quit: rcirc on GNU Emacs 24.3.92.1) 2014-11-28T16:56:43Z rtra quit (Ping timeout: 265 seconds) 2014-11-28T16:57:56Z theseb: can essentially every lisp program be written to not use state? i.e. rewritten in "functional style" ? i'm basically trying to see if STATE is a convience or a necessity to programming in general.. 2014-11-28T16:58:44Z civodul quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-28T16:59:23Z offby1: of course not 2014-11-28T16:59:52Z offby1: some -- perhaps most --program's whole purpose in life is to maintain state 2014-11-28T17:00:31Z theseb: offby1: sure..a program that has state of course can't be written w/o state 2014-11-28T17:00:35Z offby1: the thing about functional programming is that there are more places than you'd expect, where you don't need state, and where, in fact, maintaining state turns out to be trouble. 2014-11-28T17:00:42Z offby1: But that doesn't mean that all state is worthless. 2014-11-28T17:01:25Z rtra joined #scheme 2014-11-28T17:01:40Z theseb: offby1: what got me thinking is Paul Graham's Roots of Lisp paper....his (and McCarthy's) original lisp did NOT have mutation or state! 2014-11-28T17:02:07Z theseb: offby1: furthermore ..lambda calculus does not have state so there's a interesting point here somewhere 2014-11-28T17:02:22Z offby1: lambda calculus wasn't invented to solve problems in the real world, as far as I know. 2014-11-28T17:02:34Z offby1: McCarthy's original lisp didn't have set or setq? That's surprising 2014-11-28T17:02:43Z theseb: offby1: they are Turing Complete! 2014-11-28T17:03:02Z theseb: offby1: so technically ANY function in any language can be done in lambda calculus 2014-11-28T17:03:03Z scoofy: compiling functional programs is making them have 'state' 2014-11-28T17:03:23Z theseb: scoofy: please elaborate 2014-11-28T17:03:57Z annodomini quit (Quit: annodomini) 2014-11-28T17:04:04Z scoofy: when you want to compile a functional program that has no state, you have to turn it into a series of 'steps', each of which has a state and relies on the state of the previous step 2014-11-28T17:04:58Z offby1: that went entirely over my head 2014-11-28T17:05:04Z scoofy: this is a functional program with no state: (* (+ a b) (- a b)) 2014-11-28T17:05:08Z annodomini joined #scheme 2014-11-28T17:05:16Z annodomini quit (Changing host) 2014-11-28T17:05:16Z annodomini joined #scheme 2014-11-28T17:05:23Z offby1: sure 2014-11-28T17:05:28Z scoofy: when compiled (=translated to machine instructions), it translates to operands for a machine that has state (memory, registers, flags etc.) 2014-11-28T17:05:37Z offby1: oh but that's not interesting to me 2014-11-28T17:05:46Z theseb: scoofy: but that's just implementation ....a compiler in principle could "compile" to a machine that didn't use state 2014-11-28T17:05:49Z offby1: what's interesting to me is: is it easy to understand what a function does, by looking at its source code 2014-11-28T17:05:50Z scoofy: ok, just saying that there's a mapping between functional programs --> programs with state 2014-11-28T17:06:00Z theseb: scoofy: not THAT is a good point 2014-11-28T17:06:07Z theseb: scoofy: s/not/now 2014-11-28T17:06:12Z offby1: Not That There's Anything Wrong With That™ 2014-11-28T17:06:12Z scoofy: theseb, exactly. 'in princpile', such machine *could* exist. they just, don't. 2014-11-28T17:06:20Z scoofy: except maybe lisp machines of the past... 2014-11-28T17:06:24Z theseb: scoofy: you seem to be implying there is a 1 to 1 mapping between FP and stateful programs 2014-11-28T17:06:46Z scoofy: there's not necessarily always one. for example, for self-modifying programs you cannot easily do such mapping. 2014-11-28T17:07:23Z scoofy: so only a certain subset of functional programs compiles easily to a procedural program that is a set of instrucitons 2014-11-28T17:07:47Z scoofy: but, eventually, everything can be calculated, so... finding a mapping just becomes harder and harder 2014-11-28T17:08:45Z theseb: scoofy: fascinating...so state really is in many situations just a "convenience" 2014-11-28T17:09:00Z theseb: scoofy: in my limited understanding...stateless programming is great for parallelism....so i thought in future where we all have massive multicore PCs we'll want FP 2014-11-28T17:09:14Z scoofy: indeed true. 'dataflow programming' is a good theory. 2014-11-28T17:09:22Z offby1: in my understanding, stateless programming is great if you want people to be able to understand your code. 2014-11-28T17:09:24Z scoofy: feel free to research if interested in 'stateless parallel programming' 2014-11-28T17:10:48Z stamourv: theseb: In programming, everything is a "convenience". 2014-11-28T17:11:07Z offby1: naw, Windows is more of a pain in the butt 2014-11-28T17:11:14Z stamourv: theseb: That's what makes programming different from theory of computation. 2014-11-28T17:11:58Z stamourv: theseb: If you're looking for minimal models, look at Turing machines, lambda calculi, combinator calculi, etc. 2014-11-28T17:12:27Z stamourv: theseb: But it turns out, those are not suitable for programming, hence the "convenicences". 2014-11-28T17:17:15Z Bahman quit (Quit: Ave atque vale) 2014-11-28T17:18:20Z kongtomorrow joined #scheme 2014-11-28T17:27:42Z TheCommieDuck joined #scheme 2014-11-28T17:33:21Z MouldyOldBones quit (Ping timeout: 250 seconds) 2014-11-28T17:37:36Z alezost quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-28T17:39:23Z gnomon: Riastradh, what in the world is PoC||GTFO? 2014-11-28T17:46:16Z offby1: gnomon: I have this in my .emacs: ;; perl-mode sucks. cperl-mode doesn't. 2014-11-28T17:46:17Z offby1: (defun perl-mode () (interactive) (error "cperl or gtfo")) 2014-11-28T17:46:29Z offby1: gnomon: so I'm guessing it's similar 2014-11-28T17:46:35Z kongtomorrow quit 2014-11-28T17:51:25Z gnomon: offby1, curl -H 'Range: bytes=298-700' http://mumble.net/~campbell/blag.txt 2014-11-28T17:52:22Z offby1: he make joke 2014-11-28T17:52:28Z offby1 didn't know about "Range:" 2014-11-28T17:52:37Z offby1: and I call myself a web programmer 2014-11-28T17:52:42Z gnomon: offby1, he make joke with 97MiB PDF-format punchline 2014-11-28T17:53:11Z offby1: we going out on that joke? No, we do reprise of song. That help. But not much, no. 2014-11-28T17:54:10Z gnomon: offby1, heh, I've got an awkward kind of indexing thing based on Range: headers for indexing updates Riastradh makes to his blag.txt. I assume the header is fixed-size and that updates are appended after the header and before the most recent update, so it counts backwards from the full file length minus the known/assumed header length... I probably overthought it. 2014-11-28T17:54:55Z offby1: https://crashlanden.files.wordpress.com/2009/11/fantastic-mr-fox5.jpg 2014-11-28T17:55:16Z gnomon is completely lost 2014-11-28T17:55:31Z gnomon: Fortunately this is a state not entirely unfamiliar to me. 2014-11-28T17:56:30Z oldskirt joined #scheme 2014-11-28T17:57:12Z offby1: that's a picture of the badger from the movie "The Fantastic Mr Fox" (which I loved). The badger is sort of dim. He often has a brain-freeze, whenever anyone says anything at all complex to him. 2014-11-28T17:57:25Z offby1: That's a picture of a brain freeze. His eyes get all peppermint-swirly. 2014-11-28T17:57:30Z offby1: I strongly identify with that picture 2014-11-28T17:57:34Z offby1: As does Mrs Offby1 2014-11-28T17:58:14Z alezost joined #scheme 2014-11-28T18:00:10Z gnomon: offby1, I watched that movie and greatly enjoyed it, but I completely forgot about the badger. I am going to have to watch it again. Thank you for the prompting! No doubt I will enjoy it even more a second time. 2014-11-28T18:00:58Z offby1: we're fairly big Wes Anderson fans here at Chez Offby1, but we've actually only seen a few of them 2014-11-28T18:06:00Z gnomon: offby1, what did you think of The Grand Budapest Hotel? 2014-11-28T18:06:07Z offby1: loved loved loved it 2014-11-28T18:06:11Z offby1: only seen it twice though! 2014-11-28T18:06:23Z offby1: fave is probably either Rushmore or Moonrise Kingdom 2014-11-28T18:06:55Z offby1: Oddly, despite adoring Gene Hackman, I couldn't watch The Royal Tenenbaums. Too sour. Ought to try it again sometime 2014-11-28T18:07:02Z gnomon: Moonrise Kingdom is at the top of the stack right now for me, though I think that's likely just because I've got the soundtrack queued up rather often. 2014-11-28T18:07:15Z gnomon: Hmm, good point, I haven't watched that one in ages either. 2014-11-28T18:07:34Z offby1: Liked The Djareeling Limited but wasn't crazy about it. 2014-11-28T18:07:41Z offby1: Gotta admire Adrian Brody's schnozz, though 2014-11-28T18:07:43Z gnomon: And I was all set to make a run out to $SHINY_DISC_STORE tonight, too. That visit sounds like it might get dangerously expensive now. 2014-11-28T18:07:46Z offby1: it's Olympian 2014-11-28T18:08:09Z offby1: I was astonished to find that our local $SHINY_DISC_STORE, which I last visited 15 years ago, is still in business. Who knew? 2014-11-28T18:08:25Z gnomon: I haven't watched Darjeeling yet. Does Brody's shnozz hold a candle to Dépardieux's in Cyrano de Bergerac? 2014-11-28T18:08:57Z offby1: hm, now, that's a good comparison. 2014-11-28T18:09:21Z offby1: Yes, it holds a candle; but is still smaller. (And I suspect that Mr Dépardieux may have had some prosthetic help) 2014-11-28T18:11:45Z Vutral quit (Ping timeout: 244 seconds) 2014-11-28T18:12:34Z oldskirt_ joined #scheme 2014-11-28T18:14:28Z oldskirt quit (Ping timeout: 245 seconds) 2014-11-28T18:17:57Z Vutral joined #scheme 2014-11-28T18:27:55Z b4283 quit (Quit: Konversation terminated!) 2014-11-28T18:29:30Z rszeno joined #scheme 2014-11-28T18:29:49Z pnpuff joined #scheme 2014-11-28T18:31:41Z TheCommieDuck: Hey; http://paste.lisp.org/display/144522 I have this for a union of 2 sets (as flat lists), but it seems to fail if s1 intersection s2 is not empty..which would just call set-union (cdr s1) s2, which seems fine. Am I missing something here? 2014-11-28T18:32:27Z pnpuff quit (Client Quit) 2014-11-28T18:35:04Z TheCommieDuck: ...I forgot an else. I'm dumb. 2014-11-28T18:36:46Z rtra quit (Ping timeout: 265 seconds) 2014-11-28T18:41:34Z rtra joined #scheme 2014-11-28T18:55:24Z jewel joined #scheme 2014-11-28T19:01:53Z MichaelRaskin joined #scheme 2014-11-28T19:13:51Z oldskirt joined #scheme 2014-11-28T19:13:52Z oldskirt_ quit (Read error: Connection reset by peer) 2014-11-28T19:16:35Z rszeno quit (Quit: Leaving.) 2014-11-28T19:17:18Z pnpuff joined #scheme 2014-11-28T19:17:21Z oldskirt_ joined #scheme 2014-11-28T19:18:06Z Vutral quit (Excess Flood) 2014-11-28T19:19:05Z Vutral joined #scheme 2014-11-28T19:19:12Z Vutral quit (Changing host) 2014-11-28T19:19:12Z Vutral joined #scheme 2014-11-28T19:20:02Z oldskirt quit (Ping timeout: 250 seconds) 2014-11-28T19:26:33Z ffs quit (Remote host closed the connection) 2014-11-28T19:27:07Z ffs joined #scheme 2014-11-28T19:28:54Z sheilong joined #scheme 2014-11-28T19:30:14Z ffs quit (Remote host closed the connection) 2014-11-28T19:32:44Z alexey1 joined #scheme 2014-11-28T19:33:33Z ffs joined #scheme 2014-11-28T19:34:39Z oldskirt joined #scheme 2014-11-28T19:38:14Z oldskirt_ quit (Ping timeout: 250 seconds) 2014-11-28T19:40:28Z jeapostrophe quit (Ping timeout: 255 seconds) 2014-11-28T19:44:57Z kongtomorrow joined #scheme 2014-11-28T20:13:29Z Vutral quit (Ping timeout: 272 seconds) 2014-11-28T20:16:31Z vinleod quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-11-28T20:30:23Z davexunit quit (Quit: Later) 2014-11-28T20:30:31Z theseb: stamourv: ping 2014-11-28T20:32:00Z stamourv: theseb: pong 2014-11-28T20:33:14Z theseb: stamourv: i was just curious (and amazed) how you knew that trick to emulate a begin special form with ( (lambda a b c d #f) e1 e2 e3 e4).... 2014-11-28T20:33:38Z theseb: stamourv: the only way you'd know that is if you had spent time thinking deeply about what forms are critical and which are optional like i'm trying to do 2014-11-28T20:33:52Z theseb: stamourv: didn't you say you're a teacher with Racket program? 2014-11-28T20:34:37Z oleo quit (Remote host closed the connection) 2014-11-28T20:35:40Z stamourv: theseb: That's just a standard trick that you can use to, e.g., make your compiler simpler. Not sure where I got it. 2014-11-28T20:36:08Z stamourv: theseb: I vut my teeth on compilers with Marc Feeley, could have gotten it from him. 2014-11-28T20:36:13Z stamourv: s/vut/cut/ 2014-11-28T20:36:58Z stamourv: theseb: Can't say I spent much time thinking about minimalism and stuff. As I said earlier, this is irrelevant for programming, and is best left to theory of computation folks. Which I am not. 2014-11-28T20:37:54Z stamourv: theseb: So try having a look at theory of computation, you may enjoy it. Just don't confuse it with programming. :) 2014-11-28T20:38:06Z theseb: stamourv: yea...see that was another clever thing you said...distinguishing between computation theory and programming 2014-11-28T20:38:21Z Vutral joined #scheme 2014-11-28T20:38:40Z oleo joined #scheme 2014-11-28T20:38:44Z stamourv: theseb: As for teaching, I've taught HTDP in the past, yes. I haven't taught in some time, now mostly doing research and some Racket development. 2014-11-28T20:39:28Z stamourv: theseb: Programming and theory of computation are both important aspects of computer science. They are related, but it's important to understand that they have different goals. 2014-11-28T20:39:34Z theseb: yes 2014-11-28T20:39:46Z stamourv: theseb: If you get the chance, I recommend taking classes in both. 2014-11-28T20:40:27Z theseb: i have HtDP on my desk now..meaning to read it 2014-11-28T20:40:30Z theseb: i love SICP too 2014-11-28T20:41:34Z stamourv: I much prefer HTDP. It actually explains things and provides general principles, instead of throwing a bunch of examples at you and expecting you to infer the rest. 2014-11-28T20:42:13Z theseb: stamourv: yea...the criticism i heard is that SICP expects you to learn how to program on your own whereas HtDP teaches you..er...well.. how to actually *design* programs 2014-11-28T20:42:58Z theseb: stamourv: does HtDP break things down and analyze them as deeply as SICP? 2014-11-28T20:42:58Z stamourv: Right. HTDP is much more explicit about it, which (IME) makes it a lot more approachable for more students. 2014-11-28T20:43:16Z theseb: that is what is unique to SICP.....they teach you to understand the core of CS instead of just teaching a language 2014-11-28T20:43:19Z stamourv: What it does cover, it covers deeply. 2014-11-28T20:44:17Z theseb: sadly SICP is too much for a high school student or even most college freshmen perhaps....maybe what world needs is a "SICP-lite" combined with design princples of HtDP 2014-11-28T20:44:22Z stamourv: SICP covers a wider variety of topics, but not very deeply. The assortment of topics is odd, and some of it clings to notions that have been discredited since the 70s. 2014-11-28T20:45:10Z stamourv: If you want to learn about programming, pick up a programming book (e.g. HTDP). If you want to learn about languages, pick up a book about languages (e.g. PLAI, EOPL). Trying to do both at the same time is questionable. 2014-11-28T20:45:15Z alexey1 quit (Remote host closed the connection) 2014-11-28T20:45:30Z theseb: stamourv: i love python but I love how minimal and simple core of lisp is......dunno what your classes were like but students can start making programs with minimal lecturing on what s-exprs are 2014-11-28T20:45:38Z stamourv: Re teaching CS vs a language: Yes, SICP does that, but it's by no means unique. HTDP does the same. 2014-11-28T20:46:25Z stamourv: Re too much: As I said, it's because it's trying to do too many things at once, and ends up both being confusing and covering things poorly. 2014-11-28T20:46:28Z alexey1 joined #scheme 2014-11-28T20:47:06Z theseb: stamourv: sadly i like both lisp and python for teaching......i wonder if a winning class would start with a minimal intro to lisp and then later move to python 2014-11-28T20:47:26Z theseb: stamourv: a big question mark for me is how to segway from lisp to python atm 2014-11-28T20:47:53Z theseb: segue* 2014-11-28T20:48:05Z zeroish joined #scheme 2014-11-28T20:48:12Z stamourv: Just curious, what's your teaching experience? 2014-11-28T20:48:37Z theseb: i'm a physics and math teacher at community college and to homeschoolers 2014-11-28T20:48:46Z theseb: actually just physics at comm coll 2014-11-28T20:49:11Z theseb: mainly dabble in physics , math and programming for homeschoolers 2014-11-28T20:49:12Z stamourv: I like the curriculum we have at NEU, where the first course is HTDP and the second is using similar concepts, but in Java (introducing syntax, types, mutation, indexing, etc.). 2014-11-28T20:49:47Z theseb: stamourv: yea..that's how AP Comp Sci is structured in high school....1st sem is scheme and 2nd sem hits java hard for the spring exam 2014-11-28T20:50:11Z stamourv: That gives students exposure to most of the concepts they'll encounter while programming, which means they can pick up, e.g., python, quite easily. 2014-11-28T20:50:13Z theseb: stamourv: dunno if it would help to shove python in between scheme and java in an AP CS course 2014-11-28T20:50:19Z stamourv: So no need to teach it explicitly. 2014-11-28T20:50:21Z theseb: of one year duration 2014-11-28T20:51:26Z stamourv: I don't see how that would help. Python doesn't have anything that the other two don't. 2014-11-28T20:51:33Z hiroaki joined #scheme 2014-11-28T20:51:45Z stamourv: And is fairly dain-bramaged in many ways, which makes it a bad choice for teaching. 2014-11-28T20:53:18Z theseb: stamourv: 1. Isn't it quite a culture shock to move from scheme to Java? 2. How is python brain damaged? just curious 2014-11-28T20:53:49Z theseb: i'm honestly on the fence about scheme vs. python....furthermore,, i hear arguments for both so confused 2014-11-28T20:54:06Z civodul joined #scheme 2014-11-28T20:54:09Z theseb: both have their pros and cons 2014-11-28T20:54:54Z MichaelRaskin: \\\\ 2014-11-28T20:54:57Z stamourv: Re culture shock: That's the point. Expose students to something different. But since the core ideas of the two courses are the same (e.g. the design recipe) students are not lost at sea. 2014-11-28T20:56:13Z theseb: stamourv: yea......i think i prefer scheme.....sadly i heard python is now #1 teaching language at major USA universities...so that makes me think they must know something i don't 2014-11-28T20:56:22Z stamourv: Re python: The language is a collection of special cases and exceptions. This makes learning it mostly about learning various bits of trivia and specificities. 2014-11-28T20:56:38Z theseb: stamourv: i agree with your point about python not having a clean core 2014-11-28T20:56:45Z stamourv: All of this gets in the way of teaching general principles that apply beyond the language. 2014-11-28T20:57:00Z scoofy: python has too much ___ for my liking. not clean design enough 2014-11-28T20:57:13Z stamourv: Re knowing something that you don't: I doubt it. They're going with what's fashionable. 2014-11-28T20:57:21Z theseb: stamourv: yes....but why do CS departments use python then? ....they abandoned that SICP mentality and HtDP too 2014-11-28T20:57:57Z turbofail: there were never that many CS departments using SICP afaik. most of them were using C++ or java 2014-11-28T20:58:00Z stamourv: And some of them believe that their jobs is to deliver fully-formed interview candidates to the enterprise, and that they are thus doing their students a service by teaching them they language du jour. 2014-11-28T20:58:18Z scoofy: C++ is even ugly, compared to C 2014-11-28T20:58:57Z theseb: turbofail: yes but even MIT switched to Python which is disappointing 2014-11-28T20:59:08Z theseb: turbofail: i think they said it was for a trivial reason like 2014-11-28T20:59:09Z scoofy: I had to totally unlearn all the C++ I knew, to start learning C 2014-11-28T20:59:31Z theseb: turbofail: there were libraries for the robotics that worked with python 2014-11-28T21:00:07Z daviid quit (Ping timeout: 264 seconds) 2014-11-28T21:00:22Z theseb: scoofy: i always avoided C++ :) 2014-11-28T21:01:03Z scoofy: nowadays, me too... after 'unlearning' all the C++, and learning all the beauty of ANSI C, I avoid C++ whenever I can 2014-11-28T21:01:22Z theseb: stamourv: i'd expect that kind of skimping from a trade school but even top universities don't care to teach the deep concepts of CS...that is disappointing.. 2014-11-28T21:01:51Z theseb: scoofy: i love the clean languages like C and lisp....and compared to perl python is "clean" too 2014-11-28T21:02:16Z taylanub: since when is C clean? :P 2014-11-28T21:02:26Z theseb: taylanub: relative to C++! :) 2014-11-28T21:02:42Z taylanub: everything is clean relative to C++ :D 2014-11-28T21:02:45Z theseb: the worst of all possible world but be some pinhead that love perl and C++ 2014-11-28T21:03:07Z theseb: that makes we want to vomit....the thought that some students mainly use perl and C++ 2014-11-28T21:03:21Z theseb: and they love it too 2014-11-28T21:03:33Z scoofy: perl is hacky. ugly but efficient 2014-11-28T21:03:42Z scoofy: that could be said of C++ too 2014-11-28T21:03:55Z theseb: and common lisp! ;) 2014-11-28T21:03:59Z stamourv: theseb: Re teaching deep concepts of CS: That's not accurate. They still teach deep concepts of, e.g., algorithms, data structures, systems, ToC. They are not teaching deep concepts of *programming*. 2014-11-28T21:04:49Z stamourv: theseb: The reason for this is that a lot of faculty don't think that there's anything fundamental in programming, that it's mostly a matter of fashion. 2014-11-28T21:05:22Z stamourv: Or worse, that languages/etc. don't matter, because they're all equivalent (in the Turing-equivalence sense). 2014-11-28T21:05:29Z theseb: stamourv: where would the whole topic of lisp being able to build of from a subset of primitives and special forms and evaluation rules fit in? 2014-11-28T21:05:41Z stamourv: (Which is another very important difference between ToC and programming.) 2014-11-28T21:05:41Z theseb: stamourv: to be built up* 2014-11-28T21:05:49Z stamourv: theseb: It does not. 2014-11-28T21:05:59Z theseb: stamourv: is that CS or programming? 2014-11-28T21:06:11Z stamourv: It's at best a curiosity. Or a nice side observation in a ToC course. 2014-11-28T21:06:32Z sheilong quit (Quit: Konversation terminated!) 2014-11-28T21:06:33Z theseb: stamourv: aw man..that sucks...because the infrastructure of lisp is soo beautiful and elegant 2014-11-28T21:07:06Z stamourv: You can use it to make a point about modularity and orthogonality is programming (in which case, yes, it's relevant to programming). But on its own, it's at best cute. 2014-11-28T21:07:09Z theseb: stamourv: i love how you can write all of lisp from a few pieces ....Paul Graham says those pieces are like the axioms of lisp..that was breathtaking to me 2014-11-28T21:07:31Z stamourv: Yes, it's cute. But that's all there is to it. 2014-11-28T21:08:18Z stamourv: And frankly, I find this kind of talk (talk of axioms, Maxwell's equation) more akin to mysticism than to either science or engineering. 2014-11-28T21:09:01Z theseb: stamourv: if you would have replaced mysticism with mathematics i would have agreed with you 2014-11-28T21:09:11Z stamourv: There is a place for beauty in this world, and it *is* a beautiful idea. But we need to not confuse beauty and utility. 2014-11-28T21:09:36Z theseb: stamourv: you may be a more practical person....i wonder if somehow lisp would belong in a math class somehow 2014-11-28T21:09:50Z stamourv: theseb: If you want mathematics, then look at the lambda calculus. That's a solid mathematical system, and it's minimalist. 2014-11-28T21:09:53Z theseb: stamourv: start with the "axioms" of lisp...etc....that'd be awesome 2014-11-28T21:10:24Z stamourv: The kind of "ur-lisp" that you're talking about is essentially just an awkward middle ground. 2014-11-28T21:10:25Z theseb: stamourv: yes but lambda cal is TOO impractical....Racket/Scheme subset is just a tad more practical 2014-11-28T21:10:42Z stamourv: Not minimalist, elegant, and mathematically solid like lambda calculi. 2014-11-28T21:10:55Z theseb: i always thought McCarthy was trying to make a "practical lambda calculus" when he invented lisp 2014-11-28T21:11:03Z stamourv: And not a useful engineering tool, like more modern programming languages. 2014-11-28T21:11:18Z stamourv: theseb: Right, he made a practical lambda calculus-like for the 60s. 2014-11-28T21:11:51Z theseb: i guess ToC/elegance and PLT/utility and at far ends of a spectrum 2014-11-28T21:12:04Z theseb: everyone has their place along the spectrum they like to play in 2014-11-28T21:12:07Z stamourv: Programming was different then. We need to evolve. And that's what languages like, say, Racket or Clojure do. Take the good, solid ideas from the Lisp tradition, but include the things we've learned since then, and adapt to what programming is like today. 2014-11-28T21:12:12Z theseb: it is matter of taste how mathematical you want to go 2014-11-28T21:12:37Z theseb: at one extreme you play with lambda cal...at the other end you optimize common lisp code 2014-11-28T21:12:44Z theseb: or java 2014-11-28T21:12:47Z theseb: or c sharp 2014-11-28T21:12:47Z hiroaki quit (Ping timeout: 255 seconds) 2014-11-28T21:13:07Z stamourv: Re your above comment (was typing too much to read :) ) Yes, I would consider myself a practical person, but I can appreciate beautiful mathematics. It's just that, as I said above, early lisp is not it. 2014-11-28T21:13:29Z pnpuff: stamourv: which came first, the chicken or the egg? 2014-11-28T21:14:46Z stamourv: theseb: Re ToC vs programming: I recommend this: http://www.ccs.neu.edu/home/matthias/OnHtDP/turing_is_useless.html 2014-11-28T21:14:51Z taylanub: .oO( presumably there were many egg-laying birds before the chicken ) 2014-11-28T21:14:56Z stamourv: pnpuff: Context? 2014-11-28T21:15:56Z theseb: stamourv: Racket is trying to do what i'm saying...your trying to have it both ways too like me 2014-11-28T21:16:28Z theseb: stamourv: Racket tries to have the elegance of lisp and the practicality of other languages 2014-11-28T21:16:45Z theseb: stamourv: it is a dream like i'm wishing i had....both in one language! 2014-11-28T21:16:48Z theseb: stamourv: you're* 2014-11-28T21:17:18Z theseb: stamourv: so you aren't that different from me after all :) 2014-11-28T21:17:33Z jumblerg joined #scheme 2014-11-28T21:17:49Z stamourv: Right, but that has more to do with elegance and orthogonality in design (a key concept in engineering in general) than any kind of minimalism. 2014-11-28T21:18:00Z theseb: stamourv: if isn't as academic as lambda calculus nor as ugly and practical and python or java 2014-11-28T21:18:03Z stamourv: It's the cult of minimalism that I object to. 2014-11-28T21:18:09Z theseb: s/and/as 2014-11-28T21:20:55Z theseb: stamourv: i may have misspoken...i don't reduce things to their minimal essentials because i want to stay there...my goals are to go there to understand really well what is happening under the hood...then slowly build up from there ...if that clarifies things 2014-11-28T21:21:49Z theseb: stamourv: i'm a physicist.....we like to reduce things and understand how all the pieces fit together...it is also a math way of thinking 2014-11-28T21:21:59Z theseb: axioms...n' all that 2014-11-28T21:22:38Z stamourv: Right, that's useful when building models. 2014-11-28T21:23:00Z stamourv: And in fact, a lot of programming language researchers do similar things when they're trying to understand, e.g., a new language feature. 2014-11-28T21:23:20Z stamourv: But my claim is that this is not the mindset you want to have when programming. 2014-11-28T21:23:41Z theseb: stamourv: yes..models is a great word...lisp's system has a discoverable model whereas syntax heavy languages not so much 2014-11-28T21:24:08Z theseb: stamourv: you may be right about me having the wrong mindset 2014-11-28T21:24:21Z stamourv: (Oh, and boiling down languages to smaller sets of constructs is also very useful when writing compilers. See the Orbit paper and the Languages as Libraries paper for examples.) 2014-11-28T21:24:25Z theseb: stamourv: i may be applying my mindset from physics and math to an area it doesn't belong 2014-11-28T21:24:34Z stamourv: Syntax is a red herring there. 2014-11-28T21:24:48Z stamourv: There are nice and simple models of, say, the core of Java. 2014-11-28T21:25:19Z stamourv: Heck, lambda-JS is a core calculus for JavaScript. (Wouldn't call it small, though.) 2014-11-28T21:25:21Z theseb: stamourv: perhaps but i wasn't taught those models in my java class :( 2014-11-28T21:25:48Z stamourv: Right, they're useful when studying languages themselves as objects of study. Not so much for programming. 2014-11-28T21:26:00Z stamourv: They are both interesting activities (and I do both!) but they're distinct. 2014-11-28T21:26:08Z theseb: yea..i see what you mean 2014-11-28T21:26:14Z Khisanth quit (Ping timeout: 256 seconds) 2014-11-28T21:26:16Z stamourv: Maybe you want to do the former, then. :) 2014-11-28T21:26:31Z theseb: so tell me again what do you call what i'm interested in? 2014-11-28T21:26:37Z theseb: "modelling languages" ? 2014-11-28T21:26:47Z stamourv: But even then, models are just that, models. Useful for understanding phenomena, but necessarily an abstraction of reality. 2014-11-28T21:27:07Z stamourv: I think you may be interested in the study of programming languages. 2014-11-28T21:27:13Z theseb: PLT! 2014-11-28T21:27:24Z Khisanth joined #scheme 2014-11-28T21:27:30Z stamourv: "Modeling languages" are something else, related to specifications, UML, etc. More of an SE thing. 2014-11-28T21:27:54Z theseb: ok...then i want to make a high school math class that is the basics of PLT...that'd be awesome...i'd start with lisp pieces and lambda cal... 2014-11-28T21:28:01Z stamourv: Re the PLT acronym: That acronym is not actually used at all within the research community, except to refer to PLT the research group, who develops Racket. 2014-11-28T21:28:02Z theseb: i'd have then write eval in lisp 2014-11-28T21:28:29Z stamourv: If you want to get into PL (the acronym that we *do* use), I highly recommend PLAI. 2014-11-28T21:28:34Z stamourv: Freely available online, too! 2014-11-28T21:28:45Z stamourv: https://cs.brown.edu/~sk/Publications/Books/ProgLangs/ 2014-11-28T21:29:19Z theseb: cool..thanks! 2014-11-28T21:29:20Z stamourv: Shriram is one of the most interesting researchers in the field, IMO. 2014-11-28T21:29:43Z theseb: but i don't want to get too heavy....just scratch surface 2014-11-28T21:29:51Z theseb: high school student level i.e. 2014-11-28T21:30:15Z stamourv: My understanding is that the topics it covers are fairly independent, so you can probably pick bits and pieces here and there. 2014-11-28T21:30:31Z stamourv: But then again, not sure it's a good idea for students who don't have any exposure to programming. 2014-11-28T21:30:37Z stamourv: I was more recommending it for yourself. 2014-11-28T21:30:41Z theseb: ah 2014-11-28T21:30:55Z alexey1 quit (Remote host closed the connection) 2014-11-28T21:32:02Z theseb: PL is interesting and odd because it is academic yet it is not exactly computation theory 2014-11-28T21:32:15Z theseb: like turing machines and lambda cal 2014-11-28T21:32:32Z stamourv: Right, they're different subdisciplines. 2014-11-28T21:32:44Z stamourv: There's a lot of different subdisciplines within CS. 2014-11-28T21:34:12Z theseb: well thanks for the conversation..it was very enlightening....think i'll go rest now 2014-11-28T21:35:39Z stamourv: No problem, take care! 2014-11-28T21:44:38Z excelsior quit (Quit: leaving) 2014-11-28T21:47:25Z kongtomorrow quit 2014-11-28T22:02:34Z pnpuff quit (Quit: Lost terminal) 2014-11-28T22:08:17Z stepnem quit (Ping timeout: 264 seconds) 2014-11-28T22:10:06Z Guest14316 joined #scheme 2014-11-28T22:14:49Z fantazo quit (Quit: Verlassend) 2014-11-28T22:21:57Z bjz quit (Ping timeout: 240 seconds) 2014-11-28T22:26:35Z vinleod joined #scheme 2014-11-28T22:28:13Z theseb quit (Remote host closed the connection) 2014-11-28T22:30:17Z hypermagic quit (Ping timeout: 272 seconds) 2014-11-28T22:42:30Z hypermagic joined #scheme 2014-11-28T22:44:36Z oldskirt_ joined #scheme 2014-11-28T22:47:48Z vraid joined #scheme 2014-11-28T22:48:22Z oldskirt quit (Ping timeout: 240 seconds) 2014-11-28T22:53:41Z alezost quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-28T22:53:58Z civodul quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-28T23:09:37Z davexunit joined #scheme 2014-11-28T23:23:37Z phipes joined #scheme 2014-11-28T23:26:51Z mdibound quit (Quit: Be back later ...) 2014-11-28T23:27:24Z mdibound joined #scheme 2014-11-28T23:31:37Z mdibound quit (Ping timeout: 240 seconds) 2014-11-28T23:39:38Z kongtomorrow joined #scheme 2014-11-28T23:54:51Z theseb joined #scheme 2014-11-28T23:56:00Z theseb: help! trying to write a zip function that combines 2 lists this way... (zip '(x y z) '(a b c)) -> ( (x a) (y b) (z c) ) 2014-11-28T23:56:08Z theseb: i got this far.. http://pastebin.com/EAfr2eDB 2014-11-28T23:56:30Z theseb: problem is i don't have to "exit" ....right now i return '() when done but that is wrong 2014-11-28T23:56:52Z theseb: s/have to/know how 2014-11-28T23:57:18Z theseb: i could safe the answer in an accumulator but wondered if there was a stateless way to do it 2014-11-28T23:57:20Z theseb: save*