2015-02-21T00:01:17Z mrowe_away is now known as mrowe 2015-02-21T00:04:48Z ddp joined #scheme 2015-02-21T00:11:16Z jeapostrophe quit (Ping timeout: 265 seconds) 2015-02-21T00:14:13Z weinholt quit (Read error: Connection reset by peer) 2015-02-21T00:15:21Z weinholt joined #scheme 2015-02-21T00:17:32Z rszeno joined #scheme 2015-02-21T00:18:49Z ijp quit (Read error: No route to host) 2015-02-21T00:19:09Z ijp joined #scheme 2015-02-21T00:20:55Z kongtomorrow quit 2015-02-21T00:21:41Z vishesh quit (Ping timeout: 246 seconds) 2015-02-21T00:32:57Z ddp quit (Quit: ddp) 2015-02-21T00:35:46Z jeapostrophe joined #scheme 2015-02-21T00:36:25Z larion quit (Ping timeout: 264 seconds) 2015-02-21T00:37:35Z vishesh joined #scheme 2015-02-21T00:38:41Z ijp is now known as macrodat 2015-02-21T00:42:17Z macrodat is now known as ijp 2015-02-21T00:44:26Z PinealGlandOptic quit (Quit: leaving) 2015-02-21T00:52:30Z karswell quit (Read error: Connection reset by peer) 2015-02-21T00:53:21Z karswell joined #scheme 2015-02-21T00:57:26Z kongtomorrow joined #scheme 2015-02-21T00:57:42Z Chaos`Eternal joined #scheme 2015-02-21T00:57:44Z karswell quit (Ping timeout: 246 seconds) 2015-02-21T01:08:44Z larion joined #scheme 2015-02-21T01:10:33Z hiyosi quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2015-02-21T01:26:04Z vishesh quit (Ping timeout: 255 seconds) 2015-02-21T01:32:10Z vishesh joined #scheme 2015-02-21T01:33:44Z mrowe is now known as mrowe_away 2015-02-21T01:37:18Z larion quit (Ping timeout: 265 seconds) 2015-02-21T01:40:04Z bb010g quit (Quit: Connection closed for inactivity) 2015-02-21T01:40:55Z zacts quit (Ping timeout: 255 seconds) 2015-02-21T01:42:04Z cemerick joined #scheme 2015-02-21T01:45:39Z King_Hual` quit (Ping timeout: 245 seconds) 2015-02-21T01:49:01Z cemerick quit (Ping timeout: 264 seconds) 2015-02-21T01:51:41Z Ruchran quit (Quit: Connection closed for inactivity) 2015-02-21T01:55:57Z kongtomorrow quit 2015-02-21T02:00:30Z Vutral quit (Ping timeout: 265 seconds) 2015-02-21T02:02:43Z kongtomorrow joined #scheme 2015-02-21T02:03:46Z PinealGlandOptic joined #scheme 2015-02-21T02:12:26Z pecg quit (Quit: WeeChat 1.1.1) 2015-02-21T02:16:12Z Vutral joined #scheme 2015-02-21T02:21:03Z zacts joined #scheme 2015-02-21T02:23:00Z c74d quit (Read error: Connection reset by peer) 2015-02-21T02:26:58Z jlongster joined #scheme 2015-02-21T02:31:37Z jlongster quit (Ping timeout: 264 seconds) 2015-02-21T02:33:37Z excelsior joined #scheme 2015-02-21T02:45:39Z trystero joined #scheme 2015-02-21T02:48:34Z tristero quit (Ping timeout: 244 seconds) 2015-02-21T02:50:09Z ASau quit (Ping timeout: 256 seconds) 2015-02-21T02:52:28Z vdamewood quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2015-02-21T02:53:05Z ijp quit (Quit: brb emacs training montage) 2015-02-21T02:53:26Z c74d joined #scheme 2015-02-21T02:56:30Z iiiiv joined #scheme 2015-02-21T02:57:54Z iiiiv quit (Remote host closed the connection) 2015-02-21T02:58:01Z iiiiv joined #scheme 2015-02-21T03:01:20Z mrowe_away is now known as mrowe 2015-02-21T03:07:38Z bb010g joined #scheme 2015-02-21T03:07:43Z kongtomorrow quit 2015-02-21T03:08:01Z jeapostrophe quit (Ping timeout: 250 seconds) 2015-02-21T03:08:15Z pjdelport joined #scheme 2015-02-21T03:12:00Z iiiiv quit (Remote host closed the connection) 2015-02-21T03:22:12Z cemerick joined #scheme 2015-02-21T03:25:39Z jlongster joined #scheme 2015-02-21T03:30:25Z jlongster quit (Ping timeout: 264 seconds) 2015-02-21T03:35:35Z oleo is now known as Guest68710 2015-02-21T03:37:17Z oleo__ joined #scheme 2015-02-21T03:38:48Z mrowe is now known as mrowe_away 2015-02-21T03:38:57Z Guest68710 quit (Ping timeout: 250 seconds) 2015-02-21T03:52:46Z enitiz joined #scheme 2015-02-21T03:59:04Z PinealGlandOptic quit (Quit: leaving) 2015-02-21T04:02:28Z davexunit quit (Quit: Later) 2015-02-21T04:02:53Z iiiiv joined #scheme 2015-02-21T04:05:52Z iiiiv quit (Remote host closed the connection) 2015-02-21T04:06:00Z amgarching joined #scheme 2015-02-21T04:09:25Z amgarchIn9 quit (Ping timeout: 264 seconds) 2015-02-21T04:18:58Z ddp joined #scheme 2015-02-21T04:19:44Z zacts quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-02-21T04:21:21Z ddp quit (Client Quit) 2015-02-21T04:25:34Z jlongster joined #scheme 2015-02-21T04:30:07Z jlongster quit (Ping timeout: 255 seconds) 2015-02-21T04:36:39Z ddp joined #scheme 2015-02-21T05:00:22Z zacts joined #scheme 2015-02-21T05:02:31Z ASau joined #scheme 2015-02-21T05:06:02Z narendraj9 joined #scheme 2015-02-21T05:07:06Z jlongster joined #scheme 2015-02-21T05:09:01Z ddp quit (Quit: ddp) 2015-02-21T05:42:03Z ASau quit (Remote host closed the connection) 2015-02-21T05:44:14Z ASau joined #scheme 2015-02-21T06:00:09Z enitiz quit (Read error: Connection reset by peer) 2015-02-21T06:03:58Z mercwithamouth joined #scheme 2015-02-21T06:08:43Z vishesh quit (Ping timeout: 250 seconds) 2015-02-21T06:09:17Z cemerick quit (Ping timeout: 246 seconds) 2015-02-21T06:09:25Z jlongster quit (Ping timeout: 264 seconds) 2015-02-21T06:13:42Z gravicappa joined #scheme 2015-02-21T06:25:02Z daviid joined #scheme 2015-02-21T06:32:10Z enitiz joined #scheme 2015-02-21T06:33:25Z amgarching quit (Ping timeout: 264 seconds) 2015-02-21T06:50:51Z Ruchran joined #scheme 2015-02-21T06:53:48Z vishesh joined #scheme 2015-02-21T07:03:51Z narendraj9 quit (Read error: Connection reset by peer) 2015-02-21T07:10:15Z enitiz quit (Ping timeout: 256 seconds) 2015-02-21T07:31:54Z mrowe_away is now known as mrowe 2015-02-21T07:49:36Z Shadox quit (Quit: Leaving) 2015-02-21T08:03:13Z hiroakip joined #scheme 2015-02-21T08:04:25Z germ13 quit (Ping timeout: 250 seconds) 2015-02-21T08:08:45Z stepnem joined #scheme 2015-02-21T08:15:25Z hiroakip quit (Ping timeout: 264 seconds) 2015-02-21T08:16:01Z daviid quit (Ping timeout: 255 seconds) 2015-02-21T08:17:17Z kongtomorrow joined #scheme 2015-02-21T08:19:55Z mercwithamouth quit (Ping timeout: 265 seconds) 2015-02-21T08:21:25Z pjdelport quit (Quit: Connection closed for inactivity) 2015-02-21T08:33:01Z amgarching joined #scheme 2015-02-21T08:33:05Z rszeno quit (Quit: Leaving.) 2015-02-21T08:41:39Z Isp-sec joined #scheme 2015-02-21T08:42:19Z pjdelport joined #scheme 2015-02-21T09:08:04Z amgarching quit (Quit: Konversation terminated!) 2015-02-21T09:08:51Z amgarchIn9 joined #scheme 2015-02-21T09:09:01Z scottj joined #scheme 2015-02-21T09:23:22Z mrowe is now known as mrowe_away 2015-02-21T09:24:14Z amgarchIn9 quit (Ping timeout: 246 seconds) 2015-02-21T09:31:10Z vishesh quit (Ping timeout: 255 seconds) 2015-02-21T09:48:32Z mrowe_away is now known as mrowe 2015-02-21T09:49:04Z kongtomorrow quit 2015-02-21T09:51:41Z Ruchran quit (Quit: Connection closed for inactivity) 2015-02-21T09:55:11Z larion joined #scheme 2015-02-21T10:02:00Z mrowe is now known as mrowe_away 2015-02-21T10:25:49Z jlongster joined #scheme 2015-02-21T10:30:01Z jlongster quit (Ping timeout: 250 seconds) 2015-02-21T10:31:58Z vanila joined #scheme 2015-02-21T10:37:52Z Vutral quit (Ping timeout: 240 seconds) 2015-02-21T10:42:07Z mrowe_away is now known as mrowe 2015-02-21T10:51:49Z acetoline joined #scheme 2015-02-21T10:51:54Z acetoline left #scheme 2015-02-21T10:56:56Z zacts: hum.. 2015-02-21T10:57:00Z zacts: what is the usefulness of OOP? 2015-02-21T10:57:19Z koz_ quit (Ping timeout: 245 seconds) 2015-02-21T10:57:21Z edne left #scheme 2015-02-21T10:57:35Z zacts: when there is functional programming, such as Haskell / Erlang / Clojure 2015-02-21T10:57:57Z zacts: scheme seems to support multiple ways of thinking about things, and doing things 2015-02-21T10:58:36Z mrowe is now known as mrowe_away 2015-02-21T11:03:45Z wasamasa: clojure has support for OOP, too 2015-02-21T11:03:50Z wasamasa: see defgeneric and defmethod 2015-02-21T11:04:03Z zacts: ah cool 2015-02-21T11:04:08Z zacts: well when is OOP useful? 2015-02-21T11:04:19Z wasamasa: the problem is that nobody really knows what OOP means 2015-02-21T11:04:24Z wasamasa: neither do they know what FP means 2015-02-21T11:04:32Z zacts: oh 2015-02-21T11:04:53Z wasamasa: I personally define OOP as coupling state and behaviour 2015-02-21T11:04:56Z zacts: due to ignorance, or the inability for anyone to clearly define these? 2015-02-21T11:05:01Z wasamasa: the latter 2015-02-21T11:05:09Z zacts: oh 2015-02-21T11:05:13Z zacts: ok 2015-02-21T11:05:22Z zacts: so according to your definition, when is this useful? 2015-02-21T11:05:24Z wasamasa: and if I were to enforce my own definition, then closures would give you these for free :P 2015-02-21T11:06:03Z zacts: hum.. ok 2015-02-21T11:06:07Z wasamasa: well, it's useful whenever you need to create instances of a data type that has both state and behaviour 2015-02-21T11:06:31Z wasamasa: in C you'd have these with structs that contain normal fields and function pointers 2015-02-21T11:06:36Z wasamasa: in scheme records should suffice 2015-02-21T11:07:15Z wasamasa: clojure offers generic methods which you can use on anything resembling the data type you're operating on 2015-02-21T11:07:24Z koz_ joined #scheme 2015-02-21T11:07:31Z wasamasa: CL takes it a fair bit further with CLOS and allows you to implement your own idea of OOP thanks to MOP 2015-02-21T11:07:40Z zacts: CL == common lisp? 2015-02-21T11:07:42Z wasamasa: yes 2015-02-21T11:07:56Z zacts: hum.. perhaps I should learn CLOS and MOP 2015-02-21T11:08:00Z wasamasa: remember that all of these I've listed do it differently than languages like C++ and java 2015-02-21T11:08:09Z wasamasa: which are commonly used to teach people "OOP" 2015-02-21T11:08:27Z wasamasa: then these people are surprised when I tell them javascript is OOP, too :P 2015-02-21T11:08:30Z zacts: I guess I'm skeptical of people who say "functional programming trumps OOP". I'm wondering when to use which metaphor 2015-02-21T11:08:43Z wasamasa: zacts: I'd try what works best with your problem 2015-02-21T11:09:01Z zacts: hum.. how does CLOS differ from C++? 2015-02-21T11:09:15Z wasamasa: it's not tied to classes 2015-02-21T11:09:26Z wasamasa: so, you don't run into problems like multiple inheritance 2015-02-21T11:09:31Z zacts: oh I see, I think ruby is this way too 2015-02-21T11:09:45Z wasamasa: yes, ruby and python are thankfully flexible enough 2015-02-21T11:09:52Z hiyosi joined #scheme 2015-02-21T11:10:09Z zacts: hum can scheme or lisp be compiled down to low level machine code? I do know of chicken.. 2015-02-21T11:10:31Z wasamasa: sure 2015-02-21T11:10:52Z zacts: but efficiently 2015-02-21T11:11:16Z wasamasa: it's more work though than interpreting or compiling to another language 2015-02-21T11:11:33Z zacts: I guess I'm wondering when I would want to use C++ when I could compile lisp or scheme down to machine code also 2015-02-21T11:11:52Z zacts: hum.. I think there was sbcl and Clasp? 2015-02-21T11:11:55Z zacts: I can't remember 2015-02-21T11:12:00Z wasamasa: for CL I've only seen that the compilers emit machine code they use instead of interpreted code, however that doesn't apply to the "executable" 2015-02-21T11:12:29Z wasamasa: http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf 2015-02-21T11:12:48Z Vutral joined #scheme 2015-02-21T11:13:00Z wasamasa: here's a paper that describes how one could build a scheme implementation that compiles to machine code specific to an architecture 2015-02-21T11:13:08Z zacts: oh neat 2015-02-21T11:13:25Z wasamasa: there's a few implementations out there that have taken this route 2015-02-21T11:13:56Z wasamasa: http://larcenists.org/ 2015-02-21T11:14:29Z zacts: hum.. which scheme implementations would work well on embedded platforms? 2015-02-21T11:14:31Z wasamasa: ikarus would be another one 2015-02-21T11:15:00Z oleo__ quit (Quit: Verlassend) 2015-02-21T11:15:23Z wasamasa: hmm, that's a bit trickier to answer as it depends on the specific platform 2015-02-21T11:15:52Z wasamasa: https://github.com/technomancy/microscheme 2015-02-21T11:16:19Z wasamasa: here's one technomancy forked for writing firmware for his own mechanical keyboard 2015-02-21T11:16:39Z zacts: oh cool 2015-02-21T11:17:06Z wasamasa: chicken is less good for that I've heard since it requires a bit too much RAM 2015-02-21T11:18:11Z wasamasa: perhaps armpit scheme? 2015-02-21T11:21:29Z zacts: ah ok 2015-02-21T11:22:27Z alezost joined #scheme 2015-02-21T11:26:54Z jlongster joined #scheme 2015-02-21T11:31:54Z jlongster quit (Ping timeout: 245 seconds) 2015-02-21T11:33:49Z kephra: zacts, I suggest to take a look at a running Smalltalk application (inspector) to see the usefulness of OOP 2015-02-21T11:34:23Z zacts: ah ok 2015-02-21T11:34:52Z kephra: OOP was known to be extremely useful for non modal GUIs 2015-02-21T11:35:19Z kephra: prior to OOP style coding most UI had been modal 2015-02-21T11:35:30Z kephra: ask user for input, wait, process input 2015-02-21T11:36:00Z wasamasa: well, you can use FRP for that 2015-02-21T11:36:21Z net4all left #scheme 2015-02-21T11:36:28Z kephra: typical non modal UI/UX without OOP requires closures 2015-02-21T11:36:43Z wasamasa: game development can work with ECS 2015-02-21T11:36:57Z kephra: leading to the well known JavaScript callback hell (that is also caused by the lack of coroutines in JS) 2015-02-21T11:37:05Z wasamasa: which prefers composition over inheritance 2015-02-21T11:39:31Z oleo joined #scheme 2015-02-21T11:39:49Z wasamasa: http://blog.lmorchard.com/2013/11/27/entity-component-system/ 2015-02-21T11:48:21Z robot-beethoven quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-02-21T11:59:21Z amgarchIn9 joined #scheme 2015-02-21T12:01:39Z jj_konk joined #scheme 2015-02-21T12:03:00Z kephra: ECS sounds interesting, but requires a lot of discipline if multithreaded in C 2015-02-21T12:06:10Z kephra: and of course the notation in the article rings bells, I was used to TLA + Hex notation 2015-02-21T12:08:31Z kephra: e.g.: UWP Usdiki 1015 C260683-4 913 K0 V M8 D 2015-02-21T12:08:41Z amgarchIn9 quit (Ping timeout: 246 seconds) 2015-02-21T12:09:27Z Vutral quit (Ping timeout: 245 seconds) 2015-02-21T12:14:32Z Ruchran joined #scheme 2015-02-21T12:17:15Z iiiiv joined #scheme 2015-02-21T12:18:11Z King_Hual joined #scheme 2015-02-21T12:18:29Z iiiiv left #scheme 2015-02-21T12:20:56Z Vutral joined #scheme 2015-02-21T12:21:30Z Vutral quit (Excess Flood) 2015-02-21T12:24:35Z King_Hual quit (Read error: Connection reset by peer) 2015-02-21T12:27:27Z King_Hual joined #scheme 2015-02-21T12:33:09Z larion quit (Quit: Lost terminal) 2015-02-21T12:35:42Z koz_ quit (Ping timeout: 245 seconds) 2015-02-21T12:39:43Z Vutral joined #scheme 2015-02-21T12:40:05Z alezost quit (Quit: I use GNU Guix ) 2015-02-21T12:40:48Z Vutral quit (Excess Flood) 2015-02-21T12:42:10Z alezost joined #scheme 2015-02-21T12:45:52Z oleo quit (Read error: Connection reset by peer) 2015-02-21T12:53:00Z Vutral joined #scheme 2015-02-21T12:53:52Z oleo joined #scheme 2015-02-21T12:54:00Z scottj quit (Quit: leaving) 2015-02-21T12:56:01Z enitiz joined #scheme 2015-02-21T12:59:23Z hiroakip joined #scheme 2015-02-21T13:29:15Z rszeno joined #scheme 2015-02-21T13:41:15Z hiroakip quit (Ping timeout: 256 seconds) 2015-02-21T13:44:27Z cemerick joined #scheme 2015-02-21T13:48:24Z wasamasa is now known as vms 2015-02-21T13:48:37Z vms is now known as wasamasa 2015-02-21T13:50:17Z rszeno quit (Ping timeout: 245 seconds) 2015-02-21T13:59:07Z Riastradh joined #scheme 2015-02-21T14:07:04Z fantazo quit (Quit: Verlassend) 2015-02-21T14:07:27Z rszeno joined #scheme 2015-02-21T14:08:09Z leppie quit (Ping timeout: 252 seconds) 2015-02-21T14:21:41Z Ruchran quit (Quit: Connection closed for inactivity) 2015-02-21T14:24:34Z xyh joined #scheme 2015-02-21T14:24:35Z rszeno quit (Quit: Leaving.) 2015-02-21T14:25:48Z jlongster joined #scheme 2015-02-21T14:26:32Z mrowe_away is now known as mrowe 2015-02-21T14:30:09Z jlongster quit (Ping timeout: 252 seconds) 2015-02-21T14:31:45Z acarrico quit (Ping timeout: 244 seconds) 2015-02-21T14:32:44Z cemerick quit (Ping timeout: 245 seconds) 2015-02-21T14:36:38Z mrowe is now known as mrowe_away 2015-02-21T14:43:34Z cemerick joined #scheme 2015-02-21T14:44:19Z vdamewood joined #scheme 2015-02-21T14:46:25Z badkins joined #scheme 2015-02-21T15:12:55Z acarrico joined #scheme 2015-02-21T15:18:51Z amgarchIn9 joined #scheme 2015-02-21T15:19:03Z davexunit joined #scheme 2015-02-21T15:22:53Z ijp joined #scheme 2015-02-21T15:24:30Z xyh quit (Remote host closed the connection) 2015-02-21T15:26:12Z wasamasa is now known as vms 2015-02-21T15:27:06Z vms is now known as wasamasa 2015-02-21T15:36:58Z theseb joined #scheme 2015-02-21T15:51:22Z narendraj9_ joined #scheme 2015-02-21T15:55:11Z oleo is now known as Guest63006 2015-02-21T15:55:32Z jeapostrophe joined #scheme 2015-02-21T15:56:52Z oleo__ joined #scheme 2015-02-21T15:58:12Z Guest63006 quit (Ping timeout: 245 seconds) 2015-02-21T16:07:58Z theseb quit (Quit: Leaving) 2015-02-21T16:09:22Z theseb joined #scheme 2015-02-21T16:13:53Z theseb left #scheme 2015-02-21T16:16:03Z mrowe_away is now known as mrowe 2015-02-21T16:19:58Z vdamewood quit (Quit: Computer has gone to sleep.) 2015-02-21T16:20:00Z pjb quit (Ping timeout: 246 seconds) 2015-02-21T16:20:13Z acarrico quit (Ping timeout: 255 seconds) 2015-02-21T16:21:53Z Chaos`Eternal quit (Quit: Leaving) 2015-02-21T16:25:37Z mrowe is now known as mrowe_away 2015-02-21T16:25:48Z jlongster joined #scheme 2015-02-21T16:30:12Z jlongster quit (Ping timeout: 252 seconds) 2015-02-21T16:31:39Z pjb joined #scheme 2015-02-21T16:42:54Z jlongster joined #scheme 2015-02-21T16:45:29Z amgarchIn9 quit (Ping timeout: 265 seconds) 2015-02-21T16:46:32Z jeapostrophe quit (Ping timeout: 245 seconds) 2015-02-21T16:46:37Z daviid joined #scheme 2015-02-21T16:47:51Z amgarchIn9 joined #scheme 2015-02-21T16:50:38Z adu joined #scheme 2015-02-21T17:01:01Z cemerick quit (Ping timeout: 264 seconds) 2015-02-21T17:01:45Z vdamewood joined #scheme 2015-02-21T17:02:43Z vishesh joined #scheme 2015-02-21T17:03:34Z narendraj9_ quit (Read error: Connection reset by peer) 2015-02-21T17:05:46Z narendraj9_ joined #scheme 2015-02-21T17:10:04Z bb010g quit (Quit: Connection closed for inactivity) 2015-02-21T17:12:36Z narendraj9_ quit (Read error: Connection reset by peer) 2015-02-21T17:13:19Z b4283 joined #scheme 2015-02-21T17:13:46Z narendraj9_ joined #scheme 2015-02-21T17:27:07Z uber_hulk joined #scheme 2015-02-21T17:28:28Z karswell joined #scheme 2015-02-21T17:32:31Z narendraj9_ quit (Quit: WeeChat 1.1.1) 2015-02-21T17:38:59Z vishesh quit (Ping timeout: 245 seconds) 2015-02-21T17:42:21Z liqu0rice joined #scheme 2015-02-21T17:52:31Z b4283 quit (Quit: Konversation terminated!) 2015-02-21T17:58:31Z amgarchIn9 quit (Ping timeout: 256 seconds) 2015-02-21T18:00:03Z vdamewood quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2015-02-21T18:07:55Z adu quit (Quit: adu) 2015-02-21T18:18:41Z zadock joined #scheme 2015-02-21T18:18:45Z ApeShot joined #scheme 2015-02-21T18:18:57Z ApeShot: Anyone here using Gambit-c ? 2015-02-21T18:19:21Z ApeShot: I am looking for something like `eval-when` 2015-02-21T18:19:31Z ApeShot: I need to have some state shared between various macro-expanders 2015-02-21T18:20:03Z ApeShot: I am porting a pattern matching library to Scheme and the extensible patterns are stored as functions in a compile-time table 2015-02-21T18:20:16Z ApeShot: Which is shared between the pattern matcher expander and the macro used to define patterns 2015-02-21T18:27:39Z Riastradh: If you are reaching for EVAL-WHEN, you need to rethink your program's organization... 2015-02-21T18:29:34Z bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2015-02-21T18:30:23Z hiroakip joined #scheme 2015-02-21T18:36:25Z gravicappa quit (Ping timeout: 264 seconds) 2015-02-21T18:39:13Z ApeShot: Riastradh: In ordinary circumstances I agree with you 2015-02-21T18:39:17Z ApeShot: But in this case I know what I am doin 2015-02-21T18:39:19Z ApeShot: g 2015-02-21T18:40:06Z hiyosi quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2015-02-21T18:40:15Z ApeShot: Even Racket has `define-for-syntax` which serves exactly this purpose 2015-02-21T18:40:28Z ApeShot: That is to say, one may wish to define utilities for expanding a set of similar macros 2015-02-21T18:40:31Z enitiz quit (Ping timeout: 265 seconds) 2015-02-21T18:40:34Z ApeShot: As far as I can tell in Gambit this is not possible 2015-02-21T18:40:44Z ApeShot: That is to say, one cannot `define` a function and then use it in macro-expansion 2015-02-21T18:40:57Z ApeShot: So two macros cannot share external dependencies 2015-02-21T18:41:37Z ApeShot: If my purposes were simply to share a set of utility functions I could use gambit's `include` directive at the top level of each macro definition, but I also need to share state. 2015-02-21T18:42:25Z wasamasa: sharing state :E 2015-02-21T18:44:16Z ApeShot: Yes, under ordinary circumstances this is not advisable. In this case, it is. 2015-02-21T18:44:41Z ApeShot: https://github.com/VincentToups/shadchen 2015-02-21T18:44:48Z ApeShot: I am porting that library to gambit-c 2015-02-21T18:45:24Z ApeShot: You will see that shadchen is an extensible pattern matcher. Patterns are fundamentally macro-expansion time entities and so the user of the library must be able to extend the pattern matcher at macro-expansion time 2015-02-21T18:45:36Z wasamasa: oh dear 2015-02-21T18:45:46Z wasamasa: what's wrong with match? 2015-02-21T18:46:04Z wasamasa: http://download.plt-scheme.org/doc/103p1/pdf/match.pdf 2015-02-21T18:46:15Z ApeShot: Will match run on gambit? Is match extensible? 2015-02-21T18:46:21Z wasamasa: it's available in guile and chicken at least 2015-02-21T18:46:23Z ApeShot: Does it really matter? 2015-02-21T18:46:46Z enitiz joined #scheme 2015-02-21T18:47:14Z ApeShot: I guess no one knows how to make gambit-c behave this way, is what I am getting from this discussion. 2015-02-21T18:47:42Z ijp: wasamasa: match isn't extensible 2015-02-21T18:47:50Z wasamasa: blast 2015-02-21T18:48:00Z ijp: I mean, I can kinda think of a way to do it, but it's kinda awful 2015-02-21T18:48:08Z wasamasa: https://github.com/alvatar/sphere-core/blob/master/src/match-macros.scm 2015-02-21T18:48:16Z wasamasa: here it is for gambit I guess 2015-02-21T18:48:23Z enitiz quit (Read error: Connection reset by peer) 2015-02-21T18:48:27Z ijp: istr foof suggesting he'd get around to it eventually, whenever that is 2015-02-21T18:48:38Z amgarchIn9 joined #scheme 2015-02-21T18:48:41Z alezost quit (Changing host) 2015-02-21T18:48:41Z alezost joined #scheme 2015-02-21T18:49:08Z ijp: there is a racket inspired extensible matcher for guile, but it's not a part of guile proper, so no-one uses it 2015-02-21T18:49:16Z ApeShot: ijp: I tried writing a macro which invoked eval in its body (returning '()) but it seems that the environment in which macro-expansion happens does not permit `define` 2015-02-21T18:49:22Z ApeShot: Eg, it doesn't act like top-level 2015-02-21T18:49:57Z ApeShot: I'm frankly a bit surprised that one cannot even invoke previously defined functions in the macro-expansion context in gambit 2015-02-21T18:50:05Z ApeShot: Or at least I can't find the documented way to do so 2015-02-21T18:50:14Z ApeShot: At the very least that use case is uncontroversial 2015-02-21T18:50:23Z ijp: if gambit works like most implementations, those functions don't even exist when macros are expanded 2015-02-21T18:51:13Z ijp: but either way, I have no idea how gambit does anything, nor any inclination to find out 2015-02-21T18:52:37Z ApeShot: Well, this would be the use-case for `eval-when`. Common Lisp gets along quite well giving the application programmer the ability to control very precisely the evaluation time of expressions. 2015-02-21T18:53:26Z ApeShot: Although in other contexts I have criticized the languages general philosophy of letting the application programmer do anything. 2015-02-21T18:53:32Z vanila: why are you using gambit-c? 2015-02-21T18:53:40Z ApeShot: lambdanative 2015-02-21T18:53:44Z ApeShot: I am writing apps for Android 2015-02-21T18:53:50Z acarrico joined #scheme 2015-02-21T18:53:52Z ijp: really? I thought everyone only used one specific set of options for eval-when 2015-02-21T18:54:15Z ijp: (load eval compile) or whatever 2015-02-21T18:54:21Z ApeShot: I have worked in commercial products where eval-when was used in complicated ways (not that I would say that it was used wisely) 2015-02-21T18:54:44Z ApeShot: Anyway, I absolutely love lambdanative as an app development environment 2015-02-21T18:54:46Z ApeShot: Its wonderful 2015-02-21T18:55:02Z ApeShot: But I miss some of the power of Common Lisp, I guess 2015-02-21T18:55:30Z vanila: im pretty surprised you can't call a user defined function from define-macro 2015-02-21T18:56:36Z ApeShot: I have found things which indicate that one should be able to do so if the function is defined in a previously `load`ed file 2015-02-21T18:56:39Z ApeShot: But this appears to not be the case 2015-02-21T18:56:43Z ApeShot: at least not in gsi 2015-02-21T18:57:10Z vanila: https://github.com/feeley/gambit/blob/88f730a281c1319f1292b29ba29b6e69a11a1aad/gsc/_x86%23.scm#L264 2015-02-21T18:57:10Z rudybot: http://tinyurl.com/oyx6njd 2015-02-21T18:57:17Z vanila: you can define things inside a macro.. at least 2015-02-21T18:57:34Z vanila: thats not enough to do what you wanted though 2015-02-21T18:59:32Z ijp quit (Quit: brb writing War and Peace and Zombies) 2015-02-21T19:00:13Z ApeShot: I guess for my own purposes I can just extend the pattern matcher statically, as I need to 2015-02-21T19:00:19Z vanila: ApeShot, maybe you can use meta define & syntax-case ike this: https://github.com/feeley/gambit/blob/88f730a281c1319f1292b29ba29b6e69a11a1aad/lib/psyntax73.ss#L134 2015-02-21T19:00:19Z rudybot: http://tinyurl.com/m9hkhkd 2015-02-21T19:00:38Z ApeShot: I think if I roped in Syntax-case I could get it to work 2015-02-21T19:00:48Z vanila: well mayeb this meta thing even worse for define-macro 2015-02-21T19:00:53Z vanila: works* 2015-02-21T19:01:14Z vanila: there is even a mention of eval-when in there 2015-02-21T19:01:34Z vanila: i would have to actually have gambit to test any of this though 2015-02-21T19:01:36Z ApeShot: Good suggestion 2015-02-21T19:05:00Z Riastradh: ApeShot: DEFINE-FOR-SYNTAX, sure. EVAL-WHEN, no. 2015-02-21T19:05:38Z Riastradh: No idea about Gambit, sorry. 2015-02-21T19:10:46Z zadock quit (Ping timeout: 255 seconds) 2015-02-21T19:16:57Z hiroakip quit (Ping timeout: 244 seconds) 2015-02-21T19:17:46Z vanila: this idea of 'defpattern' is interesting 2015-02-21T19:18:49Z leppie joined #scheme 2015-02-21T19:23:07Z akkad quit (Ping timeout: 252 seconds) 2015-02-21T19:24:06Z Intensity quit (Ping timeout: 246 seconds) 2015-02-21T19:24:47Z psy_ quit (Ping timeout: 246 seconds) 2015-02-21T19:26:14Z psy_ joined #scheme 2015-02-21T19:27:21Z akkad joined #scheme 2015-02-21T19:34:47Z Intensity joined #scheme 2015-02-21T19:35:21Z cross quit (Ping timeout: 272 seconds) 2015-02-21T19:35:52Z cross joined #scheme 2015-02-21T19:35:56Z koz_ joined #scheme 2015-02-21T19:36:19Z ApeShot quit (Remote host closed the connection) 2015-02-21T19:40:28Z vishesh joined #scheme 2015-02-21T19:41:15Z oleo__ quit (Quit: Verlassend) 2015-02-21T19:41:35Z Intensity quit (Ping timeout: 246 seconds) 2015-02-21T19:42:47Z cross quit (Ping timeout: 256 seconds) 2015-02-21T19:44:45Z cross joined #scheme 2015-02-21T19:46:29Z vishesh quit (Ping timeout: 246 seconds) 2015-02-21T19:46:37Z jlongster quit (Ping timeout: 264 seconds) 2015-02-21T19:49:42Z oleo joined #scheme 2015-02-21T19:53:37Z mrowe_away is now known as mrowe 2015-02-21T20:03:31Z mrowe is now known as mrowe_away 2015-02-21T20:13:12Z boycottg00gle joined #scheme 2015-02-21T20:13:48Z liqu0rice quit (Quit: leaving) 2015-02-21T20:15:55Z c74d is now known as Guest12652 2015-02-21T20:16:26Z Guest12652 quit (Ping timeout: 252 seconds) 2015-02-21T20:16:36Z acetoline joined #scheme 2015-02-21T20:16:43Z acetoline: anyone here used Typed Racket? 2015-02-21T20:17:56Z offby1: acetoline: stick around for a day or so; a lot of the discussion here is indeed about typed racket; and some of the language's designers (or maybe just very knowledgeable users) show up 2015-02-21T20:18:07Z c74d joined #scheme 2015-02-21T20:19:05Z acetoline: cool 2015-02-21T20:28:19Z mrowe_away is now known as mrowe 2015-02-21T20:29:15Z jlongster joined #scheme 2015-02-21T20:29:15Z jlongster quit (Remote host closed the connection) 2015-02-21T20:30:58Z boycottg00gle: there is also #racket 2015-02-21T20:41:47Z bjz joined #scheme 2015-02-21T20:47:41Z boycottg00gle quit (Remote host closed the connection) 2015-02-21T20:51:12Z Urchin[emacs] joined #scheme 2015-02-21T21:06:14Z mrowe is now known as mrowe_away 2015-02-21T21:09:56Z germ13 joined #scheme 2015-02-21T21:20:33Z monod joined #scheme 2015-02-21T21:27:03Z germ13 quit (Ping timeout: 252 seconds) 2015-02-21T21:27:26Z germ13 joined #scheme 2015-02-21T21:43:12Z uber_hulk quit (Quit: Connection closed for inactivity) 2015-02-21T21:44:24Z daviid quit (Ping timeout: 245 seconds) 2015-02-21T21:50:04Z jeapostrophe joined #scheme 2015-02-21T21:56:38Z vishesh joined #scheme 2015-02-21T22:09:18Z uber_hulk joined #scheme 2015-02-21T22:19:37Z karswell quit (Ping timeout: 264 seconds) 2015-02-21T22:22:14Z alezost quit (Quit: I use GNU Guix ) 2015-02-21T22:24:02Z monod quit (Quit: Sto andando via) 2015-02-21T22:28:37Z mrowe_away is now known as mrowe 2015-02-21T22:44:09Z King_Hual quit (Read error: Connection reset by peer) 2015-02-21T22:48:52Z King_Hual joined #scheme 2015-02-21T22:49:39Z pecg joined #scheme 2015-02-21T22:53:20Z Ruchran joined #scheme 2015-02-21T22:53:57Z excelsior quit (Ping timeout: 244 seconds) 2015-02-21T22:54:19Z mrowe is now known as mrowe_away 2015-02-21T22:54:50Z oleo quit (Read error: Connection reset by peer) 2015-02-21T22:56:23Z Isp-sec quit (Ping timeout: 250 seconds) 2015-02-21T23:01:22Z oleo joined #scheme 2015-02-21T23:03:12Z daviid joined #scheme 2015-02-21T23:05:05Z pecg quit (Quit: WeeChat 1.1.1) 2015-02-21T23:11:20Z enitiz joined #scheme 2015-02-21T23:13:45Z vishesh quit (Ping timeout: 246 seconds) 2015-02-21T23:20:31Z balkamos quit (Ping timeout: 252 seconds) 2015-02-21T23:21:14Z balkamos joined #scheme 2015-02-21T23:23:05Z stepnem quit (Ping timeout: 250 seconds) 2015-02-21T23:29:00Z vishesh joined #scheme 2015-02-21T23:42:52Z jeapostrophe quit (Ping timeout: 252 seconds) 2015-02-21T23:53:31Z King_Hual quit (Read error: Connection reset by peer) 2015-02-21T23:57:04Z King_Hual joined #scheme 2015-02-21T23:57:42Z rszeno joined #scheme 2015-02-21T23:59:29Z vishesh quit (Ping timeout: 256 seconds)