":moonfart!n=moonfart@199.2.121.90 QUIT :Read error: 110 (Connection timed out)" ":jewel!n=jewel@dsl-242-171-245.telkomadsl.co.za QUIT :Read error: 113 (No route to host)" ":name!n=name@sburn/devel/name QUIT :\"Lost terminal\"" ":moonfart!n=moonfart@199.2.121.90 JOIN :#scheme" ":benny!n=benny@i577A0DC7.versanet.de QUIT :Read error: 104 (Connection reset by peer)" ":mbishop!n=bishop@unaffiliated/mbishop JOIN :#scheme" ":cemerick!n=la_mer@c-71-232-219-241.hsd1.ma.comcast.net JOIN :#scheme" ":gweiqi!n=greg@69.120.126.163 QUIT :\"Leaving.\"" ":gweiqi!n=greg@69.120.126.163 JOIN :#scheme" ":dfeuer!n=dfeuer@wikimedia/Dfeuer JOIN :#scheme" ":melito!n=melito@70.99.250.82 QUIT :\"Leaving...\"" ":fschwidom!n=fschwido@dslb-088-068-098-079.pools.arcor-ip.net QUIT :Remote closed the connection" ":cemerick!n=la_mer@c-71-232-219-241.hsd1.ma.comcast.net QUIT :" ":bombshelter13!n=bombshel@209-161-229-68.dsl.look.ca JOIN :#scheme" ":mbishop!n=bishop@unaffiliated/mbishop QUIT :\"leaving\"" ":JohnnyL!i=JohnnyL@ool-182ddad4.dyn.optonline.net JOIN :#scheme" ":annodomini!n=lambda@wikipedia/lambda QUIT :" ":Adamant!n=Adamant@unaffiliated/adamant QUIT :" ":underspecified!n=eric@softbank220043052011.bbtec.net QUIT :" ":peter_12!n=peter_12@S010600119506b129.gv.shawcable.net JOIN :#scheme" ":peter_12!n=peter_12@S010600119506b129.gv.shawcable.net QUIT :" ":wastrel!n=wastrel@nylug/member/wastrel JOIN :#scheme" ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com JOIN :#scheme" ":klutometis!i=klutomet@pdpc/supporter/active/klutometis PRIVMSG #scheme :incubot: if you had to choose between heart-attack and cancer, what would it be?" ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :semicolon cancer!" ":klutometis!i=klutomet@pdpc/supporter/active/klutometis PRIVMSG #scheme :sehr nice" ":annodomini!n=lambda@c-75-69-95-99.hsd1.nh.comcast.net JOIN :#scheme" ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :incubot: Should I first learn Perl, or should I learn Python?" ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :I don't know any Python, so I can't comment on that part." ":jonrafkind!n=jon@wireless212.wireless.utah.edu PRIVMSG #scheme :learn python and then dont learn perl" ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :eli: ping (if you haven't passed out from eating your kids' Hallowe'en candy)" ":annodomini!n=lambda@wikipedia/lambda QUIT :" ":klutometis!i=klutomet@pdpc/supporter/active/klutometis PRIVMSG #scheme :hey, man; does incubot pass the turing test?" ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :Let's watch him on hidden camera and see." ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :incubot: Can you help me with a homework problem?" ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :sorry, I misunderstood your problem :/" ":offby1!n=user@q-static-138-125.avvanta.com PRIVMSG #scheme :incubot: are you better than rudybot_ ?" ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :Not much better, really. ;-)" ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :incubot: How can I write high performance web apps in Scheme?" ":offby1!n=user@q-static-138-125.avvanta.com PRIVMSG #scheme :incubot: you sound suspiciously human." ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :bigloo also compiles via C, but it doesn't support call/cc unless you ask it to, because it then goes and uses heap allocated frames and the performance dies as a result" ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :i can make up things that sound vaguely important but are obvious about numbers." ":offby1!n=user@q-static-138-125.avvanta.com PRIVMSG #scheme :I think you're flunking your Turing test." ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :incubot: Scheme is a stupid language that I have to use in school." ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :hmm. Damn, I feel stupid." ":keyofnight!n=key@ec2-75-101-138-129.compute-1.amazonaws.com PRIVMSG #scheme :scheme == awesome." ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :incubot: I wonder if you could put a macro in a closure, or vice versa." ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :yeah, but they are equivalent, so it does not only go one way. one is a case of the other and visa versa." ":klutometis!i=klutomet@pdpc/supporter/active/klutometis PRIVMSG #scheme :deep; deep" ":klutometis!i=klutomet@pdpc/supporter/active/klutometis PRIVMSG #scheme :heh" ":klutometis!i=klutomet@pdpc/supporter/active/klutometis PRIVMSG #scheme :though incorrect" ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :klutometis: you need to prime him with the complete works of brucio and gavino." ":klutometis!i=klutomet@pdpc/supporter/active/klutometis PRIVMSG #scheme :Daemmerung: that would be classic" ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :A-lack-of-I" ":jonrafkind!n=jon@wireless212.wireless.utah.edu PRIVMSG #scheme :incubot, I wonder if you could put a kongoglorf in a betfffaz, or vice versa." ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :Well, a whole group of words where 'a' is used instead of 'e'. Since a while, uses of \"its\" instead of \"it's\" (and vice versa) belong to that class too." ":JohnnyL!i=JohnnyL@ool-182ddad4.dyn.optonline.net PRIVMSG #scheme :incubot you are awesome!" ":klutometis!i=klutomet@pdpc/supporter/active/klutometis PRIVMSG #scheme :ok, ok; not quite turing: but it holds a mirror up to #scheme, as it were" ":JohnnyL!i=JohnnyL@ool-182ddad4.dyn.optonline.net PRIVMSG #scheme :incubot: you are awesome!" ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :really? that's awesome" ":JohnnyL!i=JohnnyL@ool-182ddad4.dyn.optonline.net PRIVMSG #scheme :incubot: who wrote you?" ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :we wrote a crapload of code" ":jonrafkind!n=jon@wireless212.wireless.utah.edu PRIVMSG #scheme :incubot:" ":JohnnyL!i=JohnnyL@ool-182ddad4.dyn.optonline.net PRIVMSG #scheme :incubot: will you please curse at me?" ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :the 'national curse'" ":JohnnyL!i=JohnnyL@ool-182ddad4.dyn.optonline.net PRIVMSG #scheme :incubot: the ball is blue." ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :blue, sarahbot" ":JohnnyL!i=JohnnyL@ool-182ddad4.dyn.optonline.net PRIVMSG #scheme :incubot: who is sarah conner?" ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :O'Conner?" ":offby1!n=user@q-static-138-125.avvanta.com PRIVMSG #scheme :incubot: who is John Galt?" ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :Oink is John Galt." ":klutometis!i=klutomet@pdpc/supporter/active/klutometis PRIVMSG #scheme :incubot: ((lambda (x) (x x)) (lambda (x) (x x)))" ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :Eval 21979 timed out." ":peter_12!n=peter_12@S010600119506b129.gv.shawcable.net JOIN :#scheme" ":offby1!n=user@q-static-138-125.avvanta.com PRIVMSG #scheme :rudybot_: eval ((lambda (x) (x x)) (lambda (x) (x x)))" ":rudybot_!n=luser@li11-10.members.linode.com PRIVMSG #scheme :offby1: error: with-limit: out of time" ":offby1!n=user@q-static-138-125.avvanta.com PRIVMSG #scheme :I wonder if they're related" ":klutometis!i=klutomet@pdpc/supporter/active/klutometis PRIVMSG #scheme :offby1: rudybot definitely has seniority; i just needed a little chicken-toy for sicp vagrants" ":offby1!n=user@q-static-138-125.avvanta.com PRIVMSG #scheme :.oO(\"sicp vagrants\"?)" ":klutometis!i=klutomet@pdpc/supporter/active/klutometis PRIVMSG #scheme :don't know the library invocations for plt" ":klutometis!i=klutomet@pdpc/supporter/active/klutometis PRIVMSG #scheme :those 1st-chapter sicp cats that wander through" ":klutometis!i=klutomet@pdpc/supporter/active/klutometis PRIVMSG #scheme :with questions on (good-enough? x) etc." ":offby1!n=user@q-static-138-125.avvanta.com PRIVMSG #scheme :oh, so it's a pure R5RS bot?" ":offby1!n=user@q-static-138-125.avvanta.com PRIVMSG #scheme :I wonder if there's a way to get rudybot_ to eval stuff in R5RS without changing his code" ":klutometis!i=klutomet@pdpc/supporter/active/klutometis PRIVMSG #scheme :by default, since there are no libraries in the chroot" ":offby1!n=user@q-static-138-125.avvanta.com PRIVMSG #scheme :ACTION looks meaningfully at eli" ":offby1!n=user@q-static-138-125.avvanta.com PRIVMSG #scheme :klutometis: some day I'd like to run rudybot_'s eval in a separate process. Too lazy though" ":klutometis!i=klutomet@pdpc/supporter/active/klutometis PRIVMSG #scheme :not even srfi-1; but there there may be chicken-specific stuff" ":klutometis!i=klutomet@pdpc/supporter/active/klutometis PRIVMSG #scheme :offby1: it was a pain; but using threads was too unstable" ":offby1!n=user@q-static-138-125.avvanta.com PRIVMSG #scheme :ha" ":klutometis!i=klutomet@pdpc/supporter/active/klutometis PRIVMSG #scheme :using separate processes lets you chroot the dispatcher, though; and relinquish root" ":offby1!n=user@q-static-138-125.avvanta.com PRIVMSG #scheme :a previous version of rudybot had threads up the yin-yang; I nixed 'em all" ":offby1!n=user@q-static-138-125.avvanta.com PRIVMSG #scheme :they were all Riastradh's idea; I blame him" ":klutometis!i=klutomet@pdpc/supporter/active/klutometis PRIVMSG #scheme :yeah; a simple (thread-sleep! 2) would flummox it" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :ACTION returns a meaningful look at offby1" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :incubot: ((lambda (x) (x x)) (lambda (x) (cons (x x) (x x))))" ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :Eval 21991 timed out." ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :offby1: That kind of look?" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :Daemmerung: pong" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :(And no, he's too young to get enough candy to make me pass out...)" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :incubot: '|foo bar|" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :incubot: (begin '|foo bar|)" ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :foo bar" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :incubot: (begin '|rudybot_: eval \"blah\"|)" ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :rudybot_: eval \"blah\"" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :ACTION slaps rudybot_" ":klutometis!i=klutomet@pdpc/supporter/active/klutometis PRIVMSG #scheme :ACTION invokes the third law of convodynamics ;)" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :ACTION un-invokes the second law of robotics" ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :eli: I'd like to sanity-check with you a potential scheme/foreign usage for loading OpenGL extensions." ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :ok, hopefully nothing that requires knowing GL." ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :OpenGL has the notion of \"extensions.\" Many of them are procedures, dynamically loaded. My example here is Windows, but X works pretty similarly." ":JohnnyL!i=JohnnyL@ool-182ddad4.dyn.optonline.net PRIVMSG #scheme :incubot: (begin '|rudybot_: eval \"(+ 1 1)\"|)" ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :rudybot_: eval \"(+ 1 1)\"" ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :On Windows, (get-ffi-obj 'wglGetProcAddress (ffi-lib \"opengl32\") (_fun #:abi 'stdcall _string -> _fpointer))" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :Ooh." ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :That is a routine that returns an address for an extension valid in the current GL context." ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :(Again, X works similarly.)" ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :I could - catch me if I err - ptr-ref the result of that with a type and get a useful _cprocedure, right?" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :Probably. Why don't you try a (_fun ...) as the return type?" ":offby1!n=user@q-static-138-125.avvanta.com PRIVMSG #scheme :eli: he ignores anything from someone whose nick ends with \"bot\"" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :_fpointer is really weird." ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :I first thought that I'd have to hack ffi-lib to return some magic cookie that get-ffi-obj would recognize. From reading foreign.ss, appears it ain't so. I think I can do all of this in Scheme." ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :ACTION marvels" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :offby1: yes, looked like you had something like that." ":offby1!n=user@q-static-138-125.avvanta.com PRIVMSG #scheme :eli: man, you must carry a wireless-enabled laptop around with you everywhere." ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :offby1: naturally." ":offby1!n=user@q-static-138-125.avvanta.com PRIVMSG #scheme :naturally" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :Daemmerung: did you try a `_fun' return type?" ":klutometis!i=klutomet@pdpc/supporter/active/klutometis PRIVMSG #scheme :offby1: good idea" ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :Havne't tried anything yet. Wanted to run this past you first." ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :Been reading foreign.ss in the meantime." ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :Well, _fpointer has something weird, I don't remember exactly what, but it's related to how C expects functions to always be pointers." ":JohnnyL!i=JohnnyL@ool-182ddad4.dyn.optonline.net QUIT :" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :At the C level it has some nasty code that I barely understand... (And I wrote that code...)" ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :So maybe ptr-ref knows not to dereference a _fpointer." ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :That's roughly the idea, IIRC." ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :(I have code like that.)" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :In any case, using a _fun (or a _cprocedure) builds on top of an _fpointer." ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :At present sgl/gl looks for all of its procs in the standard GL place. I'll be hacking it to back off of that, and try (on Win) the extension names." ":offby1!n=user@q-static-138-125.avvanta.com PRIVMSG #scheme :rudybot_: eval '|incubot: do something really crazy|" ":rudybot_!n=luser@li11-10.members.linode.com PRIVMSG #scheme :offby1: ; Value: |incubot: do something really crazy|" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :incubot: (begin '|incubot: (+ 1 2)|)" ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :incubot: (+ 1 2)" ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :One worry: a loaded GL extension is valid only in the current gl context. (with-gl-context) in canvas%." ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :I'm not sure how I'm going to handle that. Maybe leave it up to the app to invalidate its loaded _fpointer thingies when the canvas dies. Or each canvas caches its own set of extension procs. ick." ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :Well, with that you went over what I know about GL..." ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :Yeah." ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :Can't you pull these functions from their own DLLs?" ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :I don't know the DLL, or its name in that DLL." ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :incubot: (string->symbol \"x\\ny\")" ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :y" ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :The function is provided by an aux lib of the video device driver. nVidia has one, ATI another, Intel yet another, etc." ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :They standardize through the wglGetProcAddress mechanism." ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :Daemmerung: So GL is in charge of pulling the function out, hiding those details from you?" ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :eli: correct." ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :And so I can't use ffi-lib. Gotta roll my own." ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :Hm." ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :Though it looks like there is little rolling." ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :Well, if it is working just like the usual dlsym/GetProcAddress, then a _fun return type (or the others) should work fine." ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :_fpointer too, but then you need to deal with the result more explicitly." ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :incubot: (define a 123)" ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :#" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :incubot: a" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :incubot: (begin a)" ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :Error: unbound variable: a" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :incubot: (make-string 600 #\\a)" ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa..." ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :incubot: (make-string 600 #\\newline)" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :ACTION listens to the crickets" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :incubot: (make-string 600000000 #\\newline)" ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :Eval 22032 timed out." ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :That's the sound of 600,000,000 crickets dying." ":offby1!n=user@q-static-138-125.avvanta.com PRIVMSG #scheme :klutometis: be afraid. Be very afraid." ":offby1!n=user@q-static-138-125.avvanta.com PRIVMSG #scheme :Eli is a bot-killer" ":vorpal!n=rhunter@pdpc/supporter/student/vorpal JOIN :#Scheme" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :...or very few of them dying from shame, given that the rest were not even born." ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :incubot: (list->string (map integer->char '(65 66 67)))" ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :ABC" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :incubot: (list->string (map integer->char '(65 66 67 1 65 1 65)))" ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :ABCAA" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :ACTION wonders if it's time to pull out an IRC manual..." ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :Daemmerung: When you get there, tell me if/how it worked, it would be interesting." ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :I will. I wonder if this is a more general need?" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :(Given that it's one of the very few instances of a HO function in C that are practical.)" ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :Should there be a way to generalize/extend ffi-lib?" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :I'm not sure that there's a need for an extension." ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :BTW, see collects/tests/mzscheme/foreign-test.ss for the tests, many of them deal with higher order functions." ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :Any time I have a mapping lib x name x type -> fun, and want to change the domain of lib...." ":JohnnyL!i=JohnnyL@ool-182ddad4.dyn.optonline.net JOIN :#scheme" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :I didn't follow that..." ":underspecified!n=eric@isa7-dhcp-116-122.naist.jp JOIN :#scheme" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :Daemmerung: Just to be sure I'm not missing something -- you're not talking about the fact that `wglGetProcAddress' needs to have different types, right?" ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :That's because I was unclear. At present, FFI supports library name + \"name of function\" + \"type\" and gives you a function dynloaded from the library of that name via a particular mechanism. I want to introduce a new library name that doesn't dynload the same way." ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :\"opengl32\" + 'wglGetProcAddress + (_fun blah blah) -> one particular _cproc" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :I think that I'm more confused now." ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :(special-opengl-extension-place_ + 'glMultiTexCoord1dvARB + (_fun _uint32 _float -> _void) -> another _cproc, gen'd differently" ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :that underscore is sposed to be a )" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :But as far as the ffi is concerened, you're just calling a C function, and getting back a value, which happens to be a C function itself." ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :Right. Well, the tools are all there for me to roll my own." ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :incubot: (make-string 600 (integer->char 0))" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :(more crickets)" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :incubot: (make-string 600000 (integer->char 0))" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :incubot: (make-string 60000000 (integer->char 0))" ":jonrafkind!n=jon@wireless212.wireless.utah.edu QUIT :Read error: 110 (Connection timed out)" ":offby1!n=user@q-static-138-125.avvanta.com PRIVMSG #scheme :nooooo!" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :incubot: (+ 1 2)" ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :3" ":offby1!n=user@q-static-138-125.avvanta.com PRIVMSG #scheme :don't keeel him" ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :Some bots just need killin'." ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :Daemmerung: well, I think that I'm missing the problem." ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :incubot: (make-string 600 (integer->char 1))" ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :..." ":offby1!n=user@q-static-138-125.avvanta.com PRIVMSG #scheme :*gasp*" ":offby1!n=user@q-static-138-125.avvanta.com PRIVMSG #scheme :make the pain stop" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :incubot: (list->string (map integer->char '(65 66 67 13 10 65 66 67)))" ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :ABC" ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :eli: It's not really a problem. I'm merely overreacting to the general name of \"get-ffi-obj\" vs the specificity of its mechanism." ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :incubot: (list->string (map integer->char '(65 66 67 13 10 65 66 67 68)))" ":incubot!n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com PRIVMSG #scheme :ABCD" ":aspect!i=aspect@burns.dreamhost.com PART #scheme :" ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :Not that I want to type get-ffi-obj-from-ffi-lib-right-now-plz-kthxbye" ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :Anyway, let me implement it and report back. Thanks for listening." ":jonrafkind!n=jon@c-98-202-86-149.hsd1.ut.comcast.net JOIN :#scheme" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :(Ugh, I have chocolate in my hair.)" ":synx!i=synx@gateway/gpg-tor/key-0xA71B0C6A PRIVMSG #scheme :so... https://synx.us.to/feepcode/hexdiff/diff3thing.ss" ":synx!i=synx@gateway/gpg-tor/key-0xA71B0C6A PRIVMSG #scheme :It seems to be working..." ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :Daemmerung: Bottom line, I think -- sounds to me like you can create that wrapper around the GL thing," ":synx!i=synx@gateway/gpg-tor/key-0xA71B0C6A PRIVMSG #scheme :It only reports the difference in byte 3, in the test case." ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :where the thing that you'll need to do is make it work with different types." ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :Which is sort of like the cprintf glue, which works with different input types." ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :(collects/ffi/c-printf.ss)" ":eli!n=eli@winooski.ccs.neu.edu PART #scheme :\"rcirc on GNU Emacs 22.1.1\"" ":synx!i=synx@gateway/gpg-tor/key-0xA71B0C6A PRIVMSG #scheme :But of course I have 6 memory images. 3 \"before\" and 3 \"after\", and running it on those produces nothing in common at all between before and after." ":eli!n=eli@winooski.ccs.neu.edu JOIN :#scheme" ":synx!i=synx@gateway/gpg-tor/key-0xA71B0C6A PRIVMSG #scheme :It's decrementing a freaking integer, there's gotta be a byte in there that changes when you decrement, but otherwise stays the same!" ":eli!n=eli@winooski.ccs.neu.edu PART #scheme :\"*sigh*\"" ":JohnnyL!i=JohnnyL@ool-182ddad4.dyn.optonline.net PRIVMSG #scheme :is there a way to grab the arguments of a calling list if the function isn't the first function in the list?" ":eli!n=eli@winooski.ccs.neu.edu JOIN :#scheme" ":synx!i=synx@gateway/gpg-tor/key-0xA71B0C6A PRIVMSG #scheme :How could there not be any common bytes at all?" ":eli!n=eli@winooski.ccs.neu.edu PRIVMSG #scheme :ACTION slaps Emacs" ":synx!i=synx@gateway/gpg-tor/key-0xA71B0C6A PRIVMSG #scheme :JohnnyL: example? What do you mean by \"grab\"?" ":JohnnyL!i=JohnnyL@ool-182ddad4.dyn.optonline.net PRIVMSG #scheme :such as (function1 function2 function3 function4) then inside function2 execute the symbol for function3." ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :How do you execute a symbol?" ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :If \"function1\" is not a procedure but rather is syntax, then you can do this." ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :(Or function1 could be a procedure, too.)" ":JohnnyL!i=JohnnyL@ool-182ddad4.dyn.optonline.net PRIVMSG #scheme :how?" ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :No, I take it back. I have no idea what you want to do, really." ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :Provide a concrete example. And be precise." ":JohnnyL!i=JohnnyL@ool-182ddad4.dyn.optonline.net PRIVMSG #scheme :Daemmerung I can't get any more simplier or exact than I already have." ":JohnnyL!i=JohnnyL@ool-182ddad4.dyn.optonline.net PRIVMSG #scheme :Daemmerung is the calling functions arguments seen by within the function?" ":synx!i=synx@gateway/gpg-tor/key-0xA71B0C6A PRIVMSG #scheme :No, not at all." ":synx!i=synx@gateway/gpg-tor/key-0xA71B0C6A PRIVMSG #scheme :Not in the slightest." ":synx!i=synx@gateway/gpg-tor/key-0xA71B0C6A PRIVMSG #scheme :I don't even know if you can predict what order the arguments will be evaluated in..." ":JohnnyL!i=JohnnyL@ool-182ddad4.dyn.optonline.net PRIVMSG #scheme :synx, yeah thats what I thought too." ":JohnnyL!i=JohnnyL@ool-182ddad4.dyn.optonline.net PRIVMSG #scheme :just checking." ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :The rules of Scheme are very simple: (a b c) evaluates a, b, and c, then applies a (as a procedure) to b and c. If a is syntax, Scheme will rewrite (a b c) per that syntax into some other form, then eval the results." ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :The procedure that was the value of a will receive two parameters: the value of b, and the value of c. What it does with those two parameters are its own business. Perhaps it applies b in turn to c." ":Daemmerung!n=goetter@64.146.161.228 PRIVMSG #scheme :If a was syntax, and rewrote (a b c) to (b 'ziggy 'foobar c), then b would be applied (as a procedure) to three values. Perhaps that's what you want. /wild-assed guess" ":JohnnyL!i=JohnnyL@ool-182ddad4.dyn.optonline.net PRIVMSG #scheme :Daemmerung Ok" ":JohnnyL!i=JohnnyL@ool-182ddad4.dyn.optonline.net PRIVMSG #scheme :thanks guys." ":jeremiah!n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net QUIT :Read error: 104 (Connection reset by peer)" ":JohnnyL!i=JohnnyL@ool-182ddad4.dyn.optonline.net QUIT :" ":errordeveloper!n=errordev@78-86-1-110.zone2.bethere.co.uk QUIT :Read error: 104 (Connection reset by peer)" ":errordeveloper!n=errordev@78-86-1-110.zone2.bethere.co.uk JOIN :#scheme" ":jeremiah!n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net JOIN :#scheme" ":jcowan!n=jcowan@cpe-74-68-154-18.nyc.res.rr.com JOIN :#scheme" ":jcowan!n=jcowan@cpe-74-68-154-18.nyc.res.rr.com PRIVMSG #scheme :ACTION unvanishes yet again. How boring." ":jcowan!n=jcowan@cpe-74-68-154-18.nyc.res.rr.com PART #scheme :\"Bailing out\"" ":grettke!n=grettke@CPE-65-31-132-59.wi.res.rr.com JOIN :#scheme" ":elmex_!n=elmex@e180064208.adsl.alicedsl.de JOIN :#scheme" ":gweiqi!n=greg@69.120.126.163 QUIT :\"Leaving.\"" ":Daemmeru`!n=goetter@64.146.161.228 JOIN :#scheme" ":Daemmerung!n=goetter@64.146.161.228 QUIT :Read error: 104 (Connection reset by peer)" ":BW^-!i=Miranda@94.191.142.70.bredband.tre.se JOIN :#scheme" ":BW^-!i=Miranda@94.191.142.70.bredband.tre.se PRIVMSG #scheme :i have a function in inlined C in a scheme file in gambit, and i want inlined C code in another scheme file in gambit to be able to access the first. any idea how? :)" ":Daemmeru`!n=goetter@64.146.161.228 NICK :Daemmerung" ":BW^-!i=Miranda@94.191.142.70.bredband.tre.se PRIVMSG #scheme :so basically it's a general C question. unresolved external symbol \"int __cdecl release_WindowStruct_star(void *)\" (?release_WindowStruct_star@@YAHPAX@Z). hm." ":elmex!n=elmex@e180066111.adsl.alicedsl.de QUIT :Read error: 110 (Connection timed out)" ":elmex_!n=elmex@e180064208.adsl.alicedsl.de NICK :elmex"