2015-12-15T00:00:48Z emacsomancer joined #scheme 2015-12-15T00:12:42Z Riastradh quit (Ping timeout: 272 seconds) 2015-12-15T00:13:54Z JX7P: http://emojilisp.com/ Emoji Lisp. This language was designed to make programming more accessible to children 2015-12-15T00:14:24Z Mokuso joined #scheme 2015-12-15T00:15:56Z cmatei joined #scheme 2015-12-15T00:16:25Z BossKonaSegwaY left #scheme 2015-12-15T00:22:35Z Mike57 quit (Ping timeout: 240 seconds) 2015-12-15T00:29:01Z Mike57 joined #scheme 2015-12-15T00:30:31Z badkins joined #scheme 2015-12-15T00:32:38Z adu joined #scheme 2015-12-15T00:33:18Z lolisa joined #scheme 2015-12-15T00:40:21Z ehaliewicz joined #scheme 2015-12-15T00:40:23Z henrytill left #scheme 2015-12-15T00:48:44Z Mike57 quit (Ping timeout: 250 seconds) 2015-12-15T00:49:46Z Mike57 joined #scheme 2015-12-15T00:57:02Z Mike57 quit (Ping timeout: 272 seconds) 2015-12-15T00:57:41Z Mike57 joined #scheme 2015-12-15T01:05:06Z Mike57 quit (Ping timeout: 240 seconds) 2015-12-15T01:05:35Z Mokuso quit (Quit: EOF) 2015-12-15T01:09:06Z Atomic_nxjRq quit (Ping timeout: 250 seconds) 2015-12-15T01:10:22Z duggiefresh quit (Remote host closed the connection) 2015-12-15T01:11:15Z turbopape quit (Ping timeout: 240 seconds) 2015-12-15T01:11:28Z Mike57 joined #scheme 2015-12-15T01:12:27Z duggiefresh joined #scheme 2015-12-15T01:17:20Z Mike57 quit (Ping timeout: 250 seconds) 2015-12-15T01:18:08Z duggiefresh quit (Remote host closed the connection) 2015-12-15T01:26:33Z acarrico joined #scheme 2015-12-15T01:28:51Z Mike57 joined #scheme 2015-12-15T01:31:47Z davexunit joined #scheme 2015-12-15T01:31:51Z davexunit quit (Changing host) 2015-12-15T01:31:51Z davexunit joined #scheme 2015-12-15T01:31:53Z qwertyuiop924 joined #scheme 2015-12-15T01:32:41Z qwertyuiop924 quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )) 2015-12-15T01:40:11Z qwertyuiop924 joined #scheme 2015-12-15T01:52:26Z Mike57 quit (Ping timeout: 240 seconds) 2015-12-15T01:52:35Z Mike57 joined #scheme 2015-12-15T01:53:18Z stepnem quit (Ping timeout: 250 seconds) 2015-12-15T01:54:45Z qwertyuiop924 left #scheme 2015-12-15T02:18:23Z agumonkey quit (Quit: ZNC - http://znc.in) 2015-12-15T02:19:33Z agumonkey joined #scheme 2015-12-15T02:21:55Z Mike57 quit (Ping timeout: 240 seconds) 2015-12-15T02:25:20Z aap_ joined #scheme 2015-12-15T02:25:32Z aap quit (Read error: Connection reset by peer) 2015-12-15T02:28:18Z Mike57 joined #scheme 2015-12-15T02:28:26Z duggiefresh joined #scheme 2015-12-15T02:32:28Z duggiefresh quit (Remote host closed the connection) 2015-12-15T02:32:44Z agumonkey quit (Ping timeout: 250 seconds) 2015-12-15T02:38:03Z mrowe quit (Quit: ZNC - http://znc.sourceforge.net) 2015-12-15T02:39:30Z duggiefresh joined #scheme 2015-12-15T02:42:34Z daviid joined #scheme 2015-12-15T02:49:28Z adu quit (Read error: Connection reset by peer) 2015-12-15T03:10:26Z jao quit (Ping timeout: 240 seconds) 2015-12-15T03:21:38Z neoncontrails quit (Remote host closed the connection) 2015-12-15T03:22:49Z neoncontrails joined #scheme 2015-12-15T03:27:55Z Mike57 quit (Ping timeout: 240 seconds) 2015-12-15T03:29:06Z davexunit quit (Quit: Later) 2015-12-15T03:40:00Z mbuf joined #scheme 2015-12-15T03:48:54Z badkins quit (Remote host closed the connection) 2015-12-15T03:51:16Z ArneBab joined #scheme 2015-12-15T03:53:31Z duggiefresh quit (Remote host closed the connection) 2015-12-15T03:53:46Z ehaliewicz quit (Remote host closed the connection) 2015-12-15T03:54:06Z ArneBab_ quit (Ping timeout: 240 seconds) 2015-12-15T03:55:47Z Mike57 joined #scheme 2015-12-15T04:02:39Z duggiefresh joined #scheme 2015-12-15T04:07:26Z Mike57 quit (Ping timeout: 240 seconds) 2015-12-15T04:27:35Z leppie quit (Ping timeout: 240 seconds) 2015-12-15T04:44:12Z leppie joined #scheme 2015-12-15T04:44:30Z lritter joined #scheme 2015-12-15T04:48:19Z temporary joined #scheme 2015-12-15T04:48:54Z temporary: is freenode experiencing down time? 2015-12-15T04:49:14Z ggole joined #scheme 2015-12-15T04:57:01Z duggiefresh quit (Remote host closed the connection) 2015-12-15T04:57:42Z duggiefresh joined #scheme 2015-12-15T04:58:40Z temporary quit 2015-12-15T05:04:27Z ggole_ joined #scheme 2015-12-15T05:04:56Z lambda-11235: What do you mean? 2015-12-15T05:05:43Z bungoman joined #scheme 2015-12-15T05:07:00Z Mike57 joined #scheme 2015-12-15T05:07:42Z ggole quit (Ping timeout: 256 seconds) 2015-12-15T05:15:04Z ggole_ quit (Ping timeout: 256 seconds) 2015-12-15T05:19:08Z leppie quit (Ping timeout: 250 seconds) 2015-12-15T05:20:26Z psy_ quit (Ping timeout: 240 seconds) 2015-12-15T05:21:52Z daviid quit (Ping timeout: 256 seconds) 2015-12-15T05:23:47Z leppie joined #scheme 2015-12-15T05:32:32Z Mike57 quit (Ping timeout: 272 seconds) 2015-12-15T05:33:15Z Mike57 joined #scheme 2015-12-15T05:35:29Z oleo__ quit (Quit: Verlassend) 2015-12-15T05:38:29Z duggiefresh quit (Remote host closed the connection) 2015-12-15T05:54:05Z psy_ joined #scheme 2015-12-15T05:55:32Z Mike57 quit (Ping timeout: 250 seconds) 2015-12-15T06:00:38Z emma quit (Remote host closed the connection) 2015-12-15T06:08:11Z ggole_ joined #scheme 2015-12-15T06:10:08Z ggole__ joined #scheme 2015-12-15T06:12:07Z Mike57 joined #scheme 2015-12-15T06:12:35Z ggole_ quit (Ping timeout: 240 seconds) 2015-12-15T06:16:19Z psy_ quit (Quit: Leaving) 2015-12-15T06:26:20Z bungoman quit (Remote host closed the connection) 2015-12-15T06:30:27Z ee_cc joined #scheme 2015-12-15T06:39:14Z ecthiender joined #scheme 2015-12-15T06:39:18Z duggiefresh joined #scheme 2015-12-15T06:43:46Z duggiefresh quit (Ping timeout: 240 seconds) 2015-12-15T06:50:40Z wasamasa: freenode is experiencing downtime all the time 2015-12-15T07:02:06Z Mike57 quit (Ping timeout: 240 seconds) 2015-12-15T07:03:11Z Mike57 joined #scheme 2015-12-15T07:13:06Z Niac joined #scheme 2015-12-15T07:24:22Z Mike57 quit (Ping timeout: 250 seconds) 2015-12-15T07:25:26Z Mike57 joined #scheme 2015-12-15T07:31:36Z Niac quit (Ping timeout: 272 seconds) 2015-12-15T07:34:08Z Mike57 quit (Ping timeout: 272 seconds) 2015-12-15T07:34:23Z Mike57 joined #scheme 2015-12-15T07:40:04Z duggiefresh joined #scheme 2015-12-15T07:44:40Z duggiefresh quit (Ping timeout: 256 seconds) 2015-12-15T07:48:39Z bjz joined #scheme 2015-12-15T07:54:52Z Mike57 quit (Ping timeout: 256 seconds) 2015-12-15T07:56:02Z nee` joined #scheme 2015-12-15T07:58:56Z lambda-11235 quit (Quit: Have to write some Scheme) 2015-12-15T08:01:32Z failproofshark quit (Remote host closed the connection) 2015-12-15T08:04:36Z emma_ joined #scheme 2015-12-15T08:06:16Z Mike57 joined #scheme 2015-12-15T08:07:16Z emma_ is now known as emma 2015-12-15T08:10:56Z stepnem joined #scheme 2015-12-15T08:11:25Z Kryo quit (Remote host closed the connection) 2015-12-15T08:14:42Z Mike57 quit (Ping timeout: 256 seconds) 2015-12-15T08:15:25Z Mike57 joined #scheme 2015-12-15T08:20:56Z rszeno joined #scheme 2015-12-15T08:21:35Z Mike57 quit (Ping timeout: 240 seconds) 2015-12-15T08:24:16Z ecthiender_ joined #scheme 2015-12-15T08:25:26Z ecthiender quit (Ping timeout: 272 seconds) 2015-12-15T08:29:10Z Mike57 joined #scheme 2015-12-15T08:29:49Z turbopape joined #scheme 2015-12-15T08:29:53Z alezost joined #scheme 2015-12-15T08:30:44Z ecthiender_ is now known as ecthiender 2015-12-15T08:31:08Z bjz quit (Ping timeout: 256 seconds) 2015-12-15T08:34:56Z turbopape quit (Ping timeout: 272 seconds) 2015-12-15T08:34:58Z przl joined #scheme 2015-12-15T08:38:40Z bjz joined #scheme 2015-12-15T08:44:49Z civodul joined #scheme 2015-12-15T08:49:24Z Fare joined #scheme 2015-12-15T08:49:41Z Menche quit (Quit: zzzZZZZ) 2015-12-15T08:51:50Z lolisa quit (Quit: meow) 2015-12-15T08:57:19Z ggole__ is now known as ggole 2015-12-15T09:00:21Z mmos joined #scheme 2015-12-15T09:05:20Z ggole quit (Ping timeout: 250 seconds) 2015-12-15T09:13:48Z Mokuso joined #scheme 2015-12-15T09:15:24Z aap_ is now known as aap 2015-12-15T09:16:43Z ggole joined #scheme 2015-12-15T09:17:02Z ecthiender quit (Quit: gotta go) 2015-12-15T09:20:43Z ggole_ joined #scheme 2015-12-15T09:23:15Z ggole quit (Ping timeout: 240 seconds) 2015-12-15T09:29:29Z ecthiender joined #scheme 2015-12-15T09:35:26Z bjz quit (Ping timeout: 240 seconds) 2015-12-15T09:40:06Z Mike57 quit (Ping timeout: 240 seconds) 2015-12-15T09:41:17Z Mike57 joined #scheme 2015-12-15T09:50:30Z rszeno quit (Quit: Leaving.) 2015-12-15T09:51:54Z bjz joined #scheme 2015-12-15T09:54:58Z LeoNerd joined #scheme 2015-12-15T09:55:02Z bjz_ joined #scheme 2015-12-15T09:55:54Z ep quit (Quit: Connection closed for inactivity) 2015-12-15T09:56:26Z bjz quit (Ping timeout: 240 seconds) 2015-12-15T10:14:17Z Mike57_ joined #scheme 2015-12-15T10:14:22Z Mike57 quit (Ping timeout: 272 seconds) 2015-12-15T10:21:06Z alezost quit (Ping timeout: 240 seconds) 2015-12-15T10:25:17Z mutbuerger quit (Read error: Connection reset by peer) 2015-12-15T10:26:15Z Mike57_ quit (Ping timeout: 240 seconds) 2015-12-15T10:29:50Z ASau quit (Ping timeout: 250 seconds) 2015-12-15T10:32:47Z Mike57 joined #scheme 2015-12-15T10:33:58Z mutbuerger joined #scheme 2015-12-15T10:44:08Z przl quit (Ping timeout: 250 seconds) 2015-12-15T10:47:24Z mutbuerger quit (Remote host closed the connection) 2015-12-15T10:48:19Z mutbuerger joined #scheme 2015-12-15T10:49:29Z przl joined #scheme 2015-12-15T10:53:40Z Fare quit (Ping timeout: 250 seconds) 2015-12-15T11:02:16Z cky quit (Quit: WeeChat 1.0.1) 2015-12-15T11:03:34Z Khisanth quit (Ping timeout: 256 seconds) 2015-12-15T11:09:43Z mbuf quit (Quit: Ex-Chat) 2015-12-15T11:11:53Z cousteau joined #scheme 2015-12-15T11:32:49Z cousteau: Is Scheme "a Lisp", or is it "a Lisp derivative"? 2015-12-15T11:33:42Z jackdaniel: cousteau: lisp is a broad family of languages. Scheme is part of that family (however there are voices of disagreement on this, it's my opinion :) 2015-12-15T11:34:02Z cousteau: ok, so the former :) thanks, that's what I wanted to know 2015-12-15T11:35:53Z cousteau: it's not like, say, C++, which is a derivative of C but not really the same language at all (also, there's "one C" which might be extended, but as you said Lisp is a broad family) 2015-12-15T11:37:07Z jackdaniel: cousteau: it's more like C, C++, Java, C# belong to the algol languages family 2015-12-15T11:37:37Z cousteau: oh 2015-12-15T11:38:06Z cousteau looks up Algol on Wikipedia and gets https://en.wikipedia.org/wiki/Algol -- dammit 2015-12-15T11:38:19Z LeoNerd: Relationships and categorisation aren't always clear-cut black and white 2015-12-15T11:38:32Z alezost joined #scheme 2015-12-15T11:38:37Z jackdaniel: ↑ 2015-12-15T11:38:43Z cousteau: yeah 2015-12-15T11:39:11Z cousteau: ...to be fair Algol looks more like Pascal than C/C++/C#/Java 2015-12-15T11:39:55Z LeoNerd: BEGIN 2015-12-15T11:40:51Z cousteau: yeah see? That's clearly a Pascal/Ada thing! 2015-12-15T11:42:16Z cousteau: jackdaniel, ok, so oversimplifying this, your point is that Scheme and CLisp would be like C and C++, except there's a name for the former ("Lisp family") 2015-12-15T11:43:27Z cousteau: so if I want to "learn Lisp", which was my original intention, one way to do it is by learning Scheme 2015-12-15T11:43:28Z jackdaniel: Common Lisp (clisp is one of the implementations)*. Yeah, both are lisps, neither is the true "Lisp" :p 2015-12-15T11:43:42Z jackdaniel: one true "lisp" that is (imo obv) 2015-12-15T11:43:54Z jackdaniel: and yes, scheme is a way to learn lisp 2015-12-15T11:43:56Z cousteau: jackdaniel, oh, thought clisp was short for "Common Lisp"... guess it's more like "CPython" 2015-12-15T11:44:23Z jackdaniel: :) 2015-12-15T11:44:57Z cousteau: ...damn, ALGOL looks like a mixture between Pascal, APL, and INTERCAL 2015-12-15T11:45:35Z przl quit (Ping timeout: 240 seconds) 2015-12-15T11:46:13Z mario-goulart: cousteau: some decades ago there was a language called Lisp. Along the years, many variants of that language were created, but still in the same spirit of the original Lisp (parenthesized syntax, prefix notation, macros, GC, functions as first class objects etc.). Now the original Lisp is dead, and some of its descendents are still alive. Scheme is one of them. 2015-12-15T11:46:14Z cousteau: (NB: that means "it's ugly and I don't like it") 2015-12-15T11:47:02Z mario-goulart: https://www.dreamsongs.com/Files/HOPL2-Uncut.pdf describes this topic in details. 2015-12-15T11:49:20Z cousteau: uh... something that has PDP in it sounds like something that will be horrid to read. I mean, those damn things used 36-bit words! That can't be good. 2015-12-15T11:50:03Z cousteau: PDP are the first 3 letters that come to mind when I think of "weird computer" 2015-12-15T11:51:30Z jackdaniel: in that case you should shy away from unix/-like systems ;) have a nice day o/ 2015-12-15T11:53:28Z cousteau: jackdaniel, but POSIX says that bytes have nice, easy-to-handle 8-bit size! 2015-12-15T11:55:00Z cousteau: 1.1 Organization of This Paper >109 pages >paper 2015-12-15T11:55:10Z cousteau is used to "papers" having 4-8 pages 2015-12-15T11:58:14Z bjz_ quit (Ping timeout: 272 seconds) 2015-12-15T11:58:28Z cousteau: mario-goulart, a lengthy but interesting read 2015-12-15T11:59:10Z bjz joined #scheme 2015-12-15T12:01:26Z cousteau: mario-goulart, page 81 though... 2015-12-15T12:01:43Z cousteau: so many [?] references 2015-12-15T12:04:35Z mario-goulart: Maybe that's some kind of draft. This one seems to have all references resolved: http://www.csee.umbc.edu/courses/331/resources/papers/Evolution-of-Lisp.pdf 2015-12-15T12:04:36Z rudybot: http://teensy.info/hyCEGSp9w1 2015-12-15T12:04:37Z ggole_: Does POSIX actually guarantee that? C doesn't, and there are actual systems on which bytes are the same size as words... 2015-12-15T12:05:51Z ggole_: I see that it mandates that CHAR_BIT = 8. Right. 2015-12-15T12:05:58Z cousteau: ggole_, my experience: "I don't know if this Piccolo DSP uses 16- or 32-bit ints. I know, I'll store sizeof (int) on a register and then read it; if it's 2 it means it's 16 bits, and if it's 4 then it's 32 bits" 2015-12-15T12:06:06Z cousteau: "...ok, it's 1, what??" 2015-12-15T12:06:36Z ggole_: Heh. 2015-12-15T12:06:44Z cousteau: and that's how I eventually learned that those things use 16-bit bytes 2015-12-15T12:06:53Z LeoNerd: Mmmm.. DSPs 2015-12-15T12:07:25Z mario-goulart: PDPs are much older than POSIX. 2015-12-15T12:08:10Z cousteau: yeah, iirc C was developed(?) on a 9-bit byte PDP (or something like that) 2015-12-15T12:08:24Z cousteau: (or was that Unix? anyway, they're related) 2015-12-15T12:09:47Z cousteau: mario-goulart, some ugly syntax there :P that DEFINE(( thing kind scares me 2015-12-15T12:10:19Z ggole_: The PDP-11? I thought that was a 16-bit machine. 2015-12-15T12:10:27Z cousteau: I think it was the -10 2015-12-15T12:10:36Z ggole_: Machines of unconventional widths were certainly common in those days, though. 2015-12-15T12:10:38Z cousteau: ...or -8? 2015-12-15T12:11:07Z cousteau: yeah, the advantage of 36-bit words was that you could have several different "character widths" -- 6, 9, 12... 2015-12-15T12:13:07Z ggole_: C's predecessors ran on earlier PDPs, but C was brought up on the PDP-11. 2015-12-15T12:13:16Z ggole_: https://www.bell-labs.com/usr/dmr/www/chist.pdf 2015-12-15T12:13:48Z cousteau: The digraphs [) and (] are equivalent to BEGIN and END (they looked better on a Model 33 Teletype than they do here) -- ok, you know what, "true LISP" scares me. 2015-12-15T12:14:48Z cousteau: hm, wasn't bell-labs.com/usr/dmr taken down? Or only part of it? Or was it brought back up? 2015-12-15T12:15:34Z ggole_: It 404s, but https://www.bell-labs.com/usr/dmr/www/ is there. 2015-12-15T12:15:38Z ggole_: No idea why. 2015-12-15T12:18:28Z cousteau: yeah, bell labs doing weird things 2015-12-15T12:18:42Z cousteau: that's how the K&R2 errata disappeared 2015-12-15T12:19:13Z cousteau: people at ##c had a hard-ish time finding a replacement, till they decided to just host a copy on their website 2015-12-15T12:20:41Z cousteau: ggole_, nice! That PDF explains why the precedence of & and == is messed up, among other things... that's the sort of thing worth printing and keeping in your personal library 2015-12-15T12:22:09Z ecthiender quit (Quit: gotta go) 2015-12-15T12:23:19Z cousteau: damn, those times would have been fun living in. When long bearded guys experimented with computers and the new era was being brewed. Well, except for the lack of internet. 2015-12-15T12:23:40Z cousteau: gotta go 2015-12-15T12:24:06Z ggole_: You had to be lucky to be in on the ground floor, though 2015-12-15T12:24:20Z ggole_: Not like now where anybody with an interest can dive in 2015-12-15T12:27:05Z neoncontrails quit (Remote host closed the connection) 2015-12-15T12:28:17Z ee_cc quit (Quit: ee_cc) 2015-12-15T12:35:46Z alezost quit (Quit: I live in GuixSD and Emacs ) 2015-12-15T12:39:31Z przl joined #scheme 2015-12-15T12:42:09Z bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2015-12-15T12:48:04Z bjz joined #scheme 2015-12-15T12:49:04Z badkins joined #scheme 2015-12-15T12:54:36Z przl quit (Ping timeout: 272 seconds) 2015-12-15T13:01:58Z cousteau: http://www.catb.org/jargon/html/koans.html#id3141171 lol 2015-12-15T13:05:13Z cousteau: that third one is rather close to XKCD's implementation of rand() (or that's how I understand it) 2015-12-15T13:09:54Z davexunit joined #scheme 2015-12-15T13:15:29Z daviid joined #scheme 2015-12-15T13:18:40Z cky joined #scheme 2015-12-15T13:23:39Z cousteau: OK, so now's time for me to choose a Scheme interpreter, which seems to be a convoluted and even a controversial topic... 2015-12-15T13:23:43Z cousteau: Is Guile OK? 2015-12-15T13:26:04Z micmus joined #scheme 2015-12-15T13:26:36Z cousteau: (one of the major advantages of guile over any other interpreter is that guile seems to be already installed on my machine, so using it involves less work) 2015-12-15T13:27:38Z neoncontrails joined #scheme 2015-12-15T13:31:23Z wasamasa: they're all ok 2015-12-15T13:32:11Z cousteau: ok then, Guile here I come! 2015-12-15T13:32:42Z neoncontrails quit (Ping timeout: 250 seconds) 2015-12-15T13:32:42Z cousteau: (had just read http://wingolog.org/archives/2013/01/07/an-opinionated-guide-to-scheme-implementations and ended up more confused than I started) 2015-12-15T13:32:43Z rudybot: http://teensy.info/bFcUKK1p1D 2015-12-15T13:32:58Z cousteau: lol @ url 2015-12-15T13:42:36Z cousteau: Before I continue with http://www.shido.info/lisp/idx_scm_e.html, do you recommend or discourage any Scheme tutorial in particular? 2015-12-15T13:43:27Z cousteau: was going with https://classes.soe.ucsc.edu/cmps112/Spring03/languages/scheme/SchemeTutorialA.html until I reached the part where they happily say E ::= K | I | (E_0 E^*) | (lambda (I^*) E2) | (define I E') and expect me to understand it 2015-12-15T13:43:28Z rudybot: http://teensy.info/LJdi0ZP4ji 2015-12-15T13:45:00Z cousteau: (and even if I did, that's not the proper way to start a "tutorial") 2015-12-15T13:45:10Z spew joined #scheme 2015-12-15T13:51:13Z przl joined #scheme 2015-12-15T13:53:58Z cousteau: "atan accepts one or two arguments. if the value of atan is expected to be 1/2 π, use two arguments." --> ok, thanks for the explanation, verbose and comprehensive tutorial! That totally clarifies the use of atan() and didn't need me experimenting in order to figure out what the heck it meant. 2015-12-15T13:54:40Z Mokuso quit (Quit: later) 2015-12-15T13:55:46Z przl quit (Ping timeout: 240 seconds) 2015-12-15T13:56:02Z cousteau: I'll go with HTDP as recommended by schemers.org 2015-12-15T14:00:45Z dpk: cousteau: https://en.wikipedia.org/wiki/Atan2 2015-12-15T14:01:32Z cousteau: dpk, well yeah, but I mean, "if the value of atan is expected to be 1/2 π" is NOT an explanation of how atan2 works 2015-12-15T14:03:58Z cousteau: "if instead of the slope you want to provide 2 coordinates to calculate the 'argument' of", maybe 2015-12-15T14:04:52Z cousteau: I mean, if they had literally said "atan2" in that tutorial I'd have understood it better 2015-12-15T14:06:31Z ee_cc joined #scheme 2015-12-15T14:20:31Z cemerick joined #scheme 2015-12-15T14:21:43Z cousteau: meh, I think I'll go back to the tutorial with the weird BNF description on it 2015-12-15T14:27:36Z przl joined #scheme 2015-12-15T14:30:04Z cousteau: https://classes.soe.ucsc.edu/cmps112/Spring03/languages/scheme/SchemeTutorialA.html -- you know what, I think this is a badly LaTeX formatted document 2015-12-15T14:30:04Z rudybot: http://teensy.info/LJdi0ZP4ji 2015-12-15T14:30:12Z cousteau: so many & in it 2015-12-15T14:39:12Z mbuf joined #scheme 2015-12-15T14:39:40Z duggiefresh joined #scheme 2015-12-15T14:42:52Z cemerick quit (Ping timeout: 256 seconds) 2015-12-15T14:45:38Z cousteau: (rational? (atan 1)) => #t OK, I don't understand the point of (rational?) 2015-12-15T14:48:00Z bungoman joined #scheme 2015-12-15T14:48:18Z taylan: cousteau: atan is arc tangent, a "well-known" mathematical function (for some value of "well-known") 2015-12-15T14:49:03Z cousteau: taylan, what I'm complaining about is the explanation of atan with 2 arguments on that tutorial 2015-12-15T14:49:04Z taylan: rational? tells you whether a number is a rational number 2015-12-15T14:49:23Z taylan: cousteau: oh, I see :) 2015-12-15T14:49:32Z cousteau: (currently following "Teach Yourself Scheme in Fixnum Days") 2015-12-15T14:49:57Z cousteau: taylan, and that's another thing I was complaining; atan 1 is not a rational number 2015-12-15T14:50:20Z cousteau: (it is if you round it to a rational number using IEEE 754 floats, of course) 2015-12-15T14:50:38Z taylan: I guess it returns a rational number approximating (atan 1) since irrational numbers cannot be represented in finite computer memory 2015-12-15T14:51:44Z cousteau: ...yes they can; you just need another system 2015-12-15T14:53:01Z cousteau: (well, a subset of the irrational numbers can; for example π can be represented as "π". It of course cannot be represented exactly using IEEE 754 floats, but that's just one way to represent things -- you can't represent 0.5 using integers either) 2015-12-15T14:53:31Z taylan: yeah I guess something similar to the way exact rationals work could be done 2015-12-15T14:54:09Z spew: you just need a rule for determining whether an irrational number is less than or greater than any rational number 2015-12-15T14:54:32Z spew: since that's all the irrationals are--the metric completion of the rationals 2015-12-15T14:55:29Z cousteau: btw, (/ 1 2) produces 0.5 on this interpreter rather than 1/2; the tutorial I'm following claims that it should produce 1/2 -- does this mean that my Scheme interpreter doesn't have an exact rational type, or maybe it just represents (prints) rational types in a funny way? 2015-12-15T14:55:53Z taylan: could be both. what interpreter are you using? 2015-12-15T14:56:19Z cousteau: guile> (- (* (/ 1 49) 49) 1) => -1.11022302462516e-16 YOU DUN MESS UP! 2015-12-15T14:56:34Z taylan: is that guile 1.x? 2015-12-15T14:56:41Z cousteau: yep, 1.6 I think 2015-12-15T14:56:47Z taylan: wow, that's ancient :) 2015-12-15T14:56:59Z cousteau: 1.6.8 2015-12-15T14:57:06Z taylan: I think even Debian stable has 2.0.x now 2015-12-15T14:57:33Z cousteau: don't think so; latest Ubuntu has 1.8 or that's what I thought 2015-12-15T14:58:02Z cousteau: wait, there's a guile-2.0 package 2015-12-15T14:58:06Z taylan: Ubuntu is doing something wrong then. I remember hearing about that before though. don't remember what the reason was. 2015-12-15T14:58:13Z taylan: aha 2015-12-15T14:58:42Z cousteau: actually there's no guile package; apparently you have to guess which one you want 2015-12-15T14:58:55Z taylan: Debian has 1.8 and 2.0.11 it seems 2015-12-15T14:59:09Z cousteau: so... should I get rid of this guile and get something else (newer guile or different interpreter)? 2015-12-15T14:59:21Z taylan: Guile 2.0 is good 2015-12-15T14:59:42Z saul: 1.8 is still needed for GNUcash (last I checked). Other than that, 2.0 is best 2015-12-15T15:00:02Z taylan: LilyPond has also not transitioned yet AFAIK 2015-12-15T15:00:05Z cousteau: well, this Ubuntu is old too... I don't want to touch it too much so I didn't upgrade since I installed 12.04 on this PC 2015-12-15T15:01:18Z cousteau: ah screw it; installing Racket 2015-12-15T15:01:34Z taylan: that works too 2015-12-15T15:05:09Z cousteau: what do you people normally use for trying Scheme? (polling here) 2015-12-15T15:05:33Z gnomon: Guile, Racket, and Gambit, personally. 2015-12-15T15:05:45Z cousteau: thanks :) 2015-12-15T15:06:22Z cousteau: using 3 because each one excels at something different, or just to ensure compatibility? 2015-12-15T15:06:47Z Fare joined #scheme 2015-12-15T15:06:53Z davexunit: I use Guile exclusively 2015-12-15T15:07:00Z wasamasa: I use CHICKEN exclusively 2015-12-15T15:07:10Z cousteau: oh, I read a paper on that 2015-12-15T15:07:10Z taylan prefers Guile because GNU 2015-12-15T15:07:28Z davexunit: Guile shares the same spirit as Emacs 2015-12-15T15:07:45Z cousteau: https://isotropic.org/papers/chicken.pdf 2015-12-15T15:07:53Z davexunit: a lot of other schemes have moved towards the static camp 2015-12-15T15:07:54Z wasamasa: no you didn't :> 2015-12-15T15:08:07Z gnomon: cousteau, it's less because each one excels at some particular domain (although each one does) and more because I picked up each one of those at different times for different reasons, so they (fairly or unfairly) slot into different use cases in my brain. 2015-12-15T15:08:08Z wasamasa: that's Chicken, not CHICKEN 2015-12-15T15:08:50Z taylan: wasamasa: hey, Scheme is case-insensitive now :P 2015-12-15T15:08:56Z taylan: err... 2015-12-15T15:09:01Z taylan: never mind, it's case sensitive now 2015-12-15T15:09:05Z taylan: /botched-joke 2015-12-15T15:09:12Z gnomon: womp x2 2015-12-15T15:09:22Z cousteau: wasamasa, weird; I'd have sworn they talked about CHICKEN in that paper 2015-12-15T15:09:31Z gnomon: Wait, that's Forth. (x2 'womp) 2015-12-15T15:09:46Z oleo joined #scheme 2015-12-15T15:09:46Z oleo quit (Changing host) 2015-12-15T15:09:46Z oleo joined #scheme 2015-12-15T15:09:53Z cousteau: gnomon, I see 2015-12-15T15:10:57Z micmus quit (Remote host closed the connection) 2015-12-15T15:12:07Z cousteau: maybe this is one of the peculiarities of Scheme. For Java there's javac, for C there's gcc, for Python there's CPython, but there doesn't seem to be a "main option" for Scheme 2015-12-15T15:12:08Z ggole_ whacks taylan with a Common Lisp read table 2015-12-15T15:12:42Z taylan: ouch! don't smack me with ugly languages. 2015-12-15T15:12:55Z cousteau: (sure, there's gcj, clang, and pypy; but those other 3 are like the "usual ones") 2015-12-15T15:12:59Z davexunit: cousteau: because Scheme is a family of languages 2015-12-15T15:13:10Z davexunit: not a single language 2015-12-15T15:13:14Z cousteau: I thought that was Lisp 2015-12-15T15:13:18Z davexunit: that too 2015-12-15T15:13:24Z cousteau: and that Scheme was more like "a family of dialects" 2015-12-15T15:13:32Z micmus joined #scheme 2015-12-15T15:13:34Z ggole_ is now known as ggole 2015-12-15T15:13:51Z davexunit: cousteau: I suppose that description works too, but I find that it's best to think of each implementation as its own language. 2015-12-15T15:14:03Z przl_ joined #scheme 2015-12-15T15:14:24Z taylan: most strictly extend R5RS though 2015-12-15T15:14:26Z gnomon: cousteau, for C there's gcc, clang, Intel's thing, IBM's thing, pcc, tinycc, uh... 2015-12-15T15:14:28Z cousteau: I don't think a language + extensions really constitutes a different language 2015-12-15T15:14:57Z taylan: thing is, R5RS lacks so fundamental things you can't write many portable programs in it 2015-12-15T15:15:00Z cousteau: ...although I guess this is more like "bash = sh + a lot of extensions", not like "Gnu C = C + some rarely used extensions" 2015-12-15T15:15:35Z cousteau: gnomon, yeah but, like, everybody uses gcc :P 2015-12-15T15:15:36Z taylan: indeed, it's like ash/dash, ksh, and bash, all of which extend the POSIX sh spec 2015-12-15T15:15:40Z davexunit: Racket is its own language. it's diverged from Scheme significantly. 2015-12-15T15:15:51Z gnomon: cousteau, say that in a room full of Apple developers. 2015-12-15T15:16:04Z davexunit: Chicken, Guile, everything else all have features that distinguish them 2015-12-15T15:16:10Z gnomon: cousteau, or in a room full of poor desperate sods stuck in an IBM/AIX ecosystem. 2015-12-15T15:16:11Z taylan: Racket hosts many languages, one of which is *pure* R5RS, but yeah, their "racket" language is actually incompatible with R5RS 2015-12-15T15:16:11Z davexunit: they are different languages in my mind 2015-12-15T15:16:36Z davexunit: people spend way too much time worrying about portable Scheme IMO 2015-12-15T15:16:37Z cousteau: gnomon, wait, is IBM/AIX worse than Visual Studio? 2015-12-15T15:16:38Z taylan: (that's the only big exception I think, among popular Scheme implementations. others at least share the R5RS core) 2015-12-15T15:16:48Z gnomon: cousteau, oh my sweet summer child. 2015-12-15T15:16:50Z przl quit (Ping timeout: 246 seconds) 2015-12-15T15:17:35Z taylan: the BSDs are also GNUphobic and moving towards Clang now :( 2015-12-15T15:17:39Z cousteau: Visual Studio's C is like "Welcome to the nineties!" 2015-12-15T15:17:41Z davexunit: newcomers get especially hung up on the idea of Scheme as a single language. 2015-12-15T15:18:43Z taylan: FWIW, one can write some portable programs/libraries in R6RS and R7RS (... which are incompatible), but nearly nobody does so 2015-12-15T15:18:49Z davexunit: I write Guile Scheme, not Scheme. 2015-12-15T15:19:01Z taylan: I still have a bit of hope for an R7RS based future but don't bet on it 2015-12-15T15:19:30Z gnomon: cousteau, the AIX environment is like "welcome to the 70s! But the awful corporate-anthem-and-too-tight-ties 70s, also we simultaneously despise you and consider you dumber than dirt". 2015-12-15T15:19:52Z cousteau: gnomon, so not even ANSI C? 2015-12-15T15:20:15Z gnomon: Never stuck around long enough to find out. 2015-12-15T15:20:18Z gnomon shudders 2015-12-15T15:20:22Z gnomon: Let's change the subject. 2015-12-15T15:20:58Z cousteau: davexunit, I often write GNU C too, but I think of it as "C using some GNU extensions" rather than "the GNU C language" 2015-12-15T15:21:26Z davexunit: sure 2015-12-15T15:21:30Z davexunit: Scheme is different 2015-12-15T15:22:44Z cousteau: I mean, you can do crazy stuff such as __typeof__(x) y; or int x = ({int y; y = 2+2; y; }) in gnu C, but those are "minor details everybody knows are an extension" 2015-12-15T15:23:51Z taylan: yeah .. now imagine #include were a GCC extension, and there were 5-6 rivals to GCC all of which have a different mechanism to include files 2015-12-15T15:24:21Z cousteau: so sort of like #warning? 2015-12-15T15:24:34Z taylan: and that the two last C standards had their *own* different mechanisms to do that, which nobody uses 2015-12-15T15:25:00Z cousteau: ok, so it's more on a "bash vs sh" difference than a "gnu C vs standard C" one 2015-12-15T15:25:05Z taylan: that's how things are in Scheme, so it's easier to just consider the implementations to be different languages 2015-12-15T15:25:18Z cousteau: ok so bash 2015-12-15T15:25:40Z taylan: yeah... 2015-12-15T15:25:53Z gnomon pulls up a chair, has Opinions(tm) about shells 2015-12-15T15:26:23Z cousteau: the problem is that now I have to ask which are the most common Scheme engines 2015-12-15T15:26:46Z taylan: with shells, you at least have the bash monopoly though. it's installed everywhere so you can just start your script with #!/usr/bin/env bash and write in Bash 2015-12-15T15:27:02Z taylan: with Scheme you have half a dozen competitors 2015-12-15T15:27:22Z taylan: cousteau: Guile, Chicken, and Racket are good general starter options I think 2015-12-15T15:27:39Z taylan: https://wingolog.org/archives/2013/01/07/an-opinionated-guide-to-scheme-implementations 2015-12-15T15:27:40Z rudybot: http://teensy.info/sbR7vrszxw 2015-12-15T15:27:57Z taylan: and that's a good blog post for helping you choose an implementation for the longer term 2015-12-15T15:28:16Z cousteau: or better, which implementation will provide me a good view of Scheme and functional languages in general? (I'm learning Scheme in order to get a good idea of functional languages) 2015-12-15T15:28:49Z taylan: Racket has somewhat stronger focus on FP than standard Scheme... 2015-12-15T15:28:54Z davexunit: Guile, Chicken, or Racket :P 2015-12-15T15:29:24Z taylan: but it's not that big a difference I guess 2015-12-15T15:30:10Z cousteau: taylan, yeah I read that; I ended up more confused than I started 2015-12-15T15:30:13Z taylan: while e.g. cons cells are all mutable in Guile, you can just not mutate them in your code, limiting yourself to FP style. it's best practice anyway. 2015-12-15T15:30:47Z davexunit: cousteau: you should just pick one and go. 2015-12-15T15:30:49Z cousteau: basically there wasn't "The Scheme for beginners" or "The Scheme for someone who wants to learn a functional PL" 2015-12-15T15:31:27Z cousteau: I'm using Racket because http://ds26gte.github.io/tyscheme/index.html uses Racket's(?) mzscheme 2015-12-15T15:31:56Z taylan: that's Racket's old name IIRC 2015-12-15T15:32:19Z taylan: FYI there's a #racket channel (and #guile and #chicken) 2015-12-15T15:32:23Z cousteau: >> MzScheme is the old name for the core Racket implementation. For most cases, running mzscheme is the same as running racket, except that the default interaction language is slightly different for backward compatibility. 2015-12-15T15:32:56Z cousteau: taylan, indeed, but I didn't want to learn Racket, but Scheme :) 2015-12-15T15:33:31Z cousteau: actually I wanted to learn Lisp. Well no, actually I wanted to learn FP (just not Haskell). So Scheme seemed like the option that made more sense. 2015-12-15T15:33:51Z taylan: good choice :) 2015-12-15T15:34:14Z taylan: any of Racket, Chicken, Guile will do really 2015-12-15T15:34:37Z cousteau: good :) 2015-12-15T15:35:56Z cousteau: ...any with an interactive interpreter with Readline? 2015-12-15T15:36:09Z davexunit: Guile 2015-12-15T15:36:48Z cousteau: oh... well, my Guile didn't have properly working arrows; it displayed those ugly ^[[A et al 2015-12-15T15:36:59Z davexunit: cousteau: you have to opt-in to readline 2015-12-15T15:37:09Z davexunit: readline is GPL licensed, Guile is LGPL license 2015-12-15T15:37:11Z davexunit: d 2015-12-15T15:37:19Z cousteau: oh 2015-12-15T15:37:24Z taylan: you can put these lines in your ~/.guilerc: 2015-12-15T15:37:24Z taylan: (use-modules (ice-9 readline)) 2015-12-15T15:37:24Z davexunit: making Guile work with readline out-of-the-box would be a copyright violation 2015-12-15T15:37:24Z taylan: (activate-readline) 2015-12-15T15:38:21Z cousteau: nice! 2015-12-15T15:38:57Z cousteau: I guess there isn't something similar for `racket`, is there? 2015-12-15T15:38:58Z Mike57 quit (Ping timeout: 256 seconds) 2015-12-15T15:39:17Z taylan: it has this DrRacket GUI, don't remember if it has readline 2015-12-15T15:39:37Z Mike57 joined #scheme 2015-12-15T15:40:03Z rx80 quit (Remote host closed the connection) 2015-12-15T15:40:08Z taylan: there's also a nifty CLI tool called 'rlwrap' that wraps any non-readline CLI into a readline CLI 2015-12-15T15:40:25Z taylan: so you run e.g.: rlwrap telnet example.org 2015-12-15T15:40:29Z cousteau: drracket seems to have been automatically translated to my language 2015-12-15T15:41:15Z cousteau: "Legacy Languages: R5RS / Muy Grande (Spanish for "Very Big") / Swindle" 2015-12-15T15:41:47Z rx80 joined #scheme 2015-12-15T15:42:08Z cousteau: also words such as "Syntaxis" (a hybrid between "syntax" and "sintaxis") and "Languajes" (a mix of "languages" and "lenguajes") 2015-12-15T15:42:29Z taylan: bad translation? 2015-12-15T15:43:46Z cousteau: ...anyway I probably won't be using that again in a short term 2015-12-15T15:49:38Z mmos quit (Ping timeout: 250 seconds) 2015-12-15T15:58:30Z cousteau: Lists work mostly as linked lists, right? i.e. the "list" is a value-list pair, and ends in the "empty list" 2015-12-15T15:59:31Z cousteau: (not sure if the concept of pointer/reference is present here as well, but structurally it's like that, right?) 2015-12-15T16:00:33Z davexunit: yes that's correct 2015-12-15T16:00:40Z davexunit: lists are made of pairs 2015-12-15T16:00:49Z davexunit: to form a singly linked list 2015-12-15T16:01:15Z Mike57 quit (Ping timeout: 240 seconds) 2015-12-15T16:01:45Z cousteau: ok... damn, if the tutorial had started from there I'd have understood everything better. 2015-12-15T16:03:14Z Mike57 joined #scheme 2015-12-15T16:03:26Z davexunit: (list 1 2 3) is short for (cons 1 (cons 2 (cons 3 '()))) 2015-12-15T16:03:34Z davexunit: '() is the special empty list object 2015-12-15T16:04:09Z taylan: I think there's so many ways to write a tutorial (and so many levels of prior knowledge to target), they inevitably become either boring or too complicated for most people... here's my fringe attempt, should it suit you better :P http://taylanub.github.io/doc/lisp-rundown.html 2015-12-15T16:04:30Z taylan: it's a very brief "from bottom to top" guide to lisp in general (with a slight Scheme flavor) 2015-12-15T16:05:11Z cousteau: faving for later 2015-12-15T16:06:28Z cousteau: hmm, that tutorial might be better for learning the underlying theory of operation, which is actually what I wanted to know, thanks! 2015-12-15T16:09:55Z Beluki joined #scheme 2015-12-15T16:10:08Z mbuf quit (Quit: Ex-Chat) 2015-12-15T16:10:17Z cousteau: ...re: using sexprs in place of JSON, well, I'd rather use Tcl for that 2015-12-15T16:10:28Z mbuf joined #scheme 2015-12-15T16:11:10Z cousteau: (actually a Tcl "dialect" for describing data types I recently made up... maybe I should implement it or write it down or something) 2015-12-15T16:13:10Z cousteau: ok, so (begin) constructs something equivalent to a C "block"... 2015-12-15T16:13:58Z davexunit: yes, similar 2015-12-15T16:14:14Z davexunit: it's a way of creating a compound expression 2015-12-15T16:14:27Z davexunit: which is useful when using macros that expect a single expression 2015-12-15T16:14:35Z davexunit: 'if' is a good example 2015-12-15T16:14:38Z cousteau: I guess if you trim all the ' and . and other syntactic sugar of the language and instead use ugly stuff such as (quote) and (cons) it really becomes a pure list-based syntax 2015-12-15T16:14:52Z davexunit: yes 2015-12-15T16:15:04Z cousteau: I think that's what I'm more interested in 2015-12-15T16:15:22Z davexunit: okay 2015-12-15T16:15:46Z davexunit: it's still list-based anyway 2015-12-15T16:16:03Z davexunit: I don't see the point in not using the quoting syntax 2015-12-15T16:16:08Z cousteau: yeah, only the syntax doesn't reflect it directly if you use those candies 2015-12-15T16:16:16Z davexunit: yes, it does 2015-12-15T16:16:20Z kraehe: cousteau, (begin ....) does not create a new environment - so (set! ...) works on the surrounding (lambda, let or repl) environment 2015-12-15T16:16:34Z davexunit: yup, that's a good detail to mention 2015-12-15T16:16:39Z cousteau: kraehe, I see 2015-12-15T16:17:07Z davexunit: cousteau: 'begin' is useful occasionally, but thing like 'let' are useful constantly 2015-12-15T16:17:14Z davexunit: things* 2015-12-15T16:17:16Z cousteau: well, C blocks don't totally create a new environment; they kinda "inherit and extend" the upper one 2015-12-15T16:17:35Z kraehe: thats same in scheme with lambda or let 2015-12-15T16:17:41Z davexunit: Scheme is lexically scoped 2015-12-15T16:18:16Z kraehe: true, davexunit - so better call it a scope and not an environment (as I do from my interpreter point of view) 2015-12-15T16:18:39Z davexunit: SICP uses the term "environment" 2015-12-15T16:18:41Z cousteau: (begin) would be kinda like C's comma operator, right? 2015-12-15T16:18:52Z LeoNerd: Yes; that's a closer analogy 2015-12-15T16:18:54Z davexunit: "a new environment" doesn't mean an empty one 2015-12-15T16:19:09Z davexunit: an environment has a parent 2015-12-15T16:19:27Z davexunit: variable lookups that fail in the current environment are looked up in the parent, recursively 2015-12-15T16:19:35Z Mike57 quit (Ping timeout: 240 seconds) 2015-12-15T16:20:21Z Mike57 joined #scheme 2015-12-15T16:22:35Z cousteau: (define (foo x y) (+ x y)) is a combination of (define foo (lambda (x y) (+ x y))) right? 2015-12-15T16:22:49Z taylan: an abbreviation for it, yes 2015-12-15T16:22:59Z nee` quit (Remote host closed the connection) 2015-12-15T16:23:00Z cousteau: nice :) 2015-12-15T16:23:47Z kraehe: yes - and imho the preferred form ... when it comes to debugging, as the later binds an annonymous functions to a variable, while the first gives the lambda a name 2015-12-15T16:24:10Z kraehe: ... in many implementations 2015-12-15T16:27:44Z cousteau: ok, so ' , @ ` . are just syntactic sugar so that the language doesn't look too horrid, right? 2015-12-15T16:27:45Z neoncontrails joined #scheme 2015-12-15T16:27:57Z taylan: yup 2015-12-15T16:28:29Z taylan: well, not the dot 2015-12-15T16:28:59Z taylan: one could say the *lack* of dots is syntax sugar 2015-12-15T16:29:04Z cousteau: (personally I would have gone just with shorter names, like (') for (quote); at least for a mental map on how this works -- not really too pretty, just more consistent) 2015-12-15T16:29:10Z cousteau: taylan, oh 2015-12-15T16:29:55Z cousteau: was thinking on it as a replacement for (cons) 2015-12-15T16:29:59Z mario-goulart: I think old lisps didn't have the concept of improper lists, so they didn't have . as part of the syntax. 2015-12-15T16:30:27Z mario-goulart: No pairs. Lists must be terminated by the empty list. 2015-12-15T16:30:38Z cousteau: improper lists are those containing a pair whose second element is not a list? 2015-12-15T16:30:49Z mario-goulart: cousteau: yes 2015-12-15T16:30:54Z cousteau: ok :) 2015-12-15T16:31:11Z mario-goulart: Not the second, but the last. 2015-12-15T16:31:15Z jcowan joined #scheme 2015-12-15T16:31:25Z cousteau: (of course, a list whose first element IS a list has no reason for not being a "proper list"; could be a list of lists or list containing a list...) 2015-12-15T16:31:27Z mario-goulart: Oh, you mentioned pair. So, yes. :-) 2015-12-15T16:31:50Z taylan: cousteau: (cons x y) is a three-element list. if evaluated as lisp code, it will call the cons function which then returns a pair. (x . y) on the other hand is already a pair (and trying to evaluate it as lisp code will likely error) 2015-12-15T16:32:06Z neoncontrails quit (Ping timeout: 240 seconds) 2015-12-15T16:32:08Z taylan: cousteau: it's a bit tricky to get used to this two-layer thinking of data/code 2015-12-15T16:32:14Z cousteau: taylan, well, thanks for that "tutorial" on the basics of Lisp; it really helped understanding the basics of s-expressions :) 2015-12-15T16:32:23Z taylan: happy to help :) 2015-12-15T16:38:35Z przl_ quit (Ping timeout: 240 seconds) 2015-12-15T16:50:06Z lambda-11235 joined #scheme 2015-12-15T16:58:41Z psy_ joined #scheme 2015-12-15T16:58:52Z daviid quit (Ping timeout: 256 seconds) 2015-12-15T16:58:59Z duggiefresh quit (Remote host closed the connection) 2015-12-15T16:59:19Z psy_ quit (Max SendQ exceeded) 2015-12-15T16:59:39Z psy_ joined #scheme 2015-12-15T17:00:44Z cemerick joined #scheme 2015-12-15T17:03:50Z Riastradh joined #scheme 2015-12-15T17:10:47Z civodul quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2015-12-15T17:11:55Z Mike57 quit (Ping timeout: 240 seconds) 2015-12-15T17:13:04Z Mike57 joined #scheme 2015-12-15T17:18:35Z Fare quit (Ping timeout: 260 seconds) 2015-12-15T17:19:57Z rx80 quit (Remote host closed the connection) 2015-12-15T17:21:33Z rx80 joined #scheme 2015-12-15T17:32:57Z f-a joined #scheme 2015-12-15T17:33:17Z f-a: so I cannot do (apply and '(2 3)) 2015-12-15T17:33:21Z f-a: because and is a macro 2015-12-15T17:33:39Z f-a: right? is there any way around this? 2015-12-15T17:35:22Z ggole: (lambda (a b) (and a b)) 2015-12-15T17:35:30Z f-a: thanks 2015-12-15T17:35:48Z jcowan: But that will not work with arbitrarily many arguments. What you need is "any" from SRFI 1. 2015-12-15T17:36:48Z ggole: Er, of course... been programming in ML too much lately. 2015-12-15T17:40:42Z leppie: You can do: (and . (2 3)) :D 2015-12-15T17:41:15Z wasamasa: wat 2015-12-15T17:41:35Z leppie: rudybot: (and . (2 3)) 2015-12-15T17:41:36Z rudybot: leppie: ; Value: 3 2015-12-15T17:41:59Z githogori quit (Read error: Connection reset by peer) 2015-12-15T17:43:05Z duggiefresh joined #scheme 2015-12-15T17:43:54Z githogori joined #scheme 2015-12-15T17:44:02Z ee_cc quit (Quit: ee_cc) 2015-12-15T17:44:43Z lambda-11235: That only work with a literal list, so (and . xs) wouldn't work. 2015-12-15T17:45:10Z leppie: lambda-11235: of course, hence the :D 2015-12-15T17:45:22Z wasamasa: and it only works with racket, right? 2015-12-15T17:45:36Z leppie: wasamasa: that example should work on all schemes 2015-12-15T17:46:02Z wasamasa: unbelievable 2015-12-15T17:46:08Z leppie: rudybot: (and . (list 2 3)) ; just for fun 2015-12-15T17:46:09Z rudybot: leppie: ; Value: 3 2015-12-15T17:46:55Z leppie: wasamasa nothing funny, basic parsing of lists 2015-12-15T17:47:14Z leppie: last example is same as (and list 2 3) 2015-12-15T17:47:25Z ggole: leppie: cheating! 2015-12-15T17:49:48Z leppie: none of the suggestions are good, if you dont want to the arguments evaluated like AND does 2015-12-15T17:51:41Z leppie: rudybot: (and (begin (display 'i-live) #f) (display 'i-die)) 2015-12-15T17:51:41Z rudybot: leppie: ; Value: #f 2015-12-15T17:51:42Z rudybot: leppie: ; stdout: "i-live" 2015-12-15T17:52:15Z githogori quit (Read error: No route to host) 2015-12-15T17:52:17Z leppie: rudybot: (lambda (a b) (and a b)) (begin (display 'i-live) #f) (display 'i-die)) 2015-12-15T17:52:21Z rudybot: leppie: about the parens, I'm pretty much a die-hard match-column kinda guy... it helps me to see where structures begin and end 2015-12-15T17:52:47Z leppie: rudybot: ((lambda (a b) (and a b)) (begin (display 'i-live) #f) (display 'i-die)) 2015-12-15T17:52:48Z rudybot: leppie: ; Value: #f 2015-12-15T17:52:49Z rudybot: leppie: ; stdout: "i-livei-die" 2015-12-15T17:53:50Z ggole quit (Ping timeout: 256 seconds) 2015-12-15T17:55:36Z githogori joined #scheme 2015-12-15T17:58:37Z mbuf quit (Quit: rcirc on GNU Emacs 24.5.1) 2015-12-15T18:00:15Z gravicappa joined #scheme 2015-12-15T18:01:56Z NeverDie quit (Quit: http://radiux.io/) 2015-12-15T18:09:49Z jcowan: leppie: nothing wrong with `any`. 2015-12-15T18:10:43Z petercommand quit (Remote host closed the connection) 2015-12-15T18:10:51Z mmos joined #scheme 2015-12-15T18:15:32Z leppie: jcowan: unless you looking for exact semantics, no :D 2015-12-15T18:18:30Z jcowan: what difference do you have in mind? 2015-12-15T18:19:16Z alezost joined #scheme 2015-12-15T18:19:40Z NeverDie joined #scheme 2015-12-15T18:20:41Z leppie: the same as shown with those 2 rudybot evals, but it will probably never apply to an already evaluated list argument 2015-12-15T18:25:33Z cousteau quit (Quit: WARNING: vhdl is not supported as a language. Using usenglish.) 2015-12-15T18:28:13Z bungoman quit 2015-12-15T18:31:59Z ep joined #scheme 2015-12-15T18:38:08Z jcowan: Well, yes, any only operates on realized values, but then apply only operates on realized values too, unless you are calling (apply eval '(...)) 2015-12-15T18:38:36Z f-a quit (Ping timeout: 256 seconds) 2015-12-15T18:42:14Z Fare joined #scheme 2015-12-15T18:45:32Z sethalves joined #scheme 2015-12-15T18:51:33Z neoncontrails joined #scheme 2015-12-15T18:57:18Z ehaliewicz joined #scheme 2015-12-15T18:58:21Z vifino quit (Remote host closed the connection) 2015-12-15T18:59:12Z ehaliewicz quit (Remote host closed the connection) 2015-12-15T19:04:08Z NeverDie quit (Quit: http://radiux.io/) 2015-12-15T19:06:28Z sethalves quit (Read error: Connection reset by peer) 2015-12-15T19:09:01Z f-a joined #scheme 2015-12-15T19:10:13Z sethalves joined #scheme 2015-12-15T19:19:46Z NeverDie joined #scheme 2015-12-15T19:23:26Z f-a left #scheme 2015-12-15T19:29:45Z sethalves quit (Read error: Connection reset by peer) 2015-12-15T19:33:18Z sethalves joined #scheme 2015-12-15T19:34:06Z sethalves quit (Client Quit) 2015-12-15T19:36:46Z gravicappa quit (Ping timeout: 272 seconds) 2015-12-15T19:59:49Z Beluki quit (Quit: Beluki) 2015-12-15T20:01:35Z ASau joined #scheme 2015-12-15T20:01:54Z neoncontrails quit (Remote host closed the connection) 2015-12-15T20:01:55Z oleo_ joined #scheme 2015-12-15T20:04:38Z oleo quit (Ping timeout: 272 seconds) 2015-12-15T20:05:26Z lambda-11235 quit (Quit: Have to write some Scheme) 2015-12-15T20:33:55Z Fare quit (Ping timeout: 240 seconds) 2015-12-15T20:36:09Z neoncontrails joined #scheme 2015-12-15T20:38:16Z Menche joined #scheme 2015-12-15T20:38:35Z wolfcore joined #scheme 2015-12-15T20:47:04Z neoncontrails quit 2015-12-15T20:47:42Z emacsomancer quit (Ping timeout: 272 seconds) 2015-12-15T20:59:05Z duggiefresh quit (Remote host closed the connection) 2015-12-15T21:03:58Z civodul joined #scheme 2015-12-15T21:06:19Z duggiefresh joined #scheme 2015-12-15T21:11:46Z lritter quit (Ping timeout: 272 seconds) 2015-12-15T21:14:05Z hiroakip joined #scheme 2015-12-15T21:17:12Z nowhereman quit (Read error: Connection reset by peer) 2015-12-15T21:18:36Z nowhere_man joined #scheme 2015-12-15T21:20:05Z mutbuerger quit (Read error: Connection reset by peer) 2015-12-15T21:21:14Z bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2015-12-15T21:32:53Z ee_cc joined #scheme 2015-12-15T21:35:33Z wildlander joined #scheme 2015-12-15T21:36:12Z bjz joined #scheme 2015-12-15T21:41:32Z bjz quit (Ping timeout: 272 seconds) 2015-12-15T21:48:40Z hiroakip quit (Ping timeout: 260 seconds) 2015-12-15T21:50:57Z davexunit quit (Quit: Later) 2015-12-15T22:00:08Z wingo quit (Remote host closed the connection) 2015-12-15T22:04:41Z vifino joined #scheme 2015-12-15T22:08:50Z NeverDie quit (Quit: http://radiux.io/) 2015-12-15T22:13:42Z Fare joined #scheme 2015-12-15T22:15:24Z vifino quit (Quit: Who turned this off?! D:<) 2015-12-15T22:16:44Z NeverDie joined #scheme 2015-12-15T22:17:38Z stepnem quit (Ping timeout: 272 seconds) 2015-12-15T22:17:39Z aretecode joined #scheme 2015-12-15T22:20:15Z vifino joined #scheme 2015-12-15T22:21:56Z sethalves joined #scheme 2015-12-15T22:25:13Z ee_cc quit (Quit: ee_cc) 2015-12-15T22:32:25Z Riastradh quit (Ping timeout: 260 seconds) 2015-12-15T22:32:44Z duggiefresh quit (Remote host closed the connection) 2015-12-15T22:37:29Z spew quit (Quit: leaving) 2015-12-15T22:41:17Z hiroakip joined #scheme 2015-12-15T22:42:40Z wildlander quit (Quit: Saliendo) 2015-12-15T22:44:11Z weinholt quit 2015-12-15T22:45:58Z micmus quit (Quit: Leaving) 2015-12-15T22:50:30Z Fare quit (Ping timeout: 260 seconds) 2015-12-15T23:00:06Z luxbock quit (Quit: ZNC - http://znc.in) 2015-12-15T23:04:49Z civodul quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2015-12-15T23:05:40Z mmos quit (Ping timeout: 260 seconds) 2015-12-15T23:07:18Z alezost quit (Quit: I live in GuixSD and Emacs ) 2015-12-15T23:24:43Z neoncontrails joined #scheme 2015-12-15T23:26:39Z jcowan_ joined #scheme 2015-12-15T23:29:28Z Fare joined #scheme 2015-12-15T23:29:52Z jcowan quit (Ping timeout: 256 seconds) 2015-12-15T23:31:26Z jcowan__ joined #scheme 2015-12-15T23:33:46Z jcowan_ quit (Ping timeout: 240 seconds) 2015-12-15T23:34:52Z lambda-11235 joined #scheme 2015-12-15T23:36:46Z jcowan__ quit (Ping timeout: 265 seconds) 2015-12-15T23:59:06Z cemerick quit (Ping timeout: 240 seconds)