2014-11-16T03:38:46Z ccl-logbot joined #scheme 2014-11-16T03:38:46Z 2014-11-16T03:38:46Z names: ccl-logbot Gyps oldskirt vinleod tobik Vutral oleo__ hiyosi jlongster robot-beethoven mark_weaver tristero araujo cky henrytill Soft b4285 c74d niklasl tessier Nshag emma gnomon_ duncanm agumonkey rudybot leppie acieroid kilimanjaro ijp jcloud mornfall LeoNerd samth benaiah chameco_ utkarsh haroldwu_ jrslepak_ balkamos pchrist Shozan petercom1and pjdelport taylanub Natch DerGuteMoritz ELLIOTTCABLE psy_ clog stamourv` dpk defanor arrdem pjb gabot 2014-11-16T03:38:46Z names: MichaelRaskin kwmiebach nitrix averell Janne_ ggherdov fizzie TrueShif1Blue sethalves cojy dmiles Blkt_ greghendershott vanila mdibound bjz Khisanth karswell wilfredh funrep tadni rtra joneshf-laptop juanfra githogori_ GGMethos anannie carc evhan _5kg ohama ffs certainty antoszka teiresias Sgeo kbtr Kabaka Riviera asumu turbofail girrig byte48 tmh_ klltkr fikusz cmatei joneshf swilr frkout copec akkad fgudin serhart mrowe_away edw mario-goulart cibs 2014-11-16T03:38:46Z names: twem2 gf3 acarrico FracV Kruppe Tbone139 aksatac superjudge dytrivedi__ gluegadget aap choas ft dsp synaptech ByronJohnson cjh` abbe ski weinholt fadein C-Keen Intensity Kryo ozzloy Neet nisstyre eMBee vukcrni ecraven CoverSlide diginet amoe finnrobi Razz necronian pygospa amgarching eagleflo mikeyhc z0d offby1 dan64 Saeren_ aking micro^ cross poucet sigjuice tsuyoshi SirDayBat zbigniew tstc rotty_ dca klutometis yosafbridge 2014-11-16T03:54:38Z Riastradh joined #scheme 2014-11-16T04:02:45Z ijp quit (Quit: This ijp has ended peacefully) 2014-11-16T04:10:43Z azathoth99 joined #scheme 2014-11-16T04:22:56Z azathoth99 quit (Read error: Connection reset by peer) 2014-11-16T04:23:57Z azathoth99 joined #scheme 2014-11-16T04:26:28Z MrSavage joined #scheme 2014-11-16T04:26:28Z azathoth99 quit (Read error: Connection reset by peer) 2014-11-16T04:28:42Z azathoth99 joined #scheme 2014-11-16T04:28:51Z b4283 joined #scheme 2014-11-16T04:30:33Z b4285 quit (Ping timeout: 244 seconds) 2014-11-16T04:31:26Z jlongster quit (Read error: Connection reset by peer) 2014-11-16T04:31:44Z jlongster joined #scheme 2014-11-16T04:48:21Z kongtomorrow joined #scheme 2014-11-16T05:04:36Z vanila quit (Quit: Leaving) 2014-11-16T05:08:53Z daviid joined #scheme 2014-11-16T05:15:39Z bb010g joined #scheme 2014-11-16T05:16:49Z azathoth99 quit (Read error: Connection reset by peer) 2014-11-16T05:18:58Z azathoth99 joined #scheme 2014-11-16T05:20:02Z azathoth99 quit (Read error: Connection reset by peer) 2014-11-16T05:20:43Z alezost joined #scheme 2014-11-16T05:21:23Z azathoth99 joined #scheme 2014-11-16T05:23:57Z henrytill quit (Quit: leaving) 2014-11-16T05:23:57Z azathoth99 quit (Read error: Connection reset by peer) 2014-11-16T05:25:36Z azathoth99 joined #scheme 2014-11-16T05:31:08Z vinleod quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-11-16T05:31:09Z azathoth99 quit (Read error: Connection reset by peer) 2014-11-16T05:33:27Z azathoth99 joined #scheme 2014-11-16T05:35:36Z 92AAAFSN1 joined #scheme 2014-11-16T05:38:10Z adu joined #scheme 2014-11-16T05:38:23Z b4283 quit (Read error: Connection reset by peer) 2014-11-16T05:39:05Z b4283 joined #scheme 2014-11-16T05:43:19Z germ13 joined #scheme 2014-11-16T05:52:05Z swilr quit (Ping timeout: 264 seconds) 2014-11-16T05:53:16Z swilr joined #scheme 2014-11-16T05:53:16Z azathoth99 quit (Read error: Connection reset by peer) 2014-11-16T05:53:54Z azathoth99 joined #scheme 2014-11-16T06:08:02Z adu quit (Quit: adu) 2014-11-16T06:14:30Z MrSavage quit (Remote host closed the connection) 2014-11-16T06:15:43Z bjz quit (Ping timeout: 272 seconds) 2014-11-16T06:20:24Z psy_ quit (Quit: Leaving) 2014-11-16T06:21:38Z mdibound quit (Quit: Lingo: www.lingoirc.com) 2014-11-16T06:21:38Z azathoth99 quit (Read error: Connection reset by peer) 2014-11-16T06:23:18Z azathoth99 joined #scheme 2014-11-16T06:24:25Z azathoth99 quit (Read error: Connection reset by peer) 2014-11-16T06:26:36Z azathoth99 joined #scheme 2014-11-16T06:32:58Z daviid quit (Ping timeout: 255 seconds) 2014-11-16T06:32:58Z azathoth99 quit (Read error: Connection reset by peer) 2014-11-16T06:33:28Z azathoth99 joined #scheme 2014-11-16T06:37:57Z kazimir42 joined #scheme 2014-11-16T06:41:32Z adu joined #scheme 2014-11-16T06:52:10Z ehaliewicz joined #scheme 2014-11-16T06:57:31Z jlongster quit (Ping timeout: 264 seconds) 2014-11-16T06:57:31Z azathoth99 quit (Read error: Connection reset by peer) 2014-11-16T06:57:39Z vinleod joined #scheme 2014-11-16T06:58:50Z azathoth99 joined #scheme 2014-11-16T07:07:13Z bjz joined #scheme 2014-11-16T07:10:53Z kongtomorrow quit (Read error: Connection reset by peer) 2014-11-16T07:10:53Z azathoth99 quit (Read error: Connection reset by peer) 2014-11-16T07:11:25Z kongtomorrow joined #scheme 2014-11-16T07:11:32Z bjz quit (Ping timeout: 245 seconds) 2014-11-16T07:12:26Z azathoth99 joined #scheme 2014-11-16T07:19:40Z adu quit (Quit: adu) 2014-11-16T07:19:41Z azathoth99 quit (Read error: Connection reset by peer) 2014-11-16T07:20:26Z azathoth99 joined #scheme 2014-11-16T07:29:42Z acarrico quit (Ping timeout: 265 seconds) 2014-11-16T07:29:42Z azathoth99 quit (Read error: Connection reset by peer) 2014-11-16T07:31:13Z azathoth99 joined #scheme 2014-11-16T07:36:38Z gravicappa joined #scheme 2014-11-16T07:36:38Z azathoth99 quit (Read error: Connection reset by peer) 2014-11-16T07:39:10Z azathoth99 joined #scheme 2014-11-16T07:41:43Z azathoth99 quit (Read error: Connection reset by peer) 2014-11-16T07:43:19Z azathoth99 joined #scheme 2014-11-16T07:46:38Z fantazo joined #scheme 2014-11-16T07:46:38Z azathoth99 quit (Read error: Connection reset by peer) 2014-11-16T07:48:49Z azathoth99 joined #scheme 2014-11-16T07:57:50Z petercom1and is now known as petercommand 2014-11-16T08:00:33Z azathoth99 quit (Read error: Connection reset by peer) 2014-11-16T08:02:24Z azathoth99 joined #scheme 2014-11-16T08:26:19Z kongtomorrow quit (Read error: Connection reset by peer) 2014-11-16T08:26:24Z azathoth99 quit (Read error: Connection reset by peer) 2014-11-16T08:26:45Z kongtomorrow joined #scheme 2014-11-16T08:33:56Z ehaliewicz quit (Remote host closed the connection) 2014-11-16T09:08:04Z jaaqo joined #scheme 2014-11-16T09:14:59Z oldskirt_ joined #scheme 2014-11-16T09:14:59Z oldskirt quit (Ping timeout: 258 seconds) 2014-11-16T09:31:25Z kazimir42 quit (Remote host closed the connection) 2014-11-16T10:07:06Z hiroakip joined #scheme 2014-11-16T10:16:30Z jumblerg joined #scheme 2014-11-16T10:20:26Z Isp-sec joined #scheme 2014-11-16T10:21:30Z xyh` joined #scheme 2014-11-16T10:23:24Z xyh`: petite chez uses threaded code ??? (according to chicken's author 2014-11-16T10:23:44Z xyh`: is this fact documented somewhere? 2014-11-16T10:25:54Z xyh`: whois dan64 2014-11-16T10:26:59Z amgarchIn9 joined #scheme 2014-11-16T10:28:02Z xyh`: I see `` Petite Chez is compatible with Chez Scheme but uses high-speed threaded interpreter technology in place of Chez Scheme's incremental native-code compiler. '' ! 2014-11-16T10:31:47Z lloda joined #scheme 2014-11-16T10:32:31Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-16T10:32:53Z germ13 quit (Ping timeout: 255 seconds) 2014-11-16T10:35:04Z xyh` quit (Ping timeout: 255 seconds) 2014-11-16T10:50:29Z robot-beethoven quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-16T10:51:15Z xyh` joined #scheme 2014-11-16T10:54:53Z funrep left #scheme 2014-11-16T11:09:27Z amgarchIn9 quit (Ping timeout: 245 seconds) 2014-11-16T11:22:41Z b4283 quit (Ping timeout: 264 seconds) 2014-11-16T11:23:29Z oleo__ is now known as oleo 2014-11-16T11:24:05Z oleo quit (Quit: Verlassend) 2014-11-16T11:28:15Z BitPuffin joined #scheme 2014-11-16T11:34:21Z oleo joined #scheme 2014-11-16T11:36:43Z tobik quit (Ping timeout: 255 seconds) 2014-11-16T11:37:35Z tobik joined #scheme 2014-11-16T11:40:37Z hiroakip quit (Ping timeout: 272 seconds) 2014-11-16T11:45:18Z Gyps quit (Quit: Gyps) 2014-11-16T11:52:34Z amgarchIn9 joined #scheme 2014-11-16T12:00:34Z xyh` quit (Ping timeout: 255 seconds) 2014-11-16T12:02:29Z jumblerg joined #scheme 2014-11-16T12:02:37Z oleo quit (Quit: Verlassend) 2014-11-16T12:04:08Z jumblerg quit (Client Quit) 2014-11-16T12:04:25Z oldskirt_ is now known as oldskirt 2014-11-16T12:05:24Z jumblerg joined #scheme 2014-11-16T12:05:31Z _5kg quit (Ping timeout: 255 seconds) 2014-11-16T12:17:09Z DGASAU joined #scheme 2014-11-16T12:23:27Z _5kg joined #scheme 2014-11-16T12:23:27Z DGASAU quit (Remote host closed the connection) 2014-11-16T12:24:36Z DGASAU joined #scheme 2014-11-16T12:31:10Z henrytill joined #scheme 2014-11-16T12:42:12Z amgarchIn9 quit (Ping timeout: 250 seconds) 2014-11-16T12:49:05Z b4283 joined #scheme 2014-11-16T13:03:57Z _5kg quit (Ping timeout: 240 seconds) 2014-11-16T13:05:01Z _5kg joined #scheme 2014-11-16T13:07:30Z amgarchIn9 joined #scheme 2014-11-16T13:10:56Z b4283 quit (Remote host closed the connection) 2014-11-16T13:12:08Z b4283 joined #scheme 2014-11-16T13:24:15Z germ13 joined #scheme 2014-11-16T13:24:47Z amgarchIn9 quit (Ping timeout: 244 seconds) 2014-11-16T13:24:54Z oleo joined #scheme 2014-11-16T13:29:33Z Ray______ joined #scheme 2014-11-16T13:36:52Z _5kg quit (Ping timeout: 240 seconds) 2014-11-16T13:43:28Z taylanub quit (Disconnected by services) 2014-11-16T13:44:17Z taylanub joined #scheme 2014-11-16T13:53:49Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-16T13:56:52Z jaaqo quit (Ping timeout: 240 seconds) 2014-11-16T13:58:41Z oleo quit (Ping timeout: 264 seconds) 2014-11-16T13:58:56Z oleo joined #scheme 2014-11-16T14:04:35Z Bahman joined #scheme 2014-11-16T14:06:23Z b4283 quit (Remote host closed the connection) 2014-11-16T14:11:15Z jrslepak_ is now known as jrslepak 2014-11-16T14:13:21Z alexey joined #scheme 2014-11-16T14:13:27Z vanila joined #scheme 2014-11-16T14:21:34Z _5kg joined #scheme 2014-11-16T14:25:12Z jumblerg joined #scheme 2014-11-16T14:31:58Z haroldwu_ is now known as haroldwu 2014-11-16T14:32:08Z haroldwu quit (Changing host) 2014-11-16T14:32:08Z haroldwu joined #scheme 2014-11-16T14:33:27Z Black-Irish joined #scheme 2014-11-16T14:37:40Z bjz joined #scheme 2014-11-16T14:38:19Z Black-Irish quit (Client Quit) 2014-11-16T14:38:25Z b4283 joined #scheme 2014-11-16T14:40:48Z oldskirt_ joined #scheme 2014-11-16T14:40:49Z oldskirt_ quit (Changing host) 2014-11-16T14:40:49Z oldskirt_ joined #scheme 2014-11-16T14:41:48Z fantazo quit (Ping timeout: 250 seconds) 2014-11-16T14:42:35Z acarrico joined #scheme 2014-11-16T14:44:19Z oldskirt quit (Ping timeout: 264 seconds) 2014-11-16T14:47:18Z xyh joined #scheme 2014-11-16T15:05:50Z mmc joined #scheme 2014-11-16T15:27:05Z bb010g quit (Quit: Connection closed for inactivity) 2014-11-16T15:27:51Z kazimir42 joined #scheme 2014-11-16T15:39:21Z daviid joined #scheme 2014-11-16T15:43:17Z oldskirt_ quit (Ping timeout: 240 seconds) 2014-11-16T15:46:11Z joast joined #scheme 2014-11-16T15:50:26Z davexunit joined #scheme 2014-11-16T15:51:24Z hypermagic joined #scheme 2014-11-16T15:51:34Z hypermagic: hello my friends 2014-11-16T15:51:46Z Ray______: hello! 2014-11-16T15:52:20Z oldskirt joined #scheme 2014-11-16T15:57:36Z vanila: hi :) 2014-11-16T16:02:15Z alexey quit (Remote host closed the connection) 2014-11-16T16:02:56Z xyh quit (Ping timeout: 265 seconds) 2014-11-16T16:03:54Z jaaqo joined #scheme 2014-11-16T16:04:11Z Ray______: I'm re-learning scheme, haven't touched it since college over a decade ago. It's pretty fun! 2014-11-16T16:05:22Z xyh joined #scheme 2014-11-16T16:07:35Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-16T16:11:52Z alexey joined #scheme 2014-11-16T16:16:36Z alexey quit (Remote host closed the connection) 2014-11-16T16:19:51Z jumblerg joined #scheme 2014-11-16T16:21:39Z jaaqo quit (Ping timeout: 255 seconds) 2014-11-16T16:22:20Z bjz quit (Read error: Connection reset by peer) 2014-11-16T16:22:35Z bjz joined #scheme 2014-11-16T16:24:54Z vinleod quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-11-16T16:28:29Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-16T16:40:11Z oleo quit (Quit: Verlassend) 2014-11-16T16:45:20Z xyh quit (Remote host closed the connection) 2014-11-16T16:47:52Z agumonkey quit (Ping timeout: 240 seconds) 2014-11-16T16:49:07Z derek_c joined #scheme 2014-11-16T16:49:39Z agumonkey joined #scheme 2014-11-16T16:50:55Z altphi joined #scheme 2014-11-16T16:53:53Z Rodya_ joined #scheme 2014-11-16T16:56:08Z xyh joined #scheme 2014-11-16T16:57:04Z xyh: anyone knows scheme implementation (compiler or interpreter) uses threaded-code tech ? 2014-11-16T16:58:43Z derek_c quit (Ping timeout: 264 seconds) 2014-11-16T16:58:53Z MichaelRaskin quit (Remote host closed the connection) 2014-11-16T17:02:49Z vanila: xyh, I think the scheme equivalent is continuation passing style 2014-11-16T17:02:58Z vanila: its a more complicated notion but quite similar idea 2014-11-16T17:03:20Z vanila: every function call becomes a tail call, so procedure call can be implemented as a jump 2014-11-16T17:09:39Z civodul joined #scheme 2014-11-16T17:11:05Z Bahman quit (Ping timeout: 244 seconds) 2014-11-16T17:13:34Z derek_c joined #scheme 2014-11-16T17:26:20Z altphi quit 2014-11-16T17:26:46Z altphi joined #scheme 2014-11-16T17:27:04Z amgarchIn9 joined #scheme 2014-11-16T17:27:29Z psy_ joined #scheme 2014-11-16T17:36:29Z MichaelRaskin joined #scheme 2014-11-16T17:36:38Z fantazo joined #scheme 2014-11-16T17:42:58Z xyh: vanila: I have tryed very hard, but still can not view threaded-code and CPS as equivalent very well. I ll get back and give more study to CPS and call/cc. 2014-11-16T17:43:05Z xyh: vanila: I see the wikipedia page (https://en.wikipedia.org/wiki/Threaded_code) says that threaded code is equivalent to CPS too, in the "see also" section of that page it says :: `` **Continuation-passing style** , which replaces the global variable "ip" with a function parameter'' 2014-11-16T17:43:16Z vanila: xyh, I'll make an example to show 2014-11-16T17:44:04Z xyh: :) 2014-11-16T17:44:46Z vanila: http://lpaste.net/114401 2014-11-16T17:45:02Z vanila: ythere's a simple expression and then CPS form 2014-11-16T17:45:07Z vanila: and then how it's like threaded 2014-11-16T17:54:07Z altphi quit 2014-11-16T17:54:19Z xyh: vanila: thx, it's cool. I ll go to learn more about CPS. if they are (in any sense) equivalent, maybe I ll make good ues of this equivalent in my forth implementation :) 2014-11-16T18:04:05Z amgarchIn9 quit (Ping timeout: 264 seconds) 2014-11-16T18:14:39Z hiroakip joined #scheme 2014-11-16T18:17:52Z Gyps joined #scheme 2014-11-16T18:21:56Z jeapostrophe joined #scheme 2014-11-16T18:29:30Z hiroakip quit (Ping timeout: 256 seconds) 2014-11-16T18:30:22Z xyh quit (Remote host closed the connection) 2014-11-16T18:32:17Z b4283 quit (Quit: Konversation terminated!) 2014-11-16T18:41:45Z jumblerg joined #scheme 2014-11-16T18:47:36Z ethycol joined #scheme 2014-11-16T19:02:25Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-16T19:04:18Z jumblerg joined #scheme 2014-11-16T19:18:08Z redeemed joined #scheme 2014-11-16T19:32:58Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-16T19:36:35Z Bahman joined #scheme 2014-11-16T19:45:34Z hiyosi quit (Ping timeout: 258 seconds) 2014-11-16T20:06:46Z pjb is now known as pjbs 2014-11-16T20:06:58Z pjbs is now known as pjb 2014-11-16T20:14:54Z nys joined #scheme 2014-11-16T20:17:01Z theseb joined #scheme 2014-11-16T20:18:12Z rtra quit (Ping timeout: 265 seconds) 2014-11-16T20:23:15Z rtra joined #scheme 2014-11-16T20:26:40Z kongtomorrow quit 2014-11-16T20:29:16Z mrowe_away is now known as mrowe 2014-11-16T20:39:34Z alexey joined #scheme 2014-11-16T20:51:55Z nys quit (Quit: quit) 2014-11-16T20:53:54Z fantazo quit (Ping timeout: 265 seconds) 2014-11-16T20:55:35Z oleo joined #scheme 2014-11-16T20:56:56Z Isp-sec quit (Ping timeout: 264 seconds) 2014-11-16T20:58:58Z stephenmac7 joined #scheme 2014-11-16T20:59:17Z stephenmac7: Quick question: would it be better to start out with reading something more concrete like "The Land of Lisp" or something a little more abstract, like SICP? 2014-11-16T20:59:17Z stephenmac7: The only background I have is having read The Little Schemer 2014-11-16T20:59:34Z vanila: SICP 2014-11-16T20:59:40Z Rodya_ quit (Read error: No route to host) 2014-11-16T20:59:41Z vanila: it is concrete 2014-11-16T21:00:50Z stephenmac7: SICP? Okay... and would it be better to watch the video lectures for the first edition and read the second edition or just read the second edition? 2014-11-16T21:01:02Z stephenmac7: (and do the exercises, ofc) 2014-11-16T21:02:28Z stephenmac7: vanila: So, videos or no videos? 2014-11-16T21:02:38Z vanila: both videos along with book :D 2014-11-16T21:03:05Z stephenmac7: Is there anything not coverend in the videos, and how do they line up with the book? 2014-11-16T21:03:44Z vanila: the videos follow the book - they just cover the same stuff but talk about it in a bit of a different way 2014-11-16T21:04:35Z stephenmac7: Got it. So, I guess I'll watch the video and try to figure out which section it covered, then do the exercises (after reading the section) 2014-11-16T21:05:04Z vanila: good luck! DOn't worry about skipping bits and such 2014-11-16T21:05:08Z stephenmac7: Thanks for the advice. I am looking forward to stretching my mind again. 2014-11-16T21:05:12Z vanila: you dont have to 100% it 2014-11-16T21:05:32Z stephenmac7: Yes, the little schemer fried my mind in the y-combinator section 2014-11-16T21:06:47Z stephenmac7: So, I don't expect to be able to get all of it the first time through 2014-11-16T21:09:03Z vanila: Y combinator comes up in SICP too :P 2014-11-16T21:09:17Z vanila: but it will be simpler t understand I think 2014-11-16T21:09:56Z stephenmac7: The continuation section was excellent but I don't think the "bringing you to the conclusion" style of the little schemer worked for the y combinator. 2014-11-16T21:10:09Z vanila nod 2014-11-16T21:10:36Z stephenmac7: Thanks, time to begin reading. 2014-11-16T21:12:04Z Bahman quit (Quit: Ave atque vale) 2014-11-16T21:29:36Z hiyosi joined #scheme 2014-11-16T21:29:52Z derek_c quit (Ping timeout: 245 seconds) 2014-11-16T21:34:46Z hiyosi quit (Ping timeout: 250 seconds) 2014-11-16T21:39:31Z Gyps quit (Quit: Gyps) 2014-11-16T21:41:20Z ffs quit (Ping timeout: 265 seconds) 2014-11-16T21:45:10Z Gyps joined #scheme 2014-11-16T21:46:28Z gravicappa quit (Ping timeout: 250 seconds) 2014-11-16T21:48:16Z xyh joined #scheme 2014-11-16T21:48:26Z amgarchIn9 joined #scheme 2014-11-16T21:51:44Z Janne_ left #scheme 2014-11-16T22:02:01Z alexey quit (Remote host closed the connection) 2014-11-16T22:06:39Z alezost quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-16T22:10:59Z Lingo_______ joined #scheme 2014-11-16T22:14:05Z Lingo_______: Are there any coercions/implicit type conversions done in scheme in expression evaluation? The only one that I can think of is when evaluating an expression containing different numerical types... like (/ 1.0 5) 2014-11-16T22:14:10Z Lingo_______ is now known as mdibound 2014-11-16T22:14:59Z mdibound: but I don't exactly know what's going on behind the scenes...would that be consered an implicit type conversion 2014-11-16T22:19:14Z bb010g joined #scheme 2014-11-16T22:31:09Z hiyosi joined #scheme 2014-11-16T22:35:42Z hiyosi quit (Ping timeout: 245 seconds) 2014-11-16T22:38:16Z daviid quit (Ping timeout: 256 seconds) 2014-11-16T22:44:27Z mmc quit (Quit: Leaving.) 2014-11-16T22:47:15Z bb010g quit 2014-11-16T22:49:21Z fantazo joined #scheme 2014-11-16T22:50:56Z civodul quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-16T22:52:35Z redeemed quit (Quit: q) 2014-11-16T22:53:57Z Gyps quit (Quit: Gyps) 2014-11-16T22:56:44Z mrowe is now known as mrowe_away 2014-11-16T23:03:31Z ijp joined #scheme 2014-11-16T23:04:36Z fantazo quit (Quit: Verlassend) 2014-11-16T23:08:00Z vanila: does anyone have recomendations for small programs to test a scheme compiler on? 2014-11-16T23:12:12Z bb010g joined #scheme 2014-11-16T23:15:38Z BW^- joined #scheme 2014-11-16T23:16:29Z BW^-: any nice math idea for how I can implement an algorithm that will count every single number from A to B (such as, 1 to 10000), but doing this in a seemingly random order, perhaps as randomized by some seed value - but still nonetheless covering exactly all values A to B? 2014-11-16T23:16:54Z BW^-: so like, (nice-randomization-appearing-mapping 5) => 1234 for 5 being mapped/transformed to 1234 by the algorithm 2014-11-16T23:17:58Z MichaelRaskin: You can just keep a list of still-unused values and take random elements from it 2014-11-16T23:18:04Z vanila: how about creating the permutation and then walking through it 2014-11-16T23:18:12Z BW^-: MichaelRaskin: preferably one that needs no state! :) 2014-11-16T23:18:35Z BW^-: actually 2014-11-16T23:18:40Z BW^-: the randomization can be the same all the time 2014-11-16T23:18:51Z BW^-: vanila,MichaelRaskin: maybe just with some kind of binary-level juggling.. or modulo somehow 2014-11-16T23:18:54Z MichaelRaskin: Recursively passing the list of unused values down the line… 2014-11-16T23:19:09Z ijp: what do you mean counting every number? 2014-11-16T23:19:13Z BW^-: I could just make a transformation that makes the transformed value seem completely random 2014-11-16T23:19:33Z jumblerg joined #scheme 2014-11-16T23:19:41Z BW^-: ijp: so, I want (map nice-randomization-appearing-mapping '(1 2 3 4 5 6 7 8 9 10)) 2014-11-16T23:19:47Z BW^-: to return something like 2014-11-16T23:20:04Z BW^-: '(9 1 2 10 5 6 7 8 3 4) 2014-11-16T23:20:15Z ijp: okay, so a random permutation 2014-11-16T23:20:18Z BW^-: (however rather than 1 - 10, i'll feed it with 10000) 2014-11-16T23:20:18Z BW^-: yeah 2014-11-16T23:20:24Z Riastradh: BW^-: How many numbers do you want to count? 2014-11-16T23:20:26Z Riastradh: Is 2^128 OK? 2014-11-16T23:20:27Z BW^-: I don't need a seed functionality here 2014-11-16T23:20:34Z BW^-: Riastradh: 10^6! 2014-11-16T23:20:39Z BW^-: that's how many - 10^6. 2014-11-16T23:20:54Z ijp: create a vector of A to B, shuffle it, and then your function just indexes that vector 2014-11-16T23:20:58Z Riastradh: How much memory are you willing to use? 2014-11-16T23:21:09Z Riastradh: If O(n), then do what ijp said -- use the Fisher-Yates shuffle. 2014-11-16T23:21:10Z ijp: remembering to change the offset to match A to B 2014-11-16T23:21:12Z BW^-: Riastradh: well, if I could just use like 100 bytes, that would be nice 2014-11-16T23:21:21Z Riastradh: (Knuth-Fisher-Yates, if you like.) 2014-11-16T23:21:22Z BW^-: yeah, that could be easiest of course 2014-11-16T23:22:12Z Riastradh: If 2^64 or 2^128 were OK, you could use a 64-bit or 128-bit block cipher. 2014-11-16T23:22:47Z BW^-: yeah 2014-11-16T23:22:59Z BW^-: my issue here is that the interval I want to shuffle is not an even binary number 2014-11-16T23:23:06Z BW^-: as in, 100000b etc. 2014-11-16T23:23:12Z Riastradh: I don't know any nice variable-sized block ciphers that work with <64-bit blocks, or that work with numbers that are not powers of two. 2014-11-16T23:23:14Z BW^-: but it's sth like 100000d. 2014-11-16T23:23:23Z BW^-: right, exactly 2014-11-16T23:23:24Z BW^-: mhm 2014-11-16T23:23:25Z BW^-: ok i got it 2014-11-16T23:23:30Z BW^-: there should be, but i never heard about them too 2014-11-16T23:24:52Z MichaelRaskin: BW^-: powers of two are your least concern 2014-11-16T23:25:07Z MichaelRaskin: Get a nice shuffle of a bigger set and just skip large numbers 2014-11-16T23:25:40Z MichaelRaskin: You need to shuffle less than twice the input 2014-11-16T23:26:01Z MichaelRaskin: Nice powers of two are a bigger problem 2014-11-16T23:26:26Z BW^-: haha 2014-11-16T23:26:38Z BW^-: MichaelRaskin: yeah that's a good point, so I need the sequence 1 .. 10^6 randomized 2014-11-16T23:27:31Z MichaelRaskin: Many users would have a hard time noticing ig you just traverse it with a large prime step… 2014-11-16T23:27:32Z BW^-: MichaelRaskin,ijp,Riastradh: so, 10^6 is 11110100001001000000b i.e. 2^20 is bigger than it 2014-11-16T23:27:55Z MichaelRaskin: 2^20=1048576 2014-11-16T23:28:02Z BW^-: MichaelRaskin: so if I just invent a pattern whereby I move those bits around, and then traverse 1 .. 2^20 and ignore any values > 10^6 , I got it! :) 2014-11-16T23:28:02Z BW^-: ouch 2014-11-16T23:28:06Z BW^-: wait 2014-11-16T23:28:07Z BW^-: yes! 2014-11-16T23:28:07Z BW^-: yes 2014-11-16T23:28:09Z BW^-: that's correct 2014-11-16T23:28:12Z MichaelRaskin: Everyone knows this by heart, no? 2014-11-16T23:28:21Z BW^-: of course :) 2014-11-16T23:28:39Z BW^-: MichaelRaskin: neat!! 2014-11-16T23:29:07Z BW^-: MichaelRasin,ijp: and I can even use as "random seed", to generate a new bit transformation pattern :) 2014-11-16T23:29:24Z BW^-: anyhow I don't care about that - 2014-11-16T23:30:01Z MichaelRaskin: For some applications linear generator would be bad 2014-11-16T23:30:08Z BW^-: MichaelRaskin: indeed this kind of "move around digits according to a pattern" mechanism could be applied at the level of decimal digits too 2014-11-16T23:30:35Z BW^-: MichaelRaskin: but, everyone watches things in decimal or hex so if you do it at that level it could be noticed, but when you do it at the binary level it's much more subtle :))) 2014-11-16T23:30:36Z BW^-: heh 2014-11-16T23:30:37Z BW^-: hax0r 2014-11-16T23:30:44Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-16T23:31:13Z MichaelRaskin: Ouch 2014-11-16T23:31:14Z BW^-: very well, this was mostly an intellectual excercise, i pondered this problem for some years. 2014-11-16T23:31:16Z MichaelRaskin: I understand 2014-11-16T23:31:29Z MichaelRaskin: You take a modulus a bit bigger then 1000000 2014-11-16T23:31:29Z BW^-: however, this method has its limit too 2014-11-16T23:31:47Z MichaelRaskin: Throw away the >1000000 entries 2014-11-16T23:32:04Z MichaelRaskin: And shuffle the digits, using that 1000000 is actually a power of ten 2014-11-16T23:32:29Z MichaelRaskin: Yes, can fool the unprepared… 2014-11-16T23:32:55Z BW^-: MichaelRaskin: the neatest thing would be a definition (niec-randomization-appearing-mapping number-now start-interval/for-reference end-interval/for-reference random-seed) => transformed-number 2014-11-16T23:33:09Z BW^-: where start-interval/for-reference end-interval/for-reference could be *any integer* 2014-11-16T23:33:18Z BW^-: and the procedure doesn't need any state 2014-11-16T23:33:23Z BW^-: I believe there must be math to do that 2014-11-16T23:33:28Z BW^-: it's just that I don't know it 2014-11-16T23:33:32Z MichaelRaskin: A trivial shift is not a problem 2014-11-16T23:33:43Z MichaelRaskin: After all the shuffling, add a constant 2014-11-16T23:34:21Z BW^-: MichaelRaskin: yeah, the only problem with all algorithms suggested until now, is that they need a state / storage the size of the used interval 2014-11-16T23:34:22Z BW^-: eg., 2014-11-16T23:34:36Z MichaelRaskin: Obviously, a linear generator with modulo exactly equal to the interval length would work 2014-11-16T23:34:37Z BW^-: (nice-randomization-appearing-mapping 5 1 (expt 10 6) 123) 2014-11-16T23:34:39Z MichaelRaskin: With no state 2014-11-16T23:34:47Z BW^-: would require a vector of size 10^6 at least 2014-11-16T23:35:02Z BW^-: MichaelRaskin: how would that look? 2014-11-16T23:35:09Z BW^-: MichaelRaskin: yeah I thought modulo must be your friend here too, somehow 2014-11-16T23:35:14Z MichaelRaskin: (p*k+c) mod l 2014-11-16T23:35:23Z hiyosi joined #scheme 2014-11-16T23:35:35Z BW^-: MichaelRaskin: where which is which? 2014-11-16T23:36:05Z MichaelRaskin: k is the step number 2014-11-16T23:36:16Z MichaelRaskin: p is a random prime smaller than l 2014-11-16T23:36:27Z MichaelRaskin: l is the amount of values in the interval 2014-11-16T23:36:34Z MichaelRaskin: c is a random shift 2014-11-16T23:37:02Z BitPuffin quit (Ping timeout: 244 seconds) 2014-11-16T23:37:16Z ffs joined #scheme 2014-11-16T23:38:00Z therabidmachine joined #scheme 2014-11-16T23:38:03Z BW^-: hm 2014-11-16T23:38:11Z BW^-: MichaelRaskin: what's the point with it being a prime number here? 2014-11-16T23:38:30Z MichaelRaskin: If it is not coprime with l, you get a short cycle 2014-11-16T23:38:36Z BW^-: i think i get it. hm 2014-11-16T23:38:43Z MichaelRaskin: Easier just to take a prime 2014-11-16T23:38:56Z MichaelRaskin: But yes, you can take non-prime coprime to l 2014-11-16T23:39:05Z BW^-: hm 2014-11-16T23:39:52Z jumblerg joined #scheme 2014-11-16T23:40:27Z BW^-: MichaelRaskin: so the only requirement on the prime is that it needs to be => l ? 2014-11-16T23:40:35Z Rodya_ joined #scheme 2014-11-16T23:40:43Z MichaelRaskin: <= l 2014-11-16T23:40:48Z MichaelRaskin: And large enough 2014-11-16T23:42:01Z BW^-: MichaelRaskin: *bigger than* |l| right? 2014-11-16T23:42:04Z BW^-: or equal 2014-11-16T23:42:11Z MichaelRaskin: Smaller 2014-11-16T23:42:20Z BW^-: MichaelRaskin: really, why? 2014-11-16T23:42:20Z MichaelRaskin: Although… 2014-11-16T23:42:27Z MichaelRaskin: A bigger one would also work 2014-11-16T23:42:30Z MichaelRaskin: Noone cares 2014-11-16T23:42:34Z BW^-: right 2014-11-16T23:42:35Z MichaelRaskin: Just large enough 2014-11-16T23:42:44Z BW^-: mhm 2014-11-16T23:42:46Z MichaelRaskin: p mod l is coprime with l anyway 2014-11-16T23:42:53Z BW^-: MichaelRaskin: okay, neat, thanks for bringing my attention to this one :) 2014-11-16T23:44:40Z BW^-: > (define prime 7) 2014-11-16T23:44:40Z BW^-: > (define random-shift 5) 2014-11-16T23:44:40Z BW^-: > (define numbers-in-interval 10) 2014-11-16T23:44:40Z BW^-: > (define (transform i) (modulo (* prime (+ i random-shift)) numbers-in-interval)) 2014-11-16T23:44:40Z BW^-: > (map transform '(0 1 2 3 4 5 6 7 8 9)) 2014-11-16T23:44:41Z BW^-: (5 2 9 6 3 0 7 4 1 8) 2014-11-16T23:44:56Z BW^-: MichaelRaskin: how refreshing :) 2014-11-16T23:45:32Z fizzie: The reasoning being that if p > l, you can write p = a*l+b for integer a, b and have (p*k+c) mod l = ((a*l+b)*k+c) mod l = (a*l*k + b*k + c) mod l = (b*k + c) so there's no difference between p and b. 2014-11-16T23:46:07Z BW^-: (y) 2014-11-16T23:48:38Z BitPuffin joined #scheme 2014-11-16T23:51:08Z fizzie: And the "large enough" condition refers to p mod l. (Cf. p = 9091, l = 10, where p is a biggish prime but p = 1 (mod l).) 2014-11-16T23:51:31Z BW^-: ; This procedure needs two random seeds, one prime number and one integer. 2014-11-16T23:51:31Z BW^-: (define (integer-transformation-appearing-as-randomizing interval-start interval-end random-seed:prime random-seed:integer) 2014-11-16T23:51:31Z BW^-: (let* ((numbers-in-interval (- interval-end interval-start))) 2014-11-16T23:51:31Z BW^-: (lambda (integer-value-to-transform) 2014-11-16T23:51:32Z BW^-: ; |random-seed:integer| is the "random shift" value in our randomization algorithm. 2014-11-16T23:51:32Z BW^-: (modulo (* random-seed:prime (+ integer-value-to-transform random-seed:integer)) numbers-in-interval)))) 2014-11-16T23:52:25Z BW^-: fizzie: ah right, so the prime needs to be .. > 1 ? 2014-11-16T23:55:04Z fizzie: Well, "large enough". After all, it's the gap between two consecutive numbers. Things don't look very "random-ish" if it's, say, 2. (Not to mention that 2 wouldn't be coprime with 10.) 2014-11-16T23:57:22Z BW^-: wait. 2014-11-16T23:57:23Z BW^-: (define (integer-transformation-appearing-as-randomizing interval-start interval-end random-seed:prime random-seed:integer) 2014-11-16T23:57:23Z BW^-: (let* ((numbers-in-interval (- interval-end interval-start -1))) 2014-11-16T23:57:23Z BW^-: (lambda (integer-value-to-transform) 2014-11-16T23:57:23Z BW^-: (+ interval-start 2014-11-16T23:57:23Z BW^-: ; |random-seed:integer| is the "random shift" value in our randomization algorithm. 2014-11-16T23:57:24Z BW^-: (modulo (* random-seed:prime (+ integer-value-to-transform random-seed:integer)) numbers-in-interval))))) 2014-11-16T23:57:26Z BW^-: ^= updated definition 2014-11-16T23:57:53Z BW^-: when |numbers-in-interval| is 11, it works - maybe because it's > the prime which is 7? 2014-11-16T23:58:09Z BW^-: fizzie: but when |numbers-in-interval| is 6, it doesn't work - 2014-11-16T23:58:11Z BW^-: (map (integer-transformation-appearing-as-randomizing 10 15 2 9) '(10 11 12 13 14 15)) => (12 14 10 12 14 10) 2014-11-16T23:58:17Z BW^-: uups 2014-11-16T23:58:22Z BW^-: fizzie: I mean: (map (integer-transformation-appearing-as-randomizing 10 15 7 9) '(10 11 12 13 14 15)) => (11 12 13 14 15 10) 2014-11-16T23:58:52Z BW^-: fizzie,MichaelRaskin: haha, catastrophe!: (map (integer-transformation-appearing-as-randomizing 10 16 7 9) '(10 11 12 13 14 15 16)) => (10 10 10 10 10 10 10) 2014-11-16T23:59:20Z BW^-: *smaller* I meant 2014-11-16T23:59:32Z BW^-: fizzie,MichaelRaskin: okay, so, the prime must be *smaller* than |numbers-in-interval| 2014-11-16T23:59:52Z offby1: rudybot: (define (integer-transformation-appearing-as-randomizing interval-start interval-end random-seed:prime random-seed:integer) (let* ((numbers-in-interval (- interval-end interval-start -1))) (lambda (integer-value-to-transform) (+ interval-start (modulo (* random-seed:prime (+ integer-value-to-transform random-seed:integer)) numbers-in-interval))))) 2014-11-16T23:59:54Z rudybot: *offby1: your sandbox is ready 2014-11-16T23:59:54Z rudybot: *offby1: Done.