00:00:11 rudybot: (let ((x 0)) (define (f y) (set! y 2)) (f x) x) 00:00:12 ski: ; Value: 0 00:00:25 note how `x' isn't changed there 00:00:35 leppie [~lolcow@196-215-79-192.dynamic.isadsl.co.za] has joined #scheme 00:00:42 -!- masm [~masm@bl17-192-238.dsl.telepac.pt] has quit [Quit: Leaving.] 00:01:23 klutometis : so it is something different from a normal logic variable i assume, then .. 00:01:43 bfgun : yes 00:02:24 ski, why does this work then?: (begin (define x 0) (begin (set! x 3)) (display x)) 00:03:39 let me tell you what i want to do: consider a DAG where i want to save a value for each node and compute the minimum path to some particular node 00:03:40 because the local `x' here is mutated 00:03:50 cyphase [~cyphase@unaffiliated/cyphase] has joined #scheme 00:04:31 i have one variable for each node (global) and i'll be updating them as i go iterating over them while checking their constraints 00:04:32 if you have `(define (foo x) ..x..)', then each time `foo' is called, `x' will be a *new* variable, independent of whether the actual parameter in the call is a variable 00:05:16 i'm very confused right now, let me post my code and you can see what i want 00:05:35 -!- jonrafkind [~jon@jonr5.dsl.xmission.com] has quit [Ping timeout: 252 seconds] 00:06:48 http://paste.call-cc.org/paste?id=a1df3d72e888cb424a6a2e8d20cf73fe5ec4a5f7 ski 00:07:36 brb 00:09:06 ski: Not necessarily; sorry, I'm embroiled in kanren-jargon ATM. It is probably indistinguishable from a normal logic variable. 00:10:07 *ski* knows very little specifically about Kanren, but knows logic programming a la Prolog,Mercury,Oz relatively well 00:10:22 bfgun : your `T1',&c. appear unbound 00:13:26 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 00:15:43 soveran [~soveran@186.19.214.247] has joined #scheme 00:15:47 -!- leo2007 [~leo@123.123.249.132] has quit [Read error: Connection reset by peer] 00:17:01 i think `(define (caar ndlst) -1)' doesn't do what you think it does 00:17:30 -!- airolson [~airolson@CPE00222d55a738-CM00222d55a735.cpe.net.cable.rogers.com] has quit [] 00:17:36 presumably you meant `(set-car! (car ndlist) -1)' 00:18:02 (or i think `(set! (caar ndlst) -1)' using generalized `set!') 00:19:05 -!- leppie [~lolcow@196-215-79-192.dynamic.isadsl.co.za] has quit [Ping timeout: 260 seconds] 00:22:13 i think your `(nodeinit nodedist)' with `nodeinit' being `(lambda (ndlst) (if (null? ndlst) '() (begin (frob (car ndlst)) (nodeinit (cdr ndlst)))))' would be nicer written as `(for-each frob nodedist)' 00:24:35 leppie [~lolcow@196-210-143-252.dynamic.isadsl.co.za] has joined #scheme 00:27:31 similarly, your `crnode' looks like it wants to be `(lambda (x) (map car x))' 00:28:17 .. and you shouldn't bind `nlist' to `(crnode nodedist)' in the same `letrec' which defines `crnode' 00:29:00 -!- leppie [~lolcow@196-210-143-252.dynamic.isadsl.co.za] has quit [Ping timeout: 260 seconds] 00:33:05 -!- iffsid [~user@ece-214-2.dhcp.ecn.purdue.edu] has quit [Ping timeout: 260 seconds] 00:33:25 leppie [~lolcow@196-215-79-192.dynamic.isadsl.co.za] has joined #scheme 00:34:43 ski, i want to set the variable in the caar to something, not the car of something 00:34:53 ie, i want to get the token TX and set that token to something 00:35:05 i'm not sure it is possible but that's what i want to do and it's not doable with set-car! 00:35:49 i want to make it possible to represent the graph without thinking about order 00:36:54 i don't know what you mean by "set that token to something" 00:37:13 it looked to me like you wanted to mutate the `nodedist' data structure 00:37:23 ok, no, that's not what i want to do 00:37:33 -!- MichaelRaskin [~MichaelRa@3ad50e34.broker.freenet6.net] has quit [Ping timeout: 245 seconds] 00:37:44 i want to see them as global variables. i'll (define (caar lst) -1) to initialize all the tokens to -1 00:37:55 ie, so when i do "T1" it gives me -1 00:37:58 adu, ski: :-) (re Liskell) 00:38:03 but you haven't defined `T1',&c. anywhere 00:38:23 i define them in the function nodeinit 00:38:31 maybe it doesn't make semantic sense but that's what i tried to do 00:38:32 no 00:38:40 how can i do it? 00:38:49 there's no mention of `T1' in the definition of `nodeinit' 00:38:59 i extract it from the list :) 00:39:10 the only place they are named is in `obra' 00:39:17 but they're used/referenced there, not defined 00:39:22 there is no definition of them 00:39:49 see: (define *graph* nodedist nodedep ... 00:39:54 "how can i do it?" -- i'm not sure yet what you want to do, so i can't answer that yet 00:40:05 bfgun : what about it ? 00:40:09 what is obra? 00:40:21 it is just executing graph with two parameters... both lists 00:40:36 you have `(define obra (graph ...))' 00:40:45 tuubow_ [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has joined #scheme 00:40:56 yes, and after i define obra, i define how to interpet (graph ... ) 00:41:06 yes 00:41:19 but nowhere you define `T1', which the definition of `obra' uses 00:41:20 it's not finished code, i showed you how far i've got by now only 00:41:29 no, that's my point 00:41:34 maybe you meant to include a *symbol* `T1' in the definition of `obra' ? 00:41:35 i extract the tokens with the caar 00:41:37 that's what i want 00:42:02 but it still doesn't make sense to "set a symbol to something" 00:42:10 wollw [~davidsher@75-101-85-170.dsl.dynamic.sonic.net] has joined #scheme 00:42:15 it's not a symbol, it is just a unique identifier for the node 00:42:19 you can have a finite map which associates a symbol to something, though 00:42:30 ie, T1 could be any name as long as all "references" to it were the same 00:42:32 which unique identifier is it, if it's not a symbol ? 00:42:47 well, that's partly what symbols are for 00:42:52 wait, before you jump into conclusions i'll tell you exactly what i want to do 00:43:16 (define (graph nodewithdistributions nodedependencies) ...) 00:43:37 graph will simulate a run through said nodes-distributions pairs, with those node dependencies 00:44:08 by that i mean, nodewith... will be a list of pairs (TX . dist) such that (eval dist) will be a positive real number, and TX a token 00:45:10 ok 00:45:15 and nodedep... will be a list of pairs (TX . TY) representing that TX is preceded by TY 00:45:26 it sounds to me as you could use a symbol for "token", so far 00:45:37 -!- tuubow_ [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has quit [Client Quit] 00:45:39 tuubow__ [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has joined #scheme 00:45:47 bipt [~bpt@cpe-071-070-253-241.nc.res.rr.com] has joined #scheme 00:45:59 so the algorithm will try to run all de distributions for the individual times, and then compute the max of all the times. the times for those which have dependencies are the times of those elements plus the max of all the dependencies involved 00:46:33 what do you mean by symbol for "token" ? do you understand what i'm trying to do? 00:46:53 "times" ? 00:47:18 let me give you a simpler example 00:48:25 `(uniform 32 48)' will generate a random number to be associated with your "token" `T1' -- is this number meant to be some kind of time needed for passing through the node ? 00:48:37 (graph (list (T1 . (uniform 0 1)) (T2 . (uniform 3 6))) ()) 00:48:52 so the algorithm sets T1 = -1, T2 = -1 00:49:21 then passes through T1, checks that all dependencies are met (there are none, so they are met), and sets T1 to (eval (cdr ..)) 00:49:44 by setting T1 i mean (set! (car ..) (eval ( cdr .. )) ) 00:49:58 ski, yes 00:50:23 then the algo will pass on T2 and find the same, then it will compute the max of all the things 00:52:21 hm, so you don't want to call `uniform' at the time of constructing the `(list (T1 . (uniform 0 1)) (T2 . (uniform 3 6)))' thing, then ? 00:53:53 do you want to generate random numbers at all here ? 00:54:31 it seems to me you possibly just want to reason about distributions (like keeping track of lower and upper bound) 00:54:45 no... i want to simulate 00:54:49 i want to run this several times 00:54:56 oh, ok 00:55:25 this is not the main algorithm it is just a run, i'll do that several times and then average them out 00:56:20 so, when do you want to generate random numbers ? when constructing the arguments to `graph' ? when calling `graph' ? later ? 00:56:31 i want to set T1 by doing this: (set! (caar ((T1 . (uniform x y))) (eval (cadr ((T1 . (uniform x y)))))) 00:56:49 right now all i want to do is ^ 00:57:17 (actually i'll init them on -1 and do both steps at the same time, ie, computing dependencies and computing total time instead of partial time and then time with dependencies) 00:57:47 well, you can't do *exactly* that (since it's nonsense) -- i'm attempting to figure out what you really want, to try to suggest a way to do it 00:58:07 semantical nonsense you mean? 00:58:43 i could do this with a single vector and using set-vector! but i want to name the variables for clarity 00:59:03 no, Scheme-nonsense 01:00:13 in Scheme, in the form `(set! a b)', `a' should always be a variable name -- `(caar ((T1 . (uniform x y)))' isn't a variable name (it's a list) 01:00:39 samth_ [~samth@c-66-31-201-165.hsd1.ma.comcast.net] has joined #scheme 01:00:46 (with generalized `set!', this is relaxed a bit -- but you appeared to imply you didn't want to mutate the data structure here) 01:00:54 no it is a single element T1 without parenthesis 01:01:03 i want to mutate T1! 01:01:22 (caar ((T1 . sth))) == T1 right? 01:01:27 no 01:01:29 rudybot: eval (caar ((T1 . blah))) 01:01:29 ski: error: #:1:7: application: bad syntax in: (T1 . blah) 01:01:35 rudybot: eval (caar '((T1 . blah))) 01:01:35 ski: ; Value: T1 01:01:40 ????? 01:01:45 is another thing entirely 01:01:48 i know i'm missing the ' but it's in a list 01:02:02 the "'" makes a very big difference 01:02:12 well, that's what i was trying to do!! 01:02:16 rudybot: eval (set! (caar '((T1 . blah))) -1) 01:02:16 ski: error: #:1:6: set!: not an identifier at: (caar (quote ((T1 . blah)))) in: (set! (caar (quote ((T1 . blah)))) -1) 01:02:21 still doesn't work 01:02:56 so how can i do it? 01:02:57 -!- phax [~phax@unaffiliated/phax] has quit [Quit: Leaving] 01:03:03 anyway, i happen to think you want to use "'" here, but not `set!' 01:03:36 i want to have the semantics of set, isn't that possible? 01:03:59 ? 01:04:07 it's like you don't want to fix your code or something 01:04:08 `set!' is for variables 01:04:36 `T1' can't be a variable unless you've defined it (e.g. using `define' or `let') 01:04:54 but i think you probably want to use it as a token instead 01:05:10 wow set is setting 'whatever is pointing to T1' for whatever i set it 01:05:15 i want to use it as a token yes 01:05:17 *ski* is trying to massage bfgun's paste, trying to modify it into something closer to working code 01:06:16 i figured it wouldn't be too much of a problem to have variables named however you wanted 01:06:41 (ie by using those things returned by (c..r ) 01:07:10 well, variables and "tokens" (symbols) are very different 01:08:22 (i'm sorry if it sounds like all i'm trying to do is confuse you or claim you're doing it all wrong -- i'm only attempting to (a) understand what you want; (b) dispell some misunderstandings you appear to have) 01:08:49 (or, and (c) try to suggest working alternatives) 01:11:31 i understand, sorry if i seem upset (i am a bit, but just because i can't understand how to work it out in other simpler way) 01:11:46 is `nodelist' supposed to be the same as `nodedist' ? 01:12:56 yes... i had nodelist but then changed it and just caadr'ed everything (i made a list with just the TX tokens then removed it because it added confusion without any benefit) 01:13:38 -!- pygospa [~Pygosceli@kiel-4dbed886.pool.mediaWays.net] has quit [Ping timeout: 240 seconds] 01:13:57 -!- kniu [~kniu@pool-173-75-156-3.pitbpa.east.verizon.net] has quit [Quit: Leaving] 01:14:05 let's forget a bit about the problem for now. think about this: i give you a pair with a token and a function, quoted. i'll refer to my token in certain parts of the code, how can i do it? 01:14:37 ie, i give you this: '(myfunction . somefunction) and you need to build an identifier with myfunction 01:15:08 -!- leppie [~lolcow@196-215-79-192.dynamic.isadsl.co.za] has quit [Ping timeout: 252 seconds] 01:15:51 pygospa [~Pygosceli@kiel-4d066cc0.pool.mediaWays.net] has joined #scheme 01:16:34 jcowan [~John@cpe-66-108-19-185.nyc.res.rr.com] has joined #scheme 01:17:32 "how can i do it?" -- do *what* with it ? 01:17:51 do you want to get at the function, given the identifier ? 01:19:01 i want to be able to access and set them 01:19:18 ok, sounds like you want some kind of finite map 01:19:36 i give you a couple quoted structures and i will find some places inside said structures, i want to put those 'things' into variables 01:19:40 rudybot: `#hasheq((+ . ,+) (- . ,-) (* . ,*) (/ . ,/)) 01:19:40 cky: ; Value: #hasheq((+ . #) (- . #) (* . #) (/ . #)) 01:19:41 e.g. a simple association-list might work 01:19:53 rudybot: (define funcmap `#hasheq((+ . ,+) (- . ,-) (* . ,*) (/ . ,/))) 01:19:53 cky: Done. 01:20:39 leppie [~lolcow@196-210-143-252.dynamic.isadsl.co.za] has joined #scheme 01:20:39 rudybot: (hash-ref funcmap '+) 01:20:39 cky: ; Value: # 01:22:17 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 01:22:17 -!- bfgun [~b_fin_g@r190-135-31-176.dialup.adsl.anteldata.net.uy] has quit [Read error: Connection reset by peer] 01:22:37 bfig [~b_fin_g@r190-135-4-17.dialup.adsl.anteldata.net.uy] has joined #scheme 01:22:59 cky, is this r5rs stuff 01:23:36 bfig: Not the hash stuff (that's Racket-specific), but you can do it with alists, like ski mentioned. 01:23:40 No, but you can do it in R5RS-land very easily using an association list rather than a hash table. With only four entries, 01:23:48 the a-list probably has better performance. 01:23:54 jcowan++ 01:23:58 *bfig* googles alist 01:24:00 alist is good when N is small. 01:24:05 i don't remember reading about them 01:24:06 hash is better when N is big. 01:24:28 rudybot: (define func-alist `((+ . ,+) (- . ,-) (* . ,*) (/ . ,/))) 01:24:28 cky: Done. 01:24:30 bfig: An alist (association list) is just a list of pairs where the car is the key and the cdr (or sometimes the cadr) is the value. 01:24:40 rudybot: (assq '+ func-alist) 01:24:40 cky: ; Value: (+ . #) 01:24:59 jcowan, ok. can i access the list by using the tokens that i'll extract from other place afterwards? 01:25:10 bfig: See by example. 01:25:13 *See my example 01:25:19 ok, sounds doable :) 01:25:28 *bfig* checks the code again 01:25:41 cky: I never thought to use quasiquote for this kind of list. 01:26:14 Nice. 01:27:04 jcowan: ...I wouldn't think to create an alist any other way. Is there something else people typically do? 01:27:21 i can't use quasiquote though, i need to put the literal function because otherwise i'll get a fixed number always right? 01:27:34 bfig: In Scheme, functions are first-class. 01:27:34 No, it's obviously right, I've just always done it the hard way with list and cons. 01:27:51 cky, but if i put a function which already has its parameters set? 01:27:52 bfig: A fixed number of what? 01:28:01 bfig: You can use cut. :-) 01:28:08 rudybot: (require srfi/26) 01:28:09 cky: Done. 01:28:23 jcowan, i have a function (uniform a b) which gives you a float in U[a,b] -> i need to sample those several times 01:29:08 bfig: What's an example of what you'd put in the map/alist? 01:29:15 soveran [~soveran@186.19.214.247] has joined #scheme 01:29:26 *ski* annotated "montecarlo" with "partial clean-up attempt" at 01:29:26 http://tinyurl.com/bqmmlt7 01:30:01 cky, '(T1 . (uniform 1 4)) 01:30:22 `(T1 . ,(lambda () (uniform 1 4))) 01:30:25 Or, using cut: 01:30:32 `(T1 . (cut uniform 1 4)) 01:30:39 Uh. 01:30:41 `(T1 . ,(cut uniform 1 4)) 01:30:52 what does cut do? 01:31:02 (cut uniform 1 4) == (lambda () (uniform 1 4)) 01:31:12 (cut uniform 1 <>) == (lambda (x) (uniform 1 x)) 01:31:17 bfig : that ^ is still non-working, and partially wrong, but i attempted to keep it close to what your original code was doing -- hopefully there's some ideas you can learn there about using `map',`for-each',`every' 01:31:23 (cut uniform <> <>) == (lambda (x y) (uniform x y)) 01:31:32 bfig: Makes sense? :-) 01:31:39 *ski* would refrain from using `cut', at least for now 01:31:46 ski: Sure thing. 01:31:57 bfig: It's just a shorthand for writing certain simple lambdas. 01:32:12 not really i'll rewrite everything >_>, but i'll try using what you gave me 01:32:17 (better to first get a good basic understanding of the difference between code and data, how to use `lambda', &c.) 01:32:24 ski: Sure. 01:32:35 Okay, just use `(T1 . ,(lambda () (uniform 1 4))) then. 01:33:07 why can't i (eval ...) ? 01:33:19 `eval' is for evaluating code 01:33:33 you should only use `eval' if/when you know why you shouldn't use it 01:33:40 bfig: You can, but ... what ski said. 01:33:44 :-) 01:33:49 what's wrong with this macro: (define-syntax qlist (syntax-rules () ((qlist a . rest) (cons (quote a) (qlist rest))) (qlist . '()) '())) 01:34:02 you need 01:34:13 bfig: What's some example inputs and expected outputs with that? 01:34:17 If you need to deal with a lot of functions by name, that's a case for eval, when you don't want to set up the big a-list. 01:34:20 (ie, instead of a list quoting everything i want to automatically quote things 01:34:39 (qlist (a . b) (c . d)) = (list '(a . b) '(c . d)) 01:34:52 why not just 01:34:59 '((a . b) (c . d)) 01:35:01 then ? 01:35:20 *bfig* feels too dumb today... 01:35:20 (one valid reason not to do that is if you intend to mutate that data structure) 01:35:58 Anyway, if you do want to do it, here's how: 01:35:58 just write (list (cons 'a 'b) (cons 'c 'd)) 01:36:04 rudybot: (define-syntax-rule (qlist thing ...) (list 'thing ...)) 01:36:05 cky: Done. 01:36:12 rudybot: (qlist (a . b) (c . d)) 01:36:12 cky: ; Value: ((a . b) (c . d)) 01:36:32 by quoting you autoquote the ... ? 01:36:55 bfig: (list 'thing ...) is the same as (list (quote thing) ...). 01:37:04 bfig: That means that the ... expands into (quote thing) for each thing. 01:37:04 but the ellipsis i mean 01:37:11 cool 01:38:07 bfig: "..." is a very cool feature of syntax-rules macros. :-) 01:39:42 (define-syntax-rule (something someother) ...) == (define-syntax something (syntax-rules () (something someother) ... ) ? 01:39:54 bfig: Almost. 01:40:39 (define-syntax-rule (foo bar baz ...) expr) => (define-syntax foo (syntax-rules () ((foo bar baz ...) expr))) 01:41:00 bfig: It's a handy Racket shortcut for creating one-clause syntax-rules macros. 01:41:17 cool 01:41:57 It's so handy that Guile 2.0.3+ has adopted that macro too. :-) 01:42:58 Oooh, shiny. 01:43:37 -!- bitonic [~Francesco@93-40-133-15.ip38.fastwebnet.it] has quit [Quit: WeeChat 0.3.5] 01:43:48 bfig : what does `crndtaken' stand for ? 01:44:06 ski, let me refactor all that mess of code and i'll show you 01:44:20 bfig : have you taken a look at my annotation yet ? 01:44:31 i've looked at it, but i'm not sure it's what i want 01:44:55 *ski* is currently trying to rewrite it into something closer to what bfig appears to want 01:45:10 ski, don't worry let me change it 01:45:17 (but i first wanted to get out of the way various non-idiomatic things you did, hence the intermediate paste) 01:45:20 i'll show you whenever i find it acceptable 01:45:40 -!- GoKhlaYeh [~GoKhlaYeh@235.31.80.79.rev.sfr.net] has quit [Ping timeout: 250 seconds] 01:45:56 anyway, what *does* "crnd" stand for ? 01:46:33 -!- Obfuscate [~keii@ip98-176-16-175.sd.sd.cox.net] has quit [Quit: WeeChat 0.3.5] 01:47:36 Obfuscate [~keii@ip98-176-16-175.sd.sd.cox.net] has joined #scheme 01:47:59 is there a fold function? 01:48:11 bfig: In SRFI 1, yes. 01:48:16 and a mapcar? 01:48:20 bfig: It's called map. 01:48:23 yes, in 01:48:28 *bfig* checks srfi1 01:49:13 also, i'm still not sure when exactly you want to call the `uniform' things 01:49:28 i suspect you want to do it (once) at the beginning of `graph' 01:50:47 -!- githogori [~githogori@216.207.36.222] has quit [Ping timeout: 244 seconds] 01:51:12 ski, the idea is that i run obras and it gives me a number for the simulation 01:51:24 i'll run it several times and use those values to compute certain statistics 01:51:41 adu [~ajr@pool-72-83-26-98.washdc.fios.verizon.net] has joined #scheme 01:53:05 well, to run it more than once, you need to run the whole file more than once, or make `obra' into a function 01:53:50 .. or define a separate data-structure first (once) that only specifies the distributions but hasn't sampled them yet -- and then `graph' e.g. could sample them 01:54:34 -!- leppie [~lolcow@196-210-143-252.dynamic.isadsl.co.za] has quit [Ping timeout: 265 seconds] 01:54:46 if you do that, you'd only need to run `graph' several times over the (once created) data structure specifying the graph-with-distributions 01:54:57 OMG reading through old RNRS reports is so fun 01:55:30 bfig : btw, i'm not clear on exactly what `graph' is supposed to return 01:55:31 adu: :-) 01:55:39 ski, i said *don't worry* 01:55:39 is it supposed to return a single cost number ? 01:55:42 i'll take care of everything 01:55:51 no, it is supposed to be a random variable 01:55:53 maybe it's supposed to return a single cost number for each token 01:56:01 no!!! :@!!! 01:56:02 just wondering, did I miss anything from R6RS? http://paste.lisp.org/display/128586 01:56:32 kniu [~kniu@pool-173-75-156-3.pitbpa.east.verizon.net] has joined #scheme 01:57:00 -!- Qworkescence [~quad@unaffiliated/quadrescence] has quit [Quit: Leaving] 01:57:34 *ski* . o O ( What, me worry? ) 01:58:15 awesome, assq works like i wanted :) 01:59:02 bfig: :-) 01:59:14 i just need to figure out the scope thing... what's the usual way to have a variable list accessible from the whole method ? 01:59:17 I just like saying "assq". 01:59:19 bfig: assq is for when the "key" is eq?-comparable, like symbols or booleans. 01:59:22 "Ask You". Ha ha! 01:59:23 offby1: Me too! 01:59:32 offby1: I say it like "ass queue". :-) 01:59:39 cky: what a coincidence. 01:59:47 bfig : define it so that it is in scope where you need it 02:00:11 ok 02:00:18 then i can use set! to change that list? 02:00:23 using e.g. `define' or `let' 02:00:29 leppie [~lolcow@196-215-79-192.dynamic.isadsl.co.za] has joined #scheme 02:00:36 bfig : well, you *can*, but i don't think you'd want to .. 02:00:40 man, eli and I built this nice bot for y'all to eval with ... and y'all ain't playing with it 02:01:07 *rudybot* pouts 02:01:13 rudybot: eval ((call/cc call/cc) (call/cc call/cc)) ; did someone say play? 02:01:14 something like `(set-cdr! (assq token token-costs) new-cost)' would be more appropriate, i think 02:01:23 cky: error: with-limit: out of time 02:01:38 i want yes :p 02:01:39 *bfig* checks how to quickly modify alists 02:01:50 bfig: What ski said. 02:01:56 bfig: set-cdr! for simple stuff. 02:02:04 rudybot: (define token-costs ' ((butter . 24) (milk . 30))) 02:02:05 *offby1: your sandbox is ready 02:02:05 *offby1: Done. 02:02:19 cky: r1rs is a little hard to decipher 02:02:22 rudybot: (set-cdr! (assq 'milk token-costs) 999) 02:02:22 *offby1: error: reference to an identifier before its definition: set-cdr! in module: 'program 02:02:26 oops 02:02:28 adu: I'm sure. 02:02:31 rudybot: init r5rs 02:02:31 *offby1: your r5rs sandbox is ready 02:02:37 rudybot: (define token-costs ' ((butter . 24) (milk . 30))) 02:02:37 *offby1: Done. 02:02:40 rudybot: (set-cdr! (assq 'milk token-costs) 999) 02:02:40 *offby1: Done. 02:02:43 rudybot: token-costs 02:02:44 *offby1: ; Value: {{butter . 24} {milk . 999}} 02:02:47 *offby1* bows 02:02:51 :-D 02:02:54 *ski* claps hands 02:03:00 *offby1* passes a hat 02:03:07 -!- sawgij [~sawjig@gateway/tor-sasl/sawjig] has quit [Ping timeout: 276 seconds] 02:03:12 nice :) 02:03:14 *ski* puts a penny in hat 02:03:15 thanks 02:03:21 Now for my next trick ... 02:03:31 *offby1* turns himself into a ... 02:03:34 -!- offby1 is now known as rabbit` 02:03:37 *rabbit`* glances around nervously. 02:03:43 -!- rabbit` is now known as offby1 02:03:50 nothin' like a concrete example. 02:04:04 *ski* suspects offby1 of impersonating Simon 02:04:38 sawgij [~sawjig@gateway/tor-sasl/sawjig] has joined #scheme 02:04:38 .oO("Simon"?) 02:04:55 *ski* . o O ( Simon the Sorcerer ) 02:06:04 *offby1* stealthily googles 02:06:08 I miss (substring-move-left!) 02:06:11 -!- jcowan [~John@cpe-66-108-19-185.nyc.res.rr.com] has quit [Read error: Connection reset by peer] 02:06:34 these kids and their fantasy computer games 02:06:44 *offby1* misses (do-si-do!) 02:07:09 jcowan [~John@cpe-66-108-19-185.nyc.res.rr.com] has joined #scheme 02:07:23 wb jcowan 02:07:30 ta 02:08:25 jcowan: oh I saw you on the list today 02:08:35 Which list? 02:08:48 Oh, scheme-reports? 02:08:49 Enemies of the STate 02:08:52 um yes 02:09:04 People Who Owe Me Money 02:09:05 the former 02:09:07 I'm not an enemy of state, I just think it needs to be carefully controlled. 02:09:15 the former former 02:09:35 that's what all anarchists say 02:09:36 *ski* thinks the same could be said about Haskellers 02:09:50 uh oh, I'm a Haskeller 02:10:03 I don't think I have enough brains left to become a Haskeller 02:10:11 ("the same" being ".. needs to be carefully controlled") 02:10:17 it does hurt 02:10:31 Anyway, I have no taste for B&D 02:10:42 *ski* is also a Haskeller, but finds Scheme fun too 02:10:45 what's B&D? 02:10:51 Bondage and discipline 02:10:55 ski: oh, I remember you 02:11:07 http://www.catb.org/jargon/html/B/bondage-and-discipline-language.html 02:11:46 anyways 02:11:55 ski: did I tell you I'm writing a scheme? 02:14:25 estevocastro [~estevocas@cpe-74-72-192-178.nyc.res.rr.com] has joined #scheme 02:15:15 adu : you may have 02:15:19 *ski* doesn't recall 02:15:21 https://github.com/andydude/droscheme 02:15:57 so far it has lambdas 02:16:03 that's about it 02:16:13 oh, right, you're the one writing one in Go 02:16:19 lol 02:16:24 wow I'm famous 02:16:25 *ski* vaguely recalls seeing that in scrollback 02:16:54 using "go", huh? Inneresting 02:17:08 I got frustrated with the lack of docs for go ... perhaps it's better now 02:17:22 bfig : is there any annotation coming soon, so that we can attempt to dissect it ? 02:17:36 ski, i'm trying to make things right first :p 02:17:38 wait a second 02:17:50 offby1: the problem isn't lack of docs, it's that they change every week 02:17:52 i'm trying to reconstruct the starting list but i can't do it for some reason 02:18:04 *ski* knows almost nothing about Go 02:18:13 reconstruct, how ? 02:19:23 bfig : do you mean regenerate random numbers from the given distributions ? 02:19:35 -!- kniu [~kniu@pool-173-75-156-3.pitbpa.east.verizon.net] has quit [Quit: Leaving] 02:19:55 no... i just want to build the alist with the pairs (TX . -1) 02:21:40 ski: imagine the Rob Pike redesigning OOP in the image of minimalism and orthogonality, and that's Go 02:21:53 cuz that's what happened 02:21:54 (map (lambda (node) (cons (car node) -1)) nodes-with-distributions) 02:21:58 bfig : ^ ? 02:22:45 adu : is it class-based ? is it statically typed ? 02:22:54 *bfig* 's brain has been thoroughly crushed by the influence of imperative programming lately 02:23:07 i had to read too much c/c++ 02:23:09 ski: statically, strictly typed, most of the time 02:23:13 *ski* thinks bfig needs detox 02:23:22 adu : type inference ? 02:23:26 serious deto 02:23:50 ski: any variable declared as an interface has a typeinfo thingy stored at runtime 02:23:58 realitygrill [~realitygr@adsl-76-226-125-157.dsl.sfldmi.sbcglobal.net] has joined #scheme 02:24:16 ski: other than that, it's static types with type inference 02:24:46 hm, so you don't declare types of parameters, then ? 02:25:18 ski: well, I made a huge interface type called "Any" and all of my scheme-related structs implement that interface 02:25:47 kniu [~kniu@pool-173-75-156-3.pitbpa.east.verizon.net] has joined #scheme 02:26:03 so all of my primitive procedures are of type func(Any)Any 02:26:15 only one argument ? 02:26:26 Pair implements Any 02:26:59 ok, so you implement multiple arguments by passing (scheme) lists ? 02:27:15 so if I need to use it I just do prim(Pair(first, Pair(second, Null()))) 02:27:47 I thought that was normal 02:28:34 i think an alternative would have been to use a vector/array of `Any's 02:28:44 I was considering that 02:28:48 how do you implement `call-with-current-continuation' ? 02:29:15 but then it would have made the (list) primitive really silly, it would in essense, be defined as (vector->list (list->vector ...)) 02:29:52 ski: not yet 02:29:55 why `list->vector', there ? 02:30:10 hm, maybe i first should ask whether you're compiling 02:30:27 that's the underlying computation if all primitives accepted vectors 02:30:35 *jcowan* 's scheme will implement types via sigils; granted there are only a few types 02:30:40 s/scheme/Scheme 02:30:52 jcowan: what's a sigil? 02:30:56 jcowan: How Perlescent of you. :-P 02:31:04 adu: Perl's $foo, @foo, %foo thingies. 02:31:11 Except at the end. 02:31:15 :-O 02:31:22 So ! = void, ? = boolean (as already in Scheme) 02:31:37 sounds incredibly nomenclature related 02:31:40 * = vector of doubles, $ = string, no suffix = double 02:31:55 adu: Well, yes. Convention, not configuration. 02:32:05 That way the code will run in standard Schemes with just a few aliases. 02:32:06 *ski* still pronounces `$' as "string", due to BASIC 02:32:22 so for example string-concat$ is an alias for string-concat 02:32:28 LET HW$ = "Hello world" 02:32:30 :-D 02:33:12 *ski* . o O ( `POKE 53280,0:POKE 53281,0' ) 02:33:24 (set! hw$ "Hello world") 02:33:35 -!- CampinSam [~CampinSam@24-176-98-217.dhcp.jcsn.tn.charter.com] has quit [Quit: leaving] 02:33:40 ski: anyways, go has gotos, if worse comes to worse 02:34:18 it also has unsafe.Pointer, which bypasses the whole type system 02:34:19 adu : yeah, but presumably you can't store a label inside a procedure, and later `goto' it after it has returned 02:34:36 s/inside/pointing inside/ 02:34:45 but you can cast an unsafe.Pointer to *func(Any)Any 02:35:05 what is the significance of `*' there ? 02:35:16 it's like C 02:35:20 only backwards 02:35:33 -!- gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Ping timeout: 252 seconds] 02:35:34 in C it would be Any (*)(Any) 02:35:37 adu: now that I've cloned, how do I build? 02:35:38 *ski* takes adu to mean "only *not* backwards" 02:35:58 offby1: try "go build" if you have the weekly go distro 02:36:02 *nod 02:36:10 I probably don't, but ... 02:36:15 then cd cmd/ds ; go build ; ./ds 02:36:29 it was written with the weekly.golang.org API 02:36:48 ah 02:37:15 so if you install weekly Go, it should be as easy as "go build" 02:37:22 I only have whatever version came from macports 02:37:29 gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 02:37:34 that probably won't work 02:37:58 -!- leppie [~lolcow@196-215-79-192.dynamic.isadsl.co.za] has quit [Ping timeout: 245 seconds] 02:37:58 indeed it doesn't 02:38:07 scombinator [~user@203.171.40.170] has joined #scheme 02:38:34 well, if you're willing to install the weekly go for macosx (they have a binary), then I'll help you through it 02:38:55 this will also help me write the INSTALL file 02:39:22 dnolen [~user@cpe-98-14-92-234.nyc.res.rr.com] has joined #scheme 02:39:48 doin' it 02:40:10 adu : one possibility of implementing `call-with-current-continuation' would be to CPS-transform. another would be to write an interpreter in CPS 02:40:31 I'll think about it 02:40:46 right now I'm more interested in define-syntax 02:40:58 .. and `syntax-rules' ? 02:41:01 *jcowan* 's system doesn't have call/cc, multiple values, or other such 02:41:03 of course 02:41:05 it is a NotQuiteScheme 02:41:20 I want to find a suitable syntax package I can just reuse. 02:41:22 oh, I already have 0 and 2 values implemented 02:42:01 I've decided that that "unspecified" value is the same as (values) 02:42:03 *ski* thinks a Scheme with native support for Shivers' "Multi-Return Function Call" would be interesting 02:42:24 well, go already has multiple returns 02:42:24 Oh yes, good old Fortran multiple returns. 02:42:32 adu: No, that's multiple values. 02:42:41 rudybot: eval (list (values)) 02:42:41 ski: error: context expected 1 value, received 0 values 02:42:42 o, the coroutine kind 02:43:05 afaiu, "unspecified value" have to be exactly one value 02:43:09 adu: http://ix.io/2fx 02:43:19 I can change it 02:43:23 (one could argue that it *ought* to allow any number of values, though) 02:43:26 Not that either. You pass labels as arguments to a subroutine, and then "return n" causes return to the nth label. 02:43:37 offby1: let me push my latest to git 02:43:58 adu : the Shivers' idea is multiple *alternative* returns 02:43:59 leppie [~lolcow@196-210-143-252.dynamic.isadsl.co.za] has joined #scheme 02:44:02 ski: In R5RS/R7RS, yes. In R6RS, you can return any number of values (but nobody does) 02:44:57 well, imo it would be pleasing if e.g. `for-each' and other such side-effecting procedures could return zero values 02:45:31 (why "push a value to the stack" if no value needs to be communicated back) 02:46:30 ski: I implemented a patch to Guile (not merged anywhere) that treats a zero-valued return as a void return when used in a single-valued context. 02:46:55 *ski* isn't sure he likes that 02:46:56 ski: That way, those who care that void is single-valued will still see the right thing, while those who don't care, well.... 02:47:38 (i don't really like any implicit conversions from `m' values to a context expecting `n' values) 02:47:57 The Shivers paper does discuss Fortran. 02:48:08 Guile already does m->1 conversion, CL-style. 02:48:26 where m >= 1. 02:48:28 cky : yeah, i suppose it makes sense in that context 02:48:32 Chicken does too. Chibi, well, multiple values in Chibi are a list with a magic car. 02:48:37 My patch simply makes m = 0 applicable too. 02:50:31 jcowan : `return n' can't be used to passed a return-value to that label though, right ? 02:51:08 -!- turbofail [~user@c-107-3-149-149.hsd1.ca.comcast.net] has quit [Ping timeout: 244 seconds] 02:51:13 jcowan, what does (pair? (values 1 2)) produce in chibi? 02:51:20 (apart from modifying variables already in scope, and modifying by-reference parameters or pointers, if there's any such, i mean) 02:51:20 -!- samth_ is now known as samth 02:52:38 samth: That is clearly erroneous, so, no result can be expected to be sensible. 02:52:50 samth: (Unless you were somehow expecting CL semantics for this.) 02:53:15 cky, i expect error messages in erroneous cases 02:53:22 but i worry that chibi produces #t 02:53:45 samth: Chicken will, with -O4 or higher, gladly segfault if you call car/cdr on non-pairs. :-) 02:54:00 samth: Clearly, in Scheme, non-signalled errors are essentially undefined behaviours. 02:54:23 samth_: it returns #t 02:54:39 And using MVs in single-valued contexts is a non-signalled error. 02:54:41 Which is conformant. 02:54:43 That. 02:55:16 "conformant" is a low bar 02:55:35 i much prefer "useful" 02:55:46 Chibi is useful to the people it's useful to. 02:56:03 truer words were never spoken 02:56:10 And that set is non-null. 02:56:32 They care about space and somewhat about speed, but not about error checking. 02:56:42 Similar with Chicken with -O4+. :-) 02:56:58 i'm sure someone finds xml namespaces useful too ;) 02:57:08 samth: XML namespaces are indeed very useful. 02:57:15 Chibi is intended for the niche of TinyScheme, Elk, and other embedding dialects, but is much faster because it has a bytecode interpreter. 02:57:24 *jcowan* 's day job depends heavily on them. 02:57:31 Ditto. 02:58:01 *samth* goes in search of examples that offend people not currently in-channe 02:58:57 Oh, I think xml namespaces are very offensive; $EMPLOYER just can't do without them, what with 80-odd modules being independently developed. 02:59:20 (possible candidates: perl, csh, internet explorer, adobe air) 02:59:39 I don't know anything about Adobe Air 03:00:05 best to keep it that way, i expect 03:01:05 Sounds plausible. 03:01:15 -!- gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Ping timeout: 260 seconds] 03:02:14 -!- RageOfThou [~RageOfTho@users-55-233.vinet.ba] has quit [Ping timeout: 245 seconds] 03:02:20 I use Perl5 quite often, and am rather fond of it. 03:02:30 Csh I never got into, ditto IE. 03:02:44 gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 03:03:30 *ski* uses `tcsh' out of habit from uni, haven't used it heavily though 03:04:07 Nothing wrong with using (t)csh interactively; it's writing (t)csh scripts that's a Bad Thing. 03:04:11 woonie [~woonie@nusnet-249-154.dynip.nus.edu.sg] has joined #scheme 03:04:16 attila_lendvai [~attila_le@37.99.82.79] has joined #scheme 03:04:16 -!- attila_lendvai [~attila_le@37.99.82.79] has quit [Changing host] 03:04:16 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #scheme 03:04:31 I usually write scripts in /bin/sh and use bash for interaction. 03:05:05 -!- gf3 [~gf3@unaffiliated/gf3] has quit [Excess Flood] 03:05:29 jcowan: I find better portability in compiling a specific version of bash in all my systems than in using sh. 03:05:44 Reasonable. 03:06:31 gf3 [~gf3@unaffiliated/gf3] has joined #scheme 03:07:57 (.. what's better for scripts ? `bash' ? POSIX `sh' ? `zsh' ? `es' ? `rc' ? `scsh' ?) 03:08:23 mhm 03:09:43 -!- futilius [~futilius_@user-0c9h82b.cable.mindspring.com] has quit [Ping timeout: 264 seconds] 03:11:11 There was an effort to port scsh to Guile, but it's dead and rotted. 03:12:11 I believe there is an on-going effort to revive scsh standalone. 03:12:21 Or at least, that's what Twitter led me to believe. 03:13:33 futilius [~futilius_@user-0c9h82b.cable.mindspring.com] has joined #scheme 03:13:42 In what sense standalone? Scsh lives on top of an old rev of Scheme48. 03:13:54 It needs a Scheme of some sort. 03:14:24 I have a deep back burner plan to write a shell that combines rc (the Plan 9 shell) with Lua. 03:15:08 Okay, standalone was probably the wrong word. Without additional porting effort. 03:15:32 (just de-bitrottification) 03:15:39 *ski* vaguely recalls duncanm was attempting to add stuff to Edwin 03:15:48 *jcowan* nods. 03:16:29 Scheme48 isn't the most maintained of Schemes. 03:17:19 *ski* suspects bfig has forgotten about keeping us updated about the latest revisions to her/his graph code 03:17:34 offby1: you there? 03:17:35 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 03:17:53 offby1: see if you can git fetch or git clone again 03:18:37 -!- woonie [~woonie@nusnet-249-154.dynip.nus.edu.sg] has quit [Ping timeout: 244 seconds] 03:18:44 ski, almost done! 03:19:31 woonie [~woonie@nusnet-249-154.dynip.nus.edu.sg] has joined #scheme 03:19:41 -!- woonie [~woonie@nusnet-249-154.dynip.nus.edu.sg] has quit [Read error: Connection reset by peer] 03:22:24 i'm getting unbound variable errors for and and or 03:22:31 i'm using them in folds 03:23:29 Error: unbound variable: or 03:23:30 They aren't functions, so can't be folded over. 03:23:39 what are they? 03:23:54 bfig : probably you want to be using `every' and `any' instead 03:23:55 ahh sure and was a macro right? 03:24:05 and or too... for short circuiting 03:24:12 ight. 03:24:33 what do every and any do? 03:25:01 03:25:04 githogori [~githogori@c-50-131-15-16.hsd1.ca.comcast.net] has joined #scheme 03:25:33 `any' checks whether any element of a list satisfies a given predicate, terminates as soon as it finds one which does 03:25:55 `every' checks whether every element of a list satisfies a given predicate, terminates as soon as it finds one which doesn't 03:26:08 so they are short-circuiting 03:26:57 however, `fold' and `fold-right' aren't short-circuiting, so even if you could pass `and',`or' to them, it wouldn't short-circuit 03:30:13 offby1: hello 03:38:13 I made directions for installing droscheme once you get weeky.go, http://pastebin.com/raw.php?i=NyV7LF6C 03:39:30 adu: Pointer to directions for setting up Go? 03:39:36 no 03:39:46 pointer to directions for trying out my scheme 03:40:06 No, I mean "Can you supply a pointer to directions for setting up Go?" 03:40:12 oh 03:40:13 ok 03:40:42 http://weekly.golang.org/doc/install 03:41:17 -!- tomodo [~tomodo@gateway/tor-sasl/tomodo] has quit [Remote host closed the connection] 03:41:18 for some reason, everyone I talk to in #go-nuts says that this Jan was "so last year" 03:41:35 ski, i'm having trouble compiling but it looks way better now 03:44:26 ski, http://paste.call-cc.org/paste?id=a1df3d72e888cb424a6a2e8d20cf73fe5ec4a5f7#a2 03:44:27 http://tinyurl.com/cclzp6c 03:47:10 adu: Perhaps they are on the old Roman calendar where the year began on March 1, or the pre-Gregorian English calendar, where the year began yesterday. 03:47:25 hehe 03:47:44 I think they just like to hack 03:47:47 Or, sort of. 03:48:55 When the calendar changed in 1752, the civil year was reset to begin at 1 January, but the tax year was left alone. Due to drift, the U.K. tax year now begins on April 6, Gregorian. 03:49:12 jcowan: btw there's been significant activity on scheme48 since the last release. maybe still qualifies for "not the most maintained" but yeah 03:49:24 futilius: Good to hear it 03:49:47 Where is the repo? 03:49:56 jcowan: http://www.s48.org/cgi-bin/hgwebdir.cgi/s48 03:49:58 Oh, nm, I see. 03:50:49 *jcowan* boots Linux and starts a build 03:53:56 fascinating 03:54:32 well if offby1 comes back before I do ^ 03:57:57 bfig : what does the `l' in `ldist' and `ldepd' stand for ? 03:58:24 list of distributions, list of dependencies 03:58:45 dsmith [~dsmith@cpe-184-56-129-232.neo.res.rr.com] has joined #scheme 04:00:58 apteeth` [~user@bl13-133-75.dsl.telepac.pt] has joined #scheme 04:02:33 -!- apteeth [~user@bl13-153-108.dsl.telepac.pt] has quit [Ping timeout: 245 seconds] 04:03:51 -!- forcer [~forcer@hmbg-5f763067.pool.mediaWays.net] has quit [Ping timeout: 246 seconds] 04:05:01 -!- bfig [~b_fin_g@r190-135-4-17.dialup.adsl.anteldata.net.uy] has quit [Ping timeout: 244 seconds] 04:06:04 MichaelRaskin [~MichaelRa@195.178.216.22] has joined #scheme 04:06:22 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 04:07:04 adu: git clone is failing with Permission denied (publickey). 04:07:34 https://andydude@github.com/andydude/droscheme.git maybe? 04:08:09 or git://github.com/andydude/droscheme.git maybe? 04:08:30 I'm new to git, just started using it about 2 weeks ago 04:16:44 *ski* annotated "new and improved montecarlo!" with "more clean-up" at 04:16:45 http://tinyurl.com/cl587rq 04:16:47 bipt ^ 04:16:51 er 04:19:29 -!- leppie [~lolcow@196-210-143-252.dynamic.isadsl.co.za] has quit [Ping timeout: 244 seconds] 04:23:21 -!- estevocastro [~estevocas@cpe-74-72-192-178.nyc.res.rr.com] has quit [Ping timeout: 260 seconds] 04:24:39 leppie [~lolcow@196-215-79-192.dynamic.isadsl.co.za] has joined #scheme 04:24:55 adu: okay, the first version worked 04:24:59 with empty password 04:25:04 cool 04:25:13 go build works, go install fails with "no install location for _/opt/droscheme/src/droscheme" 04:25:27 /opt/droscheme is my $ANYTHING 04:25:30 right, that's a problem with GOPATH/GOROOT 04:25:52 what does echo $GOROOT say? 04:25:59 empty 04:26:04 hmm 04:26:07 that might be why 04:26:15 bfig [~b_fin_g@r186-52-132-54.dialup.adsl.anteldata.net.uy] has joined #scheme 04:26:16 I installed the Linux go binary into /usr/local/go and added /usr/local/go/bin to $PATH 04:26:41 so (export GOROOT=/usr/local/go) 04:26:52 export GOPATH=$GOROOT:$PWD 04:26:53 and (export GOPATH=$GOROOT:/opt/droscheme) 04:26:55 oops 04:26:57 ww 04:27:22 ski connection's failing... the damn wifi card 04:27:36 then cd /opt/droscheme/src 04:27:41 and git clone there 04:27:43 bfig : /msg MemoServ read 1 04:27:53 i'm reading your annotation 04:29:22 bfig : you had forgotten to make `nodes-left?',`need-and-ready',`compute-ready-nodes' into procedures, so i fixed that 04:30:41 adu: 04:30:43 ds> (let ((x 32)) (+ x x)) 04:30:43 ERROR: runtime error: invalid memory address or nil pointer dereference 04:30:56 oh yea, I haven't implemented let yet 04:30:58 in `compute-ready-nodes', the inner `map' tried to go from tokens to nodes, but `(need-and-ready)' already returns a list of nodes, so i removed that `map' 04:31:12 I should have mentioned earlier the only thing I have have working is lambda 04:31:31 and define 04:31:40 *jcowan* nods. 04:31:51 so (define f (lambda (x) (* x x))) should work 04:31:52 I won't add it to my set of test Schemes yet, then. 04:32:03 in `dep-solved?' you had forgotten to do `cdr' outside the `assq' call 04:32:13 jcowan: thank you for trying 04:32:21 Sure. 04:32:24 -!- bfig [~b_fin_g@r186-52-132-54.dialup.adsl.anteldata.net.uy] has quit [Ping timeout: 252 seconds] 04:32:25 maybe in a month 04:32:37 *jcowan* nods. 04:32:45 ski: I often make that mistake 04:33:18 es [~estevocas@cpe-74-72-192-178.nyc.res.rr.com] has joined #scheme 04:33:30 -!- leppie [~lolcow@196-215-79-192.dynamic.isadsl.co.za] has quit [Ping timeout: 252 seconds] 04:33:46 `(sassoc key alist thunk)` is very nice in that respect. 04:34:21 it does an `assoc` and returns the cdr of the pair, if there is one. Otherwise it evaluates ''thunk'' and returns whatever it returns. 04:34:48 Unfortunately the modern line of Lisps doesn't have it, though it was in Lisp 1.5 and Interlisp. 04:35:46 interesting 04:36:30 tom_i [~thomasing@ingserv.demon.co.uk] has joined #scheme 04:37:06 (define (sassoc key alist) (cond ((assoc key alist) => cdr) (else (thunk)))) 04:37:07 i wonder how it would compare to a version which got passed a success procedure as well 04:37:07 I guess 04:37:29 The thunk is not a continuation, just something to supply the default value 04:37:45 well, it's a failure continuation 04:38:02 mmm, yes. 04:38:02 not a primitive continuation, just in the sense of CPS 04:38:05 Yes. 04:38:11 leppie [~lolcow@196-210-179-79.dynamic.isadsl.co.za] has joined #scheme 04:38:14 But it is expected to return a value. 04:38:36 bfig [~b_fin_g@r186-52-140-228.dialup.adsl.anteldata.net.uy] has joined #scheme 04:38:46 yeah 04:39:06 but sometimes one might want to take a different course of action, instead of using a default value 04:39:19 a version with a success continuation could be useful then 04:39:24 FreeArtMan [~fam@213.175.106.134] has joined #scheme 04:39:33 *jcowan* nods. 04:40:01 -!- asdfhjkl [~bob@i5E879AE1.versanet.de] has quit [Quit: Leaving] 04:40:03 but maybe multiple alternative (implicit) continuations would be nicer here 04:41:13 :@!!! 04:42:40 (multi (sfassoc key alist) ((value) ..found..) (() ..not found..)) ; or something 04:42:47 bfig : see end of 04:43:01 -!- adu [~ajr@pool-72-83-26-98.washdc.fios.verizon.net] has quit [Quit: adu] 04:43:19 bfig : i also took the liberty of renaming some variables names to more readable ones 04:43:36 sure, after seeing your paste i went through the code slowly 04:43:37 -!- scombinator [~user@203.171.40.170] has quit [Read error: Connection reset by peer] 04:43:40 put everything in defines insted of lets 04:44:13 yeah, there seemed to be no real need for `letrec' here (no recursion) 04:44:24 i used it to avoid having to reorder the code 04:44:30 :p 04:44:36 hehe, ok 04:45:04 which map did you remove? 04:45:24 the inner one in `compute-ready-nodes' 04:45:33 (the outer one i replaced with `for-each') 04:45:56 but you don't have the nodes you want to set-cdr! to 04:45:59 you have the other nodes 04:46:27 ahh no you're right 04:46:45 well, `need-and-ready' returns a `filter'ed `global-association-list', so it's pairs of tokens and costs 04:47:01 yes 04:47:06 so there's no need for the inner `assq' there 04:47:09 so what about the foreach? 04:47:16 `map' creates a new list 04:47:39 you only wanted to do something (a side-effect) for each element of a list, so `for-each' seemed more appropriate 04:47:42 so it's more efficient 04:47:48 yea 04:48:08 (also `for-each' is guaranteed to do the side-effects in order. `map' wouldn't) 04:48:22 i didn't really mind 04:48:24 (not that that should matter much here) 04:48:44 did you manage to make the code work? :p 04:48:59 ie, output a list of pairs (token . time) ? 04:49:22 in `obra' i also put real procedures into the distribution list, instead of a representation of code 04:49:35 at the same time removing the `eval', replacing it with procedure calls 04:50:01 however, i suspect that you actually want to do these calls earlier than in `compute-ready-nodes!' 04:50:36 (also, there's a `something-here' which should be replaced with code extracting the time needed for the dependencies of the current node) 04:50:53 bfig : i haven't tried running the code at all :) 04:51:32 youlysses [~user@75-132-17-145.dhcp.stls.mo.charter.com] has joined #scheme 04:51:38 (hm, i also pulled out `global-association-list' out of the `while') 04:51:57 -!- gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Ping timeout: 265 seconds] 04:53:48 gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 04:54:46 yes, the max of finding the dep time 04:55:32 oh, i forgot : `obra' should be defined after `graph' (or be changed to be a procedure) 04:56:21 btw, you didn't answer how you want to run this many times .. 04:58:00 bfgun [~b_fin_g@r186-52-164-224.dialup.adsl.anteldata.net.uy] has joined #scheme 04:58:09 -!- bfig [~b_fin_g@r186-52-140-228.dialup.adsl.anteldata.net.uy] has quit [Disconnected by services] 04:58:11 -!- bfgun is now known as bfig 04:58:25 ski, last thing i heard (hm, i also pulled...) 05:01:39 bfig : you can reload , looking at the end 05:03:03 i think i almost have it 05:03:57 ski, i want to run this many times by calling obra several times 05:04:41 ok 05:04:57 ie, (for (i 0 (+ i 1)) (... '(EV, VAR, ..)) let ((obra ...) ) .. ) 05:05:29 bfig : would there be a point to constructing the distribution and dependency specs only once, but generating random values from the distributions, and doing the `graph' computation many times ? 05:05:40 yes 05:05:48 that's what i've been trying to tell you at the beginning :p 05:06:06 i set up the simulation with the markup, then run it many times and extract some interesting metrics 05:06:10 well, i've been trying to ask you that several times, with no answer :) 05:06:11 it's a simple montecarlo method 05:06:21 i tried to answer to the best of my abilities :p 05:06:41 so, then you want to factor out the specs from the monte-carlo stuff 05:06:54 ski, the idea is that i run obras and it gives me a number for the simulation 05:06:55 i'll run it several times and use those values to compute certain statistics 05:07:21 which means that there's a point then to the `(lambda () (uniform ...))' i did there 05:07:23 after i get this to run the simulation differently every time i'll be fine :p 05:07:51 yes. i'd like that to have a bit nicier syntax but that would need macros... maybe i'll do it once this works like this 05:08:06 but you should probably call those procedures at the start of `graph', instead of (repeatedly) during `compute-ready-nodes!' 05:08:39 bfig : yes, but that "run it several times" didn't answer whether you only wanted to run/compute the spec once 05:10:09 an alternative to `(lambda () (uniform lower upper))' would be to just store a pair of `lower' and `upper' -- but then you're fixing the distribution to be `uniform' inside `graph', which might not be that nice 05:10:40 -!- es [~estevocas@cpe-74-72-192-178.nyc.res.rr.com] has quit [Remote host closed the connection] 05:10:53 es [~estevocas@cpe-74-72-192-178.nyc.res.rr.com] has joined #scheme 05:10:56 -!- es [~estevocas@cpe-74-72-192-178.nyc.res.rr.com] has quit [Read error: Connection reset by peer] 05:11:27 bfgun [~b_fin_g@r186-52-190-175.dialup.adsl.anteldata.net.uy] has joined #scheme 05:11:49 anyway, you should probably somewhere at the start of `graph' say something like 05:11:49 ski, yes, the idea was to avoid fixing the distribution 05:11:50 (define list-of-samples (map (lambda (node) (cons (car node) ((cdr node)))) list-of-distributions)) 05:11:58 mmc1 [~michal@178-85-63-71.dynamic.upc.nl] has joined #scheme 05:12:05 and then use `list-of-samples' instead of `list-of-distributions' 05:12:21 -!- bfig [~b_fin_g@r186-52-164-224.dialup.adsl.anteldata.net.uy] has quit [Ping timeout: 248 seconds] 05:12:25 (removing the extra procedure call inside `compute-ready-nodes!') 05:12:37 sure, in fact i'm gonna do that now 05:13:24 next, i would make a spec definition like 05:13:41 (define obra-spec 05:14:00 (cons `((T1 . ,(lambda () ...)) 05:14:07 ...) 05:14:24 `((T2 . (T1)) 05:14:33 ...))) 05:15:00 or maybe `list' instead of `cons' 05:15:30 (then you could `(apply graph obra-spec)' -- alternatively make `graph' accept a single spec-argument) 05:16:02 so then you could easily call `graph' like this many times on the same `obra-spec' 05:16:21 -!- jcowan [~John@cpe-66-108-19-185.nyc.res.rr.com] has left #scheme 05:17:14 -!- kudkudyak [~user@94.72.145.198] has quit [Ping timeout: 245 seconds] 05:17:29 bigfg [~b_fin_g@r186-52-128-3.dialup.adsl.anteldata.net.uy] has joined #scheme 05:18:00 ski, what do you mean by defining a spec? 05:18:16 i mean the two arguments to `graph' 05:18:33 djcb [~user@a88-114-95-13.elisa-laajakaista.fi] has joined #scheme 05:18:33 you agreed above that you want to compute them once, even if you'll be calling `graph' many times 05:18:43 -!- leppie [~lolcow@196-210-179-79.dynamic.isadsl.co.za] has quit [Ping timeout: 264 seconds] 05:18:46 -!- bfgun [~b_fin_g@r186-52-190-175.dialup.adsl.anteldata.net.uy] has quit [Ping timeout: 248 seconds] 05:19:25 (if you don't want / think you need to do that, do tell) 05:19:36 still there? 05:19:47 yes 05:19:50 -!- bigfg [~b_fin_g@r186-52-128-3.dialup.adsl.anteldata.net.uy] has quit [Client Quit] 05:20:03 bigfg [~b_fin_g@r186-52-128-3.dialup.adsl.anteldata.net.uy] has joined #scheme 05:20:07 wb 05:20:26 this is insufferable 05:21:48 i am not sure what causes it... it is probably some malfunction of the wifi card 05:23:21 leppie [~lolcow@196-210-143-252.dynamic.isadsl.co.za] has joined #scheme 05:24:31 bigfg : anyway, i'm about ready to go to bed now .. 05:24:41 ski, thanks for all the help :) 05:24:41 -!- mmc1 [~michal@178-85-63-71.dynamic.upc.nl] has quit [Ping timeout: 246 seconds] 05:24:44 .. any last thing you want some comment on ? 05:24:57 yw :) 05:24:57 no idea :p 05:25:01 ok 05:25:06 i'll try to make this work then go to sleep 05:25:09 it's late here too... 3 am 05:32:42 -!- bigfg [~b_fin_g@r186-52-128-3.dialup.adsl.anteldata.net.uy] has quit [Read error: Connection reset by peer] 05:33:35 -!- dnolen [~user@cpe-98-14-92-234.nyc.res.rr.com] has quit [Remote host closed the connection] 05:37:18 -!- samth [~samth@c-66-31-201-165.hsd1.ma.comcast.net] has quit [Ping timeout: 246 seconds] 05:39:03 -!- bipt [~bpt@cpe-071-070-253-241.nc.res.rr.com] has quit [Ping timeout: 246 seconds] 05:42:11 cdidd [~cdidd@95-25-13-71.broadband.corbina.ru] has joined #scheme 05:51:03 -!- FreeArtMan [~fam@213.175.106.134] has quit [Quit: Out of this 3D] 05:52:43 bipt [~bpt@cpe-071-070-253-241.nc.res.rr.com] has joined #scheme 05:53:06 -!- gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Ping timeout: 252 seconds] 05:53:17 gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 05:53:51 -!- bipt [~bpt@cpe-071-070-253-241.nc.res.rr.com] has quit [Remote host closed the connection] 05:54:43 -!- leppie [~lolcow@196-210-143-252.dynamic.isadsl.co.za] has quit [Ping timeout: 264 seconds] 05:58:16 -!- gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Ping timeout: 250 seconds] 05:59:13 gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 05:59:26 leppie [~lolcow@196-210-179-79.dynamic.isadsl.co.za] has joined #scheme 06:01:27 forcer [~forcer@hmbg-5f7604df.pool.mediaWays.net] has joined #scheme 06:04:27 -!- djcb [~user@a88-114-95-13.elisa-laajakaista.fi] has quit [Read error: Connection reset by peer] 06:14:34 -!- gf3 [~gf3@unaffiliated/gf3] has quit [Excess Flood] 06:15:41 gf3 [~gf3@unaffiliated/gf3] has joined #scheme 06:20:21 bfig [~b_fin_g@r186-52-140-227.dialup.adsl.anteldata.net.uy] has joined #scheme 06:22:21 dotemacs [u801@gateway/web/irccloud.com/x-ulkgpgvfmzuomewi] has joined #scheme 06:23:05 -!- dotemacs [u801@gateway/web/irccloud.com/x-ulkgpgvfmzuomewi] has left #scheme 06:24:39 bfgun [~b_fin_g@r186-52-132-58.dialup.adsl.anteldata.net.uy] has joined #scheme 06:26:43 -!- leppie [~lolcow@196-210-179-79.dynamic.isadsl.co.za] has quit [Ping timeout: 245 seconds] 06:27:17 -!- bfig [~b_fin_g@r186-52-140-227.dialup.adsl.anteldata.net.uy] has quit [Ping timeout: 252 seconds] 06:30:11 gravicappa [~gravicapp@ppp91-77-178-42.pppoe.mtu-net.ru] has joined #scheme 06:31:55 leppie [~lolcow@196-210-143-252.dynamic.isadsl.co.za] has joined #scheme 06:34:52 -!- gf3 [~gf3@unaffiliated/gf3] has quit [Quit: LOLeaving] 06:35:28 gf3 [~gf3@unaffiliated/gf3] has joined #scheme 06:43:27 -!- tuubow__ [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has quit [Ping timeout: 246 seconds] 06:45:56 -!- tom_i [~thomasing@ingserv.demon.co.uk] has quit [Ping timeout: 250 seconds] 06:58:25 realitygrill_ [~realitygr@adsl-69-212-230-24.dsl.sfldmi.sbcglobal.net] has joined #scheme 06:58:26 -!- toekutr [~user@50-0-51-2.dsl.static.sonic.net] has quit [Remote host closed the connection] 07:00:15 -!- realitygrill [~realitygr@adsl-76-226-125-157.dsl.sfldmi.sbcglobal.net] has quit [Ping timeout: 246 seconds] 07:00:17 -!- realitygrill_ is now known as realitygrill 07:07:44 albacker [~eni@gob75-5-82-230-88-217.fbx.proxad.net] has joined #scheme 07:07:52 -!- albacker [~eni@gob75-5-82-230-88-217.fbx.proxad.net] has quit [Changing host] 07:07:52 albacker [~eni@unaffiliated/enyx] has joined #scheme 07:10:33 hkBst [~marijn@gentoo/developer/hkbst] has joined #scheme 07:12:31 -!- wollw [~davidsher@75-101-85-170.dsl.dynamic.sonic.net] has quit [Ping timeout: 276 seconds] 07:16:23 -!- apteeth` [~user@bl13-133-75.dsl.telepac.pt] has left #scheme 07:21:17 attila_lendvai [~attila_le@87.247.56.203] has joined #scheme 07:21:17 -!- attila_lendvai [~attila_le@87.247.56.203] has quit [Changing host] 07:21:17 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #scheme 07:23:18 -!- youlysses is now known as youlysses|ZZZzzz 07:23:26 realitygrill_ [~realitygr@adsl-76-226-121-227.dsl.sfldmi.sbcglobal.net] has joined #scheme 07:24:45 -!- realitygrill [~realitygr@adsl-69-212-230-24.dsl.sfldmi.sbcglobal.net] has quit [Ping timeout: 246 seconds] 07:24:45 -!- realitygrill_ is now known as realitygrill 07:26:26 bas_ [~bas@5352A3FB.cm-6-3c.dynamic.ziggo.nl] has joined #scheme 07:26:26 -!- bas_ is now known as Skola 07:27:01 -!- realitygrill [~realitygr@adsl-76-226-121-227.dsl.sfldmi.sbcglobal.net] has quit [Client Quit] 07:28:13 tuubow [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has joined #scheme 07:30:00 -!- leppie [~lolcow@196-210-143-252.dynamic.isadsl.co.za] has quit [Ping timeout: 265 seconds] 07:34:00 leppie [~lolcow@196-215-35-168.dynamic.isadsl.co.za] has joined #scheme 07:40:42 -!- amoe [~amoe@host-78-147-147-45.as13285.net] has quit [Read error: Operation timed out] 07:41:23 ahinki [~chatzilla@212.99.10.150] has joined #scheme 07:43:47 tom_i [~thomasing@cmc.beaming.biz] has joined #scheme 07:45:34 amoe [~amoe@host-78-147-174-118.as13285.net] has joined #scheme 07:58:08 -!- jhemann__ [~Jason@99.186.239.106] has quit [Ping timeout: 252 seconds] 07:59:10 -!- leppie [~lolcow@196-215-35-168.dynamic.isadsl.co.za] has quit [Ping timeout: 244 seconds] 08:00:48 -!- ijp [~user@host109-151-55-194.range109-151.btcentralplus.com] has quit [Ping timeout: 246 seconds] 08:01:20 -!- MichaelRaskin [~MichaelRa@195.178.216.22] has quit [Read error: Connection reset by peer] 08:03:50 leppie [~lolcow@196-210-148-48.dynamic.isadsl.co.za] has joined #scheme 08:06:45 -!- gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Ping timeout: 248 seconds] 08:07:00 gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 08:07:48 -!- albacker [~eni@unaffiliated/enyx] has quit [Remote host closed the connection] 08:14:04 xwl_ [user@nat/nokia/x-mxlcgqrpyiorralk] has joined #scheme 08:16:28 jhemann [~Jason@c-76-16-248-101.hsd1.in.comcast.net] has joined #scheme 08:20:24 -!- copumpkin [~copumpkin@unaffiliated/copumpkin] has quit [Remote host closed the connection] 08:20:33 copumpkin [~copumpkin@unaffiliated/copumpkin] has joined #scheme 08:32:58 -!- leppie [~lolcow@196-210-148-48.dynamic.isadsl.co.za] has quit [Ping timeout: 245 seconds] 08:33:02 ski, i finally made it work... but it won't recompute, i have to redefine each time :( 08:34:06 MrFahrenheit [~RageOfTho@users-55-233.vinet.ba] has joined #scheme 08:37:36 leppie [~lolcow@196-215-79-218.dynamic.isadsl.co.za] has joined #scheme 08:40:03 ijp [~user@host109-151-55-194.range109-151.btcentralplus.com] has joined #scheme 08:50:38 I love how Chibi's representation of MV bothers people. I could just as easily define a new disjoint type, but it wouldn't gain you anything. 08:55:08 youlysse` [~user@75-132-17-145.dhcp.stls.mo.charter.com] has joined #scheme 08:55:33 -!- youlysses|ZZZzzz [~user@75-132-17-145.dhcp.stls.mo.charter.com] has quit [Remote host closed the connection] 08:56:43 how do i test time differences in chicken? 09:01:43 take a timestamp and then another one and substract? 09:02:13 yeah i was just wondering if there was an egg for it :p. i'm looking at srfi-19 09:02:14 bfgun: there is also the time form http://api.call-cc.org/doc/chicken/special-forms/time 09:02:39 i just want to measure the time a process takes 09:03:14 bfgun: use (current-milliseconds) 09:03:21 cool 09:03:45 srfi-19 is way too much for that I think 09:12:39 -!- gravicappa [~gravicapp@ppp91-77-178-42.pppoe.mtu-net.ru] has quit [Ping timeout: 245 seconds] 09:13:45 dzhus [~sphinx@176.14.94.92] has joined #scheme 09:14:16 -!- hkBst [~marijn@gentoo/developer/hkbst] has quit [Read error: Connection reset by peer] 09:14:29 hkBst [~marijn@79.170.210.172] has joined #scheme 09:14:29 -!- hkBst [~marijn@79.170.210.172] has quit [Changing host] 09:14:29 hkBst [~marijn@gentoo/developer/hkbst] has joined #scheme 09:26:08 C-Keen, worked perfectly, thanks! 09:26:15 how do i leave memos_ 09:28:22 gravicappa [~gravicapp@ppp91-77-169-157.pppoe.mtu-net.ru] has joined #scheme 09:29:04 -!- bfgun is now known as bfig 09:30:19 -!- Intensity [XBqzWttSqK@unaffiliated/intensity] has quit [Ping timeout: 276 seconds] 09:34:00 -!- xwl_ [user@nat/nokia/x-mxlcgqrpyiorralk] has left #scheme 09:40:19 wingo [~wingo@90.164.198.39] has joined #scheme 09:41:28 bfig: you are welcome! Have fun with chicken and scheme! 09:41:34 oops 09:41:40 bfig: sorry :) 09:49:38 -!- hkBst [~marijn@gentoo/developer/hkbst] has quit [Ping timeout: 246 seconds] 09:50:04 hkBst [~marijn@gentoo/developer/hkbst] has joined #scheme 09:56:31 -!- leppie [~lolcow@196-215-79-218.dynamic.isadsl.co.za] has quit [Ping timeout: 264 seconds] 10:00:32 leppie [~lolcow@196-215-79-183.dynamic.isadsl.co.za] has joined #scheme 10:01:45 -!- homie` [~levgue@xdsl-78-35-168-199.netcologne.de] has quit [Remote host closed the connection] 10:03:06 Intensity [4c1eFHrfL0@unaffiliated/intensity] has joined #scheme 10:03:25 homie` [~levgue@xdsl-78-35-168-199.netcologne.de] has joined #scheme 10:06:13 whh [~wh@112.91.81.82] has joined #scheme 10:14:52 -!- whh [~wh@112.91.81.82] has quit [Quit: Ex-Chat] 10:22:14 -!- MrFahrenheit [~RageOfTho@users-55-233.vinet.ba] has quit [Ping timeout: 245 seconds] 10:32:04 masm [~masm@bl17-207-200.dsl.telepac.pt] has joined #scheme 10:33:55 ijp` [~user@host109-150-133-77.range109-150.btcentralplus.com] has joined #scheme 10:36:36 ijp`` [~user@host86-161-100-14.range86-161.btcentralplus.com] has joined #scheme 10:36:46 -!- ijp`` [~user@host86-161-100-14.range86-161.btcentralplus.com] has quit [Remote host closed the connection] 10:36:50 -!- ijp [~user@host109-151-55-194.range109-151.btcentralplus.com] has quit [Ping timeout: 260 seconds] 10:38:18 -!- ijp` [~user@host109-150-133-77.range109-150.btcentralplus.com] has quit [Ping timeout: 246 seconds] 10:40:28 -!- Skola [~bas@5352A3FB.cm-6-3c.dynamic.ziggo.nl] has quit [Ping timeout: 245 seconds] 10:41:46 bitonic [~Francesco@93-40-81-157.ip37.fastwebnet.it] has joined #scheme 10:43:53 -!- jhemann [~Jason@c-76-16-248-101.hsd1.in.comcast.net] has quit [Ping timeout: 246 seconds] 10:52:18 -!- tuubow [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has quit [Ping timeout: 246 seconds] 11:02:02 soveran [~soveran@186.19.214.247] has joined #scheme 11:15:21 LeoNerd [~leo@cel.leonerd.org.uk] has joined #scheme 11:18:20 dous [~dous@unaffiliated/dous] has joined #scheme 11:18:32 -!- dous [~dous@unaffiliated/dous] has quit [Remote host closed the connection] 11:18:39 dous [~dous@unaffiliated/dous] has joined #scheme 11:22:23 01:26:29 -- bas_ is now known as Skola 11:22:36 ijp [~user@host86-161-100-14.range86-161.btcentralplus.com] has joined #scheme 11:29:49 -!- sharkbird [~sharkbird@67-220-6-139.usiwireless.com] has quit [Read error: Connection reset by peer] 11:30:20 add^_ [~add^_^@m212-152-11-21.cust.tele2.se] has joined #scheme 11:30:32 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 11:30:53 sharkbird [~sharkbird@67-220-6-139.usiwireless.com] has joined #scheme 11:32:20 homie`` [~levgue@xdsl-78-35-168-199.netcologne.de] has joined #scheme 11:34:46 -!- homie` [~levgue@xdsl-78-35-168-199.netcologne.de] has quit [Ping timeout: 248 seconds] 11:44:51 -!- sharkbird [~sharkbird@67-220-6-139.usiwireless.com] has quit [Read error: Connection reset by peer] 11:45:03 samth [~samth@c-66-31-201-165.hsd1.ma.comcast.net] has joined #scheme 11:49:20 pchrist [~spirit@gentoo/developer/pchrist] has joined #scheme 11:52:31 bas_ [~bas@89.184.179.185] has joined #scheme 11:53:57 sstrickl [~sstrickl@dublin.ccs.neu.edu] has joined #scheme 11:54:49 -!- bas_ is now known as Skola 11:54:51 -!- sstrickl [~sstrickl@dublin.ccs.neu.edu] has quit [Client Quit] 11:55:04 sstrickl [~sstrickl@dublin.ccs.neu.edu] has joined #scheme 12:02:09 sharkbird [~sharkbird@67-220-6-139.usiwireless.com] has joined #scheme 12:02:40 jao [~user@pdpc/supporter/professional/jao] has joined #scheme 12:04:10 -!- leppie [~lolcow@196-215-79-183.dynamic.isadsl.co.za] has quit [Ping timeout: 260 seconds] 12:08:20 leppie [~lolcow@196-210-179-93.dynamic.isadsl.co.za] has joined #scheme 12:22:11 -!- jao [~user@pdpc/supporter/professional/jao] has quit [Ping timeout: 250 seconds] 12:26:33 -!- add^_ [~add^_^@m212-152-11-21.cust.tele2.se] has quit [Read error: Operation timed out] 12:28:25 add^_ [~add^_^@m212-152-11-21.cust.tele2.se] has joined #scheme 12:30:42 -!- jrslepak [~jrslepak@c-71-233-148-123.hsd1.ma.comcast.net] has quit [Quit: This computer has gone to sleep] 12:48:48 -!- add^_ [~add^_^@m212-152-11-21.cust.tele2.se] has quit [Quit: add^_] 12:50:07 noam_ [~noam@213.57.83.2] has joined #scheme 12:50:38 -!- noam_ [~noam@213.57.83.2] has quit [Read error: Connection reset by peer] 12:50:53 noam_ [~noam@213.57.83.2] has joined #scheme 12:52:13 -!- noam [~noam@213.57.83.2] has quit [Read error: Connection reset by peer] 12:56:13 jao [~user@pdpc/supporter/professional/jao] has joined #scheme 12:56:15 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Ping timeout: 260 seconds] 12:57:01 -!- DerGuteMoritz [~syn@85.88.17.198] has quit [Ping timeout: 276 seconds] 12:59:01 -!- homie`` [~levgue@xdsl-78-35-168-199.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 12:59:06 araujo [~araujo@gentoo/developer/araujo] has joined #scheme 12:59:30 cswords_ [~cswords@c-98-223-234-80.hsd1.in.comcast.net] has joined #scheme 13:00:16 DerGuteMoritz [~syn@85.88.17.198] has joined #scheme 13:02:11 homie [~levgue@xdsl-78-35-168-199.netcologne.de] has joined #scheme 13:02:51 -!- cswords [~cswords@c-98-223-234-80.hsd1.in.comcast.net] has quit [Ping timeout: 246 seconds] 13:03:52 -!- confab [~confab@c-71-193-9-153.hsd1.ca.comcast.net] has quit [Quit: Lost terminal] 13:05:11 -!- DerGuteMoritz [~syn@85.88.17.198] has quit [Remote host closed the connection] 13:07:38 -!- leppie [~lolcow@196-210-179-93.dynamic.isadsl.co.za] has quit [Ping timeout: 240 seconds] 13:08:02 DerGuteMoritz [~syn@85.88.17.198] has joined #scheme 13:11:20 -!- sharkbird [~sharkbird@67-220-6-139.usiwireless.com] has quit [Read error: Connection reset by peer] 13:11:30 sharkbird [~sharkbird@67-220-6-139.usiwireless.com] has joined #scheme 13:12:07 -!- sharkbird [~sharkbird@67-220-6-139.usiwireless.com] has quit [Read error: Connection reset by peer] 13:13:02 sharkbird [~sharkbird@67-220-6-139.usiwireless.com] has joined #scheme 13:13:10 leppie [~lolcow@196-210-179-93.dynamic.isadsl.co.za] has joined #scheme 13:15:44 tuubow [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has joined #scheme 13:18:57 -!- ijp [~user@host86-161-100-14.range86-161.btcentralplus.com] has quit [Ping timeout: 246 seconds] 13:25:53 -!- leppie [~lolcow@196-210-179-93.dynamic.isadsl.co.za] has quit [Ping timeout: 245 seconds] 13:30:34 leppie [~lolcow@196-210-179-89.dynamic.isadsl.co.za] has joined #scheme 13:32:57 -!- samth [~samth@c-66-31-201-165.hsd1.ma.comcast.net] has quit [Ping timeout: 246 seconds] 13:41:44 -!- copumpkin [~copumpkin@unaffiliated/copumpkin] has quit [Quit: Computer has gone to sleep.] 13:42:07 -!- jao [~user@pdpc/supporter/professional/jao] has quit [Ping timeout: 264 seconds] 13:45:39 -!- cdidd [~cdidd@95-25-13-71.broadband.corbina.ru] has quit [Remote host closed the connection] 13:48:11 Fare [~Fare@173-9-65-97-NewEngland.hfc.comcastbusiness.net] has joined #scheme 13:48:18 cdidd [~cdidd@176.14.114.194] has joined #scheme 13:50:19 jrslepak [~jrslepak@129.10.229.174] has joined #scheme 13:53:40 tcleval [~funnyguy@187.114.135.13] has joined #scheme 13:53:57 is there anything like sprintf for scheme? 13:55:15 tcleval: some implementations provide it or `format'. 13:55:35 mario-goulart: format from srfi 28? 13:55:47 http://srfi.schemers.org/srfi-28/srfi-28.html 13:56:01 tcleval: yes 13:56:06 Nowhere near as powerful as sprintf though 13:58:06 LeoNerd: I just need to form specific gnuplot commands so I can send them over a pipe 14:01:51 tcleval: you can write commands as sexprs and have a `command->string' procedure to convert them to strings. 14:02:39 Something line (command->string `(plot something output ,a-file)) 14:03:56 copumpkin [~copumpkin@unaffiliated/copumpkin] has joined #scheme 14:04:19 s/line/like/ 14:06:09 humm.. mario-goulart I see, so I could use quasiquote (if that is the name) 14:06:21 clever 14:06:50 Yeah. It's probably faster than sprintf. 14:07:24 sure 14:08:53 faster 14:09:10 slib has a printf that you can rip out and use 14:09:28 but your implementation probably has something already 14:09:32 -!- dostoyevsky [sck@oemcomputer.oerks.de] has quit [Ping timeout: 252 seconds] 14:09:49 wingo: neee, gambit-c is just the bare metal 14:10:27 gambit-c probably has something :) 14:10:45 tcleval: command->string could be something like 14:10:45 (define (command->string cmd) 14:10:45 (string-concatenate (intersperse (map ->string cmd) " "))) 14:11:04 (assuming you have `something like `->string') 14:11:05 mario-goulart: do you know if scheme provides a way to create temporary files, I kinda need them write my raw image files somewhere so gnuplot can find them 14:11:13 And srfi-1 and srfi-13 14:11:27 tcleval: it depends on implementation. 14:13:34 realitygrill [~realitygr@adsl-76-226-121-227.dsl.sfldmi.sbcglobal.net] has joined #scheme 14:14:18 I suppose gambit has those things (I may be wrong though). 14:15:23 X-Scale [name@2001:470:1f14:135b::2] has joined #scheme 14:16:30 (let ((tempfile (with-input-from-process "mktemp" read-line))) .... Linux specific, but I need linux only anyway 14:19:51 -!- tuubow [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has quit [Ping timeout: 246 seconds] 14:20:17 gcartier [~gcartier@modemcable026.84-70-69.static.videotron.ca] has joined #scheme 14:22:30 -!- samth_away is now known as samth 14:23:09 foof: your claim that "it wouldn't gain you anything" is precisely what i disagree with 14:26:58 jhemann [~Jason@140-182-150-16.dhcp-bl.indiana.edu] has joined #scheme 14:31:22 stis [~stis@1-1-1-39a.veo.vs.bostream.se] has joined #scheme 14:32:14 wollw [~davidsher@75-101-85-170.dsl.dynamic.sonic.net] has joined #scheme 14:36:32 samth_ [~samth@nomad.ccs.neu.edu] has joined #scheme 14:37:41 samth: it's an error to capture MVs anyway, all you would get is better error reporting, and chibi doesn't make much effort to be friendly on that front 14:44:58 -!- ahinki [~chatzilla@212.99.10.150] has quit [Quit: ChatZilla 0.9.88.1 [Firefox 12.0/20120321033733]] 14:45:15 foof, the phrase "all you would get is better error reporting" captures exactly what I disagree with 14:46:15 compare: "all you would get is better performance", "all you would get is more correctness", "all you would get is better documentation" 14:46:50 context? 14:47:19 wingo, in chibi (list? (values 1 2)) => #t 14:48:43 ah :) 14:49:20 do you ever think we messed up with having multiple values and multiple arguments? 14:49:34 instead of always passing and returning tuples 14:49:39 at least at some logical level 14:49:49 obviously you need efficiency hacks... 14:50:13 dunno :) 14:50:43 Scheme has the same awkwardness with call vs. return args, that most languages have. Allow many arguments in, take one value out 14:50:52 I find Perl quite nice here, because all Perl functions take /and return/ lists 14:51:00 wingo, i think you need to revamp a bunch of things to make that work 14:51:09 LeoNerd: you have no idea what you are talking about, sorry :) 14:51:25 wingo: Without the awkwardness of 'values' I mean 14:51:36 And call-with-values 14:52:11 wingo, for example, the haskell/ml point in the design space is nice, but it gives up apply, varargs, etc 14:52:23 -!- wollw [~davidsher@75-101-85-170.dsl.dynamic.sonic.net] has quit [Quit: Lost terminal] 14:52:37 mario-goulart: http://paste.lisp.org/display/128593 this worked 14:52:43 tomodo [~tomodo@gateway/tor-sasl/tomodo] has joined #scheme 14:52:54 samth: indeed. ah well, something for the idle hours. 14:55:08 tcleval: looks a bit ugly, but if it works for you, that's what matters. :-) 14:55:18 wollw [~davidsher@75-101-85-170.dsl.dynamic.sonic.net] has joined #scheme 14:55:22 (you don't need a `begin' in `lambda') 14:57:10 samth, foof: what does chibi do for (values 1 (values 2 3) 4) ? 14:58:02 leppie: what does ironscheme do? 14:58:47 ironscheme (also using a container for m/v) does check that none of the arguments are a m/v container 14:59:23 but does not check for m/v containers any else really 14:59:58 you can pretty much pass it to a 'single-value' context and use it as a first class value 15:00:19 how can I have " inside a quasiquote? 15:00:20 i suspect chibi does the same 15:01:24 -!- Skola [~bas@89.184.179.185] has quit [Ping timeout: 245 seconds] 15:01:24 and a few other checks like applying the expected number of arguments in call-with-values 15:02:30 tcleval: you mean something like `(#\") ? 15:03:21 rudybot: (let-values ((a (values 1 2))) a) 15:03:21 leppie: your sandbox is ready 15:03:21 leppie: error: #:1:14: let-values: bad syntax at: a in: (let-values ((a (values 1 2))) a) 15:03:36 mario-goulart: yes 15:04:01 that should not work in ironscheme, but due to a 'tiny' bug it returns a list 15:04:02 oneirophren [oneirophre@91.196.91.40] has joined #scheme 15:04:06 -!- realitygrill [~realitygr@adsl-76-226-121-227.dsl.sfldmi.sbcglobal.net] has quit [Quit: realitygrill] 15:04:41 rudybot: (let-values (((a) (values 1 2))) a) 15:04:41 leppie: error: context expected 1 value, received 2 values: 1 2 15:05:21 guile's evaluates to 1 in that case 15:05:41 sloppy but i like it that way ;-) 15:05:48 mine is still affected by a bug it seems, it returns the m/v container... 15:06:26 ssbr_ [~ssbr@python/site-packages/ssbr] has joined #scheme 15:06:29 -!- jhemann [~Jason@140-182-150-16.dhcp-bl.indiana.edu] has quit [Ping timeout: 248 seconds] 15:06:37 rudybot: (let-values (((a . b) (values 1 2))) b) 15:06:37 leppie: error: #:1:14: let-values: bad syntax at: (a . b) in: (let-values (((a . b) (values 1 2))) b) 15:07:07 leo2007 [~leo@222.130.128.88] has joined #scheme 15:10:15 kk` [~kk@unaffiliated/kk/x-5380134] has joined #scheme 15:11:18 rudybot: (let-values (((a b) (values 1 2))) b) 15:11:19 pjb: your sandbox is ready 15:11:19 pjb: ; Value: 2 15:11:28 rudybot: (let-values (((a b c) (values 1 2 3))) b) 15:11:28 pjb: ; Value: 2 15:12:23 djcb [~user@a88-114-95-13.elisa-laajakaista.fi] has joined #scheme 15:18:20 -!- sstrickl [~sstrickl@dublin.ccs.neu.edu] has quit [Quit: sstrickl] 15:20:49 -!- wollw [~davidsher@75-101-85-170.dsl.dynamic.sonic.net] has quit [Ping timeout: 244 seconds] 15:31:26 -!- jrslepak [~jrslepak@129.10.229.174] has quit [Quit: This computer has gone to sleep] 15:32:26 chupish [~chupish@ool-182c5af4.dyn.optonline.net] has joined #scheme 15:33:20 -!- asumu [~at@2001:470:b:b7:1e6f:65ff:fe23:c3d4] has quit [Quit: leaving] 15:34:06 asumu [~at@2001:470:b:b7:1e6f:65ff:fe23:c3d4] has joined #scheme 15:35:05 dnolen [aa95640a@gateway/web/freenode/ip.170.149.100.10] has joined #scheme 15:47:19 -!- samth_ [~samth@nomad.ccs.neu.edu] has quit [Ping timeout: 276 seconds] 15:48:28 samth_ [~samth@nomad.ccs.neu.edu] has joined #scheme 15:58:16 tuubow [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has joined #scheme 16:01:09 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 16:03:22 soveran [~soveran@186.19.214.247] has joined #scheme 16:04:08 ijp [~user@host86-162-111-198.range86-162.btcentralplus.com] has joined #scheme 16:06:48 -!- leppie [~lolcow@196-210-179-89.dynamic.isadsl.co.za] has quit [Ping timeout: 244 seconds] 16:09:02 -!- karswell [~coat@93-97-29-243.zone5.bethere.co.uk] has quit [Remote host closed the connection] 16:11:56 leppie [~lolcow@196-215-35-201.dynamic.isadsl.co.za] has joined #scheme 16:15:49 estevocastro [~estevocas@38.117.156.148] has joined #scheme 16:20:08 karswell [~coat@93-97-29-243.zone5.bethere.co.uk] has joined #scheme 16:20:40 -!- youlysse` is now known as youlysses 16:20:43 mario-goulart: actually I would like a to expand in `(plot ",a") 16:20:56 I mean a been substitured inside "" 16:22:08 -a- is a namber defined elsewhere 16:22:18 s/namber/number/ 16:24:07 -!- tom_i [~thomasing@cmc.beaming.biz] has quit [Ping timeout: 264 seconds] 16:26:30 -!- leppie [~lolcow@196-215-35-201.dynamic.isadsl.co.za] has quit [Ping timeout: 265 seconds] 16:27:26 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 16:27:30 tcleval: you can use something like 16:27:31 (define (str thing) 16:27:31 (string-append "\"" (object->string thing) "\"")) 16:27:38 for strings. 16:27:49 So you'd use 16:27:50 (command->string `(plot ,(str 2))) 16:28:02 For example. 16:28:04 I see 16:28:26 thx 16:29:19 (string-append "\"" (object->string thing) "\"")) 16:29:37 `(plot ",a") == (list 'plot (object->string a)) 16:29:45 `(plot ",a") == `(plot ,(object->string a)) 16:30:29 leppie [~lolcow@196-215-35-201.dynamic.isadsl.co.za] has joined #scheme 16:33:07 ssbr__ [~ssbr@python/site-packages/ssbr] has joined #scheme 16:33:12 -!- leo2007 [~leo@222.130.128.88] has quit [Ping timeout: 246 seconds] 16:34:44 -!- ssbr_ [~ssbr@python/site-packages/ssbr] has quit [Ping timeout: 252 seconds] 16:35:16 pjb: I suppose tcleval wants to print the double quotes. 16:35:21 yes 16:36:17 (list 'plot (object->string a)) this print the double quotes 16:38:27 -!- ijp [~user@host86-162-111-198.range86-162.btcentralplus.com] has quit [Ping timeout: 246 seconds] 16:38:45 Yeah, but not if you `display' it, for example (I suppose you'll have to do that to print it to a file). 16:39:33 -!- samth_ [~samth@nomad.ccs.neu.edu] has quit [Ping timeout: 250 seconds] 16:39:50 display is greatly insufficient. (format t "~S" `(plot ,(object->string a))). 16:40:33 At least it is standard. :-) 16:41:06 Isn't there a format in some SRFI? 16:41:16 Yes, srfi-28. 16:41:18 (display (list 'plot '#\" a '#\")) 16:41:26 this is more or less what I want 16:41:40 unless a contains double-quotes 16:41:51 I better use format 16:41:58 adu [~ajr@pool-72-83-26-98.washdc.fios.verizon.net] has joined #scheme 16:42:04 rudybot: (display (list 'plot '#\" 'a\"b '#\")) 16:42:05 pjb: ; stdout: "(plot \" a\"b \")" 16:42:09 jhemann_ [Jason@140-182-144-225.dhcp-bl.indiana.edu] has joined #scheme 16:42:30 rudybot: (display (list 'plot (object->string 'a\"b))) 16:42:30 pjb: error: reference to an identifier before its definition: object->string in module: 'program 16:42:30 -!- hkBst [~marijn@gentoo/developer/hkbst] has quit [Quit: Konversation terminated!] 16:42:38 I was assuming `a' would be a number. 16:44:42 (define object->string (curry format "~a")) 16:45:22 with format it works flawlossly 16:45:49 So you have format after all? 16:46:08 -!- chupish [~chupish@ool-182c5af4.dyn.optonline.net] has quit [Quit: be back later] 16:47:01 mario-goulart: do. I was just tring to do other way so I could learn more about quote, unquote, quasiquote. You have to excuse me coz I came from a world of strings and now I am on a world of lists :-) 16:47:20 Ah, ok. 16:48:31 mario-goulart: tcl is string oriented, and Scheme is list oriented if I can say so. So the way I have to think about displaying texts changes a lot 16:49:00 Indeed. 16:49:14 -!- leppie [~lolcow@196-215-35-201.dynamic.isadsl.co.za] has quit [Ping timeout: 260 seconds] 16:49:20 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Read error: Operation timed out] 16:50:29 -!- oneirophren [oneirophre@91.196.91.40] has left #scheme 16:50:32 ykm [~yash@180.148.60.137] has joined #scheme 16:50:37 preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #scheme 16:51:46 -!- ykm [~yash@180.148.60.137] has left #scheme 16:52:30 -!- hypnocat [~hypnocat@unaffiliated/hypnocat] has quit [Quit: ZNC - http://znc.sourceforge.net] 16:53:31 leppie [~lolcow@196-210-179-89.dynamic.isadsl.co.za] has joined #scheme 16:54:56 I wouldn't say Scheme is "list oriented". 16:55:00 -!- estevocastro [~estevocas@38.117.156.148] has quit [Remote host closed the connection] 16:55:12 estevocastro [~estevocas@38.117.156.148] has joined #scheme 16:55:30 if I understand correctly, in tcl all you have are strings. But in Scheme, you have lists, strings, numbers, vectors, hash tables (depending on the implementation), structs, objects ... 16:56:34 Oh my 16:58:19 -!- jhemann_ [Jason@140-182-144-225.dhcp-bl.indiana.edu] has quit [Ping timeout: 264 seconds] 16:58:29 I didnt mean to start a war. What I was trying to say is that I can handle strings better in TCL and lists better in Scheme. 16:59:22 -!- youlysses [~user@75-132-17-145.dhcp.stls.mo.charter.com] has quit [Ping timeout: 265 seconds] 17:00:58 now, that doesn't surprise me 17:02:24 if tcl is indeed as "stringy" as I think, then it'd be natural for it to have a wonderfully extensive library for strings -- just ask scheme does indeed have an extensive library for lists. (Scheme has other datatypes besides lists, as I said above; but historically, Lisp has been about lists, so it has lots of list-related functions) 17:02:54 offby1: I am new to Lisp, so things that I used to do in TCL in a few minutes takes me a lot of time on Lisp, that is the price I pay for learning a new language. But I am liking the taste of it. Once I write code, I can see I could do better than I do another way and I see that my code becomes smaller and faster. 17:03:42 offby1: yes I read a lot about Lisp history, and I agree 100%. 17:04:19 offby1: besides I am already using u8vectors and other data structures on my project 17:05:31 -!- bfig [~b_fin_g@r186-52-132-58.dialup.adsl.anteldata.net.uy] has quit [Read error: Connection reset by peer] 17:05:52 -!- githogori [~githogori@c-50-131-15-16.hsd1.ca.comcast.net] has quit [Ping timeout: 272 seconds] 17:06:05 -!- tuubow [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has quit [Ping timeout: 246 seconds] 17:06:10 bfig [~b_fin_g@r190-135-59-60.dialup.adsl.anteldata.net.uy] has joined #scheme 17:08:00 now I can send commands to gnuplot :-) I can plot and rgb image, now lets see if can plot the histogram. thx mario-goulart , offby1 and others 17:08:11 -!- gcartier [~gcartier@modemcable026.84-70-69.static.videotron.ca] has quit [Ping timeout: 246 seconds] 17:08:22 You're welcome, tcleval; 17:08:43 tuubow [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has joined #scheme 17:09:10 _schulte_ [~eschulte@adaptive.cs.unm.edu] has joined #scheme 17:13:48 tcleval: it'd depend on the Scheme you're using, but I wouldn't be surprised if it interacted poorly with subprocesses compared to tcl 17:13:59 i.e., fewer, hard-to-use functions 17:16:34 ijp [~user@host86-167-251-202.range86-167.btcentralplus.com] has joined #scheme 17:21:36 kudkudyak [~user@94.72.146.47] has joined #scheme 17:27:51 tom_i [~thomasing@ingserv.demon.co.uk] has joined #scheme 17:32:14 -!- leppie [~lolcow@196-210-179-89.dynamic.isadsl.co.za] has quit [Ping timeout: 265 seconds] 17:32:21 jhemann [~Jason@140-182-144-225.dhcp-bl.indiana.edu] has joined #scheme 17:34:38 gremmachook [u1735@gateway/web/irccloud.com/x-eapotivuulhxjygg] has joined #scheme 17:34:57 -!- gremmachook [u1735@gateway/web/irccloud.com/x-eapotivuulhxjygg] has quit [Changing host] 17:34:57 gremmachook [u1735@unaffiliated/gremmachook] has joined #scheme 17:34:57 -!- gremmachook [u1735@unaffiliated/gremmachook] has quit [Changing host] 17:34:57 gremmachook [u1735@gateway/web/irccloud.com/x-eapotivuulhxjygg] has joined #scheme 17:35:16 -!- gremmachook [u1735@gateway/web/irccloud.com/x-eapotivuulhxjygg] has quit [Client Quit] 17:36:37 gremmachook [u1735@gateway/web/irccloud.com/x-qwmjjdvkbhvzznjj] has joined #scheme 17:38:13 leppie [~lolcow@196-215-11-14.dynamic.isadsl.co.za] has joined #scheme 17:38:18 -!- Fare [~Fare@173-9-65-97-NewEngland.hfc.comcastbusiness.net] has quit [Ping timeout: 246 seconds] 17:38:23 pchrist_ [~spirit@gentoo/developer/pchrist] has joined #scheme 17:39:08 Hi, I have a list which looks like this: (((v 1) (d 9999)) ((v 2) (d 9999)) ((v 3) (d 9999))). I create this in another function, appending (d 9999) to every element of a prior list. Now, for a 'v' = 1, I want to set it's 'd' value to 100. So, I run (set-car! (cdadar s) 100). But it sets all the d values to 100. 17:41:09 gremmachook: that's because your list actually looks like this: (((v 1) #1=(d 9999)) ((v 2) #1#) ((v 3) #1#)) 17:41:17 So instead of (((v 1) (d 100)) ((v 2) (d 9999)) ((v 3) (d 9999))), I get (((v 1) (d 100)) ((v 2) (d 100)) ((v 3) (d 100))). 17:41:21 ie. you have added to each list the same object, (d 9999). 17:41:41 The solution is to add a different list,built each time, with (list 'd 9999) 17:42:09 -!- ssbr__ is now known as ssbr_ 17:42:13 Oh, I thought they did the same job. 17:42:28 '(d 9999) always returns the same object, (d 9999). 17:42:46 rudybot: (map (lambda (x) '(d 9999)) '(1 2 3)) 17:42:46 pjb: ; Value: ((d 9999) (d 9999) (d 9999)) 17:43:07 rudybot: (let ((l (map (lambda (x) '(d 9999)) '(1 2 3)))) (eqv? (car l) (cadr l))) 17:43:07 pjb: ; Value: #t 17:43:17 rudybot: (let ((l (map (lambda (x) (list 'd 9999)) '(1 2 3)))) (eqv? (car l) (cadr l))) 17:43:17 pjb: ; Value: #f 17:44:16 pjb: Ah, that' a good explanation. Thanks! 17:44:24 -!- jhemann [~Jason@140-182-144-225.dhcp-bl.indiana.edu] has quit [Ping timeout: 252 seconds] 17:44:37 Is this a common error that beginners experience? 17:44:44 Yes, common enough. 17:44:54 rudybot: '(((v 1) #1=(d 9999)) ((v 2) #1#) ((v 3) #1#)) 17:44:55 pjb: And the reason for the -u was, I was converting from some v360 era code that used -r. 17:45:08 rudybot: eval: '(((v 1) #1=(d 9999)) ((v 2) #1#) ((v 3) #1#)) 17:45:08 pjb: or C-h v 17:45:29 It doesn't seem rudbybot knows the #= / ## notation 17:45:29 -!- kudkudyak [~user@94.72.146.47] has quit [Read error: Connection reset by peer] 17:45:36 keenbug [~daniel@p5B2DAB11.dip.t-dialin.net] has joined #scheme 17:45:42 kudkudyak [~user@94.72.146.47] has joined #scheme 17:46:08 hypnocat [~hypnocat@unaffiliated/hypnocat] has joined #scheme 17:55:19 wollw [~davidsher@75-101-85-170.dsl.dynamic.sonic.net] has joined #scheme 17:56:11 -!- wollw [~davidsher@75-101-85-170.dsl.dynamic.sonic.net] has quit [Client Quit] 17:57:20 wollw [~davidsher@75-101-85-170.dsl.dynamic.sonic.net] has joined #scheme 18:06:32 githogori [~githogori@216.207.36.222] has joined #scheme 18:16:30 rudybot: eval '(((v 1) #1=(d 9999)) ((v 2) #1#) ((v 3) #1#)) 18:16:30 *offby1: your r5rs sandbox is ready 18:16:30 *offby1: error: #:1:9: read: #..= expressions not allowed in read-syntax mode 18:16:46 that, plus you had a colon after "eval", which threw him off 18:16:51 rudybot: init racket 18:16:52 *offby1: your sandbox is ready 18:16:54 rudybot: eval '(((v 1) #1=(d 9999)) ((v 2) #1#) ((v 3) #1#)) 18:16:54 *offby1: error: #:1:9: read: #..= expressions not allowed in read-syntax mode 18:16:55 MrFahrenheit [~RageOfTho@users-55-233.vinet.ba] has joined #scheme 18:17:10 dunno why that's happening. 18:18:18 Fare [~Fare@173-9-65-97-NewEngland.hfc.comcastbusiness.net] has joined #scheme 18:19:17 hi offby1 18:20:22 Fare! 18:24:10 offby1: I made some instructions for you 18:26:53 -!- tom_i [~thomasing@ingserv.demon.co.uk] has quit [Ping timeout: 264 seconds] 18:28:43 untrusted [~user@stgt-5f719b2c.pool.mediaWays.net] has joined #scheme 18:29:27 rudybot: eval (with-input-from-string "(((v 1) #1=(d 9999)) ((v 2) #1#) ((v 3) #1#))" read) 18:29:27 ski: ; Value: (((v 1) (d 9999)) ((v 2) (d 9999)) ((v 3) (d 9999))) 18:30:03 adu: thanks. I'm about to run out for a couple hours but will be curious to see what up 18:30:15 ski: curious 18:30:44 interesting 18:30:58 -!- leppie [~lolcow@196-215-11-14.dynamic.isadsl.co.za] has quit [Ping timeout: 246 seconds] 18:31:43 rudybot: eval (with-input-from-string "(((v 1) #1=(d 9999)) ((v 2) #1#) ((v 3) #1#))" read-syntax) 18:31:43 ski: error: string::8: read: #..= expressions not allowed in read-syntax mode 18:35:42 leppie [~lolcow@196-210-248-30.dynamic.isadsl.co.za] has joined #scheme 18:38:11 -!- MrFahrenheit [~RageOfTho@users-55-233.vinet.ba] has quit [Read error: Connection reset by peer] 18:38:23 jao [~user@pdpc/supporter/professional/jao] has joined #scheme 18:38:57 MrFahrenheit [~RageOfTho@users-55-233.vinet.ba] has joined #scheme 18:39:51 jhemann [Jason@140-182-144-70.dhcp-bl.indiana.edu] has joined #scheme 18:40:25 -!- jao [~user@pdpc/supporter/professional/jao] has quit [Remote host closed the connection] 18:41:41 mmc1 [~michal@178-85-63-71.dynamic.upc.nl] has joined #scheme 18:42:19 -!- bfig [~b_fin_g@r190-135-59-60.dialup.adsl.anteldata.net.uy] has quit [Ping timeout: 244 seconds] 18:42:49 albacker [~eni@gob75-5-82-230-88-217.fbx.proxad.net] has joined #scheme 18:42:55 -!- albacker [~eni@gob75-5-82-230-88-217.fbx.proxad.net] has quit [Changing host] 18:42:55 albacker [~eni@unaffiliated/enyx] has joined #scheme 18:44:45 jao [~user@160.Red-81-39-169.dynamicIP.rima-tde.net] has joined #scheme 18:45:12 -!- jao is now known as Guest73919 18:46:26 -!- Guest73919 [~user@160.Red-81-39-169.dynamicIP.rima-tde.net] has quit [Client Quit] 18:47:37 jao` [~user@160.Red-81-39-169.dynamicIP.rima-tde.net] has joined #scheme 18:47:53 -!- jao` [~user@160.Red-81-39-169.dynamicIP.rima-tde.net] has quit [Changing host] 18:47:53 jao` [~user@pdpc/supporter/professional/jao] has joined #scheme 18:58:36 -!- BigEndian [~hurp@li230-104.members.linode.com] has quit [Ping timeout: 272 seconds] 18:58:50 BigEndian [~hurp@li230-104.members.linode.com] has joined #scheme 18:59:14 -!- BigEndian [~hurp@li230-104.members.linode.com] has quit [Remote host closed the connection] 19:03:41 -!- jao` [~user@pdpc/supporter/professional/jao] has quit [Remote host closed the connection] 19:08:59 jao` [~user@160.Red-81-39-169.dynamicIP.rima-tde.net] has joined #scheme 19:09:09 -!- jao` [~user@160.Red-81-39-169.dynamicIP.rima-tde.net] has quit [Changing host] 19:09:09 jao` [~user@pdpc/supporter/professional/jao] has joined #scheme 19:09:43 offby1: actually I kinda liked the scheme way. with-output-to-file and with-output-to-process are very elegant 19:13:40 -!- jhemann [Jason@140-182-144-70.dhcp-bl.indiana.edu] has quit [Ping timeout: 246 seconds] 19:15:58 CampinSam [~CampinSam@24-176-98-217.dhcp.jcsn.tn.charter.com] has joined #scheme 19:16:25 jhemann [~Jason@140-182-144-70.dhcp-bl.indiana.edu] has joined #scheme 19:18:54 -!- CampinSam [~CampinSam@24-176-98-217.dhcp.jcsn.tn.charter.com] has quit [Client Quit] 19:20:14 superjudge [~superjudg@c83-250-198-227.bredband.comhem.se] has joined #scheme 19:21:07 phax [~phax@unaffiliated/phax] has joined #scheme 19:21:23 pjb: the error would happen less often if more implementations made '(d 999) an immutable list like it's supposed to 19:22:04 .oO(or if we scrapped mutable pairs altogether) 19:22:27 *ijp* sighs and daydreams of a less mutable world 19:23:49 -!- certainty [~david@matrix.d-coded.de] has quit [Ping timeout: 260 seconds] 19:24:00 certainty [~david@matrix.d-coded.de] has joined #scheme 19:27:44 -!- gravicappa [~gravicapp@ppp91-77-169-157.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 19:27:55 iffsid [~user@ece-214-2.dhcp.ecn.purdue.edu] has joined #scheme 19:29:02 -!- untrusted [~user@stgt-5f719b2c.pool.mediaWays.net] has left #scheme 19:29:18 barryfm [~barryfm@fl-67-232-182-18.dhcp.embarqhsd.net] has joined #scheme 19:29:38 antithesis [~antithesi@s51476e07.adsl.wanadoo.nl] has joined #scheme 19:30:31 jhemann_ [Jason@140-182-144-70.dhcp-bl.indiana.edu] has joined #scheme 19:31:59 -!- jhemann [~Jason@140-182-144-70.dhcp-bl.indiana.edu] has quit [Ping timeout: 260 seconds] 19:40:55 -!- DerGuteMoritz [~syn@85.88.17.198] has quit [Ping timeout: 260 seconds] 19:41:26 DerGuteMoritz [~syn@85.88.17.198] has joined #scheme 19:41:32 MichaelRaskin [~MichaelRa@3ad50e34.broker.freenet6.net] has joined #scheme 19:49:36 -!- dnolen [aa95640a@gateway/web/freenode/ip.170.149.100.10] has quit [Ping timeout: 245 seconds] 20:00:49 -!- tomodo [~tomodo@gateway/tor-sasl/tomodo] has quit [Ping timeout: 276 seconds] 20:01:19 sad0ur [~sad0ur@psi.cz] has joined #scheme 20:04:31 pothos_ [~pothos@114-36-229-36.dynamic.hinet.net] has joined #scheme 20:04:36 -!- pothos [~pothos@114-36-228-104.dynamic.hinet.net] has quit [Ping timeout: 246 seconds] 20:04:46 -!- pothos_ is now known as pothos 20:05:42 -!- keenbug [~daniel@p5B2DAB11.dip.t-dialin.net] has quit [Ping timeout: 248 seconds] 20:11:52 -!- jhemann_ [Jason@140-182-144-70.dhcp-bl.indiana.edu] has quit [Ping timeout: 276 seconds] 20:13:11 jhemann [Jason@140-182-144-70.dhcp-bl.indiana.edu] has joined #scheme 20:13:33 soveran [~soveran@186.19.214.247] has joined #scheme 20:16:40 -!- superjudge [~superjudg@c83-250-198-227.bredband.comhem.se] has quit [Quit: superjudge] 20:19:28 add^_ [~add^_^@m212-152-11-21.cust.tele2.se] has joined #scheme 20:22:14 mark_weaver [~user@74-94-165-125-NewEngland.hfc.comcastbusiness.net] has joined #scheme 20:22:35 choas [~lars@p5795C8B5.dip.t-dialin.net] has joined #scheme 20:26:01 jhemann_ [Jason@140-182-144-70.dhcp-bl.indiana.edu] has joined #scheme 20:29:08 -!- leppie [~lolcow@196-210-248-30.dynamic.isadsl.co.za] has quit [Ping timeout: 265 seconds] 20:29:38 -!- jhemann [Jason@140-182-144-70.dhcp-bl.indiana.edu] has quit [Ping timeout: 250 seconds] 20:33:04 -!- kudkudyak [~user@94.72.146.47] has quit [Ping timeout: 245 seconds] 20:33:06 leppie [~lolcow@196-215-35-224.dynamic.isadsl.co.za] has joined #scheme 20:36:27 bipt [~bpt@cpe-071-070-253-241.nc.res.rr.com] has joined #scheme 20:37:36 -!- barryfm [~barryfm@fl-67-232-182-18.dhcp.embarqhsd.net] has left #scheme 20:44:10 -!- tupi [~david@139.82.89.24] has quit [Quit: Leaving] 20:58:50 -!- jhemann_ [Jason@140-182-144-70.dhcp-bl.indiana.edu] has quit [Quit: Leaving] 21:06:01 dnolen [aa95640a@gateway/web/freenode/ip.170.149.100.10] has joined #scheme 21:06:41 -!- ssbr_ [~ssbr@python/site-packages/ssbr] has quit [Quit: Leaving] 21:06:49 Actually, the world is immutable. 21:07:12 ssbr_ [~ssbr@python/site-packages/ssbr] has joined #scheme 21:07:22 !! 21:07:42 -!- stis [~stis@1-1-1-39a.veo.vs.bostream.se] has left #scheme 21:08:06 genbattle [~quassel@118-93-47-103.dsl.dyn.ihug.co.nz] has joined #scheme 21:08:49 -!- jakky [~jokk@razor.sharp.penisbird.com] has quit [Ping timeout: 260 seconds] 21:09:01 That statement should not be considered controversial. 21:09:24 *ijp* mutates edw 21:09:59 But the pre-mutation me wasn't changed. It's just been GC'd. 21:10:13 jakky [~jokk@2001:470:33:2::1ce] has joined #scheme 21:11:42 The universe is just a big side-effect free function that takes an argument and returns a single value. 21:12:06 -!- leppie [~lolcow@196-215-35-224.dynamic.isadsl.co.za] has quit [Ping timeout: 250 seconds] 21:12:28 s/just //; 21:17:26 *ski* suspects edw of being a Clean programmer 21:17:57 -!- pranq [pranq@unaffiliated/contempt] has quit [Ping timeout: 244 seconds] 21:18:12 leppie [~lolcow@196-215-11-86.dynamic.isadsl.co.za] has joined #scheme 21:18:17 Nah, just someone who has written too many functions in CPS. 21:18:22 everybody knows the world runs on JVM, why do you think the speed of light is constant? 21:18:39 -!- antithesis [~antithesi@s51476e07.adsl.wanadoo.nl] has quit [Remote host closed the connection] 21:19:24 adu: your photons reached me just in time 21:19:47 lol 21:19:51 -!- pchrist_ [~spirit@gentoo/developer/pchrist] has quit [Quit: leaving] 21:20:22 -!- choas [~lars@p5795C8B5.dip.t-dialin.net] has quit [Ping timeout: 248 seconds] 21:21:11 -!- add^_ [~add^_^@m212-152-11-21.cust.tele2.se] has quit [Quit: add^_] 21:22:08 -!- _schulte_ [~eschulte@adaptive.cs.unm.edu] has quit [Quit: leaving] 21:23:52 Max4 [~Max@85.183.115.48] has joined #scheme 21:23:54 hi 21:24:00 hey 21:24:05 *ski* rewrites edw in nqCPS 21:24:07 -!- phax [~phax@unaffiliated/phax] has quit [Quit: Leaving] 21:24:44 I'm more or less new to Scheme and I wanted to ask if there's a possibility to define functions on the function level, e.g (define f (compose f g)) 21:24:55 yes 21:25:07 I couldn't figure it out until now : / 21:25:08 -!- leppie [~lolcow@196-215-11-86.dynamic.isadsl.co.za] has quit [Ping timeout: 240 seconds] 21:25:26 I guess you could get exotic with using the Y combinator, but that's not really what I want 21:26:00 Max4: I've done it 21:26:04 rudybot: eval (define not-equal? (compose not equal?)) 21:26:04 ski: Done. 21:26:18 rudybot: eval (not-equal? '(1 2) '(1 3)) 21:26:18 ski: ; Value: #t 21:27:15 You get problems if you try to define recursive functions, however : / 21:27:26 (like in the above example) 21:27:30 you may need to eta-expand, yes 21:27:33 I should have mentioned that explicitly 21:28:02 -!- langmartin [~user@host-68-169-155-216.WISOLT2.epbfi.com] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 21:28:04 do you have any actual example of a recursive function you'd like to define in this fashion ? 21:28:57 Max4: http://paste.lisp.org/display/128607 21:28:57 well not an easy one right now, I could guess I could come up with something like factorial 21:29:33 you may use if you want to show more than a couple of lines 21:29:44 yeah 21:30:38 leppie [~lolcow@196-215-106-213.dynamic.isadsl.co.za] has joined #scheme 21:30:48 hm, i suppose having `compose' be a macro could help with the recursive thing .. 21:31:24 confab [~win7@public-nat2.arc.losrios.edu] has joined #scheme 21:32:59 (define fact (condition iszero (constant 1) ((lift *) (compose fact (lambda (x) (- x 1)))))) 21:33:18 This would be the factorial function, for instance (inspired by Backus' FP) 21:33:37 I hope it's clear what condition, constant and lift do 21:33:52 more or less, yes 21:34:15 i suspect this would work as-is in Lazy Scheme (implemented by Racket) 21:34:31 yeah, I guess 21:34:41 Max4: this one might be easier to read: http://paste.lisp.org/display/128608 21:35:16 yeah, I will past everything in the future 21:35:23 -!- samth is now known as samth_away 21:36:06 the problem from the point of view of Scheme is that the definiens accesses `fact' before the definiens has been fully evaluated 21:36:13 Max4: what does condition do? 21:36:25 I will past all the definitions in a sec 21:37:26 ski: wow I didn't know anyone actually used the word definiens 21:38:02 adu : presumably `(define ((condition predicate consequent alternate) . args) (apply (if (apply predicate args) consequent alternate) args))' 21:38:25 *ski* is strange like that .. 21:38:46 on a related note, definiendum is my favorite word of all time 21:40:40 *ski* also uses `augend',`addend',`minuend',`subrahend',`abscissa',`ordinate',`applicate',&c. 21:41:18 I don't, I tend to use term1, term2, factor1, factor2 21:42:56 well, e.g. with semi-direct products in group theory, i think it makes sense to distingush between `multiplier' and `multiplicand' 21:43:26 also, when adding a vector to a point, obviously the point is the `augend', while the vector is the `addend' 21:44:07 http://paste.lisp.org/+2R8I 21:44:10 here it is 21:44:17 works properly in Lazy Racket indeed 21:44:23 (the quotient/factor group is the `multiplier', and the normal subgroup is the `multiplicand') 21:44:31 unfortunately I'm not using Lazy Racket : ( 21:49:22 rudybot: eval (define-syntax define-function (syntax-rules () ((define-function f body) (define (f . args) (apply body args))))) 21:49:22 ski: Done. 21:49:52 Max4 : i think using that, you could replace your `(define fact ...)' by `(define-function fact ...)', and it'd work 21:49:58 -!- kk` [~kk@unaffiliated/kk/x-5380134] has quit [Quit: WeeChat 0.3.7] 21:49:59 good old eta 21:50:14 -!- jakky [~jokk@2001:470:33:2::1ce] has quit [Ping timeout: 250 seconds] 21:50:25 The eta-expansion doesn't terminate, tried that : / 21:50:49 what did you try, more precisely ? 21:51:07 well, putting lambda () in front and replacing fact with (fact) in the body 21:51:30 well, it'd need to be at least `(lambda (x) ...)' 21:51:43 (since you're feeding it one argument in the end) 21:51:56 I tried turning condition into a macro, what made it work. I could try to turn all my combinators into macros and that would minimize the problems, I think 21:52:19 jakky [~jokk@2001:470:33:2::1ce] has joined #scheme 21:52:24 jhemann [Jason@140-182-144-70.dhcp-bl.indiana.edu] has joined #scheme 21:52:38 yeah, but if you use something else than `condition', you'd need to turn that into a macro as well 21:52:43 where's the difference between lambda () and lambda (y) if y is never used? 21:52:49 yes 21:52:59 Max4: you still need to call the latter with one argument 21:53:10 and the former with none 21:53:20 i suppose it's the branching operations where you need this, assuming that you don't do infinite-stream like computations 21:53:29 lambda (y) and (fact 0) are equivalent to lambda () and (fact) !? 21:53:49 no 21:54:15 why not? 21:54:32 it doesn't work either way, btw. : / 21:54:43 `(fact)' would be incorrect, since that's attempting to pass zero arguments 21:55:01 `(fact 0)' always passes zero, which is probably not what you want, either 21:56:04 `(lambda () ...)' is a procedure that expects zero arguments, while `(lambda (y) ...)' is a procedure that expects one argument (calling it `y' internally) 21:56:07 (if you want a more precise answer, you need to state a more precise question) 21:56:47 yeah, I'm aware of that 21:56:58 so eta-expansion doesn't seem to be a solution 21:57:19 oh wait 21:57:29 Your macro is working indeed : O 21:57:41 although I don't understand it 22:00:49 -!- jhemann [Jason@140-182-144-70.dhcp-bl.indiana.edu] has quit [Ping timeout: 244 seconds] 22:01:51 -!- tcleval [~funnyguy@187.114.135.13] has quit [Remote host closed the connection] 22:02:56 the big problem left however is that the function body is evaluated n times, but with lazy evaluation + the ordinary define it is evaluated just once 22:03:23 I'm afraid one can't improve upon that in the strict model 22:03:40 -!- bitonic [~Francesco@93-40-81-157.ip37.fastwebnet.it] has quit [Ping timeout: 250 seconds] 22:06:46 -!- leppie [~lolcow@196-215-106-213.dynamic.isadsl.co.za] has quit [Ping timeout: 265 seconds] 22:07:25 bfig [~b_fin_g@r186-48-227-240.dialup.adsl.anteldata.net.uy] has joined #scheme 22:08:30 -!- githogori [~githogori@216.207.36.222] has quit [Ping timeout: 246 seconds] 22:08:38 -!- dzhus [~sphinx@176.14.94.92] has quit [Remote host closed the connection] 22:09:28 jhemann [Jason@140-182-144-70.dhcp-bl.indiana.edu] has joined #scheme 22:10:53 -!- wingo [~wingo@90.164.198.39] has quit [Ping timeout: 245 seconds] 22:11:17 -!- tuubow [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has quit [Ping timeout: 246 seconds] 22:12:21 jhemann_ [Jason@140-182-128-63.dhcp-bl.indiana.edu] has joined #scheme 22:13:48 Max4 : well, i don't see an easy way around it, at least 22:14:20 leppie [~lolcow@196-215-11-17.dynamic.isadsl.co.za] has joined #scheme 22:15:40 yeah : ( 22:16:15 maybe I'll just implement lazy evaluation, but that would require a ton of macros 22:16:40 -!- jhemann [Jason@140-182-144-70.dhcp-bl.indiana.edu] has quit [Ping timeout: 260 seconds] 22:17:27 tuubow [~adityavit@c-69-136-105-164.hsd1.nj.comcast.net] has joined #scheme 22:19:55 -!- genbattle [~quassel@118-93-47-103.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 22:20:36 I would just need to put a delay in front of every definition and replace all the arguments of a definition occuring in it's body with (force ) 22:21:19 Is it possible to do these replacements in the body with a macro in a simple manner? 22:22:19 not that simple, i think 22:22:19 -!- futilius [~futilius_@user-0c9h82b.cable.mindspring.com] has quit [Ping timeout: 260 seconds] 22:22:26 you'll probably need identifier macros 22:23:36 pranq [~pranq@unaffiliated/contempt] has joined #scheme 22:23:59 samth_ [~samth@129.10.227.164] has joined #scheme 22:24:56 jrslepak [~jrslepak@c-71-233-148-123.hsd1.ma.comcast.net] has joined #scheme 22:27:29 bitonic [~Francesco@93-40-81-157.ip37.fastwebnet.it] has joined #scheme 22:35:44 djcb` [~user@a88-114-95-13.elisa-laajakaista.fi] has joined #scheme 22:37:48 -!- djcb [~user@a88-114-95-13.elisa-laajakaista.fi] has quit [Remote host closed the connection] 22:38:01 futilius [~futilius_@user-0c9h82b.cable.mindspring.com] has joined #scheme 22:38:33 -!- mark_weaver [~user@74-94-165-125-NewEngland.hfc.comcastbusiness.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 22:46:01 -!- dnolen [aa95640a@gateway/web/freenode/ip.170.149.100.10] has quit [Quit: Page closed] 22:54:58 -!- Arafangion [~Arafangio@220-244-108-23.static.tpgi.com.au] has quit [Remote host closed the connection] 22:55:59 CampinSam [~CampinSam@24-176-98-217.dhcp.jcsn.tn.charter.com] has joined #scheme 22:56:00 homie` [~levgue@xdsl-78-35-149-232.netcologne.de] has joined #scheme 22:57:39 -!- homie [~levgue@xdsl-78-35-168-199.netcologne.de] has quit [Ping timeout: 245 seconds] 23:00:07 -!- samth_ is now known as samth 23:00:42 -!- cdidd [~cdidd@176.14.114.194] has quit [Remote host closed the connection] 23:01:37 -!- estevocastro [~estevocas@38.117.156.148] has quit [Ping timeout: 252 seconds] 23:11:53 -!- CampinSam [~CampinSam@24-176-98-217.dhcp.jcsn.tn.charter.com] has quit [Quit: leaving] 23:14:18 -!- cyphase [~cyphase@unaffiliated/cyphase] has quit [Ping timeout: 246 seconds] 23:26:29 -!- confab [~win7@public-nat2.arc.losrios.edu] has quit [Read error: Connection reset by peer] 23:27:15 cyphase [~cyphase@unaffiliated/cyphase] has joined #scheme 23:27:27 -!- copumpkin [~copumpkin@unaffiliated/copumpkin] has quit [Quit: Computer has gone to sleep.] 23:28:03 -!- masm [~masm@bl17-207-200.dsl.telepac.pt] has quit [Quit: Leaving.] 23:35:47 -!- bitonic [~Francesco@93-40-81-157.ip37.fastwebnet.it] has quit [Quit: WeeChat 0.3.5] 23:38:17 bitonic [~Francesco@93-40-81-157.ip37.fastwebnet.it] has joined #scheme 23:44:19 edw: You mean that at time n, the universe copies the objects at t = n - 1 and garbage collects them? Why don't the objects persist across frames? 23:44:38 confab [~confab@public-nat2.arc.losrios.edu] has joined #scheme 23:44:51 edw: And isn't entropy one of the universes big side-effects? 23:45:54 klutometis: i think this is consistent with entropy isn't it? 23:46:41 klutometis: future states are simply more entropic 23:46:56 klutometis: you are not the onlt actor! 23:47:01 only* 23:49:04 qu1j0t3: What's consistent with entropy: object-copy across time-frames? 23:49:08 githogori [~githogori@c-50-131-15-16.hsd1.ca.comcast.net] has joined #scheme 23:50:17 phax [~phax@cpc14-haye17-2-0-cust110.haye.cable.virginmedia.com] has joined #scheme 23:50:17 -!- phax [~phax@cpc14-haye17-2-0-cust110.haye.cable.virginmedia.com] has quit [Changing host] 23:50:17 phax [~phax@unaffiliated/phax] has joined #scheme 23:52:14 klutometis: well i am not a physicist etc or indeed terribly smart but it seems to me that entropy still fits this model 23:52:25 klutometis: or at least a simulation of entropy 23:52:34 klutometis: where state t+1 is always mode disordered than state t? 23:52:40 more* 23:53:05 copumpkin [~copumpkin@unaffiliated/copumpkin] has joined #scheme 23:53:18 qu1j0t3: How does that relate to edw's assertion that the universe is "side-effect free?" 23:53:25 That "more disodered" seems to be a side-effect. 23:53:45 klutometis: well you can't change anything at time t. you can only have a new state, t+ 23:54:00 klutometis: that's what he means by side effect free, i think 23:54:06 or she) 23:54:19 -!- Max4 [~Max@85.183.115.48] has quit [Quit: Lost terminal] 23:54:43 klutometis: but tbh i'm not the right person to take this further, i'm just a lurker 23:54:54 -!- jhemann_ [Jason@140-182-128-63.dhcp-bl.indiana.edu] has quit [Ping timeout: 246 seconds] 23:54:59 Max4 [~Max@85.183.115.48] has joined #scheme 23:54:59 klutometis: an uneducated lout 23:55:02 So when we talk about an object being the same as itself from one moment to the next, were talking about an `eqv?' relationship, not an `eq?'-one? 23:55:43 klutometis: well scheme and erlang introduce this concept, if you, as stated above, disregard the ! operators 23:55:53 is there something like defmacro in Scheme? I can't really figure out how I can implement the macro I want to write with Scheme's syntax mechanism :/ 23:56:10 Max4: Can meet worms; Pandora meet box. 23:56:28 No, just kidding; use explicit renaming. 23:56:38 different schemes have different thangs 23:56:49 racket has a very simple define-syntax which I occasionally use 23:57:07 I see how it can be used to implement very simple macros 23:57:10 Max4: http://wiki.call-cc.org/man/4/Macros 23:57:14 those are all I know how to write :) 23:57:19 That's for my dialect, anyway. 23:57:54 qu1j0t3: It's anti-intuitive, to say the least; and that's a shit-load of matter to copy every Planck-minimum. Interesting, though. 23:58:28 klutometis: Thanks, but this still seems to limited 23:58:45 turns out I meant "define-syntax-rule" 23:58:50 qu1j0t3: Also, isn't this bizarre constraint that we have going forward in time an accident? Surely some super-dimensional creatures can move arbitrarily through time. 23:58:55 rudybot: (define-syntax-rule (my-if expr true false) (if expr true false)) 23:58:56 *offby1: your sandbox is ready 23:58:56 *offby1: Done. 23:59:00 Max4: Limited in what sense? 23:59:02 What I essentially want to do given a list '(a b c) is to convert it to '(a (f g) c) where (f g) is already evaluated 23:59:06 rudybot: (my-if #t (displayln "It's true") (displayln "No way dude")) 23:59:06 *offby1: You could define it using thunks: (my-if condition (lambda () then...) (lambda () else...)) 23:59:12 heh 23:59:14 noam [~noam@213.57.83.2] has joined #scheme 23:59:14 -!- noam_ [~noam@213.57.83.2] has quit [Read error: Connection reset by peer] 23:59:15 rudybot: eval (my-if #t (displayln "It's true") (displayln "No way dude")) 23:59:15 *offby1: ; stdout: "It's true\n" 23:59:20 rudybot: eval (my-if #f (displayln "It's true") (displayln "No way dude")) 23:59:20 *offby1: ; stdout: "No way dude\n" 23:59:25 very helpful is that bot 23:59:33 klutometis: that may be so, but i liked edw's idea for being explicitly rigid on that point.