00:04:07 ahaha 00:07:58 -!- jonrafkind [~jon@crystalis.cs.utah.edu] has quit [Read error: Operation timed out] 00:08:54 rstandy [~rastandy@net-93-144-141-104.t2.dsl.vodafone.it] has joined #scheme 00:12:17 Nshag [user@lns-bzn-43-82-249-151-22.adsl.proxad.net] has joined #scheme 00:26:29 -!- pavelludiq [~quassel@87.246.31.66] has quit [Read error: Connection reset by peer] 00:38:20 saccade_ [~saccade@209-6-54-113.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 00:41:56 -!- saccade_ [~saccade@209-6-54-113.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Client Quit] 00:42:28 -!- haole [~ivan@187.23.80.198] has quit [Quit: Saindo] 00:56:56 adu [~ajr@pool-74-96-89-29.washdc.fios.verizon.net] has joined #scheme 00:57:01 -!- ASau [~user@83.69.227.32] has quit [Read error: Connection reset by peer] 00:59:07 ribbs [~ribbs@p024062.doubleroute.jp] has joined #scheme 01:15:23 -!- masm [~masm@bl10-4-26.dsl.telepac.pt] has quit [Quit: Leaving.] 01:23:38 -!- rstandy [~rastandy@net-93-144-141-104.t2.dsl.vodafone.it] has quit [Ping timeout: 246 seconds] 01:33:19 -!- sstrickl [~sstrickl@nomad.ccs.neu.edu] has quit [Quit: sstrickl] 01:33:25 -!- mario-goulart [~user@67.205.85.241] has quit [Remote host closed the connection] 01:47:56 -!- virl [~virl__@chello062178085149.1.12.vie.surfer.at] has quit [Remote host closed the connection] 01:49:58 nareshov [~user@unaffiliated/nareshov] has joined #scheme 01:50:46 ASau [~user@83.69.227.32] has joined #scheme 01:51:29 -!- saint_cypher [~saint_cyp@adsl-99-2-72-93.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 260 seconds] 01:58:53 -!- scheibo [~scheibo@129-97-249-119.uwaterloo.ca] has quit [Quit: leaving] 01:59:22 scheibo [~scheibo@129-97-249-119.uwaterloo.ca] has joined #scheme 01:59:24 schemer999 [~schemer99@cpe-76-90-137-46.socal.res.rr.com] has joined #scheme 02:04:36 saccade_ [~saccade@c-66-31-41-238.hsd1.ma.comcast.net] has joined #scheme 02:04:42 spcartman [~db6ef68f@gateway/web/freenode/x-azoijnhmlgalrdfb] has joined #scheme 02:10:22 -!- ASau [~user@83.69.227.32] has quit [Ping timeout: 276 seconds] 02:23:44 -!- mejja [~user@c-68b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote host closed the connection] 02:25:37 -!- saccade_ [~saccade@c-66-31-41-238.hsd1.ma.comcast.net] has quit [Ping timeout: 264 seconds] 02:29:06 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: Leaving] 02:30:09 werdw [~user@081-003-214-196.yesss.at] has joined #scheme 02:31:25 given the CPS implementation of the factorial function, here: http://community.schemewiki.org/?continuation-passing-style 02:31:45 the body of 'fact' uses a closure over 'c' 02:31:58 how to remove this closure? 02:32:27 saccade_ [~saccade@209-6-54-113.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 02:32:32 -!- Fabse [~mightyfid@wikipedia/Track-n-Field] has quit [] 02:33:28 jonrafkind [~jon@c-98-202-82-46.hsd1.ut.comcast.net] has joined #scheme 02:34:37 i think i could pass the continuation explicitely through the procedures, but i could not figure out how... 02:36:11 -!- luz [~davids@189.122.90.116] has quit [Quit: Client exiting] 02:54:45 -!- Axioplase_ [~Axioplase@fortigate.kb.ecei.tohoku.ac.jp] has quit [Ping timeout: 276 seconds] 02:55:56 sstrickl [~sstrickl@pool-141-157-183-82.bos.east.verizon.net] has joined #scheme 03:01:31 Axioplase_ [~Axioplase@fortigate.kb.ecei.tohoku.ac.jp] has joined #scheme 03:07:20 -!- nothingHappens [~nothingHa@173-31-122-80.client.mchsi.com] has quit [Quit: Leaving] 03:12:41 -!- devslashnull [~james@dyn-105.greentreefrog.net.au] has quit [Quit: leaving] 03:19:57 what language do you think lends itself to reflection? 03:20:12 assembler 03:20:26 seriously? 03:20:32 why not? 03:20:46 scheibo_ [~scheibo@129-97-249-119.uwaterloo.ca] has joined #scheme 03:20:47 cuz its big 03:21:02 but you have no clear line between code and data 03:22:29 and hard to match, for example to match (=) you'd have to match dozens of mov* insns and to match jumps you'd have to match call, calll, callq, jmp, ret, etc... 03:23:36 but you could readily make your program modify itself upon execution 03:25:14 but that is not a feature unique to asm 03:25:20 maybe scheme would be the better choice to reflect itself 03:25:27 at least while interpreted 03:25:37 -!- scheibo [~scheibo@129-97-249-119.uwaterloo.ca] has quit [*.net *.split] 03:25:37 -!- zbigniew [~zb@3e8.org] has quit [*.net *.split] 03:25:38 -!- yosafbridge [~yosafbrid@li14-39.members.linode.com] has quit [*.net *.split] 03:26:15 yes 03:26:44 in general, you may not want to use a compiler 03:27:24 in that sense, you could consider the cpu an interpreter for your machine language 03:28:02 zbigniew [~zb@3e8.org] has joined #scheme 03:28:39 yosafbridge [~yosafbrid@li14-39.members.linode.com] has joined #scheme 03:28:47 -!- zbigniew [~zb@3e8.org] has quit [Ping timeout: 277 seconds] 03:29:15 i think lisps in general are very nice w.r.t. reflection 03:29:30 obviously 03:29:36 zbigniew [~zb@3e8.org] has joined #scheme 03:30:00 perhaps a lispish assembler 03:30:14 (begin (movq ...)) 03:30:37 but you could as well use any language that offers an abstract yet concrete enough explicit form for the syntax tree 03:30:54 like Mathematica? 03:31:04 dunno mathematica, sorry 03:31:15 its basically M-expressions 03:31:31 when i found out about M-expressions I actually thought the M stood for Mathematica 03:31:42 it should be clear that, in here, sexp's will be considered better :) 03:32:32 mexp's are as old as lisp 03:32:55 yes yes, i would assume so 03:33:05 i assure you that one 03:33:15 foof [~user@FL1-122-131-140-159.osk.mesh.ad.jp] has joined #scheme 03:33:17 but it seems they never took over 03:33:34 btw: i use sexp's even for c programs sometimes 03:33:43 just to have a real macro system 03:33:48 (int (pointer p)) 03:34:27 Maxel_ [~Maxel@97-90-238-123.dhcp.eucl.wi.charter.com] has joined #scheme 03:34:54 Maxel [~Maxel@97-90-238-123.dhcp.eucl.wi.charter.com] has joined #scheme 03:35:45 wow i learned a new word 03:35:54 "homoiconic" 03:37:03 werdw: do you translate it to C via a macro system, or do you use parens carefully to obey C syntax? 03:37:42 i (read) into scheme and then create the c code using a scheme program 03:37:57 i see 03:38:51 i read that some time ago on the internet, and indeed that's a great fix for c's poor macro system 03:39:09 then i would use something more along the lines of (p (pointer int)) 03:39:10 but the c code in sexp's tends to be hard to read 03:39:18 no! 03:39:23 that's not how c works 03:39:54 maybe it would be better to use the term "star" instead of "pointer" 03:40:19 but in c-like languages, you generally have to read the type declarations inside out 03:40:38 yes i'm aware 03:40:52 or maybe an even better term would be "follow-pointer" 03:41:01 but if you're using a translator anyways, then that's certainly possible 03:41:11 sure 03:42:25 or ((int *) p) would be better 03:43:51 where would you put the two possible const's in this proposal? 03:45:20 well, i would rename them 03:45:48 are you talking about f(x)const or (const int * p) or (int * const p)? 03:45:59 both the latter 03:46:22 i would put them where they go in C 03:46:25 everything is possible, but you have to get some consistency in such a scheme 03:46:32 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 03:46:35 i would rather build a tree from them 03:46:36 ((const int *) p) and ((int * const) p) 03:46:55 (int (constant-pointer i)) 03:47:09 or (constant-int (pointer i)) 03:47:10 ideally, i wouldn't use lists, i would use a graph, like RDF 03:47:49 and attach a const=true attribute to the corresponding application 03:48:10 application -> node 03:48:18 you could do that 03:48:41 but i could not, since i would have to read much too much :) 03:48:53 lol 03:49:04 *adu* <3 graphs 03:49:25 i should write a grasp (graph processing, lol) 03:49:33 i have no problem with graphs, i simply got stuck to sexps 03:49:41 :) 03:50:05 are there any languages that are actually written as their ASTs? 03:50:13 perhaps Mathematica 03:50:16 all lisps in some sense 03:50:25 but those are lists 03:50:39 i suppose the difference between a list and a graph is very small 03:50:40 lists are balanced binary trees :) 03:50:55 and a graph may or may not be a tree 03:51:41 i think the problem is that graphs do not translate well into ASCII 03:51:47 lists do 03:52:05 hmm 03:52:40 however, YAML seems to do a very good job 03:52:49 why would one like the ast to be not a tree? 03:53:13 it has id assignment and id references, which in theory is enough to recreate any graph (treating references as nodes of course) 03:53:28 AST's would of course be trees 03:53:44 then you could do all that in lisp too 03:54:39 then i guess that leads to the logical conclusion that lisp is a graph processing language 03:54:56 dunno, i am no cs gui 03:55:03 i still want to call it grasp 03:55:10 you mean guru 03:55:22 no, i meant guy 03:55:25 oh 03:55:28 lol 03:56:06 typing GUI seems to be more common to me than typing guy 03:56:31 anyway, could you give a definition what a list in scheme ist? 03:56:36 my nick on aim had guy in it, so i'm pretty good at typing it 03:57:05 :) 03:57:13 technically, a list is either: a Pair or a Nil 03:57:32 let's go step by step 03:57:36 what is a proper list? 03:57:39 where the Pair contains an object as its first member, and a List as its second member 03:57:45 indeed 03:58:08 so we need to check if we mean the same when talking about lists 03:58:18 which is also how RDF defines lists: http://www.w3.org/TR/rdf-schema/#ch_list 03:58:23 sometimes people mean 'proper list' by that, sometimes not 03:58:38 and also how R5RS defines it :) 03:58:58 well, when i say list, i mean a homogeneous list (i.e. cl:vector of arbitrary size) 03:59:21 but i also admit it also means heterogeneous proper lists 03:59:57 i wrote a blog about this 03:59:58 http://straymindcough.blogspot.com/2009/06/subtly-different-linked-lists.html 04:00:00 -rudybot:#scheme- http://tinyurl.com/ydwpbhw 04:00:14 -!- HxRex [~hex@c-24-245-20-150.hsd1.mn.comcast.net] has quit [] 04:00:38 RDF lists require "proper"ness 04:00:44 CL lists allow "improper"ness 04:00:56 and Haskell requires homogeneity 04:01:21 that's the price for manifest typing 04:01:22 :) 04:03:14 ok, i should say: fast compilable manifest typing 04:03:32 i haven't blogged i so long 04:03:43 i need to write one soon, what should i write about? 04:03:57 the world is big 04:04:01 what are you interessed in? 04:04:09 reverse engineering 04:04:11 * interested 04:04:26 that's hard work 04:04:44 yes, even harder to find someone to pay you for 04:05:02 how far have you discovered continuations? 04:05:24 Maxel__ [~Maxel@97-90-238-123.dhcp.eucl.wi.charter.com] has joined #scheme 04:05:36 i understand the basics like what they are 04:05:57 rudybot: init r5rs 04:05:59 werdw: your r5rs sandbox is ready 04:06:06 I can see how they are used to implement exceptions and return, but i have no idea how they implement coroutines 04:06:15 ahh 04:06:36 maybe you would like to dive into that a little deeper 04:07:00 rudybot: eval call/cc 04:07:00 werdw: error: reference to an identifier before its definition: call/cc in module: 'program 04:07:24 rudybot: eval (define call/cc call-with-current-continuation) 04:07:31 rudybot: eval call/cc 04:07:31 werdw: ; Value: # 04:07:36 ok 04:07:38 cool 04:08:24 contiuations are even more powerful than usual coroutines 04:08:40 -!- Maxel_ [~Maxel@97-90-238-123.dhcp.eucl.wi.charter.com] has quit [Ping timeout: 268 seconds] 04:08:49 rudybot: eval (call/cc (lambda (r) (begin (display "hello world") (r)))) 04:09:23 rudybot: eval (call/cc (lambda (r) (begin (display "hello world") (r)))) 04:09:35 does it only work for you? 04:09:41 dunno 04:09:59 to be sure, you should tell it: init r5rs or something like that 04:10:18 rudybot: init r5rs 04:10:18 rudybot: (call/cc (lambda (r) (r 42))) 04:10:36 i hope i didn't break it 04:10:37 doesn't like us 04:10:50 adu: error: with-limit: out of time 04:10:51 werdw: ; stdout: "hello world" 04:10:54 :) 04:10:56 adu: your r5rs sandbox is ready 04:10:56 werdw: eh? Try "rudybot: help". 04:11:01 lol 04:11:03 a scheme bot is ahrd to kill 04:11:18 rudybot: eval (call/cc (lambda (r) (r))) 04:11:19 adu: error: reference to an identifier before its definition: call/cc in module: 'program 04:11:30 call/cc is not a standard name 04:11:34 adu: gotta spell it out 04:11:34 (define call/cc call-with-current-continuation) 04:11:39 *nod 04:11:44 rudybot: eval (call/cc (lambda (r) (r))) 04:11:44 adu: error: reference to an identifier before its definition: call/cc in module: 'program 04:12:00 rudybot: eval (define call/cc call-with-current-continuation) 04:12:09 rudybot: eval (call/cc (lambda (r) (r))) 04:12:42 werdw: so how does one use call/cc to implement coroutines? 04:13:09 once you have a contiuation, you can call it whenever you want, as often as you want 04:13:29 but doesn't it go back to the same place each time? 04:13:46 you even say it goes back in time 04:14:40 -!- emit [~emit@unaffiliated/emit] has quit [Quit: Lost terminal] 04:15:06 so they really are just a fancy goto 04:15:14 rudybot: eval (define k #f) 04:15:57 rudybot: evel (call/cc (lambda (c) (set! k c) (display 'foo))) 04:15:58 werdw: eh? Try "rudybot: help". 04:16:04 rudybot: eval (call/cc (lambda (c) (set! k c) (display 'foo))) 04:16:05 werdw: ; stdout: "foo" 04:16:14 rudybot: eval (k) 04:16:18 argh 04:16:31 but you can pass values back and forth... for example (call/cc f), then (define (f r) (... (call/cc r))) 04:16:34 nothing waiting for the value 04:16:41 sure! 04:16:45 wow 04:16:55 http://www.madore.org/~david/computers/callcc.html 04:17:07 explains that things in easy terms 04:17:43 the point is, that you can jump back *in*, opposed to exception, who only jump *out* 04:17:58 cleary this is all you need for a coroutine 04:18:32 yes 04:19:21 rudybot: eval (define-syntax let/cc (syntax-rules () ((_ nam body ...) (call/cc (lambda (nam) body ...))))) 04:19:39 it still just doesn't make sense 04:20:04 until i see a working example, its all just hand waving to me 04:20:04 rudybot: eval (let () (let/cc c (set! k c)) (display 'foo)) 04:20:05 werdw: ; stdout: "foo" 04:20:08 (k) 04:20:14 rudybot: eval (k) 04:20:15 werdw: ; stdout: "foo" 04:20:16 rudybot: eval (k) 04:20:16 werdw: ; stdout: "foo" 04:20:17 rudybot: eval (k) 04:20:18 werdw: ; stdout: "foo" 04:20:19 :) 04:20:36 what is let/cc? 04:20:43 let/current-continuation 04:20:48 i introduced let/cc just as syntactic sugar 04:20:49 it is like call/cc :P 04:21:14 (let/cc nam ...) is now the same as (call/cc (lambda (nam) ...)) 04:21:22 (in my sandbox) 04:23:59 -!- foof [~user@FL1-122-131-140-159.osk.mesh.ad.jp] has quit [Ping timeout: 258 seconds] 04:24:03 maybe you will also enjoy reading about the continuation passing style 04:24:21 ok 04:24:35 i've heard of it, and i've read about it 04:24:49 but its not my style, not yet 04:25:18 maybe if i could understand what it has to do with reverse engineering, then i would love it 04:25:25 tail calls & cps = no calling stack anymore :) 04:25:43 quite nothing i think 04:25:58 static analysis? 04:26:05 dunno 04:26:18 optimization? 04:26:35 program proving? 04:26:36 cps is a usable intermediate format for interpreting 04:26:44 does CPS have anything to do with anything? 04:27:14 just a way to bypass call/cc while still using it's power 04:30:05 do you know much about decompilers? 04:30:12 no 04:30:20 much pattern matching i think 04:31:08 yeah 04:31:34 darn hard work in times of heavily optimising compilers 04:32:24 -!- schemer999 [~schemer99@cpe-76-90-137-46.socal.res.rr.com] has quit [Quit: schemer999] 04:32:51 well, in my opinion, it needs to be done 04:33:24 in my world there is no need for such a thing 04:33:28 i simply read the source :) 04:33:47 my view of the "present" is the next 10,000 years 04:34:07 optimistic view 04:34:48 and in that time, thousands of companies will make closed-source software, and millions of individuals will make open-source software, billions of formats will be invented, and trillions of people will die 04:35:15 Maxel_ [~Maxel@97-90-238-123.dhcp.eucl.wi.charter.com] has joined #scheme 04:35:53 and if my closed source thing crashes, strace(1) will help in most cases :) 04:36:33 werdw: in some sense, i'm very much like RMS in that i think freedom is the penultimate goal 04:37:46 you allready are free to use what you want 04:38:34 although I'm not as concerned about freedom w.r.t. my printer drivers, i'm concerned about freedom w.r.t. being able to control what is on the page, and if 10 different page description formats are preventing me from having that freedom, then i think merging all of those formats into a single design is worth it 04:38:51 but to do that requires freedom w.r.t. my printer drivers, which goes back to RMS 04:39:09 indeed 04:39:18 schemer999 [~schemer99@cpe-76-90-137-46.socal.res.rr.com] has joined #scheme 04:39:20 -!- Maxel__ [~Maxel@97-90-238-123.dhcp.eucl.wi.charter.com] has quit [Ping timeout: 265 seconds] 04:39:35 loosely accepted standards are a common thing 04:39:56 EPS, PDF, PS, DVI, XPS, SVGPrint 04:39:59 *sigh* 04:40:00 even scheme knows such things: http://srfi.schemers.org/ 04:40:27 unable to connect 04:40:34 seems to be down 04:40:57 lucky that i mirrored it last week 04:41:13 i just clicked on "Cached" on google 04:41:30 google doesnt forget anything it seems 04:41:51 lol 04:44:11 what would be totally awesome is if an AI was constantly finding similar projects and forcing them into discussions at gunpoint 04:44:16 that would be cool 04:44:41 could be done i think 04:45:07 although, i don't think that would have worked for Gnome/KDE 04:45:34 it might have worked for ODF/OOXML 04:46:38 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has left #scheme 04:47:25 by increasing the requirements, you will certainly reach the point where you would need a strong ai 04:47:55 by which i mean "ai complete" 04:48:13 i have a plan for the next 10,000 years 04:48:16 why not start with a little game engine, for checkers or chess? 04:48:29 you have to be moving quite fast 04:48:32 part of it involves AI, part of it involves unified simulation software 04:48:39 but you need both to have either 04:48:58 AI is required for real-time simulation and real-time simulation is require for AI 04:49:36 well, one way to make money is to make a program that plays Go 04:49:48 but harder to do 04:50:04 for go, you need heavy pattern matching skills 04:50:28 for most other games, you get some strengh by brute force 04:51:33 also Go prevents "search" strategies" 04:51:52 so they say, prove it 04:52:42 because (19x19) is the number of places on the board thats a worst case cenario of 361 choices for each move (less after the first move) 04:53:08 with a good heuristic, you could prune that out 04:53:23 ok, maybe 04:53:25 to look 5 moves ahead would require 6131066257801 tests 04:53:30 no 04:53:39 without heuristics 04:53:44 use alpha-beta-pruning 04:53:54 or an even smarter algorithm 04:53:58 alpha-beta + negamax -> fine 04:54:08 phao [~phao@189.107.133.136] has joined #scheme 04:54:13 on the other hand, for Go, the evaluator is nowhere near as straightforward 04:54:25 so... it's not clear that you can get any measurable gain from heuristics like that :\ 04:54:56 so we are back to pattern matching 04:55:08 seems the only way to get a good move ordering 04:55:12 yes yes :) 04:55:15 i try that in chess too 04:55:24 not so easy... 04:57:58 there are known techniques for chess that work reasonably well; not so for Go 04:58:29 werdw: would you like to see what i think the first step is? 04:58:31 that's one of two reasons for me to play chess 04:58:40 adu: tell, tell 04:58:44 http://drosera.co.cc/drospecs/drosera_dson.html 04:59:04 the other is: i am simply bad at go 04:59:09 drosera.co.cc is my dreams given in the form of a website 04:59:17 I hope to completely detail my plans there 05:01:45 Maxel__ [~Maxel@97-90-238-123.dhcp.eucl.wi.charter.com] has joined #scheme 05:02:12 -!- TR2N [email@89.180.142.98] has left #scheme 05:02:39 adu: be aware, 5 of 10 people in here have designed their own object systems 05:02:44 :) 05:03:37 yey 05:03:45 can i join the club? 05:04:03 your're in here, aren't you? 05:04:07 :) 05:04:52 -!- spcartman [~db6ef68f@gateway/web/freenode/x-azoijnhmlgalrdfb] has quit [*.net *.split] 05:04:52 -!- nickjd [~76ec90aa@gateway/web/freenode/x-qdxjgxfxjelgldub] has quit [*.net *.split] 05:04:54 so what's the first thing you notice about DSON? 05:05:11 -!- Maxel_ [~Maxel@97-90-238-123.dhcp.eucl.wi.charter.com] has quit [Ping timeout: 246 seconds] 05:05:28 give me some time 05:09:21 why do bignums need to be represented as string? 05:09:24 * strings 05:10:25 nickjd [~76ec90aa@gateway/web/freenode/x-qdxjgxfxjelgldub] has joined #scheme 05:11:04 the first thing is: you have type for fuzzy truth :) 05:13:29 fuzzy? 05:13:44 they don't 05:13:54 or what is the 'Clamp' type for? 05:14:02 reals from 0..1 05:14:39 why have something like that? 05:16:44 good for distinguishing between sRGB gamut and the XYZ gamut given by sRGB coordinates 05:17:09 adu: what is the actual problem you're trying to solve? 05:17:10 MichaelRaskin [~MichaelRa@pantagruel.mccme.ru] has joined #scheme 05:17:41 cmatei: the next 10,000 years of bugs 05:19:30 cmatei: or put another way: 05:19:38 bounded types are awesome 05:19:46 higher-order optimization 05:20:34 so thats 1 05:20:38 how is it any different from existing data description languages ? 05:21:17 and how does that help the next 10.000 years of bugs ? :) 05:21:22 semantically its no different than YAML 05:23:27 to break DSON down into parts, its JSON + RDF + MathML 05:24:44 the next 10,000 years of bugs will be diverse to say the least. Some will be good old memory mismanagement, and some will be loopholes in some new system 05:25:59 so its safe to assume that these bugs will be written in any language 05:26:08 perhaps one that hasn't been invented yet 05:26:39 how would you compare it with, say, ASN.1 ? 05:26:56 i haven't compared it with ASN.1 yet 05:27:41 and so I could write static analysis software for C or asm or Python, but it would be tied to that particular language, unless it was written on some preprocessed model 05:27:49 -!- scheibo_ [~scheibo@129-97-249-119.uwaterloo.ca] has quit [Quit: leaving] 05:28:09 but then you have lots of people doing this, and so you have dozens of preprocessed models, and the same situation arises 05:29:05 so however unrealistic it may sound, homogeneous data is essential for our future 05:29:39 how do you argue that point? 05:29:48 i dunno 05:29:52 :) 05:31:45 Maxel_ [~Maxel@97-90-238-123.dhcp.eucl.wi.charter.com] has joined #scheme 05:31:52 but also, one particular application i'm interested in is conversion 05:32:12 like converting PNGs to JPEGs or OOXML to ODF 05:32:32 and so I'm very concerned about domains and codomains 05:33:18 when it comes to conversions, XML is a wonderful codomain to have, because it allows you to chose from a fast set of options 05:33:51 but on the flip side, XML is a terrible domain to have to convert from, since you must account for all the crap that comes with XML 05:34:25 granted you can accept 2 things and give errors on the rest 05:35:07 anyways, one of things I think DSON is good for is that it makes both a good domain and a good codomain 05:35:17 -!- Maxel__ [~Maxel@97-90-238-123.dhcp.eucl.wi.charter.com] has quit [Ping timeout: 246 seconds] 05:36:19 -!- alexsuraci [~alexsurac@pool-71-188-133-67.aubnin.fios.verizon.net] has quit [Ping timeout: 245 seconds] 05:37:12 -!- metasyntax` [~taylor@pool-71-127-125-129.aubnin.fios.verizon.net] has quit [Ping timeout: 258 seconds] 05:37:12 -!- Maxel_ [~Maxel@97-90-238-123.dhcp.eucl.wi.charter.com] has quit [Read error: Connection reset by peer] 05:37:14 i am thinking about the frequency, which we can assume for the occurance of radicaly new data formats in the future 05:37:52 maybe there will be too many new concepts too plan for 05:37:58 * to plan 05:39:09 -!- parolang [~user@8e4a01246100775874c4f448e9887093.oregonrd-wifi-1261.amplex.net] has quit [Remote host closed the connection] 05:44:20 Mikaeel_Mohamed [~Mohamdu@129-97-208-210.uwaterloo.ca] has joined #scheme 05:44:50 foof [~user@FL1-122-131-140-159.osk.mesh.ad.jp] has joined #scheme 05:55:52 myu2 [~myu2@161.90.128.210.bf.2iij.net] has joined #scheme 05:58:49 werdw: indeed 05:59:53 one thing is for certain: the way we use "structures" and "classes" today will be how we use languages and object systems in the next 100 years 06:05:22 and i think structures naturally fall into one of 3 broad categories: binary parsers, string parsers, and algebraic datatypes 06:05:51 it is fairly safe to assume that binary parsers and string parsers will never go away 06:06:13 neither will algebra :) 06:08:08 have you heard of http://en.wikipedia.org/wiki/Language-oriented_programming ? 06:08:31 sure 06:08:45 that's why i am here 06:09:14 one thing i'm interested in is bijective parsers 06:11:37 to form a language, i which everything wrong is a syntax error :) 06:11:41 * in 06:11:57 like, for example, say you have a bijective parser "hexbyte" that maps 0xC8 to "C8", and a "many" combinator, then a binary parser can be written as (many hexbyte) in such a way that (inverse (many hexbyte)) is a string parser 06:12:06 does that make sense? 06:12:58 if only "wrong"ness could be chalked up to syntax :) 06:13:14 i read about that 06:13:22 makes some sense 06:13:32 next time i see a bully giving some kid a wedgie, i'll be sure to call him a syntax error 06:13:56 s/wrong/false 06:16:02 -!- aspect [~aspect@abstracted-spleen.org] has quit [Ping timeout: 248 seconds] 06:16:22 http://www.seas.upenn.edu/~harmony/ -- Boomerang 06:16:41 that's an example of bidirectional programming, although slightly text-centric 06:16:54 Modius_ [~Modius@cpe-70-123-130-159.austin.res.rr.com] has joined #scheme 06:16:57 aspect [~aspect@abstracted-spleen.org] has joined #scheme 06:17:01 this is an example of my attempt to implement it in Haskell: http://pastebin.com/JgCUxqAP 06:17:05 oh how i love javascript sites... 06:19:02 all that is needed is a pair of functions, and the "inverse" operation would be to swap those functions 06:19:22 but then i started thinking about styling 06:19:39 things like indenting and where people put the "{" in crappy languages 06:19:44 uh i mean C 06:20:14 that's what indent and astyle are for 06:20:17 -!- Modius [~Modius@cpe-70-123-130-159.austin.res.rr.com] has quit [Ping timeout: 260 seconds] 06:20:30 and i realized that this is exactly what CSS is for 06:20:47 albacker [~eni@unaffiliated/enyx] has joined #scheme 06:20:50 css? 06:21:28 if you think of XML as the domain and GUI widgets as the codomain, then CSS is the extra parameter in the bijection 06:22:07 ok 06:22:55 the inverse would be GUI -> XML, which i would imagine happens in things like Dreamweaver 06:23:41 btw, i found out that Dreamweaver still uses which has been deprecated for a long time now iirc 06:24:48 such software is for poeple who cannot find the w3 validator 06:24:54 but then i realized everything that doesn't really fit into a bijection idea, usually fits into the _styled_ bijection idea 06:26:22 like source to asm (perhaps with comments, so the inverse function is possible) 06:26:30 C source 06:27:34 or RSA encryption... 06:27:38 yes 06:28:04 how is that styled? 06:28:13 dunno 06:28:23 with a key? 06:28:25 lol 06:28:31 but naturally very hard to be bijective :) 06:29:37 well (key, plaintext) <-> (key, ciphertext) is certainly a bijection 06:30:27 not with asymetric encryption strategies 06:30:32 anyways, one proving ground for my ideas about bijective programming was going to be a OTF -> SVG font converter 06:30:33 there you will have 2 keys 06:31:00 (private, plaintext) cannot got to (public, ciphertext) 06:31:07 * cannot go 06:31:12 but i've been lazy with implementing it, so far I have OTF -> JSON, i'm still working on the JSON -> SVG part 06:31:54 but i was thinking, if i'm going to be spliting this up in to lots of bijections, then I could do a lot of stuff in the intermediate space 06:32:09 metasyntax` [~taylor@pool-71-127-125-129.aubnin.fios.verizon.net] has joined #scheme 06:32:26 i could build a whole Font editing suite that didn't need to know anything about OTF or SVG 06:32:53 werdw: right 06:33:51 i think it might take me another 2 years to finish the font converters 06:34:00 hmm 06:34:00 -!- nowhereman [~pierre@lec67-4-82-235-57-28.fbx.proxad.net] has quit [Read error: Connection reset by peer] 06:34:06 nowhereman [~pierre@lec67-4-82-235-57-28.fbx.proxad.net] has joined #scheme 06:35:29 there we go http://drosera.co.cc/ i updated the main page so it talks about the font software :) 06:40:55 bokr [~eduska@95.154.102.124] has joined #scheme 06:41:03 werdw: so what do you have of your language so far? 06:41:28 just fragments 06:41:36 like what? 06:41:40 some typing schemes on top of scheme 06:41:50 i see 06:41:58 some macros for object orientet syntax 06:42:15 not my heartstrings 06:42:19 that swap the first and second elements of a list? 06:42:36 that create a class for example 06:42:40 oic 06:42:49 or, if you prefer, something that behaves like one 06:43:01 -!- jonrafkind [~jon@c-98-202-82-46.hsd1.ut.comcast.net] has quit [Ping timeout: 264 seconds] 06:43:55 scheme is a proper testbed for such things 06:44:03 yeah, i haven't developed a class/object system yet, but i do know i want it to be based on algebraic datatypes and parsers 06:44:38 i have planned further investigation into the type theory, but i was too lazy recently 06:45:18 essentially there are only 3 kinds of types, (+), (*), and (->) 06:45:20 -!- nowhereman [~pierre@lec67-4-82-235-57-28.fbx.proxad.net] has quit [Read error: Connection reset by peer] 06:45:23 kephas [~pierre@lec67-4-82-235-57-28.fbx.proxad.net] has joined #scheme 06:46:10 i know there must be people out there that could come up with dozens of counterexamples, but i would try to find a way to prove them otherwise 06:46:12 i saw qi, which states thing like that, and which has a turing-complete type system 06:47:07 hmm 06:47:17 i should give back my continuation i think 06:47:21 rudybot: eval (k) 06:47:21 werdw: ; stdout: "foo" 06:47:24 :) 06:47:25 the biggest problem with sum types is that they don't play well with dynamic/latent languages 06:47:28 lol 06:47:30 rudybot: init r5rs 06:47:41 qi? 06:47:53 lambdaassociates.org 06:48:14 (or somethink like that) 06:48:42 werdw: your r5rs sandbox is ready 06:49:02 rudybot: eval (k) 06:49:03 werdw: error: reference to an identifier before its definition: k in module: 'program 06:49:07 ok, memory freed 06:49:25 -!- sladegen [~nemo@unaffiliated/sladegen] has quit [Disconnected by services] 06:49:34 sladegen [~nemo@unaffiliated/sladegen] has joined #scheme 06:52:12 that page makes Qi sound amazing 06:52:17 :) 06:52:19 hkBst [~hkBst@gentoo/developer/hkbst] has joined #scheme 06:54:34 the Qi book talkes about Miranda(TM), and when I read that I think, today people would use Haskell as an example 06:54:38 -!- nickgibbon [~nring@210.8.201.244] has quit [Quit: Leaving.] 06:55:02 not the people in here 06:55:14 we all have one thing in common: dislike of syntax 06:55:38 werdw: Miranda doesn't have syntax like Haskell? 06:55:51 but it has syntax 06:55:57 Haskell was designed to be like Miranda 06:56:01 8-/ 06:56:22 iirc, Miranda was the inspiration for Haskell 06:56:40 how much time would it consume to write a parser for haskell? 06:56:52 lots 06:56:52 how hard could it be 06:57:23 how much time would it consume to write a parser for scheme? 06:57:40 easy 06:57:55 i wrote 2 scheme parsers in my life 06:58:00 just for fun :) 06:58:18 I write scheme parsers as a learning-a-new-language exercise 06:58:35 ohh 06:58:52 in Parser (a Haskell library), a scheme parser can be written as: sexpr = atom <|> many $ parens $ lexeme sexpr 06:58:52 (it is easy :P) 06:58:56 including the scheme parser in c, i have written 3 :) 06:58:59 Parsec 06:59:05 parsec is excellent 06:59:42 kar8nga [~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net] has joined #scheme 07:00:19 but anyways, there are lots of things in Haskell that are kind of perpendicular to the content, like @ patterns 07:01:13 and things like @ patterns are really syntax sugar for "lambda", "let", etc... 07:02:42 so to fully answer your question earlier, while Haskell has grown to a huge syntax, "Core" (somtimes called GHC External Core) is a very simple language, and to parse that language would be about a page-long parser 07:03:21 one of the first steps of haskell compilation is translation into Core, isn't it? 07:03:22 -!- hkBst [~hkBst@gentoo/developer/hkbst] has quit [Remote host closed the connection] 07:03:34 yes 07:03:39 hkBst [~hkBst@gentoo/developer/hkbst] has joined #scheme 07:04:51 some restrictions in Core are that lambdas can only take one argument, datatype definitions must be in "where" form, etc 07:05:42 elly: that's a really good idea for learning-a-new-language 07:05:55 i think i will write a scheme in go 07:06:26 writing your scheme in scheme is easier 07:06:58 you could implement a currying scheme interpreter for example 07:07:08 i would only write it in R6RS, and i just figured out how to use PLT in that mode about a week ago, so i can do that too 07:07:11 (can this be done by macros?) 07:07:33 -!- Modius_ [~Modius@cpe-70-123-130-159.austin.res.rr.com] has quit [Quit: I'm big in Japan] 07:07:34 what features would you need from R6RS? 07:07:49 that set-car! is library? 07:07:55 rudybot: eval set-car! 07:07:56 werdw: ; Value: # 07:08:01 rudybot: init r6rs 07:08:05 werdw: error: r6rs: must contain a `library' form (for a library) or start with `import' (for a top-level program) in: (#%module-begin) 07:08:06 rudybot: eval set-car! 07:08:08 werdw: error: r6rs: must contain a `library' form (for a library) or start with `import' (for a top-level program) in: (#%module-begin) 07:08:40 adu: you see, i cannot talk to plt at all :) 07:09:31 iirc, you just run plt-r6rs filename 07:10:18 i really really like r6rs bytevectors 07:10:53 those were availiable since some SRFI whose number i forgot 07:11:04 what is a currying scheme interpreter? 07:11:17 i bet on it 07:11:21 argh 07:11:36 where every function takes one argument 07:11:44 oh 07:11:52 (define (f x y) (+ x y)) (f 3) -> (lambda (y) (+ 3 y)) is a currying interpreter in action 07:12:00 and if a function takes more than one, it shall be "curried" into more functions 07:12:39 that's really wierd to see in scheme 07:12:45 or you could write a lazy scheme, like SICP does 07:13:00 i want to write a case-sensitive scheme 07:13:36 most implementations have a switch for that 07:13:42 I wish scheme was just case sensitive in general :P 07:13:45 ok, at least: some 07:13:51 elly: me too 07:13:57 alexsuraci [~alexsurac@pool-71-188-133-67.aubnin.fios.verizon.net] has joined #scheme 07:13:58 but i can see lots of options for that kind of switch 07:14:47 anyway, writing a portable, case sensitive reader should be very easy 07:14:51 like is the switch in the reader? like automatic upcasing? or is it in the library lookup comparison? so that ByteVector matches bytevector? 07:16:06 i'd like the reader to be case-sensitive, and the library lookup to be case-insensitive 07:16:10 there are some subtleties, like the question if those symbols are equal in sense of eq? 07:18:02 adu: consider the example: 07:18:11 i also tried IronScheme, but there were so many errors 07:18:12 rudybot: eval (eq? 'FOO 'Foo) 07:18:14 werdw: error: r6rs: must contain a `library' form (for a library) or start with `import' (for a top-level program) in: (#%module-begin) 07:18:22 rudybot: import r5rs 07:18:22 werdw: eh? Try "rudybot: help". 07:18:34 rudybot: init r5rs 07:18:37 werdw: your r5rs sandbox is ready 07:18:40 rudybot: eval (eq? 'FOO 'Foo) 07:18:41 werdw: ; Value: #t 07:18:58 lol 07:19:21 rudybot: init r6rs 07:19:23 adu: error: r6rs: must contain a `library' form (for a library) or start with `import' (for a top-level program) in: (#%module-begin) 07:19:23 if you change this behaivor, you may break whole programs depending on that 07:19:57 (since you can use symbols not only for code, but for data) 07:20:09 rudybot: eval (import (rnrs r5rs)) 07:20:11 adu: error: r6rs: must contain a `library' form (for a library) or start with `import' (for a top-level program) in: (#%module-begin) 07:20:33 :( 07:21:10 rudybot: eval (eq? (string->symbol "FOO") (string->symbol "Foo")) 07:21:11 werdw: ; Value: #f 07:21:19 see? 07:21:30 yes 07:22:30 two symbols need not to be equal in sense of eq?, but can print the same 07:22:42 rudybot: eval (string->symbol "FOO") 07:22:43 werdw: ; Value: FOO 07:22:47 rudybot: eval (string->symbol "Foo") 07:22:48 werdw: ; Value: Foo 07:23:02 funny, they don't print the same 07:23:14 toekutr [~toekutr@adsl-69-107-137-111.dsl.pltn13.pacbell.net] has joined #scheme 07:23:54 string->symbol ist a diabolic function 07:24:16 why would they? oO 07:24:19 you can even fake the so-called core syntax 'quote' 07:24:36 because of the lower-case-thing 07:24:56 s/lower-case-thing/case-insensitivity 07:25:39 that is pretty diabolical 07:26:13 it points out the difference between the formal syntax and the common representation of it 07:31:28 i need to leave, see you 07:31:36 -!- werdw [~user@081-003-214-196.yesss.at] has quit [Remote host closed the connection] 07:42:22 -!- sladegen [~nemo@unaffiliated/sladegen] has quit [Ping timeout: 264 seconds] 07:49:39 -!- pchrist_ [~spirit@gentoo/developer/pchrist] has quit [Quit: leaving] 07:50:25 pchrist [~spirit@gentoo/developer/pchrist] has joined #scheme 08:03:04 -!- myu2 [~myu2@161.90.128.210.bf.2iij.net] has quit [Ping timeout: 256 seconds] 08:04:53 -!- bytecolor [~user@adsl-70-136-249-169.dsl.scrm01.sbcglobal.net] has quit [Ping timeout: 260 seconds] 08:06:54 -!- mbohun [~mbohun@202.124.75.99] has quit [Quit: Leaving] 08:09:26 attila_lendvai [~ati@4d6f5d3b.adsl.enternet.hu] has joined #scheme 08:10:41 myu2 [~myu2@161.90.128.210.bf.2iij.net] has joined #scheme 08:12:34 -!- myu2 [~myu2@161.90.128.210.bf.2iij.net] has quit [Remote host closed the connection] 08:13:22 -!- snorble [~none@s83-179-14-105.cust.tele2.se] has quit [Ping timeout: 256 seconds] 08:14:22 pavelludiq [~quassel@87.246.31.66] has joined #scheme 08:14:26 myu2 [~myu2@161.90.128.210.bf.2iij.net] has joined #scheme 08:18:30 gnomon_ [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 08:19:27 -!- Hydr4 [~Lernaean@24-107-60-232.dhcp.stls.mo.charter.com] has quit [Ping timeout: 256 seconds] 08:19:28 -!- gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Ping timeout: 256 seconds] 08:20:46 -!- schemer999 [~schemer99@cpe-76-90-137-46.socal.res.rr.com] has quit [Quit: schemer999] 08:22:20 schemer999 [~schemer99@cpe-76-90-137-46.socal.res.rr.com] has joined #scheme 08:22:41 Kusanagi [~Lernaean@24-107-60-232.dhcp.stls.mo.charter.com] has joined #scheme 08:22:42 -!- Kusanagi [~Lernaean@24-107-60-232.dhcp.stls.mo.charter.com] has quit [Changing host] 08:22:42 Kusanagi [~Lernaean@unaffiliated/kusanagi] has joined #scheme 08:23:02 -!- schemer999 [~schemer99@cpe-76-90-137-46.socal.res.rr.com] has quit [Client Quit] 08:23:18 -!- toekutr [~toekutr@adsl-69-107-137-111.dsl.pltn13.pacbell.net] has quit [Quit: Leaving] 08:24:04 schemer999 [~schemer99@cpe-76-90-137-46.socal.res.rr.com] has joined #scheme 08:33:00 -!- adu [~ajr@pool-74-96-89-29.washdc.fios.verizon.net] has quit [Quit: adu] 08:36:35 adu [~ajr@pool-74-96-89-29.washdc.fios.verizon.net] has joined #scheme 08:45:37 Mandar [~armand@217.108.230.48] has joined #scheme 08:47:54 -!- MichaelRaskin [~MichaelRa@pantagruel.mccme.ru] has quit [Remote host closed the connection] 08:48:10 MichaelRaskin [~MichaelRa@pantagruel.mccme.ru] has joined #scheme 08:51:25 -!- attila_lendvai [~ati@4d6f5d3b.adsl.enternet.hu] has quit [Ping timeout: 264 seconds] 09:00:25 When SICP talks about building language that "talk about things" 09:00:37 it's talking about libraries, sure? 09:00:55 for example, in that "picture manipultion" language. That's a library. 09:06:08 schmir [~schmir@p54A91B46.dip0.t-ipconnect.de] has joined #scheme 09:06:23 -!- phao [~phao@189.107.133.136] has quit [Quit: Leaving] 09:06:45 timj [~timj@e176213181.adsl.alicedsl.de] has joined #scheme 09:06:56 phao [~phao@189.107.133.136] has joined #scheme 09:13:59 -!- schemer999 [~schemer99@cpe-76-90-137-46.socal.res.rr.com] has quit [Quit: schemer999] 09:17:37 virl [~virl__@chello062178085149.1.12.vie.surfer.at] has joined #scheme 09:19:59 -!- hkBst [~hkBst@gentoo/developer/hkbst] has quit [Remote host closed the connection] 09:21:22 hkBst [~hkBst@gentoo/developer/hkbst] has joined #scheme 09:29:06 Caprica [~user@125-236-157-31.jetstream.xtra.co.nz] has joined #scheme 09:31:30 phao: so what's the difference between a language and a library? 09:34:29 A library is a set of functionalities a language lets you create. A language is a tool to "talk" to the computer. 09:34:32 Why are you asking me that? 09:35:01 i want to see if you have a clear understanding 09:35:11 -!- schmir [~schmir@p54A91B46.dip0.t-ipconnect.de] has quit [Ping timeout: 245 seconds] 09:35:18 Sure, but why? 09:35:31 because it depends on the language, and it depends on the library 09:35:33 and,btw, that's not a good question to do so 09:36:01 in a language like Common Lisp, the language _is_ the library 09:36:13 in a language like Io, the library _is_ the language 09:36:23 Io? 09:36:41 http://www.iolanguage.com/ 09:37:14 smalltalk, too 09:37:17 Edico [~Edico@unaffiliated/edico] has joined #scheme 09:37:17 -!- Mikaeel_Mohamed [~Mohamdu@129-97-208-210.uwaterloo.ca] has quit [Ping timeout: 260 seconds] 09:37:42 well 09:37:49 there must be some kind of primitives 09:37:52 that are part of the language 09:37:55 and not of the library. 09:38:08 the fact that the form is the same doesn't mean that much to me. 09:39:58 primitives are just things that expands to other primitives (possibly in some other language) 09:40:25 when you get down to the nitty gritty the only primitives are electrons 09:40:29 [07:17] there must be some kind of primitives 09:40:29 [07:17] that are part of the language 09:40:29 [07:17] and not of the library. 09:40:36 You are talking about primitives of the library. 09:40:45 that kind of "substitution" cannot happens always 09:40:46 no i'm talking about primitives of the universe 09:40:56 it must stop sometime and do something. 09:41:04 adu, I really don't care about the primitives of the universe 09:41:10 I prefer keeping the conversation 09:41:20 in what SICP writers were talking about. 09:41:21 all debates about programming eventually devolve into discussions of physics :P 09:41:37 elly, hehe 09:41:43 And I'm starting to get sick of that. 09:41:56 I hate when I go tto ##c to ask a question 09:42:00 and some people start explaining me 09:42:04 how signals are 09:42:09 sent to some device. 09:42:11 bla bla bla 09:43:58 but anyways, in order to "stop sometime and do something" there must already be abstractions in-place with which "something" is done 09:44:35 adu, I don't care about those either. 09:44:37 but that's all they are -- abstractions, there isn't anything preventing you from breaking them down 09:44:54 if X is a primite of the language 09:44:57 I really don't care 09:44:57 whether or not you care about them has absolutely nothing to do with their decomposability 09:45:07 if there must be primitives implemented somewhere in the language interpreter 09:45:10 that can understand X 09:45:17 I'm not going to mess up with the language interpreter. 09:45:39 i would totally mess with their interpreter 09:45:45 adu, their decomposability has nothing to do with this conversation. 09:45:52 You're going off topic. It's annoying. 09:46:33 hkBst_ [~hkBst@gentoo/developer/hkbst] has joined #scheme 09:48:06 -!- hkBst [~hkBst@gentoo/developer/hkbst] has quit [Ping timeout: 245 seconds] 09:52:49 melba [~blee@unaffiliated/lazz0] has joined #scheme 09:55:51 -!- borism [~boris@213-35-234-26-dsl.end.estpak.ee] has quit [Read error: Operation timed out] 09:57:22 borism [~boris@213-35-233-202-dsl.end.estpak.ee] has joined #scheme 10:01:05 -!- myu2 [~myu2@161.90.128.210.bf.2iij.net] has quit [Remote host closed the connection] 10:01:31 -!- PygoscelisPapua [~pygospa@f055075225.adsl.alicedsl.de] has quit [Ping timeout: 256 seconds] 10:02:32 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Remote host closed the connection] 10:02:59 PygoscelisPapua [~pygospa@f055005050.adsl.alicedsl.de] has joined #scheme 10:05:31 -!- foof [~user@FL1-122-131-140-159.osk.mesh.ad.jp] has quit [Ping timeout: 276 seconds] 10:10:02 -!- jmcphers [~jmcphers@218.185.108.156] has quit [Remote host closed the connection] 10:10:46 jmcphers [~jmcphers@218.185.108.156] has joined #scheme 10:12:18 mbohun [~mbohun@ppp115-156.static.internode.on.net] has joined #scheme 10:14:41 myu2 [~myu2@161.90.128.210.bf.2iij.net] has joined #scheme 10:16:08 -!- kar8nga [~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net] has quit [Remote host closed the connection] 10:18:11 fradgers- [~fradgers-@5ad4c06e.bb.sky.com] has joined #scheme 10:31:19 masm [~masm@bl5-107-216.dsl.telepac.pt] has joined #scheme 10:31:26 -!- myu2 [~myu2@161.90.128.210.bf.2iij.net] has quit [Remote host closed the connection] 10:33:21 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 10:33:48 -!- ribbs [~ribbs@p024062.doubleroute.jp] has quit [Quit: Leaving...] 10:34:24 myu2 [~myu2@161.90.128.210.bf.2iij.net] has joined #scheme 10:34:58 -!- myu2 [~myu2@161.90.128.210.bf.2iij.net] has quit [Remote host closed the connection] 10:42:56 -!- rmrfchik [~rmrfchik@linuxhacker.ru] has quit [Ping timeout: 246 seconds] 10:48:11 -!- melba [~blee@unaffiliated/lazz0] has quit [Ping timeout: 240 seconds] 10:55:10 melba [~blee@unaffiliated/lazz0] has joined #scheme 11:04:13 foof [~user@FL1-122-131-140-159.osk.mesh.ad.jp] has joined #scheme 11:08:45 -!- masm [~masm@bl5-107-216.dsl.telepac.pt] has quit [Read error: Connection timed out] 11:16:28 -!- hkBst_ [~hkBst@gentoo/developer/hkbst] has quit [Remote host closed the connection] 11:35:46 -!- MichaelRaskin [~MichaelRa@pantagruel.mccme.ru] has quit [Remote host closed the connection] 11:35:59 MichaelRaskin [~MichaelRa@pantagruel.mccme.ru] has joined #scheme 11:46:42 -!- MichaelRaskin [~MichaelRa@pantagruel.mccme.ru] has quit [Ping timeout: 248 seconds] 11:53:39 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 11:54:34 -!- Jafet [~Jafet@unaffiliated/jafet] has left #scheme 11:54:56 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 11:55:25 -!- xwl_ [~user@esprx01x.nokia.com] has quit [Remote host closed the connection] 11:55:41 -!- Len__ [~Len@77.126.183.153] has quit [Ping timeout: 265 seconds] 11:55:54 xwl_ [~user@esprx01x.nokia.com] has joined #scheme 11:56:11 Len_ [~Len@77.126.183.153] has joined #scheme 12:05:02 mario-goulart [~user@67.205.85.241] has joined #scheme 12:12:32 vy [~user@nbvyazici.cs.bilkent.edu.tr] has joined #scheme 12:17:18 minion: botsnack 12:17:19 botsnack: thanks 12:21:11 -!- phao [~phao@189.107.133.136] has quit [Quit: Leaving] 12:22:51 phao [~phao@189.107.133.136] has joined #scheme 12:24:25 -!- eli [~eli@winooski.ccs.neu.edu] has quit [Ping timeout: 264 seconds] 12:26:19 -!- leppie [~lolcow@dsl-243-6-19.telkomadsl.co.za] has quit [Ping timeout: 245 seconds] 12:29:21 -!- AtnNn [~welcome@modemcable049.173-176-173.mc.videotron.ca] has quit [Ping timeout: 276 seconds] 12:29:56 rmrfchik [~rmrfchik@linuxhacker.ru] has joined #scheme 12:30:59 leppie [~lolcow@196-210-194-69-wblv-esr-3.dynamic.isadsl.co.za] has joined #scheme 12:36:22 sepult [~user@xdsl-78-35-192-44.netcologne.de] has joined #scheme 12:39:35 -!- rmrfchik [~rmrfchik@linuxhacker.ru] has quit [Read error: Connection reset by peer] 12:42:23 rmrfchik [~rmrfchik@linuxhacker.ru] has joined #scheme 12:50:06 alvatar [~alvatar@179.126.222.87.dynamic.jazztel.es] has joined #scheme 12:55:48 -!- borism [~boris@213-35-233-202-dsl.end.estpak.ee] has quit [K-Lined] 12:55:55 lol k-line 12:56:08 ah. fake quit message. 12:57:09 lol 13:06:55 luz [~davids@139.82.89.70] has joined #scheme 13:08:41 nareshov: Not likely to be fake. 13:08:50 nareshov: Custom quit messages are prefixed with "Quit:" 13:10:00 attila_lendvai [~ati@4d6f5d3b.adsl.enternet.hu] has joined #scheme 13:14:41 Fabse [~mightyfid@wikipedia/Track-n-Field] has joined #scheme 13:20:57 kar8nga [~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net] has joined #scheme 13:31:40 -!- phao [~phao@189.107.133.136] has quit [Quit: Leaving] 13:34:14 phao [~phao@189.107.133.136] has joined #scheme 13:45:05 *chandler* scrolls through several hours of very strange discussions from last night. 13:45:42 *mario-goulart* missed that 13:46:19 phao: When SICP talks about building languages that "talk about things", it's talking about a concept that's now popularly known as a Domain-Specific Language. 13:47:51 In some sense, any library in Scheme might be said to create one of these things; you could even consider any library in any language as a degenerate case of this. 13:49:35 chandler, thank you. 13:50:29 Now that I'm remembering some of the things said in the videos, they were talking about building a language that talks about something instead of building small problem solution that is inside that "thing" field. 13:50:52 So instead of writing a function that does some kind of image processing, implement a library that has generic primities that process images. 13:51:34 So, it'd also have to do with the approach you go write a library, if it makes that library a "language" or not. 13:51:41 Does that make sense? 13:51:45 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has quit [Quit: Leaving] 13:53:02 That's the idea. When expressing the solution your problem, the language should seem to be tailor-made the task, instead of the solution being concerned with repeated application of low-level procedures. 13:53:58 What really sets a Scheme "library" apart in this regard is macros, which are the tool that makes this style of programming possible in a large number of domains. 13:55:23 For instance, it's very difficult to specify a user interface declaratively in pure Java, because the language doesn't incorporate the facilities that would be needed to make declarative style straightforward. In Scheme, it's trivial. 13:56:04 Of course, not every program requires this flexibility, and you can still strive to uphold this principle in any language you work with. 13:56:08 *adu* wakes up 13:56:18 Scheme makes little distinction between a library and an extension of the language itself. 13:57:36 *chandler* vanishes to find coffee. 13:57:57 phao, one way of looking at it is building a tower of abstractions to the point where you are dealing with your problem at a uniform abstraction level. 13:58:33 ok. 13:58:39 An html templating library should not make you deal with things at a lower level than string transformations, etc. 13:58:49 pookleblinky, sure 13:58:55 I look at it in a similar way. 13:59:07 I like that quote in the beginning of SICP 13:59:12 that talks about abstracting thing 13:59:14 things* 13:59:21 to deal with them as if they were primite ideias 13:59:49 so, for example, you don't talk about pair of integers, but a rational number as SICP uses. 14:01:11 Consider how you'd implement a program to model kinetics. 14:01:31 -!- adu [~ajr@pool-74-96-89-29.washdc.fios.verizon.net] has quit [Quit: adu] 14:01:42 You'd want to think of things in terms of Cartesian coordinates, etc. Not "tuples of floats" 14:02:04 hehe 14:02:05 yes. 14:02:59 MichaelRaskin [~MichaelRa@pantagruel.mccme.ru] has joined #scheme 14:03:41 The beauty of lisps is that there is essentially no difference between writing a program to solve the problem, and extending the language until it is designed to solve the problem. 14:06:16 -!- leppie [~lolcow@196-210-194-69-wblv-esr-3.dynamic.isadsl.co.za] has quit [] 14:07:18 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Remote host closed the connection] 14:08:05 bytecolor [~user@adsl-70-136-249-169.dsl.scrm01.sbcglobal.net] has joined #scheme 14:14:14 langmartin [~user@exeuntcha2.tva.gov] has joined #scheme 14:28:09 ASau [~user@83.69.227.32] has joined #scheme 14:28:43 -!- ASau is now known as ASau`` 14:36:17 -!- sepult [~user@xdsl-78-35-192-44.netcologne.de] has quit [Remote host closed the connection] 14:38:28 xwl [~user@123.115.114.231] has joined #scheme 14:39:50 -!- mreggen [~mreggen@cm-84.215.18.49.getinternet.no] has quit [Quit: leaving] 14:41:33 sepult [~user@xdsl-78-35-192-44.netcologne.de] has joined #scheme 14:49:01 -!- bokr [~eduska@95.154.102.124] has quit [Remote host closed the connection] 14:52:34 rstandy [~rastandy@net-93-144-176-145.t2.dsl.vodafone.it] has joined #scheme 14:56:44 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Ping timeout: 245 seconds] 15:01:41 -!- sstrickl [~sstrickl@pool-141-157-183-82.bos.east.verizon.net] has quit [Quit: sstrickl] 15:04:59 (the ugly of lisps is that there's no difference between writing a program that fails to solve the problem, and extending the language until it's a pile of hamburger) 15:10:48 Yakshaving is indeed a problem when your language is powerful enough to summon a million yaks on demand. 15:11:20 *Daemmerung* flees the yak stampede 15:11:23 -!- Daemmerung [~goetter@64.146.161.228] has quit [Quit: Smoove out.] 15:11:43 rillig [~rillig@hmbg-4d0695f8.pool.mediaWays.net] has joined #scheme 15:12:11 -!- rillig [~rillig@hmbg-4d0695f8.pool.mediaWays.net] has left #scheme 15:14:08 -!- rstandy [~rastandy@net-93-144-176-145.t2.dsl.vodafone.it] has quit [Remote host closed the connection] 15:14:14 rstandy [~rastandy@net-93-144-176-145.t2.dsl.vodafone.it] has joined #scheme 15:15:24 Daemmerung [~goetter@64.146.161.228] has joined #scheme 15:16:17 -!- Daemmerung [~goetter@64.146.161.228] has quit [Client Quit] 15:17:56 Daemmerung [~goetter@64.146.161.228] has joined #scheme 15:22:15 -!- saccade_ [~saccade@209-6-54-113.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Quit: This computer has gone to sleep] 15:24:39 hello 15:24:49 i'm trying to dive into scheme 15:24:59 i've never used lisp before 15:25:18 i'm using this tutorial: http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme.html 15:25:43 http://mitpress.mit.edu/sicp/full-text/book/book.html is one of the classics. 15:26:09 pookleblinky, thanks for the link, i think i'll read this one a bit later 15:26:12 once i get the basics 15:26:33 are there different flavours of scheme out there? 15:26:46 i saw plt-scheme and mit-scheme 15:26:49 Yes, but mostly in environment. 15:26:51 is the language different? 15:27:13 See appendix A of t-y-scheme. 15:27:20 You can try drScheme, based on pltscheme, for a cool ide, etc. 15:27:58 thanks 15:28:01 Guile is a scheme for Gnu scripting, designed for easy integration with C and such 15:28:55 Mandar: for the basics of Scheme, try "The Little Schemer": http://www.ccs.neu.edu/home/matthias/BTLS/ 15:29:36 http://en.wikipedia.org/wiki/Category:Scheme_implementations 15:29:40 it's on my shopping list 15:29:43 -!- Sergio` [~Sergio`@unaffiliated/sergio/x-8197433] has quit [Remote host closed the connection] 15:29:53 thank you 15:30:12 so if i want to subscribe to a mailing-list, plt is a good start? 15:30:22 http://www.plt-scheme.org/maillist/ 15:31:03 Mandar, if you really want to learn it, eventually read http://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours 15:31:06 It's the most active one that I've seen for Scheme. It seems like most college courses tell their students to use DrScheme so there are plenty of other new Schemers on there as well. 15:31:33 good to know, thanks :) 15:31:44 -!- nareshov [~user@unaffiliated/nareshov] has quit [Ping timeout: 245 seconds] 15:32:44 Mandar, http://schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-2.html#%_toc_start is a great general doc. 15:32:46 -rudybot:#scheme- http://tinyurl.com/kj6fzp 15:33:25 woo thanks 15:37:31 -!- nullpo [~nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has quit [Ping timeout: 268 seconds] 15:38:02 Also on the topic of books I thought that The Scheme Programming Language (I've read 3rd edition) was extremely enlightening as well. 15:38:40 But that's more advanced than the Little Schemer so for later... 15:41:25 ok :) 15:43:20 It also has less puns. 15:44:27 that's not cool 15:53:54 first question: 2^0.5 si supposed to be irrational if i recall correcly 15:53:58 correctly* 15:54:10 (rational? (expt 2 0.5)) evaluates to #t 15:54:59 pookleblinky: It also has significantly less Duane Bibby drawings. :-) 15:55:13 Sergio` [~Sergio`@unaffiliated/sergio/x-8197433] has joined #scheme 15:55:49 sstrickl [~sstrickl@nomad.ccs.neu.edu] has joined #scheme 15:57:03 Mandar: rational? tests to see if the value is of the rational numeric type in Scheme. 15:57:20 guile> (rational? (expt 2 0.5)) 15:57:20 #t 15:57:20 guile> (expt 2 0.5) 15:57:20 1.4142135623731 15:57:28 parolang [~user@8e4a01246100775874c4f448e9887093.oregonrd-wifi-1261.amplex.net] has joined #scheme 15:57:32 I can see how this'd be confusing. 15:57:56 does it truncate the number? 15:58:02 It's fairly difficult to store an irrational number internally. :-/ 15:58:08 i guess it would 15:58:10 ok :) 15:58:31 he knows how to store numbers like 22 / 7 that's why i asked 15:59:12 metasyntax, I could be a haskell douche and claim it's perfectly possible to express a transcendental number to perfect accuracy. 15:59:28 R5RS says that fractions should be supported, but storing sqrt(2) symbolically rather than numerically is beyond the scope. 15:59:30 But alas, some languages are not so laid back and mellow. 16:01:06 -!- Checkie [2462@unaffiliated/checkie] has quit [Ping timeout: 248 seconds] 16:01:28 thanks guys, i'm going on 16:04:15 -!- sepult [~user@xdsl-78-35-192-44.netcologne.de] has quit [Read error: Connection reset by peer] 16:04:24 pookleblinky, that's not correct 16:04:38 there are far too many transcendental numbers for that 16:05:22 sepult [~user@xdsl-78-35-192-44.netcologne.de] has joined #scheme 16:06:10 -!- sepult [~user@xdsl-78-35-192-44.netcologne.de] has quit [Read error: Connection reset by peer] 16:07:22 samth, consider pi. In haskell, it is perfectly possible to write a function to express the Gregory-Leibniz series that literally continues infinitely. 16:07:23 sepult [~user@xdsl-78-35-192-44.netcologne.de] has joined #scheme 16:07:37 pookleblinky, certainly 16:07:41 you can do that in any language 16:07:51 But the trick is that unless I ask it, it will not actually evaluate the full expression. 16:08:05 but there are many more transcendental numbers than haskell (or scheme) programs 16:08:12 pookleblinky, i understand lazy evaluation 16:08:43 it's possible to express infinite series in Scheme (or any other language) as well 16:08:56 Ah, you've got a good point. Noncomputable numbers are indeed infinitely more common than computable numbers. 16:09:45 damn, this community is too smart for me :D 16:10:44 Mandar: that's a good thing, opportunity for growth :-) 16:10:58 sure 16:11:44 chandler: I have SISC running under Dalvik. I'm trying to get performance numbers on a real device, but the auguries from my experience under the emulator aren't good. 16:12:17 This is going to be a toy at best. 16:13:40 The performance I've seen of anything in the emulator is really quite poor. 16:14:15 It's the nature of such beasts. 16:14:16 That said, I'm not exceptionally surprised, given that their garbage collector is so poor that they officially recommend *against* consing short-lived garbage! 16:14:41 I could full-on fork SISC and bum the hell out of it. Not sure if that's worth it. 16:14:53 I had thought that this ephemeral collector thing was a solved problem, but apparently it isn't. 16:14:53 It'd do a lot of damage to its internals. 16:15:08 TR2N [email@89.180.223.61] has joined #scheme 16:15:16 What I'm suggesting is that the performance problem might just be intrinsic to Dalvik. 16:16:09 -!- luz [~davids@139.82.89.70] has quit [Ping timeout: 240 seconds] 16:16:11 Until it gets a jitter and a beefier collector. 16:17:39 I think the better collector part is probably the more important aspect. A jitter should improve performance by perhaps 2-3x at a guess, but based on what I've seen, a better collector should actually improve things by several orders of magnitude in some circumstances. 16:18:10 Their VM is actually quite efficient as an interpretive design. 16:19:26 Mandar, you've got to get Chaitin's Meta Math. AIT is fun as hell. 16:19:41 Pretty simple to understand the concepts, too. 16:19:45 ebanders [~ebanders@c-66-41-121-0.hsd1.mn.comcast.net] has joined #scheme 16:20:42 For instance, he proved Godel's Incompleteness Theorem in an AIT context in a way which in plain english makes perfect sense. 16:21:27 -!- virl [~virl__@chello062178085149.1.12.vie.surfer.at] has quit [Remote host closed the connection] 16:23:52 what does AIT stand for? 16:24:48 Mikaeel_Mohamed [Mohamdu@2002:8161:d0d2::8161:d0d2] has joined #scheme 16:25:15 Anyway, SISC will suffice for me to bring up a friendly REPL-type application, and it's teaching me Java as I go. I think there's some value in a Schemely palmtop calculator with native widget access. Will port Gambit as an alternate back end if the need arises. 16:25:44 -!- sepult [~user@xdsl-78-35-192-44.netcologne.de] has quit [Remote host closed the connection] 16:26:02 Some value indeed! Did you ever use LispMe? 16:26:18 I was a WinMo guy instead. I wrote Pocket Scheme. 16:26:27 "The web server is down!" (srfi.schemers.org is not serving page requests, JFYI) 16:26:45 Oh! I didn't know that until now. 16:26:54 I don't think I used Pocket Scheme more than once or twice. 16:27:10 I haven't used it in years. 16:27:17 I did some WinMo development a few years ago for a project, but never really used it personally. 16:28:23 That was pretty much my drill, too. I was quite fond of the old Handheld PC clamshell-type platform. Not much of a cellphone user. 16:28:35 pookleblinky, what does AIT stand for? 16:28:46 Algorithmic Information Theory 16:28:52 oh ok 16:29:00 (i'm french) 16:29:05 One of the coolest fields to study, imho. 16:30:08 http://www.umcs.maine.edu/~chaitin/eesti.html 16:31:12 Daemmerung: Ah. So, what's your plan of record going forward? Keep SISC as is and start building an editor and REPL UI? 16:32:12 -!- kephas [~pierre@lec67-4-82-235-57-28.fbx.proxad.net] has quit [Read error: Connection reset by peer] 16:32:15 pookleblinky, looks great 16:32:16 kephas [~pierre@lec67-4-82-235-57-28.fbx.proxad.net] has joined #scheme 16:32:50 -!- xwl [~user@123.115.114.231] has quit [Ping timeout: 240 seconds] 16:32:55 http://www.umcs.maine.edu/~chaitin/iqc.html 16:33:04 "The best theory is the smallest, the most concise program that calculates precisely your data. And a theory is useless unless it is a compression, unless it has a much smaller number of bits than the data it accounts for, the data it explains. Why? Because there is always a theory with the same number of bits, even if the data is completely random." 16:33:12 It sounds simple, commonsensical. 16:33:35 But is a very powerful way of approaching almost every aspect of CS. 16:34:28 Blkt [~user@93-33-129-171.ip44.fastwebnet.it] has joined #scheme 16:37:18 chandler: I have a trivial fork of SISC ("sisc-dvm") that I'll maintain. Encapsulate that as an Android service so that its state survives the frequent activity teardowns. Build a very simple 2-pane REPL Activity, after the old pscheme UI. Enhance that with a tracer/stepper. Stay out of the editor business if I possibly can, beyond whatever's necessary for sexp at a time input. 16:37:25 http://en.wikipedia.org/wiki/Kolmogorov_complexity 16:38:37 -!- Mikaeel_Mohamed [Mohamdu@2002:8161:d0d2::8161:d0d2] has quit [Ping timeout: 260 seconds] 16:40:37 I am not inclined to get too carried away with the SISC fork, because Scott just might get interested in SISC again someday. 16:41:37 pookleblinky, thanks, i'll need a few hours to read this but i definitely will 16:41:46 do you study / research math? 16:42:13 Yes, but nowhere near enough to actually be useful. 16:44:07 One of the cool things about AIT is how commonsensical it is. "a string is random iff it cannot be described by a shorter string" makes sense even before you express it mathematically. 16:47:15 snorble [~none@s83-179-14-105.cust.tele2.se] has joined #scheme 16:55:31 -!- gnomon_ is now known as gnomon 16:57:09 kenpp [~kenpp@188-222-117-86.zone13.bethere.co.uk] has joined #scheme 17:08:28 -!- MichaelRaskin [~MichaelRa@pantagruel.mccme.ru] has quit [Remote host closed the connection] 17:12:56 jonrafkind [~jon@crystalis.cs.utah.edu] has joined #scheme 17:17:46 Mikaeel_Mohamed [~Mohamdu@129-97-120-139.uwaterloo.ca] has joined #scheme 17:19:35 AtnNn [~welcome@173.176.173.49] has joined #scheme 17:21:14 -!- alaricsp [~alaric@relief.warhead.org.uk] has quit [Quit: Leaving] 17:24:15 mejja [~user@c-68b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 17:24:50 minion: memo for jcowan: Spreadsheet http://tinyurl.com/scheme-s5 is missing two SRFIs for mit-scheme. See http://www.gnu.org/software/mit-scheme for a list. 17:24:50 Remembered. I'll tell jcowan when he/she/it next speaks. 17:24:50 mejja, memo from rudybot: ecraven told me to tell you: thanks, i updated the archlinux package accordingly, it works great! 17:25:45 -!- Blkt [~user@93-33-129-171.ip44.fastwebnet.it] has quit [Ping timeout: 276 seconds] 17:31:57 -!- Mandar [~armand@217.108.230.48] has quit [Quit: Quitte] 17:36:38 -!- Mikaeel_Mohamed [~Mohamdu@129-97-120-139.uwaterloo.ca] has quit [Quit: Leaving] 17:39:29 flaggy [~c8c62a62@gateway/web/freenode/x-xxebbcnizalvinro] has joined #scheme 17:39:53 hello, I'm using mzscheme and, when I try to use fold-right, it tells me it's an invalid identifier, do I have to import something in? 17:40:54 foldr 17:41:25 Also, http://docs.plt-scheme.org - they are awesome 17:41:33 fold-right is from srfi1, (require srfi-1) I think 17:41:40 string-fold-right? 17:41:44 (require srfi/1) 17:42:05 I was reading this http://sicp.ai.mit.edu/Fall-2003/manuals/scheme-7.5.5/, well, parts of it at least 17:42:07 http://docs.plt-scheme.org/srfi-std/srfi-13.html 17:42:55 luz [~davids@139.82.89.70] has joined #scheme 17:43:18 -!- Poeir [~Poeir@c-98-228-48-133.hsd1.il.comcast.net] has quit [Read error: Connection reset by peer] 17:44:25 Poeir [~Poeir@c-98-228-48-133.hsd1.il.comcast.net] has joined #scheme 17:44:42 -!- AtnNn [~welcome@173.176.173.49] has quit [Quit: foobar] 17:49:29 ysph [~user@75-143-70-52.dhcp.aubn.al.charter.com] has joined #scheme 17:55:11 -!- mejja [~user@c-68b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.0.14/2009090900]] 17:57:26 scheibo [~scheibo@129-97-249-119.uwaterloo.ca] has joined #scheme 17:58:31 npe [~npe@94-224-249-38.access.telenet.be] has joined #scheme 18:16:45 -!- npe [~npe@94-224-249-38.access.telenet.be] has quit [Quit: npe] 18:21:44 -!- flaggy [~c8c62a62@gateway/web/freenode/x-xxebbcnizalvinro] has quit [Quit: Page closed] 18:27:08 Riastradh [~riastradh@tissot.csail.mit.edu] has joined #scheme 18:27:19 ecraven, 9.0.1 should fix the problem you reported yesterday... 18:29:15 toekutr [~toekutr@adsl-69-107-137-111.dsl.pltn13.pacbell.net] has joined #scheme 18:38:00 saint_cypher [~saint_cyp@adsl-99-2-72-93.dsl.pltn13.sbcglobal.net] has joined #scheme 18:39:35 mejja [~user@c-68b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 18:43:13 -!- attila_lendvai [~ati@4d6f5d3b.adsl.enternet.hu] has quit [Ping timeout: 260 seconds] 18:50:40 Belaf [~campedel@194.209.131.192] has joined #scheme 18:52:23 orm [~a126ddab@gateway/web/freenode/x-yfgzuopgibxejtgz] has joined #scheme 19:05:52 -!- phao [~phao@189.107.133.136] has quit [Quit: Leaving] 19:18:03 -!- orm [~a126ddab@gateway/web/freenode/x-yfgzuopgibxejtgz] has left #scheme 19:18:23 sepult [~user@xdsl-78-35-192-44.netcologne.de] has joined #scheme 19:19:46 foof` [~user@FL1-118-110-11-244.osk.mesh.ad.jp] has joined #scheme 19:23:24 -!- foof [~user@FL1-122-131-140-159.osk.mesh.ad.jp] has quit [Ping timeout: 245 seconds] 19:30:11 -!- luz [~davids@139.82.89.70] has quit [Ping timeout: 258 seconds] 19:30:52 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 19:55:45 -!- kar8nga [~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net] has quit [Remote host closed the connection] 19:57:56 92AAABJZ7 [samuel@ilo.staticfree.info] has joined #scheme 19:58:29 ASau [~user@83.69.227.32] has joined #scheme 19:58:50 -!- alvatar [~alvatar@179.126.222.87.dynamic.jazztel.es] has quit [Read error: Operation timed out] 20:02:15 Checkie [73@unaffiliated/checkie] has joined #scheme 20:02:20 alvatar [~alvatar@125.127.222.87.dynamic.jazztel.es] has joined #scheme 20:28:27 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 20:35:12 -!- jonrafkind [~jon@crystalis.cs.utah.edu] has quit [Read error: Connection reset by peer] 20:36:21 jonrafkind [~jon@crystalis.cs.utah.edu] has joined #scheme 20:37:37 -!- Daemmerung [~goetter@64.146.161.228] has quit [Quit: Smoove out.] 20:40:48 jcowan [~jcowan@nat/google/x-ylmmlgehgajvodho] has joined #scheme 20:41:48 *jcowan* unvanishes 20:45:09 minion: memo for mejja: thanks, fixed, updated MIT Scheme version # 20:45:09 Remembered. I'll tell mejja when he/she/it next speaks. 20:45:55 Daemmerung [~goetter@64.146.161.228] has joined #scheme 20:45:58 -!- alvatar [~alvatar@125.127.222.87.dynamic.jazztel.es] has quit [Quit: leaving] 20:47:33 -!- parolang [~user@8e4a01246100775874c4f448e9887093.oregonrd-wifi-1261.amplex.net] has quit [Remote host closed the connection] 20:49:16 ... 20:49:16 mejja, memo from jcowan: thanks, fixed, updated MIT Scheme version # 20:50:40 Great god, Mercurial is slow. I hereby take back everything bad I've ever said about Git. 20:50:54 Everything? 20:51:13 Everything. Including the part about the puppies and the blender. 20:52:02 Daemmerung: Try bzr and you'll reconsider :) 20:52:09 Moral: There's always something slower 20:55:31 *jcowan* is annoyed that Chicken is using git rather than svn -- much slower if all you want is to grab the current state. 20:56:29 git doesn't have lightweight checkouts? 20:56:43 On Chicken, did felix's email mean that the bootstrap files will just not be in Git, or will they be omitted from the "release" tarballs as well? 20:56:49 Hard to believe with all those hundreds of flags it has 20:57:08 metasyntax: Only removed from git 20:57:13 bgs100 [~ian@unaffiliated/bgs100] has joined #scheme 20:57:17 I initially misunderstood that message too :) 20:57:17 It's merely a question of finding the correct permutation of said flags 20:57:37 sjamaan: Ah, good. 20:57:48 MetaEntity [~metaentit@78.250.237.163] has joined #scheme 20:57:56 hello everyone 20:58:04 metasyntax: I already started writing an angry reply before I understood it 20:58:14 Luckily, I re-read before hitting "submit" :) 20:59:00 I have a question concerning define-syntax, I would like to know a way to avoid a particular binding to be replaced with gensym 20:59:20 does someone know how to archieve that? 21:01:27 First is it possible? :) 21:01:47 Aha, http://git.wiki.kernel.org/index.php/GitFaq#How_do_I_do_a_quick_clone_without_history_revisions.3F 21:01:48 -rudybot:#scheme- http://tinyurl.com/ydfsqoo 21:03:07 MetaEntity: look at the sample syntax-rules definition of "cond" in r5rs 7.3 21:03:30 Thanks 21:05:21 I found it, but I don't see where they use the trick 21:05:26 http://people.csail.mit.edu/jaffer/r5rs_9.html 21:05:42 r5rs syntax-rules 21:05:42 http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-7.html#%_idx_184 21:05:44 -rudybot:#scheme- http://tinyurl.com/6bo7mk 21:06:05 to wit, the /literals/ list. 21:06:19 MetaEntity, you need to describe your problem more specifically, preferably together with example code and its expansion. 21:06:42 Use lisppaste to show the example if it is longer than one line: 21:06:44 lisppaste: url 21:06:44 To use the lisppaste bot, visit http://paste.lisp.org/new/scheme and enter your paste. 21:07:55 I am trying to create an object system in scheme as an exercice, I have all the things, I am now doing the syntax to avoid to type things like (make-class class-id class-base) (class-table-set! method-id metho.... 21:08:11 but I need a way to preserve the (lambda (self ... 21:08:21 the self is replaced by a (gensym) 21:08:36 I want it to stay as "self" 21:08:51 I can do it with non hygienic macros 21:09:02 I am now going to use my telepathic powers to guess what you are trying to do: you want to write something like (method (x y z) ...) and have it expand to (lambda (self x y z) ...), where references to SELF in the ellipsis refer to the variable SELF bound by that lambda. 21:09:02 but I wanted to know with define-syntax 21:09:33 First of all, this is a bad idea, for a number of reasons. For example, suppose you have a METHOD form inside a METHOD form. How do you refer to the outer SELF from the inner METHOD form? 21:09:38 *Daemmerung* gapes in awe at teh telepathic powers 21:10:18 hotblack23 [~jh@p4FC5A841.dip.t-dialin.net] has joined #scheme 21:10:41 I just want to translate something in syntax which is (method (arg1 ...)) to (lambda (self arg1 ...)) 21:10:53 with the system I have it works perfectly with define-macro 21:11:06 I just want to know if it could work with define-syntax 21:11:15 It is not a big project 21:11:18 just an exercice 21:11:23 I am learning scheme 21:11:29 since a week so 21:11:31 If you are using SYNTAX-RULES (which is a particular macro system, not to be confused with DEFINE-SYNTAX, which is just the name of the operator used to extend the syntax of Scheme), you cannot really do this. 21:11:56 -!- melba [~blee@unaffiliated/lazz0] has quit [Quit: my favourite color is blue......NO, YELLOWWWWWWWWW] 21:12:04 so it is not possible with syntax-rules? 21:12:12 That is right. 21:12:23 Riastradh! :D 21:12:38 (An approximation is possible, but you don't want to do that.) 21:12:51 is it an alternative to syntax-rules to make a transformer which could that? 21:13:12 No. Just have the user of the macro write (method (self x y z) ...) rather than (method (x y z) ...). 21:13:19 Hi, elly. 21:13:38 Ok thanks, I am going to use define-macro then 21:13:43 Please don't do that. 21:13:45 DEFINE-MACRO is a bug. 21:13:48 lol 21:14:00 it is just an exercice lol 21:14:03 why is it bad? 21:14:04 hello Riastradh 21:14:17 It leads to obscure errors that are extremely difficult to debug, and that occur long after you have forgotten about the macro you wrote. 21:14:29 making the user type self all the time is not funny for the developper too 21:15:00 *making the developer type self... 21:15:03 MetaEntity, in the general case you should examine `syntax-case' 21:15:20 in the specific case, you should think harder about Riastradh's question about self 21:15:37 -!- Belaf [~campedel@194.209.131.192] has left #scheme 21:16:06 For example, if your macro expands to a reference, say, to CONS, but you don't say this in the documentation for your macro, a user might use your macro exactly as it was documented, and cause it to fail. How can this occur? (let ((pros '()) (cons '())) ...do something with PROS and CONS...use the macro...) 21:16:36 I don't have nested methods 21:16:56 The problem is that with DEFINE-MACRO, the macro's implementation leaks into its interface. Whether (CONS A '()) or (LIST A) appears in the macro's expansion changes the observable behaviour of the macro. 21:17:23 ok I won't use define-macro chief ... :) 21:17:42 but I want a way to eliminate this useless self T T 21:18:01 (not me :)) 21:18:14 This makes DEFMACRO very hard to understand, and puts an unreasonable burden on anyone who wants to use them, because either (1) it causes obscure errors even if you use the macro exactly as documented, or (2) it requires unbelievably elaborate documentation. 21:18:39 Riastradh I suppose you are not a lisper friend right? :) 21:18:49 MetaEntity, why SELF? Why can't I call the variable THIS, or OBJ, or FROBNOZZLE, if the object in question is a frobnozzle? 21:19:14 C++,Java;C# chose this 21:19:20 I want self :) 21:19:24 why not? 21:19:35 why the keyword class or method or attribute? 21:20:00 he means, why should self be a prescribed keyword at all 21:20:07 I understand 21:20:12 not "why did you pick this specific keyword" 21:20:15 but I want to fix it 21:20:31 like "value" in C# 21:20:40 I did some python 21:20:51 and I hate to write self 21:20:54 and self again 21:21:14 it is useless, since you are inside the class 21:21:15 Even if you don't expect METHOD forms to be nested, someone might want to use them inside macros. For example, I might write a macro that expands to a temporary class definition that holds user's code. (frob ) expands to something involving (... (method (x y z) ... ...) ...). Is SELF bound in when I write (frob )? 21:21:18 without nested methods 21:21:41 personally I prefer the explicit `self` in python to the magical `this` in javascript, specifically because of what happens to nested methods 21:22:04 There is pros and cons 21:22:11 *There are pros and cons 21:22:53 -!- sepult [~user@xdsl-78-35-192-44.netcologne.de] has quit [Read error: Operation timed out] 21:22:53 In the syntax I am defining I just want it out 21:23:13 Generally -- speaking as someone with a great deal of experience writing and composing macros for many different purposes -- it is a mistake for macros to introduce names like this. 21:23:16 sepult` [~user@xdsl-87-79-112-37.netcologne.de] has joined #scheme 21:23:52 And you can't do it with SYNTAX-RULES. Some Scheme systems support other macro systems that can do this; for example, if you are using PLT Scheme or Chez Scheme, you can use SYNTAX-CASE; if you are using MIT Scheme, Larceny, or Scheme48, you can use explicit renaming macros; &c. 21:24:10 I am using Gambit-c 21:24:25 Riastradh: What's your view on pseudo-hygienic name introduction, of the type make-*, *?, *-, etc? 21:24:58 oh by the way, what is the best scheme? (since I am new I have no ideas) 21:25:15 and what is the best way to manipulate strings? 21:25:18 MetaEntity: What's the best rock band? 21:25:20 jcowan, generally I prefer to avoid that. For instance, that inhibits grep, tags, &c. 21:25:33 *jcowan* nods. 21:25:42 MetaEntity, there is no best Scheme. The best way to manipulate strings is with Icon, or maybe Snobol. 21:25:48 I heard about some regular expressions in scheme 21:25:55 and string as streams too 21:26:11 ok thanks I am going to have a look at it 21:26:28 (The part about Icon and Snobol was a joke.) 21:26:37 Riastradh, for how long are you using scheme? 21:26:41 Riastradh: what do you think of DEFINE-STRUCT? 21:26:53 ... 21:26:58 elly: define-struct doesn't mean the same thing in different Schemes. 21:27:00 I have been using Scheme for many years. 21:27:01 (which is what jcowan just asked, but... how do you think it should be implemented, if at all?) 21:27:10 -!- sepult` [~user@xdsl-87-79-112-37.netcologne.de] has quit [Client Quit] 21:27:17 I mean the PLT notion of DEFINE-STRUCT, which introduces make-foo, foo?, and so on 21:27:28 SRFI-9 has the advantage that it's fully hygienic. Its disadvantage is that it's fully hygienic. 21:27:32 Ah. 21:27:55 elly, as I said, I generally prefer to avoid that, but I do not deny that it is convenient. 21:27:56 Are there some big projects using scheme? I only saw research related projects 21:28:02 SRFI-57 and SRFI-99-syntactic extend SRFI-9 syntax to allow optional automatic name generation (basically, you use #t instead of an explicit name) 21:28:33 saccade_ [~saccade@dhcp-18-111-68-179.dyn.mit.edu] has joined #scheme 21:28:33 the 'pare' type in SRFI-9 makes me cringe 21:28:40 It's just an example. 21:28:45 yeah, I know 21:28:49 just reading it is unpleasant :P 21:28:58 And note that pares aren't pairs: the kdr is immutable, so they are more like vectors. 21:29:08 So. 21:29:26 I've been trying to write a little generic-function library for Chibi. 21:29:48 And the more I rewrote it, the smaller it got. I'd like someone to look at it and tell me if I've overdone the minimalism. 21:29:52 -!- langmartin [~user@exeuntcha2.tva.gov] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 21:29:53 jcowan: sure! 21:30:04 Exported names are make-pgf, handle, and object?. 21:30:17 what are they? 21:30:19 jcowan pasted "Predicate generic functions" at http://paste.lisp.org/display/96220 21:30:33 Does it exhibit the bug that the behaviour of generic procedures is dependent on load order rather than on lexical environment? 21:30:49 It's purely run time. 21:31:56 Adding methods is side-effect-free, so I can't add a method to your generic procedure without your cooperation. 21:32:03 OK. 21:32:08 -!- MetaEntity [~metaentit@78.250.237.163] has quit [Quit: Java user signed off] 21:32:28 The behaviour is dependent, though, on the order in which methods are added, not on their specificity. 21:32:41 Correct, since the specificity is not Turing-determinable. 21:34:46 I didn't want to burden generic functions with an additional run-time type lattice. It's possible to create run-type types in Chibi, but at present all of them are distinct. 21:34:54 s/run-type/run-time 21:34:56 No, but it gives no way to express an intended specificity ordering. 21:34:58 sepult [~user@xdsl-87-79-112-37.netcologne.de] has joined #scheme 21:35:07 Correct. 21:35:42 elly: comments? 21:35:55 jcowan: looks sensible! 21:38:34 Thanks. 21:39:29 -!- sepult [~user@xdsl-87-79-112-37.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 21:40:14 jcowan: I demand objects! 21:40:41 Why, you have objects. Don't I give you a predicate that returns #t if its argument is an object? 21:40:46 -!- Edico [~Edico@unaffiliated/edico] has quit [Quit: Ex-Chat] 21:41:17 I demand /better/ objects! 21:41:30 No problem; write a suitable predicate, and they'll work! 21:41:33 I demand interfaces and multiple inheritance! 21:41:39 (define (better-object? o) ...) 21:42:13 (define (better-object? o) (and (object? o) (> o (make-object)))) ; BETTER OBJECT 21:42:20 so much better that typing is irrelevant! 21:42:43 If tyhpngit wher theoreallyh irrelevantk, this iw what IRC conversationw hwoudl look liek. 21:43:04 QED 21:43:08 And perhaps they do, in places of less honor than #scheme. 21:43:11 jcowan: you have proven my point 21:43:19 How did quantum electrodynamics get involved? 21:43:44 Pretty hard to do computers without IT. 21:43:49 er, without it. 21:43:59 Pretty hard to do IT without computers, too. 21:44:15 *@#$ caps-lock key. 21:44:23 unmap it! 21:44:32 *gnomon* mocks jcowan's tyops 21:44:41 *gnomon* also mocks jcowan's turtle 21:45:01 *jcowan* sends a Tyops truncatus to vituperate on gnomon's head. 21:45:10 Beautiful so-o-o-oup 21:45:11 fabe [~fabe@p54A7EBC9.dip.t-dialin.net] has joined #scheme 21:45:19 Eww. 21:45:23 It is not yet evening. 21:45:30 *gnomon* dons several layers of protective paper bags 21:45:34 Always an evening somewhere, sir. 21:45:37 and it's already getting pretty rowdy in here, Daemmerung 21:45:55 ancoming noob questino 21:46:06 "why are you all awful" 21:46:07 Okay, y'all, get honorable 21:46:08 How do paper bags protect against vituperation?? 21:46:10 Incoming message from the big giant head! 21:46:37 -!- Riastradh [~riastradh@tissot.csail.mit.edu] has quit [Quit: leaving] 21:46:37 jcowan, quit questioning my ineffective preventative measures! 21:46:41 ... has he asked it yet? 21:46:43 *jcowan* admits to being a frequent, and even public, masticator. 21:46:51 *gnomon* gasps in shock 21:46:53 Why, sir! 21:47:03 It's hard to swallow the food whole, sir. 21:47:06 jcowan: it's okay, I am too - and I've heard that female mastication is a myth 21:47:08 I believe also that your epidermis is showing. 21:47:13 Indeed. 21:47:16 sepult [~user@xdsl-87-79-112-37.netcologne.de] has joined #scheme 21:47:17 is their a sdt macro for (define somefunc (lambda (args) (do stuff))) -> (def-func (args) (do stuff)) ? 21:47:23 I cover mine with garments, I admit. 21:47:36 What, all of it? That would make you look like a terrorist. 21:47:44 Or a couch. 21:47:48 *jcowan* goes to live at the P.O. 21:48:03 fabe, have you investigated the alternate form of DEFINE? 21:48:19 Not a bit shows. Not even an oh-so-saucy ankle. 21:48:22 fabe, (define (foo arg1 arg2 arg3) (list arg1 arg2 arg3)) 21:48:22 jcowan: a /conceptual/ terrorist? 21:48:47 jcowan: I think it would more make him look like he's been subjugated like a terrorist. 21:49:29 thx 21:49:47 gnomon: I have a confession to make 21:49:58 How long has it been since your last confession? 21:50:17 gnomon: every time I see you speak, I envision slowly bludgeoning you into low health with a series of fancy-but-ineffectual attacks, then putting you to sleep, then throwing a brightly-colored plastic ball at you. 21:50:32 ...I... 21:50:37 ...am oddly flattered, I think.' 21:51:00 I think this is the point where Sam the Eagle would just simply state, "You are all a bunch of weirdos." 21:51:02 Not that I expected any less. 21:51:22 *sstrickl* grins. 21:51:26 we /are/ all a bunch of weirdos, sstrickl :P 21:51:36 :) 21:51:48 "Think of it, Ellen-- a world full of weirdos!" 21:51:54 elly: Congrats on Google Cambridge, BTW 21:52:02 How now, speak for yourself! There are some in here that are the very model of normality! 21:52:05 minion, chant. 21:52:06 MORE MAKE 21:52:11 sstrickl: thanks :) 21:52:11 Y'see? 21:52:31 Oh, hey! Way to go, elly! When do you begin? Or have you already? 21:52:35 sstrickl: ...wait... how did you know? 21:52:39 gnomon: start date is July 5 21:52:53 elly, yay! 21:53:01 elly: So will you start attending the BLMs? 21:53:02 gotta finish undergrad first :P 21:53:11 I do not know what those are, sstrickl 21:53:13 *gnomon* throws a congratulatory party at elly 21:53:17 fare would be so disappointed 21:53:26 Augh! 21:53:30 Duck! 21:53:38 *elly* wraps herself in a lambda to avoid the flying party 21:53:43 elly: the monthly Boston Lisp Meetings 21:53:48 sstrickl: oh! maybe? 21:53:52 doelie [~tom@cust-11-31-109-94.dyn.as47377.net] has joined #scheme 21:53:53 elly: You should! 21:54:13 we'll see 21:54:14 sstrickl, speaking of BLMs, does the name Kim Burchett mean anything to you? 21:54:23 then again, I'm pretty bad about attending myself, so I have no room to talk :/ 21:54:24 but I'm doing better 21:54:36 sstrickl: I am really curious how you know I'm starting at google :P 21:54:38 gnomon: Not offhand, why? 21:54:49 elly: I saw you mention it in the channel before. I am a horrible lurker. 21:54:56 oh, okay :) 21:55:09 sstrickl, she was very enthusiastic about FrTime at LL3, then took a new job, got accepted into a Masters program, and dropped off the face of the interwibble. 21:55:31 (and I believe still lives in Boston) 21:55:55 Ah, I see 21:56:05 looking at her website, it looks like her resume states her to be working at Goldman Sachs in NY now? 21:56:10 http://www.kimbly.com/resume.html 21:56:19 (go go gadget google) 21:56:34 Ah, well, that would definitely explain her absence from Boston. 21:56:45 Very well, then! 21:59:53 fabe: I assume that nobody knows what a "sdt macro" might be. At least, that's true for me. 22:00:23 I assumed "std" and interpreted that to mean "standard". 22:00:26 its a typo std or standard 22:00:32 *gnomon* wins 22:00:41 *Daemmerung* awards gnomon a valuable prize 22:00:56 Ah...hm. 22:01:02 *elly* finds herself stuck inside a lambda now. 22:01:06 *gnomon* gleefully accepts the Valuable Prize and retorts with a long-winded Acceptance Speech 22:01:22 Please accept this laurel, and hearty handshake. 22:01:35 elly, that will be a hard one to work on. I've heard that lambdas are pretty impenetrable. 22:01:48 Easy to put things in, hard to get them out! 22:01:50 nullpo [~nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has joined #scheme 22:02:10 Lambda, the Ultimate Roach Motel 22:02:11 elly, it's a pity this isn't #common-lisp, or you could just disassemble your lambdatrap. 22:02:18 (muffled, from inside the lambda) Someone call it with some arguments or something! 22:02:38 *Daemmerung* applies it to an empty list 22:02:46 *elly* is returned! 22:02:51 Phew! Thanks, Daemmerung :) 22:03:14 Glad that worked. Had to guess the arity. 22:03:39 Otherwise you would've taken an exception 22:04:09 I can order a goat vindaloo, but not a goat Schoefinkel... 22:04:27 Schonfinkel. 22:05:02 Heh. 22:09:01 -!- saccade_ [~saccade@dhcp-18-111-68-179.dyn.mit.edu] has quit [Quit: This computer has gone to sleep] 22:09:04 whats a comm file naming in scheme some_file.ss some-file.scm SomeFile... ? 22:09:13 comm -> common 22:10:03 fabe, that is an unfortunately indexical question: an answer will tell you more about the person answering the question than about the question you asked. 22:10:11 *elly* uses some-file.scm 22:10:31 thx elly your my kind of person ;) 22:10:59 incubot, which naming convention do you follow? 22:11:03 That still doesn't have anything to do with the naming scheme. I'm not working with complex numbers. 22:11:09 Indeed. 22:11:35 incubot: why are you so damn sexy? 22:11:38 Damn... I was just polishing up my freetype egg. 22:11:43 /exactly/. 22:12:04 Hey, this is a family channel. Go polish your 'egg' elsewhere. 22:12:10 Man, incubot is really on the ball today. 22:12:16 wait, this is a family channel? oO 22:12:27 Egads, I certainly hope not. 22:12:37 ... that's easily the weirdest euphemism I've ever heard, and I've heard "servicing the R2 unit" 22:12:48 The two primary topics of conversation here are hard liquor and automatic weapons, after all. That's some family. 22:14:49 gnomon: in the US, we call those "traditional values" 22:15:38 One point for your side. 22:16:19 I'll ask riastradh, next time I see him, whether this is a family channel or not 22:17:12 I suspect he'll define "family" as "IRC users and their cats". 22:17:21 in that case, anything goes 22:17:24 ..."and pet AIs". 22:17:57 The only kind of 'polishing' I want my kitties to see is Polish notation. Please, think of the kittens. 22:18:28 incubot: botsnack? 22:18:31 botsnack 22:18:37 I don't need one! 22:19:47 http://www.imdb.com/title/tt0756883/quotes#qt0207636 22:20:05 what /is/ a botsnack? 22:20:26 Well, for starters, it's very small. 22:20:35 It's only a little bit of a snack, after all. 22:20:39 *rimshot* 22:20:48 *crickets* 22:20:58 *depression* 22:21:50 -!- albacker [~eni@unaffiliated/enyx] has quit [Quit: Leaving] 22:21:58 the internet isn't being helpful. 22:22:05 minion: botsnack 22:22:05 botsnack: thanks 22:22:11 The googles, they do nothing? 22:22:13 weird :P 22:22:17 Daemmerung: why is minion so strange? 22:23:57 minion: source 22:23:58 Sorry, I couldn't find anything in the database for ``source''. 22:24:44 -!- sepult [~user@xdsl-87-79-112-37.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 22:25:24 antoszka [~antoszka@unaffiliated/antoszka] has joined #scheme 22:31:58 elly: I think chandler holds its leash 22:32:10 oh, okay 22:32:43 *elly* is curious where minion's source lives 22:35:14 -!- toekutr [~toekutr@adsl-69-107-137-111.dsl.pltn13.pacbell.net] has quit [Quit: Leaving] 22:36:33 elly: http://bc.tech.coop/blog/050215.html 22:36:59 minion is part of CL-IRC it seems. 22:37:40 ah, aw 22:38:21 minion: advice for elly 22:38:21 elly: #11954: If your function is written correctly, it will handle an empty array the same way as a nonempty array. 22:38:38 heh! 22:38:41 -!- hotblack23 [~jh@p4FC5A841.dip.t-dialin.net] has quit [Quit: Leaving.] 22:38:43 minion: advice for Daemmerung 22:38:43 Daemmerung: #11999: You are a stupid asshole. Shut the fuck up. 22:38:49 Oh, burn. 22:38:49 Well then. 22:40:06 That seems unduly harsh. 22:40:15 Yeah... 22:40:18 minion: be civil! 22:40:18 does torturing a poor bot with things beyond its comprehension please you? 22:40:46 apparently :P 22:40:47 She said civil, not passive aggressive. 22:47:26 I guess passive-aggression on the part of a bot would constitute an incredible advance in AI 22:48:02 sepult [~user@xdsl-87-79-112-37.netcologne.de] has joined #scheme 22:50:09 mreggen [~mreggen@cm-84.215.18.49.getinternet.no] has joined #scheme 22:50:27 Not really. Parry was plenty passive-aggressive. 22:51:14 oooh ooh RFC 439 is online now 22:52:41 Kudos to Helene Morin, who apparently typed it in. 22:53:14 incubot: There's a lot of crooked gambling going on there. 22:53:17 That seems a little crooked if she isn't paying for it. 22:53:23 minion's 22:53:53 "advice" comes in two varieties: merely unhelpful, and full-out abusive. 22:54:10 minion: should I dye my hair like this? http://riotclitshave.livejournal.com/1639421.html 22:54:11 you speak nonsense 22:55:50 sigh, minion doesn't give good advice 22:56:17 speaking nonsense is always good advice 22:57:12 and yes, that's an excellent colour. Just try to clean it off your ears so it doesn't look like you're going mouldy 22:58:35 blue and purple... hm 22:59:11 Like an Easter egg. 22:59:32 A hairy Easter egg. 22:59:38 *elly* doesn't have enough piercings to execute that look 22:59:50 *SharkBrain* doesn't have enough hair 23:00:06 *Daemmerung* has far, far too many years on his carcass 23:00:42 pfft, as if those are reasons 23:00:50 elly: the look does not appeal, at least not to me. 23:00:54 -!- Maxel [~Maxel@97-90-238-123.dhcp.eucl.wi.charter.com] has quit [Ping timeout: 245 seconds] 23:01:14 *elly* has a /lot/ of head hair :P 23:01:28 personally I think it looks amazing, because I'm attracted to people who look like dangerous cartoons 23:01:34 hee :P 23:01:42 elly: Excellent. 23:02:18 it probably wouldn't appeal to my partner either... hm 23:02:37 Dying your hair an outrageous color is one of the prerogatives of youth. Go for it. 23:02:45 dye their instead, so they don't have to look at it 23:02:57 while they sleep for convenience 23:03:05 hahaha 23:03:11 I think that might not be met with approval :P 23:03:55 they never have to know! (unless they're even slightly observant) 23:04:14 I think I'll worry about that at some other time 23:05:29 I should get my ears that pierced >.> 23:05:36 *elly* currently has unpierced ears and undyed hair 23:07:06 jcowan: I personally also like the unmodified look, but, well... prerogative of youth, like Daemmerung said :) 23:07:35 Well, yes. In the same way that it's a personal prerogative to walk around looking like the Elephant Man. 23:07:46 *jcowan* has been rereading Mill's _On Liberty_ 23:07:58 I try to avoid that looking like the Elephant Man :P 23:08:05 You... you... utilitarian! 23:08:30 I am not an animal! 23:08:31 A utilitarian but not a Unitarian, that's me. 23:08:46 hey chandler! :) 23:08:51 Howdy elly. 23:09:02 excellent; you? 23:09:08 (thoroughly enjoying spring break, here) 23:09:09 Busy busy. 23:09:19 Come come. Take it to #primate. 23:10:21 *Daemmerung* extrudes a plasmodium and oozes elsewhere 23:11:25 *mejja* joins #primate 23:11:31 *elly* dips a finger into Daemmerung experimentally? 23:12:24 *Daemmerung* evaluates the stimulus: "Not food" 23:12:37 ysph` [~user@75-143-70-52.dhcp.aubn.al.charter.com] has joined #scheme 23:13:39 *elly* is indeed not food 23:14:34 Some species would dispute that. 23:14:35 -!- ysph [~user@75-143-70-52.dhcp.aubn.al.charter.com] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 23:14:48 -!- ysph` [~user@75-143-70-52.dhcp.aubn.al.charter.com] has quit [Client Quit] 23:14:57 They are not in posession of all the facts :P 23:16:51 "Oh my god, is it twins?" "...No... it's a... map of europe?" 23:20:30 virl [~virl__@chello062178085149.1.12.vie.surfer.at] has joined #scheme 23:20:38 better than Rorschach looking at an ultrasound 23:21:22 -!- doelie [~tom@cust-11-31-109-94.dyn.as47377.net] has quit [Ping timeout: 264 seconds] 23:21:37 "Dog. Dog with head split in half." 23:21:53 ick, I remember that scene 23:21:59 *sstrickl* nods. 23:26:24 -!- mejja [~user@c-68b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.0.14/2009090900]] 23:27:23 mbohun [~mbohun@202.124.75.99] has joined #scheme 23:41:28 wingo [~wingo@81.38.185.122] has joined #scheme 23:41:40 -!- fabe [~fabe@p54A7EBC9.dip.t-dialin.net] has quit [Remote host closed the connection] 23:44:44 Maxel [~Maxel@97-90-238-123.dhcp.eucl.wi.charter.com] has joined #scheme 23:46:11 cool, my 800 page Koza tomb just got here. $30 US used, and it's like frickin new ;) 23:47:11 Sweet. 23:47:22 Are you planning to be buried in it? 23:47:37 ahaha 23:48:30 Who's buried in Grant's Tomb? 23:48:42 I found a $30 CLtL2. Still on the way. 23:49:44 What color was George Washington's white horse? 23:50:10 blue 23:50:31 Silly. Blue horses don't exist. 23:50:42 look at my horse, my horse is amazing 23:50:45 What color is the old gray mare? (answer not obvious) 23:52:00 it's "old gray" 23:52:14 White. 23:54:56 mejja [~user@c-68b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 23:55:54 I don't know what color it is, but it tastes just like raisins. 23:56:19 What part of the horse tastes like raisins? 23:56:41 Please, this is a family channel... 23:57:03 -!- Nshag [user@lns-bzn-43-82-249-151-22.adsl.proxad.net] has quit [Read error: Operation timed out] 23:57:13 "Hore, why a quare excrement but a round fundament?" 23:57:31 "Well go on! Start rueing!"