2016-06-02T00:00:21Z pierpa: because then you must supply arguments of the form (lambda () ...) 2016-06-02T00:02:31Z davexunit: makufiru: the most recent lisp game jam page has some resources for making games with a variety of lisps, including scheme. https://itch.io/jam/spring-2016-lisp-game-jam 2016-06-02T00:03:41Z davexunit: lewis1711: but then how will you decide which lambda to evaluate? 2016-06-02T00:03:53Z makufiru: davexunit: Thank you! 2016-06-02T00:04:38Z davexunit: makufiru: I wrote this game in scheme over the course of a week https://davexunit.itch.io/lisparuga 2016-06-02T00:05:47Z lewis1711: davexunit: the one that matches the condition? 2016-06-02T00:05:53Z lewis1711: Not sure what you are getting at here 2016-06-02T00:05:54Z makufiru: davexunit: I actually saw that when I was eyeing the lisp game jam this year! That looks awesome by the way. I was more into Clojure when I saw it. I wanted to build/try it but didn't have a linux VM available 2016-06-02T00:06:03Z davexunit: lewis1711: and how will you implement that without if? 2016-06-02T00:06:03Z benwbooth quit (Ping timeout: 240 seconds) 2016-06-02T00:06:17Z davexunit: lewis1711: that's the point I am getting at. 2016-06-02T00:06:18Z pepton1 quit (Ping timeout: 276 seconds) 2016-06-02T00:06:26Z davexunit: I was hoping to turn on a light bulb 2016-06-02T00:06:33Z davexunit: with that question 2016-06-02T00:06:56Z lewis1711: davexunit: but that's missing the point. 2016-06-02T00:07:01Z davexunit: how so? 2016-06-02T00:07:24Z lewis1711: because that's not the crux of what I am asking. scheme could have easily been defined where the primitive conditionals worked on closures 2016-06-02T00:07:31Z lewis1711: it's how it's done in smalltalk, for example 2016-06-02T00:07:42Z davexunit: you asked why 'if' is a special form 2016-06-02T00:07:57Z davexunit: in what you suggest, 'if' is still a special form 2016-06-02T00:08:08Z davexunit: and a lambda is not necessarily a closure 2016-06-02T00:08:12Z lewis1711: in what I suggest it's a primitive, surely 2016-06-02T00:08:17Z benwbooth joined #scheme 2016-06-02T00:08:38Z davexunit: okay 2016-06-02T00:09:05Z davexunit: so sure, a primitive 'if' could take lambdas, but that would suck. 2016-06-02T00:09:28Z lewis1711: right - why? 2016-06-02T00:09:55Z sethalves quit (Quit: Leaving.) 2016-06-02T00:10:30Z lewis1711: you could easily define a sugared "if" as a macro over this "if-primitive" 2016-06-02T00:10:34Z lewis1711: that looks exactly the same to call 2016-06-02T00:18:38Z ijp joined #scheme 2016-06-02T00:25:51Z karswell quit (Read error: Connection reset by peer) 2016-06-02T00:28:05Z Riastradh quit (Ping timeout: 250 seconds) 2016-06-02T00:30:55Z pierpa: so, what would be the difference? 2016-06-02T00:37:24Z Khisanth quit (Ping timeout: 272 seconds) 2016-06-02T00:38:06Z lewis1711: pierpa: exactly. what would be the difference? 2016-06-02T00:39:11Z _sjs joined #scheme 2016-06-02T00:39:41Z pierpa: I can't see any 2016-06-02T00:41:09Z lewis1711: right. so why needlessly introduce a special form? 2016-06-02T00:41:19Z pierpa: uh? 2016-06-02T00:41:30Z pierpa: "I can't see any difference" 2016-06-02T00:41:42Z pierpa: what difference are you talking about? 2016-06-02T00:42:37Z lewis1711: if requires a special form in scheme 2016-06-02T00:43:11Z pierpa: and what is the difference between a special form and a macro? 2016-06-02T00:43:41Z davexunit: lewis1711: because it is nicer to use as a special form. 2016-06-02T00:44:00Z ijp: pierpa: I'd say that special forms are builtins, macros are user provided, but I think the distinction is basically ill-defined 2016-06-02T00:44:07Z lewis1711: pierpa: you can define your own macros, a special form is builtin 2016-06-02T00:44:12Z lewis1711: right 2016-06-02T00:44:21Z pierpa: he's saying that is possible to write a macro which would make it look exactly like the usual scheme 2016-06-02T00:44:55Z davexunit: so skip the middleman and you have a special form 2016-06-02T00:44:57Z mmc quit (Quit: Leaving.) 2016-06-02T00:45:33Z pierpa: the look is the same, the semantic is the same. What is the difference? 2016-06-02T00:45:50Z pierpa: there's no difference between a special operator and a builtin macro 2016-06-02T00:46:04Z davexunit: I honestly can't believe we're having this discussion. 2016-06-02T00:47:05Z lewis1711: I honestly can't believe you don't get the point I am making 2016-06-02T00:47:07Z davexunit: sure, *technically* it could be a primitive but not special syntax, but it's a lot nicer as syntax because it just so fundamental. 2016-06-02T00:47:16Z davexunit: it is* 2016-06-02T00:47:45Z davexunit: it might be "needless" from a purely technical perspective, but it's not from a language design perspective. 2016-06-02T00:48:40Z pierpa: everything but lambda is needles from a purely technical perspective 2016-06-02T00:49:05Z xoui quit (Ping timeout: 258 seconds) 2016-06-02T00:49:21Z davexunit: right. cons cells? you can implement those with lambda so why bother including them as primitives? 2016-06-02T00:50:06Z davexunit: numbers? use church encoding. 2016-06-02T00:50:36Z Khisanth joined #scheme 2016-06-02T00:51:18Z lewis1711: I think it'd be nicer as a procedure. procedures are more useful 2016-06-02T00:52:22Z pierpa: then, the only possible answer is that the inventors of scheme have bad taste :) 2016-06-02T00:52:23Z lewis1711: but it's too sensitive a question to ask, my apologies. I might as well ask the smalltalk channel why if isn't a special form, and they'd be similarly bewildered 2016-06-02T00:52:44Z lewis1711: it just came to me after reading SICP, where they side stepped the issue 2016-06-02T00:53:54Z davexunit: it's not about sensitivity, but that it's bike shed territory. 2016-06-02T00:54:03Z pierpa: how do you know that the ifs you use everyday aren't actually macros which a primitive function? 2016-06-02T00:54:18Z pierpa: *which are 2016-06-02T00:54:27Z pierpa: uff. *which use 2016-06-02T00:56:28Z lewis1711: pierpa: the thought crossed my mind :P 2016-06-02T00:56:31Z ijp: it doesn't matter if they are or aren't. that's the point of abstraction 2016-06-02T00:56:56Z lewis1711: except... I remember trying to use a partially applied "and" once 2016-06-02T00:57:24Z pierpa: so? 2016-06-02T00:58:26Z pierpa: you can't apply and, just like you can't apply if 2016-06-02T00:59:02Z pierpa: because there's no difference between a special operator and a predefined macro 2016-06-02T01:01:05Z lewis1711: right. and there's the difference 2016-06-02T01:01:13Z lewis1711: anyway, thought htere might have been a real reason 2016-06-02T01:01:41Z lewis1711 quit (Quit: Page closed) 2016-06-02T01:11:32Z neoncontrails quit (Remote host closed the connection) 2016-06-02T01:20:18Z sethalves joined #scheme 2016-06-02T01:32:15Z annodomini quit (Quit: annodomini) 2016-06-02T01:39:06Z _sjs quit (Remote host closed the connection) 2016-06-02T01:42:53Z andrewvic joined #scheme 2016-06-02T01:48:34Z pierpa quit (Ping timeout: 244 seconds) 2016-06-02T01:48:41Z lritter joined #scheme 2016-06-02T01:53:27Z andrewvic quit (Ping timeout: 246 seconds) 2016-06-02T01:57:45Z shdeng joined #scheme 2016-06-02T02:01:19Z galex-713 joined #scheme 2016-06-02T02:05:31Z nial joined #scheme 2016-06-02T02:05:39Z ReductioAdAbsurd quit (Remote host closed the connection) 2016-06-02T02:05:57Z ReductioAdAbsurd joined #scheme 2016-06-02T02:09:25Z andrewvic joined #scheme 2016-06-02T02:11:02Z ArneBab_ joined #scheme 2016-06-02T02:12:21Z mastokley quit (Ping timeout: 246 seconds) 2016-06-02T02:12:30Z fugastrega quit (Quit: Leaving) 2016-06-02T02:13:11Z Opodeldoc quit (Quit: Leaving) 2016-06-02T02:14:54Z ArneBab quit (Ping timeout: 244 seconds) 2016-06-02T02:24:45Z neoncontrails joined #scheme 2016-06-02T02:35:52Z ReductioAdAbsurd quit (Remote host closed the connection) 2016-06-02T02:39:10Z grettke quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2016-06-02T02:40:58Z fiddlerwoaroof joined #scheme 2016-06-02T02:46:46Z karswell joined #scheme 2016-06-02T02:47:59Z jao quit (Ping timeout: 244 seconds) 2016-06-02T02:50:54Z lritter quit (Remote host closed the connection) 2016-06-02T03:01:21Z andrewvic quit (Quit: andrewvic) 2016-06-02T03:11:24Z |meta quit (Quit: Connection closed for inactivity) 2016-06-02T03:11:32Z andrewvic joined #scheme 2016-06-02T03:17:58Z fiddlerwoaroof quit (Ping timeout: 244 seconds) 2016-06-02T03:23:07Z edgar-rft joined #scheme 2016-06-02T03:28:18Z groscoe quit (Remote host closed the connection) 2016-06-02T03:29:07Z nanoz joined #scheme 2016-06-02T03:30:20Z tmtwd quit (Ping timeout: 240 seconds) 2016-06-02T03:31:38Z andrewvic quit (Remote host closed the connection) 2016-06-02T03:31:47Z walter|r quit (Remote host closed the connection) 2016-06-02T03:31:55Z walter|r joined #scheme 2016-06-02T03:31:56Z walter|r quit (Remote host closed the connection) 2016-06-02T03:32:54Z fiddlerwoaroof joined #scheme 2016-06-02T03:33:35Z fugastrega joined #scheme 2016-06-02T03:37:23Z Shadox joined #scheme 2016-06-02T03:43:50Z aries_liuxueyang quit (Quit: No Ping reply in 180 seconds.) 2016-06-02T03:45:25Z aries_liuxueyang joined #scheme 2016-06-02T03:51:38Z lambda-11235 quit (Read error: Connection reset by peer) 2016-06-02T03:51:45Z leo_song quit (Ping timeout: 260 seconds) 2016-06-02T03:52:28Z aries_liuxueyang quit (Ping timeout: 272 seconds) 2016-06-02T03:52:34Z aries_liuxueyang joined #scheme 2016-06-02T03:53:02Z AlexDenisov joined #scheme 2016-06-02T03:58:23Z leo_song joined #scheme 2016-06-02T04:00:18Z profess quit (Ping timeout: 276 seconds) 2016-06-02T04:01:50Z lambda-11235 joined #scheme 2016-06-02T04:02:17Z profess joined #scheme 2016-06-02T04:22:53Z nanoz quit (Quit: <3) 2016-06-02T04:24:15Z brendyn joined #scheme 2016-06-02T04:24:46Z AlexDenisov quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2016-06-02T04:25:24Z noethics quit (Ping timeout: 272 seconds) 2016-06-02T04:27:17Z turbofail quit (Ping timeout: 250 seconds) 2016-06-02T04:28:13Z tax quit (Ping timeout: 244 seconds) 2016-06-02T04:30:42Z lipt joined #scheme 2016-06-02T04:32:47Z walter|r joined #scheme 2016-06-02T04:32:50Z mastokley joined #scheme 2016-06-02T04:37:50Z walter|r quit (Ping timeout: 260 seconds) 2016-06-02T04:41:00Z nilg joined #scheme 2016-06-02T04:48:27Z neoncontrails quit (Remote host closed the connection) 2016-06-02T04:56:20Z tax joined #scheme 2016-06-02T05:04:57Z badkins quit (Remote host closed the connection) 2016-06-02T05:17:48Z fiddlerwoaroof quit (Quit: Gone.) 2016-06-02T05:21:02Z andrewvic joined #scheme 2016-06-02T05:25:12Z fiddlerwoaroof joined #scheme 2016-06-02T05:29:15Z fiddlerwoaroof quit (Client Quit) 2016-06-02T05:30:34Z safe quit (Quit: Leaving) 2016-06-02T05:32:37Z andrewvic quit (Quit: andrewvic) 2016-06-02T05:33:27Z walter|r joined #scheme 2016-06-02T05:33:33Z neoncontrails joined #scheme 2016-06-02T05:34:51Z fugastrega quit (Quit: Leaving) 2016-06-02T05:36:10Z nilg` joined #scheme 2016-06-02T05:38:50Z walter|r quit (Ping timeout: 244 seconds) 2016-06-02T05:47:10Z daviid joined #scheme 2016-06-02T06:01:38Z mumptai joined #scheme 2016-06-02T06:37:22Z andrewvic joined #scheme 2016-06-02T06:41:05Z andrewvic quit (Client Quit) 2016-06-02T06:48:37Z rsully quit (Ping timeout: 260 seconds) 2016-06-02T06:52:05Z rsully joined #scheme 2016-06-02T06:52:14Z civodul joined #scheme 2016-06-02T06:55:22Z lambda-11235 quit (Quit: Bye) 2016-06-02T06:56:00Z neoncontrails quit (Remote host closed the connection) 2016-06-02T06:57:04Z Shadox quit (Quit: Leaving) 2016-06-02T06:59:57Z daviid quit (Ping timeout: 244 seconds) 2016-06-02T07:12:36Z rsully quit (Ping timeout: 272 seconds) 2016-06-02T07:25:15Z mastokley quit (Ping timeout: 260 seconds) 2016-06-02T07:31:31Z wasamasa: I guess what this discussion omits is that in smalltalk, if's arguments are implicit blocks 2016-06-02T07:31:33Z andrewvic joined #scheme 2016-06-02T07:31:45Z wasamasa: so in a way, they're going for the solution of passing lambdas to it :P 2016-06-02T07:37:11Z neoncontrails joined #scheme 2016-06-02T07:40:32Z andrewvic quit (Quit: andrewvic) 2016-06-02T07:41:24Z lipt quit (Read error: Connection reset by peer) 2016-06-02T07:45:56Z przl joined #scheme 2016-06-02T07:46:55Z lipt joined #scheme 2016-06-02T07:46:56Z lipt quit (Max SendQ exceeded) 2016-06-02T07:50:54Z ecraven: wasamasa: aren't they explicit blocks? 2016-06-02T07:51:21Z lipt joined #scheme 2016-06-02T07:51:25Z lipt quit (Max SendQ exceeded) 2016-06-02T07:51:33Z wasamasa: ecraven: well, they for sure don't look like lambdas to me 2016-06-02T07:51:56Z lipt joined #scheme 2016-06-02T07:51:56Z lipt quit (Max SendQ exceeded) 2016-06-02T07:52:10Z ecraven: I always thought of [] in smalltalk as (lambda ...) 2016-06-02T07:52:40Z przl quit (Ping timeout: 264 seconds) 2016-06-02T07:53:01Z ecraven: so foo ifTrue: [...] ifFalse: [...] passes two blocks / lambdas as continuations to the boolean 2016-06-02T07:54:36Z ecraven: rudybot: (begin (define my-true (lambda (a b) (a))) (define my-false (lambda (a b) (b))) (my-false (lambda () "true") (lambda () "false"))) 2016-06-02T07:54:37Z rudybot: ecraven: your sandbox is ready 2016-06-02T07:54:37Z rudybot: ecraven: ; Value: "false" 2016-06-02T07:54:42Z ecraven: rudybot: (begin (define my-true (lambda (a b) (a))) (define my-false (lambda (a b) (b))) (my-true (lambda () "true") (lambda () "false"))) 2016-06-02T07:54:43Z rudybot: ecraven: ; Value: "true" 2016-06-02T07:55:08Z ecraven: so to my understanding, there are rather obvious lambdas in smalltalk there 2016-06-02T07:56:37Z lipt joined #scheme 2016-06-02T07:56:38Z lipt quit (Max SendQ exceeded) 2016-06-02T08:00:02Z leppie quit 2016-06-02T08:03:02Z mejja quit (Quit: #xdeadbeef) 2016-06-02T08:03:40Z davidh quit (Ping timeout: 240 seconds) 2016-06-02T08:12:38Z alezost joined #scheme 2016-06-02T08:15:55Z lipt joined #scheme 2016-06-02T08:15:56Z lipt quit (Max SendQ exceeded) 2016-06-02T08:19:20Z lipt joined #scheme 2016-06-02T08:19:20Z lipt quit (Max SendQ exceeded) 2016-06-02T08:19:40Z andrewvic joined #scheme 2016-06-02T08:20:36Z lipt joined #scheme 2016-06-02T08:20:42Z lipt quit (Max SendQ exceeded) 2016-06-02T08:21:12Z lipt joined #scheme 2016-06-02T08:21:16Z lipt quit (Max SendQ exceeded) 2016-06-02T08:22:11Z lipt joined #scheme 2016-06-02T08:22:15Z lipt quit (Max SendQ exceeded) 2016-06-02T08:24:12Z leppie joined #scheme 2016-06-02T08:25:17Z andrewvic quit (Quit: andrewvic) 2016-06-02T08:27:01Z xoui joined #scheme 2016-06-02T08:34:18Z lipt joined #scheme 2016-06-02T08:34:22Z lipt quit (Max SendQ exceeded) 2016-06-02T08:34:52Z lipt joined #scheme 2016-06-02T08:34:57Z lipt quit (Max SendQ exceeded) 2016-06-02T08:39:17Z mumptai quit (Remote host closed the connection) 2016-06-02T08:43:11Z lipt joined #scheme 2016-06-02T08:43:14Z lipt quit (Max SendQ exceeded) 2016-06-02T08:44:39Z lipt joined #scheme 2016-06-02T08:44:42Z lipt quit (Max SendQ exceeded) 2016-06-02T08:45:12Z lipt joined #scheme 2016-06-02T08:45:16Z lipt quit (Max SendQ exceeded) 2016-06-02T08:45:22Z andrewvic joined #scheme 2016-06-02T08:47:37Z andrewvic quit (Client Quit) 2016-06-02T08:50:16Z lipt joined #scheme 2016-06-02T08:50:20Z lipt quit (Max SendQ exceeded) 2016-06-02T08:50:42Z civodul quit (Read error: Connection reset by peer) 2016-06-02T08:51:25Z civodul joined #scheme 2016-06-02T08:52:30Z lipt joined #scheme 2016-06-02T08:52:34Z lipt quit (Max SendQ exceeded) 2016-06-02T08:53:12Z przl joined #scheme 2016-06-02T08:59:10Z lipt joined #scheme 2016-06-02T08:59:14Z lipt quit (Max SendQ exceeded) 2016-06-02T09:02:05Z lipt joined #scheme 2016-06-02T09:02:07Z lipt quit (Max SendQ exceeded) 2016-06-02T09:03:51Z andrewvic joined #scheme 2016-06-02T09:04:38Z przl quit (Ping timeout: 244 seconds) 2016-06-02T09:04:42Z lipt joined #scheme 2016-06-02T09:04:44Z lipt quit (Max SendQ exceeded) 2016-06-02T09:08:53Z andrewvic quit (Quit: andrewvic) 2016-06-02T09:09:22Z lipt joined #scheme 2016-06-02T09:09:24Z lipt quit (Max SendQ exceeded) 2016-06-02T09:09:58Z przl joined #scheme 2016-06-02T09:18:33Z przl quit (Ping timeout: 240 seconds) 2016-06-02T09:19:31Z przl joined #scheme 2016-06-02T09:19:36Z przl quit (Client Quit) 2016-06-02T09:19:59Z przl joined #scheme 2016-06-02T09:20:31Z greatscottttt joined #scheme 2016-06-02T09:38:34Z cemerick joined #scheme 2016-06-02T09:38:51Z przl quit (Ping timeout: 250 seconds) 2016-06-02T09:40:23Z kuribas joined #scheme 2016-06-02T09:49:33Z andrewvic joined #scheme 2016-06-02T09:57:02Z masoudd quit (Ping timeout: 260 seconds) 2016-06-02T10:02:00Z jao joined #scheme 2016-06-02T10:04:30Z bokr joined #scheme 2016-06-02T10:08:33Z andrewvic quit (Quit: andrewvic) 2016-06-02T10:14:13Z mmc joined #scheme 2016-06-02T10:16:19Z andrewvic joined #scheme 2016-06-02T10:16:20Z andrewvic quit (Client Quit) 2016-06-02T10:20:44Z przl joined #scheme 2016-06-02T10:26:24Z chishiki quit (Ping timeout: 272 seconds) 2016-06-02T10:26:32Z andrewvic joined #scheme 2016-06-02T10:28:44Z mmc quit (Quit: Leaving.) 2016-06-02T10:39:01Z andrewvic quit (Quit: andrewvic) 2016-06-02T10:43:04Z przl quit (Ping timeout: 264 seconds) 2016-06-02T10:57:58Z bjz joined #scheme 2016-06-02T11:06:49Z przl joined #scheme 2016-06-02T11:15:10Z cemerick quit (Ping timeout: 272 seconds) 2016-06-02T11:23:10Z groscoe joined #scheme 2016-06-02T11:25:34Z andrewvic joined #scheme 2016-06-02T11:34:04Z alezost quit (Ping timeout: 240 seconds) 2016-06-02T11:56:08Z chishiki joined #scheme 2016-06-02T12:00:45Z gwatt joined #scheme 2016-06-02T12:09:44Z ski: groovy2shoes : the point was to display the similarity with set comprehension, yes. `a' in `{[i,j] |-> f(a) | a = A[i,j]}' implicitly depends on `i' and `j'. perhaps i should have written the example like `let a = A[i,j] in {[i,j] |-> f(a)}' instead ? 2016-06-02T12:16:41Z groovy2shoes: ski, ah, so you're essentially devising a notation for matrix comprehension, then? 2016-06-02T12:17:33Z przl quit (Ping timeout: 258 seconds) 2016-06-02T12:17:40Z ski: i thought that was clear from "one could imagine a list-comprehension or set-comprehension -like syntax like .." :) 2016-06-02T12:17:58Z annodomini joined #scheme 2016-06-02T12:17:58Z ski: (though really i'm more interested in the semantics than in the syntax, atm) 2016-06-02T12:21:01Z bjz_ joined #scheme 2016-06-02T12:21:14Z ski: the point being that instead of thinking of `A' as a single aggregate value which contains all the elements, we think of `a' as a "plural" value that stands for each of the elements, "in turn" (not meant to imply a sequential implementation. so alternatively, "simultaneously") 2016-06-02T12:21:40Z bjz quit (Ping timeout: 272 seconds) 2016-06-02T12:21:53Z moredhel_ joined #scheme 2016-06-02T12:22:56Z ski: we have somewhat of the same thing (though being list-based, and sans indices) with `...'-ellipsis patterns and templates, in `syntax-rules' and `syntax-case' 2016-06-02T12:26:46Z moredhel_ quit (Client Quit) 2016-06-02T12:45:13Z cemerick joined #scheme 2016-06-02T12:47:34Z kuribas quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2016-06-02T12:49:41Z zadock joined #scheme 2016-06-02T12:51:12Z zadock quit (Remote host closed the connection) 2016-06-02T12:52:53Z groovy2shoes: ski, do you think something like [ f(A_ij) | A_ij ← A ] is sufficient? or should there be more control over the indices than that? 2016-06-02T12:54:24Z groovy2shoes: (also, ellipsis patterns in syntax-rules really don't stand for such "plural" values, but rather they stand for the full sequence of terms at once) 2016-06-02T13:05:54Z fugastrega joined #scheme 2016-06-02T13:09:26Z noethics joined #scheme 2016-06-02T13:09:28Z annodomini quit (Quit: annodomini) 2016-06-02T13:13:34Z grettke joined #scheme 2016-06-02T13:14:25Z przl joined #scheme 2016-06-02T13:19:03Z przl quit (Ping timeout: 240 seconds) 2016-06-02T13:27:11Z ski: groovy2shoes : more control, otherwise why mention the indices ? (though in many cases that would be enough, sure) 2016-06-02T13:27:21Z ski: rudybot: eval (define-syntax foo (syntax-rules () ((foo a ...) '((a b) ...)))) 2016-06-02T13:27:22Z rudybot: ski: Done. 2016-06-02T13:27:27Z ski: rudybot: eval (foo a b c) 2016-06-02T13:27:27Z rudybot: ski: ; Value: '((a b) (b b) (c b)) 2016-06-02T13:28:13Z ski: clearly `a' in the `syntax-rules' there doesn't stand for the full sequence (if it did, then we'd got something with `((a b c) b)' in the output) 2016-06-02T13:29:03Z profess quit (Ping timeout: 276 seconds) 2016-06-02T13:29:04Z ski: `a' stands for an individual term in the sequence, and then `(a b)' is that individual term paired with `b' 2016-06-02T13:29:52Z profess joined #scheme 2016-06-02T13:31:40Z annodomini joined #scheme 2016-06-02T13:35:14Z andrewvic quit (Quit: andrewvic) 2016-06-02T13:37:13Z nilg` quit (Remote host closed the connection) 2016-06-02T13:37:17Z przl joined #scheme 2016-06-02T13:38:09Z ijp quit (Ping timeout: 276 seconds) 2016-06-02T13:39:03Z annodomini quit (Quit: annodomini) 2016-06-02T13:39:32Z jlongster joined #scheme 2016-06-02T13:46:56Z ijp joined #scheme 2016-06-02T13:52:47Z przl quit (Ping timeout: 250 seconds) 2016-06-02T13:54:22Z annodomini joined #scheme 2016-06-02T13:58:04Z greatscottttt quit (Quit: leaving) 2016-06-02T13:59:30Z przl joined #scheme 2016-06-02T14:02:12Z Muir joined #scheme 2016-06-02T14:07:04Z annodomini quit (Quit: annodomini) 2016-06-02T14:07:30Z mmc joined #scheme 2016-06-02T14:11:55Z mmc quit (Ping timeout: 252 seconds) 2016-06-02T14:12:17Z |meta joined #scheme 2016-06-02T14:13:31Z Tenhi joined #scheme 2016-06-02T14:17:56Z grettke quit (Quit: Textual IRC Client: www.textualapp.com) 2016-06-02T14:18:16Z przl quit (Ping timeout: 244 seconds) 2016-06-02T14:18:25Z Tenhi quit (K-Lined) 2016-06-02T14:19:24Z badkins joined #scheme 2016-06-02T14:20:32Z neoncontrails quit (Remote host closed the connection) 2016-06-02T14:21:11Z shdeng quit (Ping timeout: 244 seconds) 2016-06-02T14:22:53Z groovy2shoes: ski, I'm talking about the pattern, not the template... the template is obviously a different story, as you illustrate 2016-06-02T14:24:24Z nilg quit (Remote host closed the connection) 2016-06-02T14:30:43Z bokr1 joined #scheme 2016-06-02T14:30:52Z bokr quit (Ping timeout: 272 seconds) 2016-06-02T14:30:54Z ski: the syntax for the pattern is a subset of the syntax for the template, i believe 2016-06-02T14:34:20Z ski: in the pattern `(foo . (a ...))', `(a ...)' is the whole list, while `a' stands for each individual term in it 2016-06-02T14:34:32Z ski: one could perhaps say that `a ...' stands for a sequence, suitable for splicing inside other sequences .. 2016-06-02T14:35:17Z bokr1 quit (Ping timeout: 244 seconds) 2016-06-02T14:38:19Z mokuso joined #scheme 2016-06-02T14:38:20Z mokuso quit (Changing host) 2016-06-02T14:38:20Z mokuso joined #scheme 2016-06-02T14:39:22Z annodomini joined #scheme 2016-06-02T14:41:11Z jlongster quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2016-06-02T14:43:18Z annodomini quit (Read error: Connection reset by peer) 2016-06-02T14:44:14Z annodomini joined #scheme 2016-06-02T14:44:34Z przl joined #scheme 2016-06-02T14:45:27Z jlongster joined #scheme 2016-06-02T14:49:40Z przl quit (Ping timeout: 264 seconds) 2016-06-02T14:50:03Z adu joined #scheme 2016-06-02T14:51:17Z bokr joined #scheme 2016-06-02T15:04:41Z alezost joined #scheme 2016-06-02T15:06:52Z lambda-11235 joined #scheme 2016-06-02T15:07:04Z micmus quit (Ping timeout: 264 seconds) 2016-06-02T15:09:12Z micmus joined #scheme 2016-06-02T15:10:44Z sethalves quit (Remote host closed the connection) 2016-06-02T15:12:00Z annodomini quit (Quit: annodomini) 2016-06-02T15:17:55Z neoncontrails joined #scheme 2016-06-02T15:18:16Z blackwolf quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2016-06-02T15:21:06Z przl joined #scheme 2016-06-02T15:24:30Z przl quit (Client Quit) 2016-06-02T15:24:34Z annodomini joined #scheme 2016-06-02T15:24:35Z annodomini quit (Changing host) 2016-06-02T15:24:35Z annodomini joined #scheme 2016-06-02T15:24:49Z przl joined #scheme 2016-06-02T15:35:48Z pepton1 joined #scheme 2016-06-02T15:44:32Z walter|r joined #scheme 2016-06-02T15:45:30Z walter|r quit (Remote host closed the connection) 2016-06-02T15:46:26Z civodul quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2016-06-02T15:50:35Z grettke joined #scheme 2016-06-02T15:59:55Z sethalves joined #scheme 2016-06-02T16:00:42Z neoncontrails quit (Remote host closed the connection) 2016-06-02T16:03:44Z bjz_ quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2016-06-02T16:04:13Z bjz joined #scheme 2016-06-02T16:05:01Z nilg joined #scheme 2016-06-02T16:08:15Z civodul joined #scheme 2016-06-02T16:15:31Z cemerick quit (Ping timeout: 244 seconds) 2016-06-02T16:15:45Z alezost quit (Quit: I live in GuixSD and Emacs ) 2016-06-02T16:22:59Z grettke quit (Ping timeout: 260 seconds) 2016-06-02T16:25:01Z annodomini quit (Quit: annodomini) 2016-06-02T16:41:59Z ReductioAdAbsurd joined #scheme 2016-06-02T16:45:40Z przl quit (Ping timeout: 250 seconds) 2016-06-02T16:46:34Z _sjs joined #scheme 2016-06-02T16:49:44Z xoui quit (Quit: xoui) 2016-06-02T16:54:34Z nilg` joined #scheme 2016-06-02T16:59:31Z grettke joined #scheme 2016-06-02T17:01:34Z Muir quit (Quit: Leaving) 2016-06-02T17:04:19Z galex-713 quit (Read error: Connection reset by peer) 2016-06-02T17:04:47Z benwbooth quit (Quit: Textual IRC Client: www.textualapp.com) 2016-06-02T17:04:51Z galex-713 joined #scheme 2016-06-02T17:05:05Z benwbooth joined #scheme 2016-06-02T17:10:20Z mokuso quit (Ping timeout: 240 seconds) 2016-06-02T17:14:34Z mokuso joined #scheme 2016-06-02T17:26:55Z mastokley joined #scheme 2016-06-02T17:28:41Z fujinuma joined #scheme 2016-06-02T17:29:03Z fujinuma: what is the common interpreter? 2016-06-02T17:29:33Z fujinuma: I'm running on Fedora 23. 2016-06-02T17:30:18Z wasamasa: scheme is not the language for that :P 2016-06-02T17:30:31Z wasamasa: it's an idea that has spawned loads of interpreters 2016-06-02T17:30:49Z wasamasa: and compilers and who knows what else 2016-06-02T17:32:59Z fujinuma left #scheme 2016-06-02T17:34:02Z nilg` quit (Remote host closed the connection) 2016-06-02T17:36:55Z nilg` joined #scheme 2016-06-02T17:40:49Z AlexDenisov joined #scheme 2016-06-02T17:47:55Z daviid joined #scheme 2016-06-02T17:55:05Z pierpa joined #scheme 2016-06-02T17:55:13Z annodomini joined #scheme 2016-06-02T17:57:39Z mokuso quit (Quit: leaving) 2016-06-02T18:00:00Z ecraven: has anyone here written a small apl layer in scheme? 2016-06-02T18:00:31Z ijp: and may god have mercy on your soul 2016-06-02T18:03:46Z pierpa: you can start from srfi25 and the few bits missing 2016-06-02T18:03:52Z pierpa: *and add 2016-06-02T18:06:44Z lambda-11235 quit (Read error: Connection reset by peer) 2016-06-02T18:06:48Z jcowan: Or you can help me out with ArraysCowan, which is intended to do everything non-numeric in array world 2016-06-02T18:08:30Z jcowan: right now it's a big mess, but I hope to clean it up soon 2016-06-02T18:11:43Z workp joined #scheme 2016-06-02T18:13:54Z pierpa: jcowan: I'll try to read it. Will report. 2016-06-02T18:15:49Z DGASAU quit (Ping timeout: 250 seconds) 2016-06-02T18:18:15Z mmc joined #scheme 2016-06-02T18:19:03Z lambda-11235 joined #scheme 2016-06-02T18:23:53Z groovy2shoes left #scheme 2016-06-02T18:24:00Z groovy2shoes joined #scheme 2016-06-02T18:24:10Z workp quit (Quit: leaving) 2016-06-02T18:24:51Z DGASAU joined #scheme 2016-06-02T18:28:21Z pjb joined #scheme 2016-06-02T18:32:40Z ijp quit (Quit: brb inventing something better than sliced bread) 2016-06-02T18:40:38Z gnomon: ecraven, have you looked at Ken Howland's APROL system? 2016-06-02T18:41:38Z gnomon: Herpity-derp, I mean John Howland. Ken Iversson was at the top of my mind, my bad. 2016-06-02T18:43:05Z jcowan: ooh, yes, this is important for me 2016-06-02T18:47:53Z gnomon: jcowan, oh hey, what's ArraysCowan..? Where can I read about it? 2016-06-02T18:48:23Z kuribas joined #scheme 2016-06-02T18:48:39Z gnomon: I am intruigerated! 2016-06-02T18:48:51Z gnomon: Riastradh, are you around? 2016-06-02T18:52:19Z jcowan: gnomon: http://trac.sacrideo.us/wg/wiki/ArraysCowan 2016-06-02T18:59:19Z gnomon: jcowan, danke schön! 2016-06-02T19:00:08Z gnomon readreads 2016-06-02T19:01:50Z TheLemonMan joined #scheme 2016-06-02T19:03:15Z jlongster quit (Quit: Textual IRC Client: www.textualapp.com) 2016-06-02T19:04:40Z ijp joined #scheme 2016-06-02T19:06:55Z jlongster joined #scheme 2016-06-02T19:07:45Z jrslepak: ecraven: I have a prototype version of a language with APL-like semantics (but not APL-like syntax) done as a #lang in Racket 2016-06-02T19:12:28Z jlongste_ joined #scheme 2016-06-02T19:12:37Z lambda-11235 quit (Read error: Connection reset by peer) 2016-06-02T19:14:13Z lambda-11235 joined #scheme 2016-06-02T19:15:03Z jlongster quit (Ping timeout: 240 seconds) 2016-06-02T19:20:04Z DGASAU quit (Ping timeout: 240 seconds) 2016-06-02T19:21:25Z grettke quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2016-06-02T19:27:13Z cemerick joined #scheme 2016-06-02T19:30:35Z ecraven: jrslepak: is it public anywhere? 2016-06-02T19:30:59Z ecraven: jcowan: since someone was talking about APL yesterday, I've kind of dug into it, it is indeed a very interesting language... much saner than R 2016-06-02T19:31:19Z jrslepak: ecraven: https://github.com/jrslepak/Remora/tree/master/remora 2016-06-02T19:31:27Z ecraven: jrslepak: thanks! 2016-06-02T19:32:32Z ecraven: jcowan: I'll read the Mastering Dyalog APL book to its end, then I'll try to come up with useful ideas for ArraysCowan :) 2016-06-02T19:33:24Z jcowan: thanks 2016-06-02T19:34:26Z ecraven: not sure I can be of much help, but the game-of-life and sudoku solvers on youtube were at least impressive :) 2016-06-02T19:34:47Z ecraven: gnomon: never heard of that, but thanks for pointing it out! 2016-06-02T19:34:57Z DGASAU joined #scheme 2016-06-02T19:35:17Z ecraven: 'John Howland was a passenger on the Mayflower' ... probably not that one :D 2016-06-02T19:35:19Z jlongste_ quit (Ping timeout: 252 seconds) 2016-06-02T19:35:19Z benwbooth quit (Ping timeout: 252 seconds) 2016-06-02T19:35:43Z ecraven: nice, found the paper, thanks! 2016-06-02T19:36:00Z neoncontrails joined #scheme 2016-06-02T19:37:32Z jcowan: ecraven: Remember that the idea here is not to support stuff whose validity depends on the type of the data in the array 2016-06-02T19:38:14Z jcowan: so array-map lets you do matrix addition for any scalar definition of addition, but matrix inversion is specific to numeric matrixes 2016-06-02T19:38:19Z jcowan: so not in the API 2016-06-02T19:38:21Z benwbooth joined #scheme 2016-06-02T19:41:43Z ecraven: ok 2016-06-02T19:42:49Z ecraven: hm.. all the apl introductions mention that "many function symbols in mathematics are variadic" and give - as an example (monadic -3 and dyadic 1-3). Is there *any* operator except - (and maybe +) that has multiple arities? 2016-06-02T19:43:15Z benwbooth quit (Ping timeout: 244 seconds) 2016-06-02T19:43:38Z lambda-11235 quit (Read error: Connection reset by peer) 2016-06-02T19:45:17Z gnomon: ecraven, "ceiling" / "floor" 2016-06-02T19:45:43Z jlongster joined #scheme 2016-06-02T19:46:11Z gnomon: ecraven, when applied to single numeric values, it usually means "round up or down to an integer"; when applied to a list of numbers, it usually means "return the max/min in that list" 2016-06-02T19:46:33Z benwbooth joined #scheme 2016-06-02T19:46:49Z manumanumanu: ecraven: impressive work on getting stalin to work on the benchmarks 2016-06-02T19:46:54Z ecraven: gnomon: do you mean the symbol ⌈? I've never seen that used infix in normal mathematics 2016-06-02T19:47:00Z ijp quit (Read error: No route to host) 2016-06-02T19:47:00Z ecraven: manumanumanu: it wasn't that hard, to be honest 2016-06-02T19:47:43Z gwatt: ecraven: additionally, apl functions will usually accept a vector or scalar on the left with a vector on the right 2016-06-02T19:47:44Z ecraven: gnomon: I've only ever seen ⌈123⌉ (as around-fix operators) :) 2016-06-02T19:47:46Z ijp joined #scheme 2016-06-02T19:47:54Z ecraven: gwatt: yes, but that's apl, not "mathematics" 2016-06-02T19:47:58Z gwatt: fair 2016-06-02T19:48:37Z gwatt: well. as the story goes Iverson wanted to originall call APL Iverson's Better Math, but IBM (his employer) didn't have a sense of humor 2016-06-02T19:48:54Z ecraven: manumanumanu: I wish I had some time to go through the log files and get more benchmarks to run on more implementatians 2016-06-02T19:49:43Z gnomon: ecraven, I can't speak with much authority to the usage of symbols in professional math contexts, I'm afraid. 2016-06-02T19:49:44Z lambda-11235 joined #scheme 2016-06-02T19:50:06Z ecraven: gnomon: neither can I :) but I've asked in ##math, we'll see 2016-06-02T19:50:27Z gnomon: gwatt, I've never heard that story before and I love it, even if it turns out to be apocryphal. 2016-06-02T19:50:47Z ecraven: gwatt: very nice story indeed :) 2016-06-02T19:53:51Z ijp quit (Ping timeout: 276 seconds) 2016-06-02T19:57:06Z gwatt: http://www.vaxman.de/publications/apl_slides.pdf, no citation though 2016-06-02T19:59:12Z jcowan: "Being able to write APL programs does not normally imply 2016-06-02T19:59:12Z jcowan: that you are able to read APL programs – not even your own!" At least they admit it. 2016-06-02T20:00:14Z groovy2shoes: ah, just like Perl 2016-06-02T20:00:21Z groovy2shoes: good ol' write-only languages 2016-06-02T20:00:59Z gwatt: perl's not too bad 2016-06-02T20:01:00Z jcowan: Much worse than Perl IMO 2016-06-02T20:01:56Z groovy2shoes: perl is bad and you should feel bad 2016-06-02T20:02:21Z ReductioAdAbsurd quit (Remote host closed the connection) 2016-06-02T20:03:34Z gwatt: nah, i quite like perl. 2016-06-02T20:04:37Z ski: jrslepak : looks like an interesting paper, ty 2016-06-02T20:04:38Z ski: ecraven : i've seen the term "distfix" (also "mixfix" is related) 2016-06-02T20:09:16Z annodomini quit (Quit: annodomini) 2016-06-02T20:10:26Z jcowan: http://elalang.net <-- Ela is pure functional but dynamically typed 2016-06-02T20:11:28Z ijp joined #scheme 2016-06-02T20:12:27Z benwbooth quit (Ping timeout: 246 seconds) 2016-06-02T20:14:41Z jcowan: There's an impurity escape hatch in the form of C, but Haskell has that too. 2016-06-02T20:14:54Z jcowan: oops, ww 2016-06-02T20:15:04Z benwbooth joined #scheme 2016-06-02T20:17:25Z grettke joined #scheme 2016-06-02T20:18:52Z bokr quit (Ping timeout: 244 seconds) 2016-06-02T20:28:16Z ecraven: jcowan: I'm starting to understand *some* simple expressions, but I cannot imagine understanding longer lines, especially the "tacit" style 2016-06-02T20:28:27Z fugastrega quit (Quit: Leaving) 2016-06-02T20:30:05Z aeth quit (Read error: Connection reset by peer) 2016-06-02T20:30:22Z aeth joined #scheme 2016-06-02T20:33:03Z profess quit (Ping timeout: 240 seconds) 2016-06-02T20:34:55Z profess joined #scheme 2016-06-02T20:41:51Z groovy2shoes quit (Ping timeout: 250 seconds) 2016-06-02T20:43:15Z Blukunfando quit (Ping timeout: 276 seconds) 2016-06-02T20:48:52Z cemerick quit (Ping timeout: 244 seconds) 2016-06-02T20:53:00Z galex-713 quit (Ping timeout: 244 seconds) 2016-06-02T20:58:21Z karswell quit (Remote host closed the connection) 2016-06-02T20:58:37Z karswell joined #scheme 2016-06-02T21:03:58Z Riastradh joined #scheme 2016-06-02T21:04:01Z cemerick joined #scheme 2016-06-02T21:10:05Z AlexDenisov quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2016-06-02T21:13:07Z mmc quit (Ping timeout: 244 seconds) 2016-06-02T21:16:11Z adu quit (Quit: adu) 2016-06-02T21:20:15Z TheLemonMan quit (Quit: "It's now safe to turn off your computer.") 2016-06-02T21:21:37Z jlongster quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2016-06-02T21:25:30Z aries_liuxueyang quit (Ping timeout: 276 seconds) 2016-06-02T21:26:49Z aries_liuxueyang joined #scheme 2016-06-02T21:29:20Z cemerick quit (Ping timeout: 260 seconds) 2016-06-02T21:29:55Z mmc joined #scheme 2016-06-02T21:33:07Z bokr joined #scheme 2016-06-02T21:35:52Z andrewvic joined #scheme 2016-06-02T21:36:14Z andrewvic quit (Client Quit) 2016-06-02T21:41:07Z adu joined #scheme 2016-06-02T21:42:10Z mlaine joined #scheme 2016-06-02T21:42:24Z pepton1 quit (Ping timeout: 246 seconds) 2016-06-02T21:43:50Z walter|r joined #scheme 2016-06-02T21:47:21Z kuribas quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2016-06-02T22:00:24Z Blukunfando joined #scheme 2016-06-02T22:01:40Z civodul quit (Ping timeout: 240 seconds) 2016-06-02T22:03:14Z mumptai joined #scheme 2016-06-02T22:03:20Z bokr quit (Quit: Leaving.) 2016-06-02T22:09:58Z annodomini joined #scheme 2016-06-02T22:09:58Z annodomini quit (Changing host) 2016-06-02T22:09:58Z annodomini joined #scheme 2016-06-02T22:21:03Z galex-713 joined #scheme 2016-06-02T22:24:39Z mmc quit (Ping timeout: 260 seconds) 2016-06-02T22:25:37Z walter|r quit (Remote host closed the connection) 2016-06-02T22:31:51Z jcowan quit (Quit: Leaving) 2016-06-02T22:37:57Z annodomini quit (Quit: annodomini) 2016-06-02T22:52:52Z adu quit (Quit: adu) 2016-06-02T22:53:54Z walter|r joined #scheme 2016-06-02T23:07:28Z pjb quit (Remote host closed the connection) 2016-06-02T23:07:33Z mumptai quit (Remote host closed the connection) 2016-06-02T23:09:21Z andrewvic joined #scheme 2016-06-02T23:12:08Z walter|r quit (Remote host closed the connection) 2016-06-02T23:20:16Z _sjs quit (Ping timeout: 252 seconds) 2016-06-02T23:23:20Z mejja joined #scheme 2016-06-02T23:23:34Z adu joined #scheme 2016-06-02T23:33:00Z dsp quit (Ping timeout: 240 seconds) 2016-06-02T23:34:52Z andrewvic quit (Ping timeout: 260 seconds) 2016-06-02T23:36:51Z masoudd joined #scheme 2016-06-02T23:50:53Z lritter joined #scheme