2015-03-19T00:03:09Z hellofunk quit (Ping timeout: 245 seconds) 2015-03-19T00:08:25Z AkashicLegend joined #scheme 2015-03-19T00:10:10Z bb010g quit (Quit: Connection closed for inactivity) 2015-03-19T00:13:04Z sethalves quit (Quit: Leaving.) 2015-03-19T00:16:53Z bb010g joined #scheme 2015-03-19T00:18:56Z davexunit: danly: what does global add that geiser can't do? M-. already jumps you to the definition of the object on the cursor, for instance. 2015-03-19T00:23:47Z ijp quit (Quit: brb reversing entropy) 2015-03-19T00:30:16Z c74d quit (Ping timeout: 272 seconds) 2015-03-19T00:35:49Z jlongster quit (Ping timeout: 264 seconds) 2015-03-19T00:36:19Z hiroaki quit (Ping timeout: 252 seconds) 2015-03-19T00:37:04Z hiroakip quit (Ping timeout: 256 seconds) 2015-03-19T00:41:40Z amgarchIn9 quit (Ping timeout: 272 seconds) 2015-03-19T00:41:48Z AkashicLegend quit (Quit: AkashicLegend) 2015-03-19T00:45:34Z {-}grant joined #scheme 2015-03-19T00:58:55Z sethalves joined #scheme 2015-03-19T01:03:00Z jlongster joined #scheme 2015-03-19T01:07:51Z jlongster quit (Ping timeout: 252 seconds) 2015-03-19T01:20:44Z {-}grant quit (Remote host closed the connection) 2015-03-19T01:21:27Z {-}grant joined #scheme 2015-03-19T01:27:30Z balkamos quit (Ping timeout: 256 seconds) 2015-03-19T01:28:34Z xfz quit (Ping timeout: 265 seconds) 2015-03-19T01:28:38Z balkamos joined #scheme 2015-03-19T01:28:41Z xfz_ joined #scheme 2015-03-19T01:30:44Z davexunit quit (Quit: Later) 2015-03-19T01:31:44Z kongtomorrow quit 2015-03-19T01:34:27Z jlongster joined #scheme 2015-03-19T01:43:23Z amgarchIn9 joined #scheme 2015-03-19T01:46:53Z kongtomorrow joined #scheme 2015-03-19T01:48:47Z jumblerg joined #scheme 2015-03-19T01:52:55Z kongtomorrow quit 2015-03-19T02:00:18Z turtleman_ quit (Ping timeout: 264 seconds) 2015-03-19T02:10:20Z yasha9 quit (Ping timeout: 272 seconds) 2015-03-19T02:13:36Z kongtomorrow joined #scheme 2015-03-19T02:15:17Z flounders quit (Quit: Konversation terminated!) 2015-03-19T02:16:02Z excelsior joined #scheme 2015-03-19T02:18:54Z echo-area joined #scheme 2015-03-19T02:28:36Z Flaoer joined #scheme 2015-03-19T02:30:05Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2015-03-19T02:30:18Z frkout joined #scheme 2015-03-19T02:35:56Z joast quit (Quit: Leaving.) 2015-03-19T02:43:19Z sethalves quit (Quit: Leaving.) 2015-03-19T02:44:53Z sethalves joined #scheme 2015-03-19T02:49:25Z hiyosi quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2015-03-19T02:50:43Z theseb joined #scheme 2015-03-19T02:53:20Z sethalves quit (Quit: Leaving.) 2015-03-19T02:54:21Z sethalves joined #scheme 2015-03-19T02:59:06Z amgarchIn9 quit (Ping timeout: 272 seconds) 2015-03-19T03:01:46Z sdothum quit (Quit: ZNC - 1.6.0 - http://znc.in) 2015-03-19T03:02:54Z Flaoer quit (Ping timeout: 272 seconds) 2015-03-19T03:03:21Z sethalves quit (Quit: Leaving.) 2015-03-19T03:04:26Z sethalves joined #scheme 2015-03-19T03:04:49Z joast joined #scheme 2015-03-19T03:14:34Z Flaoer joined #scheme 2015-03-19T03:20:00Z xyh joined #scheme 2015-03-19T03:20:23Z mumptai quit (Ping timeout: 246 seconds) 2015-03-19T03:34:08Z mumptai joined #scheme 2015-03-19T03:35:26Z ecthiender joined #scheme 2015-03-19T03:38:18Z jumblerg joined #scheme 2015-03-19T03:40:52Z jeapostrophe joined #scheme 2015-03-19T03:44:15Z ArneBab_ joined #scheme 2015-03-19T03:45:31Z jeapostrophe quit (Ping timeout: 252 seconds) 2015-03-19T03:47:24Z ArneBab quit (Ping timeout: 246 seconds) 2015-03-19T03:49:01Z taylanub quit (Disconnected by services) 2015-03-19T03:49:43Z taylanub joined #scheme 2015-03-19T03:58:38Z c74d joined #scheme 2015-03-19T04:05:56Z sethalves quit (Quit: Leaving.) 2015-03-19T04:06:19Z solrize: is there some reason geiser is on github instead of savannah? i don't want to open a github account 2015-03-19T04:06:58Z sethalves joined #scheme 2015-03-19T04:13:35Z adu joined #scheme 2015-03-19T04:14:42Z excelsior quit (Quit: Lost terminal) 2015-03-19T04:16:21Z excelsior joined #scheme 2015-03-19T04:32:05Z akkad quit (Ping timeout: 252 seconds) 2015-03-19T04:37:42Z akkad joined #scheme 2015-03-19T04:43:22Z vdamewood joined #scheme 2015-03-19T04:51:23Z sethalves quit (Quit: Leaving.) 2015-03-19T04:51:48Z sethalves joined #scheme 2015-03-19T04:58:14Z Sgeo quit (Remote host closed the connection) 2015-03-19T05:01:24Z sethalves quit (Quit: Leaving.) 2015-03-19T05:03:50Z sethalves joined #scheme 2015-03-19T05:04:57Z Sgeo joined #scheme 2015-03-19T05:06:26Z sethalves quit (Client Quit) 2015-03-19T05:09:37Z sethalves joined #scheme 2015-03-19T05:11:26Z sethalves quit (Client Quit) 2015-03-19T05:12:28Z sethalves joined #scheme 2015-03-19T05:13:22Z jlongster quit (Ping timeout: 272 seconds) 2015-03-19T05:16:26Z sethalves quit (Client Quit) 2015-03-19T05:16:51Z sethalves joined #scheme 2015-03-19T05:17:28Z excelsior quit (Quit: Lost terminal) 2015-03-19T05:21:28Z sethalves quit (Client Quit) 2015-03-19T05:21:35Z frkout quit (Remote host closed the connection) 2015-03-19T05:22:02Z frkout joined #scheme 2015-03-19T05:23:58Z sethalves joined #scheme 2015-03-19T05:26:28Z sethalves quit (Client Quit) 2015-03-19T05:26:54Z sethalves joined #scheme 2015-03-19T05:27:00Z Riastradh joined #scheme 2015-03-19T05:31:31Z sethalves quit (Client Quit) 2015-03-19T05:33:35Z sethalves joined #scheme 2015-03-19T05:36:29Z sethalves quit (Client Quit) 2015-03-19T05:37:37Z sethalves joined #scheme 2015-03-19T05:38:13Z mrowe is now known as mrowe_away 2015-03-19T05:39:49Z theseb quit (Quit: Leaving) 2015-03-19T05:41:31Z sethalves quit (Client Quit) 2015-03-19T05:42:01Z sethalves joined #scheme 2015-03-19T05:53:58Z sethalves quit (Ping timeout: 244 seconds) 2015-03-19T05:55:58Z RexButler_ joined #scheme 2015-03-19T05:56:22Z RexButler_: I just purchased SICP 2015-03-19T05:56:35Z RexButler_: Which implementation of scheme should I use? 2015-03-19T05:56:40Z RexButler_: I have MIT scheme so far 2015-03-19T05:56:53Z kongtomorrow: RexButler_: that's fine if you've got it running 2015-03-19T05:57:08Z RexButler_: I just want to run a file 2015-03-19T05:57:22Z RexButler_: I don't even know what extension to use 2015-03-19T05:58:50Z kongtomorrow: shouldn't matter what extension you use, but you can use scm 2015-03-19T06:00:50Z RexButler_: Okay, got it. I was expecting mit-scheme to be scm 2015-03-19T06:02:49Z RexButler_: Strange that I need the -f option... (thinking out loud) 2015-03-19T06:03:18Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2015-03-19T06:04:10Z oleo_ quit (Quit: Leaving) 2015-03-19T06:04:33Z RexButler_: How do I get mit-scheme to execute a scheme file? 2015-03-19T06:04:43Z RexButler_: I'm assuming mit-scheme != scm 2015-03-19T06:05:01Z mtakkman joined #scheme 2015-03-19T06:05:10Z Riastradh: scheme --batch-mode --load foo.scm --eval '(%exit 0)' 2015-03-19T06:06:06Z RexButler_: Ugh. Is that not a normal use case for mit scheme? 2015-03-19T06:07:18Z Riastradh: It's an old program that has accreted over the decades. 2015-03-19T06:07:45Z RexButler_: Is scm fine for reading through sicp? 2015-03-19T06:08:54Z Riastradh: *shrug* You may have to play with some things, and the picture language won't be supported, but the same is true of MIT Scheme. I hear Racket has a well-maintained SICP compatibility module. 2015-03-19T06:14:42Z xyh quit (Ping timeout: 265 seconds) 2015-03-19T06:17:57Z echo-area quit (Remote host closed the connection) 2015-03-19T06:18:47Z jewel joined #scheme 2015-03-19T06:18:59Z echo-area joined #scheme 2015-03-19T06:23:30Z vdamewood quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2015-03-19T06:30:32Z RexButler_: tx working 2015-03-19T06:30:39Z RexButler_ quit (Remote host closed the connection) 2015-03-19T06:31:19Z mtakkman quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-03-19T06:42:22Z kongtomorrow: I worked through SICP with Racket+SICP package (which is actually unmaintained) 2015-03-19T06:42:34Z Vutral quit (Ping timeout: 256 seconds) 2015-03-19T06:42:54Z kongtomorrow: it worked fine, but MIT scheme is what SICP was written against. 2015-03-19T06:43:28Z kongtomorrow: Racket was (for me) a lot easier to get running. 2015-03-19T06:43:47Z Riastradh: Well, MIT Scheme as of many years ago. The SICP support has bit-rotted. 2015-03-19T06:53:42Z ehaliewicz quit (Ping timeout: 264 seconds) 2015-03-19T06:57:07Z edgar-rft joined #scheme 2015-03-19T06:58:08Z Vutral joined #scheme 2015-03-19T07:14:46Z amgarchIn9 joined #scheme 2015-03-19T07:16:55Z snoopybbt quit (Ping timeout: 250 seconds) 2015-03-19T07:20:49Z amgarchIn9 quit (Ping timeout: 264 seconds) 2015-03-19T07:25:55Z frkout quit (Remote host closed the connection) 2015-03-19T07:31:04Z wingo joined #scheme 2015-03-19T07:36:51Z Flaoer quit (Ping timeout: 250 seconds) 2015-03-19T07:41:40Z zadock joined #scheme 2015-03-19T08:01:37Z psy_ quit (Ping timeout: 264 seconds) 2015-03-19T08:04:32Z jewel quit (Ping timeout: 252 seconds) 2015-03-19T08:05:07Z dmiles_afk quit (Ping timeout: 252 seconds) 2015-03-19T08:05:24Z dmiles_afk joined #scheme 2015-03-19T08:08:02Z dmiles_afk quit (Read error: Connection reset by peer) 2015-03-19T08:10:27Z dmiles_afk joined #scheme 2015-03-19T08:12:07Z dmiles_afk quit (Read error: Connection reset by peer) 2015-03-19T08:15:32Z solrize: SICP uses a pretty simple subset of scheme, almost any implementation will work, i use guile which is somewhat stripped down 2015-03-19T08:15:43Z solrize: racket might be the nicest choice these days 2015-03-19T08:16:30Z jewel joined #scheme 2015-03-19T08:18:19Z taylanub: solrize: for what do you need a github account? if for sending patches, I guess you could do it per e-mail. 2015-03-19T08:18:48Z solrize: yeah i guess if there's an address. similarly for reporting issues 2015-03-19T08:23:54Z solrize: does anyone use clojure? how jvm dependent is it, i.e. is it a good lisp/scheme dialect in its own right? 2015-03-19T08:25:04Z taylanub: probably google can answer that better, or #clojure 2015-03-19T08:27:46Z solrize: yeah well google probably isn't that helpful and #clojure will be java partisans :) 2015-03-19T08:28:10Z solrize: nite 2015-03-19T08:30:25Z taylanub: I don't think there will be a problem unless you put on some anti-Java hat. 2015-03-19T08:40:58Z wasamasa: solrize: well, it's a language running on the jvm 2015-03-19T08:41:12Z wasamasa: solrize: the official clojurescript variant still has a dependency on clojure for bootstrapping 2015-03-19T08:41:17Z wasamasa: solrize: and expansion of macros 2015-03-19T08:41:32Z taylanub: I faintly remember work on some non-JVM clojure 2015-03-19T08:41:45Z wasamasa: solrize: there's other inofficial variants, but the problem with these is that you have a lot less extensions to choose from 2015-03-19T08:42:20Z wasamasa: besides the usual problem such as less eyeballs looking at these :P 2015-03-19T08:43:54Z nee joined #scheme 2015-03-19T08:46:10Z psy_ joined #scheme 2015-03-19T08:47:55Z leppie quit (Ping timeout: 265 seconds) 2015-03-19T08:52:45Z leppie joined #scheme 2015-03-19T08:55:12Z agumonkey joined #scheme 2015-03-19T08:55:16Z rszeno joined #scheme 2015-03-19T08:59:06Z adu quit (Quit: adu) 2015-03-19T09:09:29Z jewel quit (Ping timeout: 256 seconds) 2015-03-19T09:19:15Z larion joined #scheme 2015-03-19T09:19:48Z msgodf joined #scheme 2015-03-19T09:23:44Z leppie quit (Ping timeout: 252 seconds) 2015-03-19T09:28:37Z leppie joined #scheme 2015-03-19T09:32:50Z jewel joined #scheme 2015-03-19T09:35:51Z robot-beethoven quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-03-19T09:40:16Z bb010g quit (Quit: Connection closed for inactivity) 2015-03-19T09:41:01Z civodul joined #scheme 2015-03-19T09:45:07Z vraid quit (Ping timeout: 255 seconds) 2015-03-19T10:01:19Z rszeno quit (Read error: Connection reset by peer) 2015-03-19T10:05:10Z jewel quit (Ping timeout: 252 seconds) 2015-03-19T10:09:46Z jewel joined #scheme 2015-03-19T10:15:27Z hiroaki joined #scheme 2015-03-19T10:15:44Z hiroakip joined #scheme 2015-03-19T10:17:07Z jewel quit (Ping timeout: 252 seconds) 2015-03-19T10:19:20Z technomancy: solrize: you make it sound like "jvm dependent" and "a good lisp in its own right" are mutually exclusive 2015-03-19T10:20:38Z amgarchIn9 joined #scheme 2015-03-19T10:29:25Z vraid joined #scheme 2015-03-19T10:30:33Z jewel joined #scheme 2015-03-19T10:33:30Z gravicappa joined #scheme 2015-03-19T10:38:05Z kaihaosw joined #scheme 2015-03-19T10:39:02Z kaihaosw quit (Remote host closed the connection) 2015-03-19T10:39:18Z kephra: solrize, I do not use clojure. Just looked at it, and disliked immediate that Clojure code are not S-Expressions, e.g. (let [a b] c) uses a vector, same with lambda definitions 2015-03-19T10:40:08Z kephra: 2nd I would prefer a common Lisp, to use ASDF based package management, and Lisp code 2015-03-19T10:40:26Z kephra: ABCL might be an alternative for Lisp on JVM 2015-03-19T10:40:27Z technomancy: kephra: I don't think you understand what "S-Expressions" means 2015-03-19T10:44:19Z kephra: technomancy, according to Wikipedia an S-Expression is only for cons cell based lists, not vectors 2015-03-19T10:44:49Z technomancy: that's a rubbish definition 2015-03-19T10:45:44Z redeemed joined #scheme 2015-03-19T10:46:57Z kephra: browsing over csail, MIT has no other definition 2015-03-19T10:47:14Z technomancy: scheme code contains string literals even though strings weren't part of the original lisp definition; does that mean it's not made up of s-expressions? 2015-03-19T10:47:36Z kephra: strings are atoms 2015-03-19T10:49:56Z technomancy: vectors are data structures. homoiconicity means programs expressed as data structures. 2015-03-19T10:50:35Z technomancy: https://en.wikipedia.org/wiki/No_true_Scotsman 2015-03-19T10:50:37Z fds: Surely strings are not atoms in any Scheme which supports SRFI-13 (string-ref and string-set!)? 2015-03-19T10:52:09Z wasamasa: lol 2015-03-19T10:52:20Z fds: I mean, they're decomposable in exactly the same way as vectors, so surely their atomic status is equal. 2015-03-19T10:53:11Z frkout joined #scheme 2015-03-19T10:53:14Z kephra: but a string does not have a semantics meaning - what I dislike in Clojure is to use vectors for let and lambda parameters 2015-03-19T10:53:40Z wasamasa: let's dislike scheme dialects where this works, too 2015-03-19T10:53:53Z technomancy: sure, then say you don't like it because it's different 2015-03-19T10:54:20Z technomancy: not because it's "insufficiently pure" 2015-03-19T10:54:46Z kephra: i dislike it because its totally incompatible 2015-03-19T10:54:48Z wasamasa: "Racket is insufficiently pure!" 2015-03-19T10:54:58Z kephra: preventing any lisp code to cut'n'paste to clojure 2015-03-19T10:55:04Z wasamasa: wat 2015-03-19T10:55:19Z wasamasa: these are just convention 2015-03-19T10:55:32Z technomancy: hahaha 2015-03-19T10:56:58Z mettekou joined #scheme 2015-03-19T10:57:03Z wasamasa: and what kind of bullshit reason is that 2015-03-19T10:57:08Z wasamasa: these are different languages 2015-03-19T10:57:25Z wasamasa: you don't complain either that you cannot copy-paste C# into your java codebase, do you 2015-03-19T10:57:46Z technomancy: rudybot: different is bad, mkay? 2015-03-19T10:57:47Z rudybot: technomancy: mkay 2015-03-19T10:58:15Z hiroaki quit (Ping timeout: 246 seconds) 2015-03-19T10:58:21Z kephra: but I complain that all crippled curly braces ALGOL like languages only have global and local variables and not a nested stack of functions 2015-03-19T10:58:42Z hiroakip quit (Ping timeout: 252 seconds) 2015-03-19T10:58:44Z wasamasa: :| 2015-03-19T10:59:13Z jewel quit (Ping timeout: 264 seconds) 2015-03-19T10:59:29Z kephra: well but back to Lisp like languages: I either want a common Lisp, that is able to run Lisp code - or I want a small lisp = scheme 2015-03-19T10:59:53Z kephra: but I do not want a big Lisp like language, that even breaks with basic Lisp syntax 2015-03-19T10:59:59Z wasamasa: ... 2015-03-19T11:00:11Z wasamasa: you could just write that you don't like clojure for facetious reasons 2015-03-19T11:01:10Z taylanub: fds: strings cannot contain arbitrary Scheme objects, but in any case "atom" is a vague term not used in RnRS documents or other specs IIRC 2015-03-19T11:01:17Z jewel joined #scheme 2015-03-19T11:02:47Z taylanub: fds: (consider also how a number has an imaginary part and a real part, making it a "structure" too...) 2015-03-19T11:03:28Z fds: taylanub: That's of course true, and you're right AFAIK as well. 2015-03-19T11:04:41Z pjb: but really a number has a magnitude and a phase. 2015-03-19T11:08:29Z taylanub: kephra: you seem too fixated on some mythical "true Lisp". Elisp, Scheme, CL, Clojure, and a bunch of others, are all different members of the lisp family. there is also Factor, which is a Lisp with ALGOL syntax if you will. and there was some Lisp with no proper GC but I forgot its name... TL;DR: arguing what's lisp and what not is silly. oh and Clojure does certainly use s-expression-based 2015-03-19T11:08:29Z taylanub: syntax; there's no one sexpr specification and Scheme and CL and Elisp all differ already 2015-03-19T11:08:47Z redeemed quit (Quit: q) 2015-03-19T11:09:17Z redeemed joined #scheme 2015-03-19T11:09:58Z hiroaki joined #scheme 2015-03-19T11:10:18Z hiroakip joined #scheme 2015-03-19T11:14:00Z redeemed quit (Client Quit) 2015-03-19T11:14:24Z redeemed joined #scheme 2015-03-19T11:16:03Z pjb: but the difference is not at the syntactic level. 2015-03-19T11:16:16Z mettekou quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2015-03-19T11:16:18Z pjb: Since sexps are data structures, as long as you have common data, you have one sexp. 2015-03-19T11:16:29Z pjb: The rest is just emacs lacking reader macros. 2015-03-19T11:16:30Z pjb: 2015-03-19T11:17:00Z pjb: The real difference being with scheme that has () different from #f and from nil. 2015-03-19T11:17:43Z pjb: so a sexp as returned by (cl:cons 1 cl:nil) is different than (scheme:cons 1 'scheme:()) 2015-03-19T11:18:43Z jewel quit (Ping timeout: 255 seconds) 2015-03-19T11:22:16Z ecraven: pjb: also, Scheme didn't (still doesn't?) have keywords, so you run into problems with typical lisp alists 2015-03-19T11:22:21Z echo-area quit (Read error: Connection reset by peer) 2015-03-19T11:24:42Z sdothum joined #scheme 2015-03-19T11:30:53Z jewel joined #scheme 2015-03-19T11:31:19Z amgarchIn9 quit (Ping timeout: 255 seconds) 2015-03-19T11:32:48Z hiroakip quit (Ping timeout: 252 seconds) 2015-03-19T11:33:07Z hiroaki quit (Ping timeout: 255 seconds) 2015-03-19T11:36:12Z przl joined #scheme 2015-03-19T11:36:25Z xyh joined #scheme 2015-03-19T11:43:32Z mettekou joined #scheme 2015-03-19T11:47:57Z uber_hulk joined #scheme 2015-03-19T11:48:01Z hiyosi joined #scheme 2015-03-19T11:53:53Z przl quit (Ping timeout: 246 seconds) 2015-03-19T11:55:11Z pjb` joined #scheme 2015-03-19T11:57:13Z pjb quit (Ping timeout: 256 seconds) 2015-03-19T12:00:00Z kongtomorrow quit 2015-03-19T12:02:58Z mtakkman joined #scheme 2015-03-19T12:03:08Z davexunit joined #scheme 2015-03-19T12:09:35Z pjb` is now known as pjb 2015-03-19T12:19:28Z przl joined #scheme 2015-03-19T12:24:32Z amgarchIn9 joined #scheme 2015-03-19T12:29:54Z echo-area joined #scheme 2015-03-19T12:31:13Z jewel quit (Ping timeout: 256 seconds) 2015-03-19T12:31:51Z taylanub: ecraven: I thought alists typically use plain symbols (or arbitrary objects) as keys, and plists use keywords 2015-03-19T12:32:04Z taylanub: maybe it's different in CL 2015-03-19T12:34:28Z badkins joined #scheme 2015-03-19T12:38:40Z ecthiender quit (Quit: gotta go) 2015-03-19T12:40:28Z turtleman_ joined #scheme 2015-03-19T12:42:54Z przl quit (Ping timeout: 264 seconds) 2015-03-19T12:44:01Z jewel joined #scheme 2015-03-19T12:45:07Z alezost joined #scheme 2015-03-19T12:59:57Z echo-area quit (Remote host closed the connection) 2015-03-19T13:05:06Z jewel quit (Ping timeout: 264 seconds) 2015-03-19T13:08:52Z turtleman_ quit (Ping timeout: 252 seconds) 2015-03-19T13:22:19Z hiroakip joined #scheme 2015-03-19T13:22:22Z hiroaki joined #scheme 2015-03-19T13:26:09Z NaNDude quit (Quit: Leaving) 2015-03-19T13:27:25Z c74d quit (Remote host closed the connection) 2015-03-19T13:30:09Z c74d joined #scheme 2015-03-19T13:30:43Z amgarchIn9 quit (Ping timeout: 256 seconds) 2015-03-19T13:31:51Z ski: taylanub : hm, haven't seen Factor described as a Lisp before .. 2015-03-19T13:32:51Z agumonkey quit (Quit: ZNC - http://znc.in) 2015-03-19T13:33:49Z agumonkey joined #scheme 2015-03-19T13:38:24Z sethalves joined #scheme 2015-03-19T13:38:54Z przl joined #scheme 2015-03-19T13:40:46Z pjb quit (Ping timeout: 252 seconds) 2015-03-19T13:41:18Z jlongster joined #scheme 2015-03-19T13:41:26Z technomancy: I've heard it described as homoiconic, but that's not the same thing. 2015-03-19T13:41:34Z yasha9 joined #scheme 2015-03-19T13:43:17Z pjb joined #scheme 2015-03-19T13:43:26Z pjb is now known as Guest74176 2015-03-19T13:43:26Z przl quit (Ping timeout: 246 seconds) 2015-03-19T13:44:29Z sethalves quit (Ping timeout: 246 seconds) 2015-03-19T13:46:29Z z0d: it's as much Lisp as Python 2015-03-19T13:46:37Z z0d: well, even less 2015-03-19T13:46:38Z z0d: IMO 2015-03-19T13:47:49Z hiroaki quit (Ping timeout: 264 seconds) 2015-03-19T13:47:53Z LeoNerd: Python is verymuch not a Lisp 2015-03-19T13:48:18Z hiroakip quit (Ping timeout: 264 seconds) 2015-03-19T13:48:26Z LeoNerd: One of the most distinguishing features of a Lisp in my mind, is that there's no distinction between "statements" and "expressions"; any expression can be evaluated to perform side-effects and then yield a result. 2015-03-19T13:49:39Z jeapostrophe joined #scheme 2015-03-19T13:49:39Z jeapostrophe quit (Changing host) 2015-03-19T13:49:39Z jeapostrophe joined #scheme 2015-03-19T13:51:34Z technomancy: LeoNerd: that's true of many other languages 2015-03-19T13:51:42Z technomancy: even ruby works that way 2015-03-19T13:51:52Z LeoNerd: Yes; but not of Python 2015-03-19T13:52:04Z technomancy: (all languages where the language designer was paying attention) 2015-03-19T13:52:18Z LeoNerd: Python has many things you can do as expressions, and a lot more you can do a statements; but there's a massive one-way trapdoor that expressions cannot contain statements 2015-03-19T13:53:18Z technomancy: yeah, statements vs expressions is just a big red flag for a language designer not having studied prior art 2015-03-19T13:53:33Z technomancy: (unless you count ML-like's Unit type as being a "statement") 2015-03-19T13:53:44Z narendraj9 joined #scheme 2015-03-19T13:54:27Z LeoNerd: Perl for instance still has something of a distinction, but helpfully provides an expression form called do { ... } which lets you wrap a block of statements into an expressoin 2015-03-19T13:54:40Z technomancy: wow, that's just classic perl 2015-03-19T13:54:41Z LeoNerd: But also a lot more things are expressions and not statements anyway; like declaring or assigning to variables. :) 2015-03-19T13:57:33Z LeoNerd: It lets you do nice things like the classic "let over lambda" in Scheme; which I sometimes call do-over-sub: do { my $x = 1; sub { $x++ } } <== it's a numeric iterating closure 2015-03-19T13:59:30Z pnkfelix quit (Quit: rcirc on GNU Emacs 24.3.92.1) 2015-03-19T14:00:33Z echo-area joined #scheme 2015-03-19T14:01:34Z xyh quit (Remote host closed the connection) 2015-03-19T14:02:44Z taylanub: ski: uh, maybe I confused it with another language... 2015-03-19T14:03:07Z taylanub: it was something by Apple IIRC, where they started out with a lisp dialect then thought the syntax was too alien 2015-03-19T14:03:19Z uber_hulk quit (Quit: Connection closed for inactivity) 2015-03-19T14:03:27Z sethalves joined #scheme 2015-03-19T14:03:59Z technomancy: dylan 2015-03-19T14:04:04Z taylanub: ah, yes 2015-03-19T14:04:54Z taylanub: I wonder how I confused the two 2015-03-19T14:06:53Z ski: LeoNerd : .. though distinguishing definitions/declarations from expressions still makes sense, imho 2015-03-19T14:07:09Z LeoNerd: Yah 2015-03-19T14:07:21Z technomancy: ski: definitions are top-level, expressions are everything else =) 2015-03-19T14:09:25Z narendraj9 quit (Read error: Connection reset by peer) 2015-03-19T14:10:10Z ski: rudybot: eval (let () (define-syntax foo (syntax-rules () ((foo x ... y) (y x ...)))) (foo 1 2 3 list)) 2015-03-19T14:10:11Z rudybot: ski: ; Value: '(1 2 3) 2015-03-19T14:10:24Z taylanub: internal definitions are sugar for a letrec* expression :) 2015-03-19T14:10:33Z ski: you're saying that `(define-syntax ....)' is an expression ? 2015-03-19T14:10:45Z taylanub: or letrec-syntax* ... 2015-03-19T14:10:57Z taylanub: actually I'm not sure about internal syntax definitions now 2015-03-19T14:12:11Z ski: (also, i don't really care much whether they're sugar for something else or not. they're still legitimate phrases of the language) 2015-03-19T14:13:42Z ski: (.. another example is patterns in various pattern-matching macros (or loop clauses in foof/loopy-loop) -- they aren't expressions either) 2015-03-19T14:14:43Z taylanub: well those are elements of a given sub-syntax, akin to cond clauses, binding lists, etc. 2015-03-19T14:15:15Z taylanub: internal 'define' usages are really an exception for the sake of more conveniently representing what is "normally" represented with just another expression 2015-03-19T14:16:40Z taylanub: I keep forgetting there's no standard let*-syntax and letrec*-syntax 2015-03-19T14:17:08Z NaNDude joined #scheme 2015-03-19T14:17:50Z taylanub: and there was also some discussion on let-syntax being a bad feature .. I need to read more about this 2015-03-19T14:20:09Z adu joined #scheme 2015-03-19T14:26:54Z ski: imho every syntax (including expressions) should be considered in the sense of "elements of a given sub-syntax" 2015-03-19T14:27:14Z oleo joined #scheme 2015-03-19T14:28:32Z ski: iow, you simply have different contexts, where different kinds of forms are expected. be they expressions, patterns, &c. .. and some special forms switch to a different context for some of their sub-forms 2015-03-19T14:29:01Z przl joined #scheme 2015-03-19T14:30:21Z AkashicLegend joined #scheme 2015-03-19T14:32:05Z taylanub: Indeed, I guess there's nothing that makes expressions special here 2015-03-19T14:36:07Z bb010g joined #scheme 2015-03-19T14:39:50Z gravicappa quit (Remote host closed the connection) 2015-03-19T14:45:36Z pnkfelix joined #scheme 2015-03-19T14:45:59Z pecg joined #scheme 2015-03-19T14:46:45Z MrBoo joined #scheme 2015-03-19T14:51:02Z mettekou quit (Quit: Textual IRC Client: www.textualapp.com) 2015-03-19T14:51:23Z MrBoo quit (Remote host closed the connection) 2015-03-19T14:51:23Z mettekou joined #scheme 2015-03-19T14:55:15Z Nshag quit (Read error: Connection reset by peer) 2015-03-19T14:55:28Z NaNDude quit (Read error: Connection reset by peer) 2015-03-19T14:57:09Z xyh joined #scheme 2015-03-19T14:57:42Z kephra: expressions in other languages, e.g if foo then bar; end. are just special forms in Lisp like languages - and immediate words in forth like languages - and normal methods in Smalltalk like languages 2015-03-19T14:58:34Z kephra: I think Smalltalk is unique, that it does not even need special forms, or immediate words to build control structures 2015-03-19T14:59:12Z ski: kephra : it needs blocks 2015-03-19T14:59:29Z NaNDude joined #scheme 2015-03-19T15:01:10Z kephra: yes, but ifTrue:ifFalse: is implemented twice, once for True class, and once for False class - so ifTrue:ifFalse is normal method 2015-03-19T15:01:40Z kephra: and blocks are expressions, as they have a return value 2015-03-19T15:02:21Z ski: you could use Smalltalk-style booleans in Scheme as well, if you really wanted to 2015-03-19T15:02:32Z kephra: this requires OO 2015-03-19T15:02:40Z ski: (in this context it's called "Church representation") 2015-03-19T15:02:41Z LeoNerd: kephra: nonsense 2015-03-19T15:02:44Z ski: no OO required 2015-03-19T15:03:05Z LeoNerd: It would need you to either explicitly lambda-wrap the expressions, or provide a macro that does 2015-03-19T15:03:13Z ski: (or maybe you could say that the aspect of OO you're thinking about is an application of this ..) 2015-03-19T15:03:50Z kephra: LeoNerd, a macro is a special form - Smalltalk does neither need special forms nor immediate words 2015-03-19T15:04:01Z LeoNerd: kephra: Yes, because it has those deferred block things 2015-03-19T15:04:05Z ski: kephra : a block is essentially a special form 2015-03-19T15:04:34Z kephra: the block for Smalltalk is the normal form 2015-03-19T15:04:43Z kephra: the main difference is 2015-03-19T15:04:49Z ski: (dunno what you mean by "normal form" here) 2015-03-19T15:05:04Z kephra: the True class defines: ifTrue: trueBlock ifFalse: falseBlock ^ trueBlock value! 2015-03-19T15:05:17Z kephra: the False class defines: ifTrue: trueBlock ifFalse: falseBlock ^ falseBlock value! 2015-03-19T15:05:20Z sethalves quit (Quit: Leaving.) 2015-03-19T15:06:02Z ski: rudybot: eval (define true (lambda (true-thunk false-thunk) (true-thunk))) 2015-03-19T15:06:02Z rudybot: ski: Done. 2015-03-19T15:06:09Z ski: rudybot: eval (define false (lambda (true-thunk false-thunk) (false-thunk))) 2015-03-19T15:06:10Z rudybot: ski: Done. 2015-03-19T15:06:14Z kephra: ski, a special form, or immediate word is evaluted at compile time, a block is evaluted at run time 2015-03-19T15:06:30Z ski: i don't understand what you mean 2015-03-19T15:06:47Z kephra: e.g. define is a special form 2015-03-19T15:07:02Z kephra: the first argument of define is not evaluated, only the 2nd 2015-03-19T15:07:32Z ski: the body of a block is not executed before the value of the block is requested 2015-03-19T15:07:33Z kephra: if is a special form, it evalutes the first argument, and depending on that the following 2015-03-19T15:07:58Z MrBoo` joined #scheme 2015-03-19T15:08:16Z ski: the body of a `lambda' form is not evaluated before the resulting function is called 2015-03-19T15:09:11Z kephra: lambda is a special form, else it would be an error 2015-03-19T15:09:15Z ski: i don't see how your Smalltalk booleans essentially differ from my Church booleans above 2015-03-19T15:09:19Z kephra: (lambda (foo bar) body) 2015-03-19T15:09:35Z kephra: if this wont be a special form, then the interpreter would try to call (foo bar) 2015-03-19T15:09:56Z LeoNerd: I'm with ski; they're basically equivalent 2015-03-19T15:10:08Z ehaliewicz joined #scheme 2015-03-19T15:10:08Z kephra: nope 2015-03-19T15:10:26Z kephra: your example above defines true and false as two lambda 2015-03-19T15:10:28Z LeoNerd: Yup 2015-03-19T15:10:38Z taylanub: kephra: Smalltalk uses lexical syntax for creating procedures, Scheme uses a special form; what's the difference? 2015-03-19T15:10:45Z kephra: but Smalltalk defines !ONE! ifTrue:ifFalse method in two different classes 2015-03-19T15:10:53Z LeoNerd: And (if test trueblock falseblock) now becomes just a wrapper for (test (lambda () trueblock) (lambda () falseblock)) 2015-03-19T15:10:54Z ski: a block `[...]' or `[ x | ...]' in Smalltalk is basically the same as `(lambda () ...)' or `(lambda (x) ...)' in Scheme -- special forms in both cases 2015-03-19T15:11:04Z LeoNerd: Yes. and? 2015-03-19T15:11:17Z ski: evaluating a block `[...]' does not (directly) cause the evaluation/execution of its body `...' 2015-03-19T15:11:26Z LeoNerd: Ah; you're now just stuck in the hole of believing that "OO" is some magical pixiedust that can't be created out of other things :) 2015-03-19T15:11:53Z kephra: you could create OO in Scheme, and based on that an ifTrue:ifFalse: 2015-03-19T15:12:02Z ski: kephra : i'm not arguing against `(lambda (foo bar) body)' being a special form 2015-03-19T15:13:03Z kephra: do you understand the implementation difference between a normal sexp, and a special form? 2015-03-19T15:13:27Z j4cknewt joined #scheme 2015-03-19T15:13:53Z ski: kephra : "but Smalltalk defines !ONE! ifTrue:ifFalse method in two different classes" -- i wrote two different `(lambda (true-thunk false-thunk) ...)' procedures, having the *same* interface, in two different `define's 2015-03-19T15:14:00Z kephra: there is no implementation difference between ifTrue:ifFalse and lets say + 2015-03-19T15:14:39Z ski: kephra : "do you understand the implementation difference between a normal sexp, and a special form?" -- yes 2015-03-19T15:15:36Z ski could also define `+' for Church natural numbers, if you'd like .. 2015-03-19T15:16:16Z kephra: the + operator is basically hiding OO, as it works on integer, rationals, reals, and complex 2015-03-19T15:17:04Z ski: kephra : the `ifTrue:ifFalse' method is just an interface. there's still two different implementations that conform to that interface. so, same as with my snippets above 2015-03-19T15:19:06Z ski: (btw, whether `True' and `False' are subclasses of some common abstract base class or not here isn't really relevant. the important part is that they have the same interface) 2015-03-19T15:19:29Z narendraj9 joined #scheme 2015-03-19T15:19:29Z kephra: true, as Smalltalk is ducktyping 2015-03-19T15:19:49Z LeoNerd: The more interesting question is how you'd coerce things that aren't 'true' 2015-03-19T15:19:54Z LeoNerd: (if 123 ...) still has to work 2015-03-19T15:20:25Z ski thinks of it as it encouraging structural (as opposed to nominal) typing idioms, though in a dynamically typed setting 2015-03-19T15:20:35Z kephra: not in Smalltalk ... Number>ifTrue:ifFalse: is not defined 2015-03-19T15:20:43Z LeoNerd: Ah; I meant in Scheme 2015-03-19T15:21:05Z ski: anyway, i'm not really arguing whether `+' "is basically hiding OO" or not (though i suppose you're free to elaborate on your views on that, if you want to) 2015-03-19T15:21:51Z ski: i was arguing against "I think Smalltalk is unique, that it does not even need special forms", since i argue that blocks is a special form (and `^ ...' is another) 2015-03-19T15:22:46Z kephra: try to understand a simple Smalltalk, e.g. A Little Smalltalk 2015-03-19T15:22:51Z ski: (LeoNerd : *nod*, that's another issue, that doesn't really tie much into the Smalltalk comparision (as i'm sure you know)) 2015-03-19T15:23:20Z ski: kephra : do you dispute my claim ? 2015-03-19T15:25:15Z theseb joined #scheme 2015-03-19T15:25:40Z ski: .. though perhaps you were only talking about special forms amongst *expressions* (as opposed to commands/statements) ? 2015-03-19T15:25:50Z ski: (still, blocks are expressions anyway) 2015-03-19T15:26:07Z LeoNerd: I think it's just a terminology difference 2015-03-19T15:26:17Z LeoNerd: Scheme calls them "special forms" because they obey *different* rules than most forms do. 2015-03-19T15:26:36Z ski: could be .. but then the attempt at comparision across languages doesn't make sense here 2015-03-19T15:26:40Z LeoNerd: Smalltalk doesn't need some methods to obey different rules to others, because all of them *already* support the deferred-expression behaviour that if/etc.. would already want 2015-03-19T15:28:22Z ski: (hm. i thought you had to use explicit blocks as arguments for `ifTrue:ifFalse:' to defer. iow argument evaluation is never deferred) 2015-03-19T15:30:02Z LeoNerd: I think it's implied by the syntax of the caller 2015-03-19T15:30:15Z theseb left #scheme 2015-03-19T15:30:21Z LeoNerd: Basically smalltalk just has a fewer-characters-to-type deferral wrapper than scheme's (lambda () BODY) 2015-03-19T15:32:53Z kephra: ski, what is special about a special form, why are there immediate words in forth - why does Smalltalk not need this? 2015-03-19T15:32:57Z przl quit (Ping timeout: 265 seconds) 2015-03-19T15:33:19Z pecg_ joined #scheme 2015-03-19T15:34:24Z pecg quit (Ping timeout: 265 seconds) 2015-03-19T15:35:27Z przl joined #scheme 2015-03-19T15:37:39Z MrBoo` quit (Remote host closed the connection) 2015-03-19T15:38:59Z ski: kephra : i don't believe in "Smalltalk does not need this" 2015-03-19T15:39:54Z ski: yes, you can reduce the amount of special forms you have, if you use lambda-abstraction and Church-encoding 2015-03-19T15:40:13Z ski: that doesn't completely remove the need for special forms, though 2015-03-19T15:55:14Z mettekou quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2015-03-19T15:58:09Z mettekou joined #scheme 2015-03-19T16:07:19Z amgarchIn9 joined #scheme 2015-03-19T16:09:38Z sethalves joined #scheme 2015-03-19T16:09:55Z xyh quit (Remote host closed the connection) 2015-03-19T16:14:49Z amgarchIn9 quit (Ping timeout: 255 seconds) 2015-03-19T16:20:43Z przl quit (Ping timeout: 256 seconds) 2015-03-19T16:22:30Z jeapostrophe quit (Ping timeout: 264 seconds) 2015-03-19T16:24:49Z ehaliewicz quit (Ping timeout: 244 seconds) 2015-03-19T16:26:32Z przl joined #scheme 2015-03-19T16:27:29Z dmiles_afk joined #scheme 2015-03-19T16:28:16Z akkad quit (Excess Flood) 2015-03-19T16:29:19Z akkad joined #scheme 2015-03-19T16:29:36Z Flaoer joined #scheme 2015-03-19T16:30:02Z uris77 joined #scheme 2015-03-19T16:32:23Z zadock quit (Quit: Leaving) 2015-03-19T16:37:22Z hiroakip joined #scheme 2015-03-19T16:37:29Z hiroaki joined #scheme 2015-03-19T16:38:37Z theseb_ joined #scheme 2015-03-19T16:48:20Z przl quit (Ping timeout: 256 seconds) 2015-03-19T16:53:29Z larion quit (Ping timeout: 246 seconds) 2015-03-19T16:54:59Z narendraj9 quit (Ping timeout: 250 seconds) 2015-03-19T16:59:32Z civodul quit (Remote host closed the connection) 2015-03-19T17:09:08Z vraid quit (Ping timeout: 265 seconds) 2015-03-19T17:09:33Z narendraj9 joined #scheme 2015-03-19T17:09:54Z redeemed quit (Ping timeout: 246 seconds) 2015-03-19T17:11:15Z narendraj9 quit (Read error: Connection reset by peer) 2015-03-19T17:13:15Z gravicappa joined #scheme 2015-03-19T17:16:06Z jewel joined #scheme 2015-03-19T17:16:33Z Shadox joined #scheme 2015-03-19T17:18:30Z xyh joined #scheme 2015-03-19T17:27:00Z jewel quit (Ping timeout: 252 seconds) 2015-03-19T17:27:25Z jewel joined #scheme 2015-03-19T17:29:30Z C6248 joined #scheme 2015-03-19T17:33:42Z mtakkman quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-03-19T17:34:55Z hiyosi quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2015-03-19T17:35:14Z jeapostrophe joined #scheme 2015-03-19T17:36:16Z jewel quit (Ping timeout: 272 seconds) 2015-03-19T17:36:41Z jewel joined #scheme 2015-03-19T17:37:11Z juanfra quit (Quit: juanfra) 2015-03-19T17:38:27Z C6248 quit (Quit: Lost terminal) 2015-03-19T17:39:05Z ehaliewicz joined #scheme 2015-03-19T17:40:31Z echo-area quit (Remote host closed the connection) 2015-03-19T17:42:13Z carc_00 joined #scheme 2015-03-19T17:43:18Z vraid joined #scheme 2015-03-19T17:44:26Z carc quit (Ping timeout: 256 seconds) 2015-03-19T17:49:51Z daviID joined #scheme 2015-03-19T17:50:46Z daviID quit (Client Quit) 2015-03-19T17:50:55Z hellofunk joined #scheme 2015-03-19T17:52:02Z daviid joined #scheme 2015-03-19T17:56:29Z juanfra joined #scheme 2015-03-19T18:03:55Z nee quit (Read error: Connection reset by peer) 2015-03-19T18:05:07Z j4cknewt quit (Remote host closed the connection) 2015-03-19T18:05:36Z sheilong joined #scheme 2015-03-19T18:06:41Z mettekou quit (Read error: Connection reset by peer) 2015-03-19T18:20:28Z zadock joined #scheme 2015-03-19T18:22:30Z excelsior joined #scheme 2015-03-19T18:24:05Z AkashicLegend quit (Quit: AkashicLegend) 2015-03-19T18:24:30Z msgodf quit (Remote host closed the connection) 2015-03-19T18:36:54Z Flaoer quit (Ping timeout: 245 seconds) 2015-03-19T18:50:53Z jumblerg joined #scheme 2015-03-19T18:53:07Z pnkfelix quit (Quit: rcirc on GNU Emacs 24.3.92.1) 2015-03-19T18:53:08Z Guest74176 is now known as pjb 2015-03-19T18:55:05Z turtleman_ joined #scheme 2015-03-19T18:58:06Z jeapostrophe quit (Ping timeout: 256 seconds) 2015-03-19T19:08:29Z dmiles_akf joined #scheme 2015-03-19T19:09:58Z dmiles_afk quit (Ping timeout: 265 seconds) 2015-03-19T19:13:39Z masm joined #scheme 2015-03-19T19:15:45Z jewel quit (Ping timeout: 252 seconds) 2015-03-19T19:17:42Z Flaoer joined #scheme 2015-03-19T19:20:06Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2015-03-19T19:21:37Z dmiles_akf quit (Ping timeout: 252 seconds) 2015-03-19T19:30:56Z uris77 quit (Ping timeout: 246 seconds) 2015-03-19T19:33:53Z amgarchIn9 joined #scheme 2015-03-19T19:42:49Z dmiles_afk joined #scheme 2015-03-19T19:44:42Z amgarchIn9 quit (Ping timeout: 264 seconds) 2015-03-19T19:48:46Z dmiles_akf joined #scheme 2015-03-19T19:48:59Z {-}grant quit (Ping timeout: 245 seconds) 2015-03-19T19:50:06Z dmiles_afk quit (Ping timeout: 264 seconds) 2015-03-19T19:51:06Z dmiles_afk joined #scheme 2015-03-19T19:51:07Z amgarchIn9 joined #scheme 2015-03-19T19:52:49Z xyh quit (Remote host closed the connection) 2015-03-19T19:53:13Z dmiles_akf quit (Ping timeout: 256 seconds) 2015-03-19T19:56:14Z dmiles_afk quit (Ping timeout: 272 seconds) 2015-03-19T19:57:50Z dmiles_afk joined #scheme 2015-03-19T20:05:38Z civodul joined #scheme 2015-03-19T20:09:25Z carc_00 quit (Ping timeout: 265 seconds) 2015-03-19T20:16:42Z vishesh joined #scheme 2015-03-19T20:18:39Z niklasl joined #scheme 2015-03-19T20:18:49Z niklasl2 quit (Ping timeout: 252 seconds) 2015-03-19T20:19:16Z uris77 joined #scheme 2015-03-19T20:22:20Z jumblerg joined #scheme 2015-03-19T20:33:36Z carc joined #scheme 2015-03-19T20:35:07Z kongtomorrow joined #scheme 2015-03-19T20:36:27Z gravicappa quit (Remote host closed the connection) 2015-03-19T20:36:33Z carc quit (Client Quit) 2015-03-19T20:37:36Z carc joined #scheme 2015-03-19T20:42:57Z kongtomorrow quit 2015-03-19T20:44:25Z kongtomorrow joined #scheme 2015-03-19T20:46:10Z kongtomo_ joined #scheme 2015-03-19T20:50:04Z kongtomorrow quit (Ping timeout: 272 seconds) 2015-03-19T20:52:50Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2015-03-19T20:55:29Z jumblerg joined #scheme 2015-03-19T20:55:49Z vdamewood joined #scheme 2015-03-19T20:56:47Z carc quit (Ping timeout: 265 seconds) 2015-03-19T20:57:44Z vdamewood quit (Max SendQ exceeded) 2015-03-19T20:58:30Z robot-beethoven joined #scheme 2015-03-19T20:59:15Z carc joined #scheme 2015-03-19T21:02:00Z pnkfelix joined #scheme 2015-03-19T21:05:10Z vishesh quit (Ping timeout: 252 seconds) 2015-03-19T21:08:27Z oleo is now known as Guest53278 2015-03-19T21:09:19Z oleo_ joined #scheme 2015-03-19T21:11:18Z mrowe_away is now known as mrowe 2015-03-19T21:11:42Z Guest53278 quit (Ping timeout: 264 seconds) 2015-03-19T21:15:25Z hellofunk quit (Ping timeout: 264 seconds) 2015-03-19T21:15:48Z acieroid quit (Ping timeout: 256 seconds) 2015-03-19T21:17:05Z ijp joined #scheme 2015-03-19T21:19:31Z oleo_ quit (Quit: Leaving) 2015-03-19T21:21:23Z oleo_ joined #scheme 2015-03-19T21:21:35Z oleo_ is now known as oleo 2015-03-19T21:23:17Z alezost quit (Quit: I use GNU Guix ) 2015-03-19T21:23:43Z excelsior quit (Quit: Lost terminal) 2015-03-19T21:25:31Z jumblerg quit (Ping timeout: 244 seconds) 2015-03-19T21:28:16Z jumblerg joined #scheme 2015-03-19T21:32:53Z jumblerg quit (Client Quit) 2015-03-19T21:35:01Z jumblerg joined #scheme 2015-03-19T21:36:07Z jumblerg quit (Read error: Connection reset by peer) 2015-03-19T21:44:38Z mlaine quit (Ping timeout: 265 seconds) 2015-03-19T21:46:42Z fgudin quit (Ping timeout: 244 seconds) 2015-03-19T21:54:54Z badkins quit 2015-03-19T21:55:58Z mlaine joined #scheme 2015-03-19T21:56:03Z fgudin joined #scheme 2015-03-19T21:58:04Z {-}grant joined #scheme 2015-03-19T21:59:43Z pecg_ quit (Quit: WeeChat 1.1.1) 2015-03-19T22:03:54Z adu quit (Quit: adu) 2015-03-19T22:13:29Z turtleman_ quit (Ping timeout: 250 seconds) 2015-03-19T22:16:39Z civodul quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-03-19T22:23:22Z pnkfelix quit (Ping timeout: 255 seconds) 2015-03-19T22:32:45Z davexunit quit (Quit: Later) 2015-03-19T22:36:01Z edgar-rft quit (Quit: edgar-rft) 2015-03-19T22:37:33Z jlongster quit (Ping timeout: 256 seconds) 2015-03-19T22:40:17Z uris77 quit (Quit: leaving) 2015-03-19T22:48:48Z adu joined #scheme 2015-03-19T22:49:49Z Flaoer quit (Ping timeout: 245 seconds) 2015-03-19T22:52:33Z mrowe is now known as mrowe_away 2015-03-19T22:56:22Z vraaid joined #scheme 2015-03-19T22:57:38Z vraid quit (Disconnected by services) 2015-03-19T22:57:39Z vraaid is now known as vraid 2015-03-19T23:06:51Z pnkfelix joined #scheme 2015-03-19T23:12:29Z masm quit (Ping timeout: 246 seconds) 2015-03-19T23:16:47Z mrowe_away is now known as mrowe 2015-03-19T23:21:31Z acieroid joined #scheme 2015-03-19T23:30:13Z bb010g quit (Quit: Connection closed for inactivity) 2015-03-19T23:33:56Z davexunit joined #scheme 2015-03-19T23:34:39Z SrPx joined #scheme 2015-03-19T23:34:58Z SrPx: Hello, is anyone aware of an efficient, optimal implementation of the pure untyped lambda calculus? 2015-03-19T23:36:20Z taylanub: you can do that in a few lines of Scheme IIRC 2015-03-19T23:36:46Z badkins joined #scheme 2015-03-19T23:36:56Z taylanub: or did you want one in assembly? :P 2015-03-19T23:38:50Z hiyosi joined #scheme 2015-03-19T23:42:48Z ijp: what does optimal mean in this case? 2015-03-19T23:43:15Z ijp: everyone pick your favourite metric 2015-03-19T23:43:23Z turbofail: optimally optimal 2015-03-19T23:43:49Z turbofail: or perhaps optimally tautological 2015-03-19T23:44:06Z sethalves: i guess the answers are all "no" ? 2015-03-19T23:45:20Z ijp: if you are optimising for implementation size, I think https://tromp.github.io/cl/cl.html is holding the record at 206 bits for a self interpreter 2015-03-19T23:45:36Z SrPx: I mean on Levy's sense. 2015-03-19T23:45:42Z SrPx: i.e., no duplicated work 2015-03-19T23:46:02Z ehaliewicz quit (Remote host closed the connection) 2015-03-19T23:46:44Z SrPx: I'm looking for a simple algorithm so I can implement it myself, actualyl. I want to replace my naive implementation with something actually useful, and avoid the exponential duplication of the work in many cases. My naive implementation: http://lpaste.net/128035 2015-03-19T23:46:52Z daviid quit (Ping timeout: 252 seconds) 2015-03-19T23:47:02Z ijp: so, call by need? 2015-03-19T23:50:26Z pnkfelix quit (Quit: rcirc on GNU Emacs 24.3.92.1) 2015-03-19T23:51:17Z ijp: and save up substitutions in an environment, rather than doing them immediately 2015-03-19T23:51:20Z SrPx: Are you sure it is optimal on levy's sense? 2015-03-19T23:51:28Z ijp: I don't even know what that sense is 2015-03-19T23:51:45Z kephra: SrPx, did you read the usual suspects before? e.g.: http://norvig.com/lispy.html & http://norvig.com/lispy2.html 2015-03-19T23:53:43Z rszeno joined #scheme 2015-03-19T23:57:29Z ijp: SrPx: I came across http://www.cs.au.dk/~gerth/MC/99/LambdaReduction/index.html which has the line "Asperti and Mairson proved that there is no chance to get an optimal reduction machine, at least in the tight sense defined by Levy, for this would contradict the time hierarchy theorem" 2015-03-19T23:58:08Z fugue joined #scheme 2015-03-19T23:58:17Z SrPx: What - that is weird, since I'm reading 2 or 3 papers that claim the exact opposite. 2015-03-19T23:58:28Z SrPx: Fore xample, http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.90.2386&rep=rep1&type=pdf 2015-03-19T23:58:30Z rudybot: http://tinyurl.com/kmvb2bl 2015-03-19T23:59:38Z SrPx: intersting link, though - thanks