Re: [Chicken-users] Readline
Do I need to updated repo perms? I tried to check into the readline directory and got denied (probably a good thing). My username is "mfredrickson" Thanks in advance! -Mark On Thu, Nov 13, 2008 at 6:28 AM, felix winkelmann <[EMAIL PROTECTED]> wrote: > On Thu, Nov 13, 2008 at 5:52 AM, Mark Fredrickson > <[EMAIL PROTECTED]> wrote: >> Hello, >> >> Does the readline egg have an active maintainer? >> >> I'm trying to add file globbing to the completions, and I have a very >> basic patch. I'm thinking of creating a little completion callback API >> and I'd like to coordinate with the maintainer. > > Several people have hacked on it (mostly elf, recently). The original > author is Tony Garnock-Jones, but he doesn't much chicken hacking > nowadays. I think it is safe for you to work on it, without stepping on > somebodies feet. > > > cheers, > felix > ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] Readline
Hello, Does the readline egg have an active maintainer? I'm trying to add file globbing to the completions, and I have a very basic patch. I'm thinking of creating a little completion callback API and I'd like to coordinate with the maintainer. Cheers, -Mark ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] using the compiler at runtime
While this is probably not what you are looking for, there is always (system "csc -s path/to/file.scm"). This should help with issues of using (eval ...). You can (write ...) your code to a temp file, run csc on it, and (load ...) the .so. If you are trying to compile a closure, I'm not sure of a good way to make it happen, but I'd be interested to hear other input. I am at this very moment working on a similar problem (though I'm only compiling files not metaprogrammed code, so my situation may be easier). Good luck and report back if you find anything, -Mark On Nov 11, 2008, at 4:09 PM, Felix Lange wrote: hi, chicken-users, i've been using chicken scheme for quite a while now, and would like to request a feature (or at least a hint on doing something roughly equivalent). most, if not all common lisp implementations provide the 'compile- file and 'compile functions. these are very useful for implementing domain-specific languages (among other tasks). having 'compile available at runtime makes it possible to compile these languages into lisp code, which, when it is run, executes at the same speed as everything else in the running image. in scheme, since 'compile is not provided, i'd be building an interpreter or, even worse, use eval. as chicken is a scheme-to-C compiler, 'compile, if it were available would probably return a string of C code (and should therefore be called 'compile-to-c). the output of 'compile-to-c could be written to a temporary file, which in turn could be compiled/linked by an external c compiler (assuming it's presence, libtcc?) and loaded back into the running user program as a shared library. example from dsl background (compilation might improve speed if some- long-list is really really long): (define dl (dsl-code->lambda-form (quote . ))) (map (compile dl) some-long-list) a penny for your thoughts felix ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Anyone up for porting Termite to Chicken?
On May 20, 2008, at 8:04 PM, Ivan Raikov wrote: Answers embedded below: Alaric Snell-Pym <[EMAIL PROTECTED]> writes: Well, as far as I can tell, MPI seems to have a fairly static view of the world as having a fixed number of processes in it upon startup, so the following (in Erlang) comes to mind: http://www.erlang.org/doc/reference_manual/processes.html#10.2 Which, basically, creates a new process and returns its PID, which is then usable as the destination for a message send. Ok, you cannot do this with MPI as far as I know. An Erlang "process" is really a green thread, not dissimilar to Chicken's continuation based threads. Erlang processes run inside of a virtual machine, which is the equivalent of the Chicken run-time. At least on paper (which is as far as my knowledge extends) the Erlang and Scheme + MPI models are fairly similar. I do believe that one can start a new Erlang VM and add it to the cloud at any time, but I get the impression this is actually rare. With n cores, why not just start a VM on each core to begin with? The Erlang designers are extremely paranoid about the VM's stability (e.g. I understand a large portion of IO is done over pipes so that if the IO process crashes, the VM is safe), so restarts of VMs tend to be few. This is probably one area that Chicken would not fair as well. In Erlang, if one "process" (thread really) has a problem it crashes (by design) and everyone else is fine. A Chickeny Termite would probably need to expend some effort to match this. Though I think it certainly could be done. Cheers, -Mark ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] Benchmark game: binary-trees
Hi Isaac, I'm bothering you because I'm under the impression you are an insider at the PL benchmark game. If I'm wrong, feel free to disregard. Can you comment on why Chicken's binary tree implementation is listed as "no program" http://shootout.alioth.debian.org/gp4sandbox/benchmark.php?test=all&lang=chicken&lang2=chicken but we clearly have a program: http://shootout.alioth.debian.org/gp4sandbox/benchmark.php?test=binarytrees&lang=chicken There was a theory that Chicken's implementation was considered "alternate" for some reason, though it's basis for Bigloo and Ikarus's implementations. http://shootout.alioth.debian.org/sandbox/benchmark.php?test=binarytrees&lang=bigloo&id=0 From the looks of it, Mzscheme is in the same boat. Thanks for any info you can provide, -Mark ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Chicken For Ruby Programmers
Hi Raymond, I've added my 1st draft presentation outline: https://galinha.ucpel.tche.br/cgi-bin/svnwiki/default/chicken-for-ruby-programmers This is just my rambling thoughts on what my Ruby group might be interested in. On Feb 19, 2008, at 9:37 PM, raymond medeiros wrote: I actually have a profile page. Well specific correlations between languages would be good, I think for this document it would be best to show how things like map work in ruby and in scheme. Agreed. I think showing how Ruby knowledge is immediately applicable in Scheme is a good tack to take. For example, Hash.new is like (make- hash-table). There are a few articles out there under various names you might want to read up on. Search for "functional programming in ruby" and also "ruby lisp". I was thinking something along those lines, because we can relate those paradigms in both languages. Also what i'd like to see is emphasis on meta-programming in Ruby vs meta-programming in lisp. That's just off the top of my head. While I don't disagree that showing off metaprogramming would be useful, I think I may focus on more "immediate" task needs: shell scripting, regexes, various object systems, eggs vs. gems. I think this balance of quick-start, immediate needs with a higher level idiom and meta-programming comparison would make a very strong introduction. Divide and conquer! something else to consider, would it be prudent to create an introductory tutorial on spiffy/web-unity/mettle and show how one might pursue web development for people who currently use a framework like RoR? Certainly. It's not my area of expertise, but perhaps we can draft some more individuals. I think such a tutorial could have more value if it also addressed other web frameworks such as Struts or CakePHP. Cheers, -M ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Chicken For Ruby Programmers
Hi Raymond, On Feb 19, 2008, at 7:16 PM, Raymond Medeiros wrote: Hi, myself and my friend Liam Irish were considering working on this portion of the hack-a-thon. So I'm throwing it out there, I noticed that Mark Fredrickson is already on the list for Ruby. Great! I know Peter Bex also expressed a willigness to help. The more help the better. I have absolutely no intention of monopolizing this work! I would encourage you to add your name(s) to the list. Also, Mario is encouraging people to add profile pages, and this might be a good time to do both. We both have extensive "real world" experience with Ruby as a language, might not be so strong on the scheme side, but could possibly lend a hand in fleshing this out. Cool. I have less Ruby experience, but I agreed to give a presentation on Scheme to my local Ruby user's group. I would greatly value your experience. BTW, I love the "Chicken for X Programmers" I think that this is precisely the kind of thing Chicken needs to gain more exposure. I welcome any comments suggestions on this. Neither a comment nor suggestion, but a question: As a Ruby programmer, what would you like to see in an introductory document? I was brainstorming ideas tonight, and I find it hard to decide whether to focus on very specific topics (e.g. "Instead of a Hash class, you can use (make-hash-table)") vs. higher level concepts (e.g. "Blocks are like anonymous functions."). I suspect these intro docs will be a combo of the two. Cheers, -Mark ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] ANN: new egg, Stacktor
Hi all, I'm happy to announce my first egg: Stacktor. Stacktor is a DSL for programming in a stack based style, like languages such as Forth or Factor. The idea came from a talk at my local Ruby user's group by Slava Pestov on Factor. While I know Slava likes Lisp/Scheme, he made an offhand joke about Lisp, and I felt obligated to show that the Lisp/Scheme world can do stack based programming too. Here's a real quick example. Let's say we want to find all the squares of a list that are larger than a given value. In a functional style, we'd either have to write it "backwards" or use a lot of intermediate bindings. We can skip both with in stack programming: (begin-stack 9 '(1 2 3 4 5) (push (lambda (x) (* x x))) map stk-swap (lambda (x) (lambda (y) (> y x))) ;; returns a function that will be pushed on the stack filter ) => (stack 16 25) I won't bore you with a lot details. Feel free to hit me up if you have more questions. Cheers, -Mark ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Re: YADT: yet another documentation thread
On Feb 18, 2008, at 12:45 PM, Peter Bex wrote: On Sat, Feb 16, 2008 at 05:03:47PM -0500, Graham Fawcett wrote: The CL community has a "My Road to Lisp" meme, where CL users write up a quick story on how they "arrived". I'd *love* to hear people's My Road to Chicken stories. Pre-university: BASIC. Pascal. C. C++. University: Rexx (I never discovered if this was a real language or just a teaching tool at my school. It's very similar to...) SML. Java. More C/ C++. More SML. Perl. Post-university: PHP. Ruby. JavaScript. Scheme (finally!) I've been looking for my "go to" language for a long time. Ruby was a strong candidate, but Scheme takes what I like about Ruby and gives me more options. I looked at CL but found it weird and inconsistent. The little things matter. Now, I plan to plant myself firmly in Scheme and see where it takes me. (BTW, if nobody else is interested I'd be happy to try my hand at a Ruby->Chicken tutorial). I too would be happy to help. I recently volunteered to give a Scheme introduction my local Ruby group. -Mark ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] YADT: yet another documentation thread
I disagree that new users should know how to put together a R5RS environment with Chicken. As a new user of Chicken, my concern was not with standards-conforming code; my concern was how to get code to work using the functional programming idioms I had learned from Standard ML. With a high probibility that Chicken users will be coming from other PLs, I think a series of "Chicken for Python Programmers", "Chicken for Ruby Programmers", etc could be very helpful. Where are my hashes? How do I do string concatenation? Where are my objects? These questions, and more, should be answered. I suggest we draft Hans (http://4.flowsnake.org/) for the Python doc. :-) I'll add these tasks to the Wiki. -M ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Compromise Hackathon Doc Proposal
Good idea. Could you please add these points to the wiki page? Added. I also added an additional hackathon goal of improving Chicken's performance on the PL Shootout. I know there was some noise around that in previous weeks, but I don't know where it ended up. -M ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] Compromise Hackathon Doc Proposal
Hi all, I still think focusing on documentation is still a good idea for a Hackathon goal, even if it has proven divisive. While I certainly have opinions on the subject, I'd like to propose a compromise to keep us moving forward. 1. Our primary focus is on updating documentation where it currently resides (wiki, svn, etc) in the format it currently uses. Getting the documentation that exists current is a big task as it is. Let's not worry about moving documentation just yet. 2. Where documentation is non-existent, give the person(s) working on the new documentation the right to choose the format. Again, let's focus on building the bikeshed, not the color. 3. Let's put any new functionality on the back burner, at least when talking about the Hackathon. Peter suggested this in his original proposal and I think it is a good idea. That said, I too would be interested in looking at literate programming options -- after the Hackathon. :-) 4. Let's try to dedicate some time to infrastructure improvements: Mario suggested expanding SVN wiki tags, it sounds like the *-commit hooks could use a refactoring, etc. As Zbigniew said, infrastructure lasts. There are a lot of smart people on this list with good ideas. Like Ivan, I'm a Scheme fan for the wild-west aspect. I'm not tied to any programming paradigm. I can experiment with many styles. I think we should take a similar attitude towards our documentation. :-) Yours in the public service, -Mark ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Comprehensive documentation rewrite
Perhaps before we decide where data should live, what format, etc, we should come up with a list of requirements that we want to meet? Here's my attempt at cataloging what I've heard so far: 0. Data should not be duplicated. Duplicated data will get out of date, fork, etc. 1. Data should be easy to translate into different formats (potentially wiki, texi, SXML, HTML, man pages, others) [1] 2. Data should be available off-line. 3. Data should come with egg. 4. Users should be able to update data via wiki system [2] 5. Data should apply to more than just lambdas/procedures 6. Presentation of data (at least online) should be consistent [1] For each format F, this requirement implies a mapping from data D -> F. Do we also need a mapping from F -> D, so that if a user changes F the original data can be updated? [2] I think this is related to [1]. If we change the wiki (a representation) does the original data change? Also, there are some permissions and branching issues here if the document data is stored in the egg. E.g. should all users get to update the wiki documentation? Is the wiki branched such that documentation changes in one branch do not inappropriately change other branches? --- Other requirements? -Mark ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] egg documentation
This idea dove tails with discussion last week of providing docstrings for lambdas. Felix pointed out that there is a hook to capture lambda documentation. Will this work for documenting eggs, which might also have data types, parameters, other info? Texi seems like a reasonable standard to me, FWIW. Cheers, -M > I think the best alternative would be having svnwiki tags to markup > chicken docs (which is possible). > > Something like: > > > This is foo > > > From a known format, we can convert the wiki documentation to whatever > format we need and even have an interactive documentation system. The > current problem with the wiki documentation is that we don't have > semantic markup. > > Best wishes, > Mario > > > > > ___ > Chicken-users mailing list > Chicken-users@nongnu.org > http://lists.nongnu.org/mailman/listinfo/chicken-users > ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Re: A few questions
a third possibility is similar to whats in place already... have explicitly named elements of an associated proplist with each var/func, optionally. I assume you mean extending (declare (exports )) to something like (declare (exports ((square ((required int) (docstring "Returns the square of it's input")) I think this is an excellent suggestion. The only thing we really need to document in this way is the public interface of units. Code comments should suffice for private functions (and some sort of (define-with-docinfo ) type form could be made available for cases where you really need to comment something, or are testing in the interpreter, but I think that's a separate issue). Compiling with -X docinfo could add all of this to a unit.db file which could be optionally loaded, so we could eliminate overhead for cases where you don't need the info. Perhaps (use-with-info xyz) to load? I recently saw a talk on Factor, which has some nice documentation features built into the standard REPL. Click on a symbol to get documentation. Certainly not necessary for development, but a similar system for chicken would probably require some sort of db of symbols and docstrings. I promise to go look at the (declare ...) system and help on this endeavor, if committers think it is a worth while idea. Cheers, -Mark ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Runtime arity?
Thanks for the info, Kon. I've created a ticket to track this: http://trac.callcc.org/ticket/417 For now, I'll just special case for my needs. Cheers, -M On Jan 29, 2008 12:52 PM, Kon Lovett <[EMAIL PROTECTED]> wrote: > > On Jan 29, 2008, at 10:37 AM, John Cowan wrote: > > > Graham Fawcett scripsit: > > > >> Hm, is it just primitive C functions that need better "procedure > >> information"? It might be easier to fix that, than to build and > >> maintain a database. > > > > Really only the primitives that are also user-exposed, like + > > but unlike cons (which is not, technically, a primitive in Chicken). > > Yes. By "database" I meant something that maps ##core#primitive > procedures to "full" lambda info. Don't think it practical to change > every use of '(##core#primitive "C_foo")' when a central lookup table > can be built. > > > > > -- > > Samuel Johnson on playing the violin: John Cowan > > "Difficult do you call it, Sir? [EMAIL PROTECTED] > > I wish it were impossible."http://www.ccil.org/ > > ~cowan > > Best Wishes, > Kon > > > > > > ___ > Chicken-users mailing list > Chicken-users@nongnu.org > http://lists.nongnu.org/mailman/listinfo/chicken-users > ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] Runtime arity?
Is it possible to determine at run time the arity of function? I'm thinking something like (arity (lambda (x y z) (* x y z))) => 3 Something that could also inform me about "rest" params would useful too. My searching of the wiki has turned up no info. Thanks in advance, -Mark ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] SICP study group
How fortuitous! My local (Minneapolis, MN, USA) functional languages group is starting a SICP read-along on a similar schedule. I'll pass this along. And if anyone is in the Twin Cities area and would like to join up to watch the videos, let me know. Our first viewing will be on Feb 11th. Thanks Graham, -Mark On Jan 24, 2008, at 8:54 AM, Graham Fawcett wrote: Hi folks, There's a study group for SICP (the book, "Structure and Interpretation of Computer Programs"), just starting up. If you're interested in joining, please see http://inkdroid.org/journal/2008/01/23/sicp-reading/ If you haven't read SICP (in print or the free, online version), it's a mind-expanding book. I haven't read it in years, and might follow along. (I joined the group anyway, in the hope of spreading some Scheme goodwill and helping to answer Scheme-specific questions.) All are welcome! Graham ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] advice egg
Lordy! Does Felix ever sleep? -M On Jan 22, 2008 3:58 PM, felix winkelmann <[EMAIL PROTECTED]> wrote: > Hi! > > > Another egg freshly available: advice > > http://chicken.wiki.br/advice > > > cheers, > felix > > > ___ > Chicken-users mailing list > Chicken-users@nongnu.org > http://lists.nongnu.org/mailman/listinfo/chicken-users > ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] repository branching
SVN external definitions *might* be what you want, though this particular application sounds gruesome. Externals are roughly the equivalent of symbolic links: a given directory in one repository/branch actually points at another repository/branch. Managing them for 300+ eggs sounds like a nightmare. Egg maintainers would each need to point their external definitions at the current branch from trunk. I don't see a way to automate it for all eggs. Good luck, -M On Jan 20, 2008 9:30 PM, felix winkelmann <[EMAIL PROTECTED]> wrote: > On Jan 20, 2008 7:41 AM, Ivan Raikov <[EMAIL PROTECTED]> wrote: > > > > Is it > > possible to use some Subversion trick so that a commit to a top-level > > egg directory automatically does copy/commit in the latest release > > branch also? > > I'm not aware of such a thing. > > > cheers, > felix > > > > ___ > Chicken-users mailing list > Chicken-users@nongnu.org > http://lists.nongnu.org/mailman/listinfo/chicken-users > ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Some pointers on easyffi and interfacing with C code
A quick thank you to everyone who responded. Those tips helped immensely. When starting out with a new system, not only does one need questions answered, you need to know what questions to ask! I'd like to *think* I'm on better ground for both of those items. Cheers, -M ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] Some pointers on easyffi and interfacing with C code
Hello Chicken expertgenzia, In attempt to broaden my knowledge of Chicken, I'm attempting to create an egg for the GEOS C library[1]. My first cut has been to use easyffi, and I'm pleased with the results. With minimal hacking at the GEOS API header[2] I've been able to see some results. Now I'm looking to refine. Here are my questions: 1. Many of the GEOS functions return 'char', even though the actual data should be a bool. Is there a way to tell easyffi to treat these characters as #t/#f? I'm thinking there might be a __declare() for it, but I didn't see anything that made immediate sense to me. 2. Several of the functions return ints to represent success, errors, and take a "return" argument by reference. Is there a best practice for dealing with these kinds of functions? Here's an example if I'm not being clear (the goal is to compute the length of a "geometry" e.g. a line): extern int GEOSLength(const GEOSGeometry* g1, double *length); 3. How do you get those cool <#TYPENAME> print outs in the the interpreter? E.g. #;1> (make-hash-table) # Since geometries have literal represenstions in the form of Well-Known- Text (e.g. "POINT(100 100)") is there a way to get a call back and print out a literal value? Similarly, can I write a reader macro to turn a literal in source into a geometry? Something like: (let (p #WKT(POINT 100 100)) . This last point is just for my edification right now. I've got plenty to do with the rest of the API first. Finally, if anyone is feeling like going above and beyond, I could use suggestions how to handle callbacks for the initGEOS() function in that C header. It's a little too complex for easyffi. While I can certainly write a pair of handlers in C, it'd be nice to be able to pass in user lambdas to execute on error and warning conditions. Thanks in advance, -Mark [1] http://geos.refractions.net/ [2] http://geos.refractions.net/ro/doxygen_docs/html/geos__c_8h-source.html ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] SRFI-1
Thanks for the pointer. I had tried that. I assumed the error message I received indicated said extension did not exist. Actually, it's a well documented issue on OS X when using macports: http://chicken.wiki.br/platforms#Fixing%20libchicken.dylib I made the link and now I have access to all the built in stuff. Sweetness. On a side note: Is there a way I can see all the "units" I have available? -M ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] SRFI-1
Is there an egg for SRFI-1? Google searches show nothing, and eggs unlimited does not appear to have a SFRI-1 implementation on hand. Without having tried it, I'm guessing http://srfi.schemers.org/srfi-1/srfi-1-reference.scm will probably work. Am I being thick? Does everyone just write their own version of filter and fold? :-) Cheers, -Mark ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Re: Style Guide
> William Ramsay wrote: > > Is there such a thing as a Chicken/Scheme style guide? [...] If there > > is such a thing as teaching an old dog new tricks I'd like to try. > > Your last sentence makes me think that you're referring to algorithm > design, not mere syntax style. Things like learning to use closures and > continuations effectively, learning to express iterative processes with > recursive syntax, and so on. There is certainly a idiomatic style of Scheme, but I think the actual style as defined by the layout of the source code matters as well. Those two documents were useful reads to some who frets over such issues (me). Here's a related question for more experienced Schemers: In Dybvig, he states that the define form: (define square (lambda (x) (* x x))) is to be preferred to (define (square x) (* x x)) After reading that, I started using the first form religiously. Now I'm not so sure. For no small part because the text editor I use (TextMate) doesn't highlight the first form as a function definition but does highlight the second form. Anyone have an opinion? I'm not looking for an opinion, but perhaps a tip as to why one method might prove more useful as I release code or maintain code that I've already written. TIA, -M ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] daemonize egg: redirect I/O?
> I think it would suffice for daemonize to wrap the call to the daemon's > main procedure in a dynamic-wind block and call the cleanup function > from the exit thunk. Unless the daemon procedure terminates itself with > a low-level _exit or by sending itself a kill signal, the cleanup code > should then always be executed. Wouldn't this also call the exit thunk if the daemon proc itself ever issues a call-with-current-continuation? That sounds like unexpected behavior. -M ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] On parameterize and fluid-let
On 10/15/07, Tobia Conforto <[EMAIL PROTECTED]> wrote: > Mark Fredrickson wrote: > > ... we can see the macro expansion of parameterize using dynamic-wind. > > Dynamic-wind will call the function g6 before and after control enters > > or leaves the thunk, by call/cc, the basis of threads in chicken > ^ > > No, I believe threads are orthogonal to continuations. I was basing this analysis on a single line of text from the call/cc.org page. (It comprises my entire understanding of threads in chicken): "Lightweight threads based on first-class continuations" If this does not mean that threads are a implemented as continuations, what does it mean? -M ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Choosing a programming language for a web project
> FWIW, Peter, I also have a mini-framework I've been meaning to eggify. > I wonder how many of us have rolled their own? I too would like to see them. Even if not in an egg form. An example app would be good enough for me. Perhaps the classic Reddit clone? I've been looking at some Lisp frameworks that use that as an example: http://bc.tech.coop/blog/051221.html That page highlights KPAX as one example CL framework. An interesting approach in KPAX is use of object prevalence instead of a RDBMS or similar for data storage. Is anyone in the chicken world doing something similar? I've been thinking about porting the CL implementation KPAX uses over to chicken, but I wouldn't mind saving myself the effort. Cheers, -Mark (Apologies to Graham who is seeing this for the 2nd time. I didn't realize the list didn't munge my reply headers. Mea culpa) ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users