Re: [Chicken-users] egg documentation
So ultimately, I think something like the following tags would be useful: Thanks for the list! :-) proc(string-set! a b)/proc Alright, I will simply expand this to: [procedure] {{('''string-set!''' a b)}} macro(args:make-option (OPTION-NAME ...) ARG-DATA [BODY])/macro I'll expand this to the same as the above, but with “macro” instead of “procedure”. parameggdoc:doctype/param Is this meant to be used as in “The procedure sets the contents of the string parama/param to a copy of the contents of paramb/param”? In this case I don't think we should support it. I think it makes things way too verbose for what it gets us. The crucial thing to remember is that we want a compromise between having some semantics and still making it easy for anyone to edit this code. recordhostinfo/record read@[object message: value ...]/read signature type=stringdoctype:xhtml-1.0-strict/signature Care to give me an example as to how these are used and what you think they should expand to? I'm not completely sure I understand their semantics. Alejo. http://azul.freaks-unidos.net/ ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] egg documentation
proc and macro look good. The wiki pages use either '''procedure:''' (proc a b) or [procedure] (proc a b) depending on the author, so the rendering is up to you. On 2/19/08, Alejandro Forero Cuervo [EMAIL PROTECTED] wrote: parameggdoc:doctype/param Is this meant to be used as in The procedure sets the contents of the string parama/param to a copy of the contents of paramb/param? No. To define a SRFI-39 parameter. It would expand to [parameter] '''eggdoc:doctype''' according to your expansion of proc/macro. For parameters a procedure syntax should be accepted as well, e.g. param(eggdoc:doctype TYPE)/param. recordhostinfo/record signature type=stringdoctype:xhtml-1.0-strict/signature Care to give me an example as to how these are used and what you think they should expand to? I'm not completely sure I understand their semantics. Same thing. Semantics are they introduce a definition, not that they are used whenever this type is encountered in the text. Check out any of the existing eggs, such as objc: read@[RECEIVER KEYWORD ARGUMENT ...]/read '''read-syntax:''' @[RECEIVER KEYWORD ARGUMENT ...] recordobjc:instance/record '''record:''' objc:instance signature type=stringdoctype:xhtml-1.0-strict/signature '''string:''' doctype:xhtml-1.0-strict This is so that symbols/variables other than procedures and macros can be automatically indexed. Compare @deffn / @defmac / @defspec / @defvr / @defvar in Texinfo, which serve a similar purpose. In other words, these tags are 'definition commands'. ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] My language trajectory
Here's mine! @ pre-university: IBM PC BASIC (yay!) Pascal C++ Javascript @ uni: learned C properly Java SQL some kind of assembly traces of ML and Lisp most notably, the University environment introduced me to Linux, with bash, regexps, sed, awk, perl... @ post uni: Python CL Scheme (in this order) At work I'm writing a lot of Java and XSLT (factlet of the day: you can write entire web applications in XSLT; no, I wouldn't recommend doing it :-) but I too plan on sneaking in Chicken in the coming projects! Tobia ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] new domains.
On Feb 18, 2008 8:59 PM, Peter Bex [EMAIL PROTECTED] wrote: On Mon, Feb 18, 2008 at 11:49:15AM -0800, Elf wrote: www.newdomain.tld are all now cnames for www.call-with-current-continuation.org ... which isnt working too hot. advice please? Looks like call-cc's vhosting isn't set up to dispatch those domains. Felix: Can you fix this on the webserver end? Sorry, I just have ftp access and can't do anyhing about it. cheers, felix ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] new domains.
On Feb 18, 2008 9:03 PM, Elf [EMAIL PROTECTED] wrote: if you cant fix it on webserver end, we have some potential fixes on this end but it would be a lot more work for the Very Nice Person who has been handling dns issues since the computer fire. You could just redirect them all to http://chicken.wiki.br. cheers, felix ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] Topics and a main index (was: egg documentation)
Jim Ursetto wrote: proc(string-set! a b)/proc macro(args:make-option (OPTION-NAME ...) ARG-DATA [BODY])/macro recordhostinfo/record parameggdoc:doctype/param read@[object message: value ...]/read signature type=stringdoctype:xhtml-1.0-strict/signature I like this solution! It's a good compromise between plain, un- indexed Wiki pages and a complete documentation rewrite in a domain- specific language (which, although technically better, I agree would thwart user contributions.) I hope you are planning to build a main index of all definitions, by symbol and by permuted symbol? (see for example the indexes in CL Hyperspec) IMHO this would be the best benefit of introducing this syntax. I will gladly contribute code, once we decide to start working on it. In this spirit, I propose another addition: topics, meaning relevance to something: proc topics=stream cons higher-order(stream-xcons a b)/proc This would make it possible to build a dynamic index system of all the definitions (procedures, macros, records...) that have something to do with consing, and/or with streams, and/or with higher-order procedure usage or any other topic used in at least one definition. Other topics could be: list, vector, string, port, networking, html, eval, threading, fold, map, cgi, timedate... The topic index system can be written later, but I think it's important to get the attribute ready for the hackaton, if we agree it's a good idea. Meaning, let's define a list of basic topics and commit to put them on every definition we touch, if and where appropriate. With these semantic additions, I think the wiki repo could be considered the main source of documentation. Package builders will just have to checkout both the egg repo and the wiki repo, and run some scripts to generate the most recent documentation in various formats. Vincent Manis wrote: By the way, on the subject of wiki markup, I'd like to put in a plug for marking index entries. As I see it, with Alejandro's solution we are already marking index entries, at least for procedures, macros, records, and SRFI-39 parameters. On the other hand, the contents of read and signature don't have a fixed syntax that can be easily extracted (they aren't a single s-expr whose car is to be indexed) so maybe an index= attribute would have its uses, in case the author feels like putting a name for the entry in the aforementioned main index. Or maybe not. If instead you mean index links, as in this macro is useful in conjunction with [[index:stream-xcons]], that's a good idea. We could again fix the syntax and use it in the forthcoming documentation review, delaying implementation to when we write the main index itself. Tobia ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] My language trajectory
OK, here mine pre-university: Z-80 machine code (self designed/soldered computer [Screen: 32x8 characters each 6 bit - save chips save money]; the assembler was me, manually) Basic (Comodore C16) FORTH (written be myself with the build in 5026[or something] assembler of the C16) A real assembler for the C16, which I used to write a different FORTH Pascal university: Modula-2 VMS assembler C C++ Prolog traces of Lisp Unix/Linux traces of Perl post graduate: SGML Scheme slim traces of ML VHDL Verilog LaTeX, Lout DSSSL XSLT some Python At work I'm writing a lot of Java and XSLT (factlet of the day: you can write entire web applications in XSLT; You can www.dla-compro.de is no plone. It's Scheme+XSLT+CSS+JavaScript. (On top of askemos.org - a p2p network). no, I wouldn't recommend doing it :-) I would. But don't ask me. Ask the develpers how long it took them. (They knew both before had a choice: write essential modelling code for askemos but use it as data base only and utilize something like plone as middle tier between the data base and the browser. They choose the alternative: drop plone and python; do it native.) /Jörg ___ 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 18 Feb 2008, at 6:45 pm, Peter Bex wrote: A little painful to admit, but I started out with BASIC on the C64, then got a PC with QBASIC/QuickBASIC, then my first real language: C. I stuck with C for a long long time until I learned Scheme at university. That was love at first sight and I've been using it ever since :) PLT first, then a little bit of s48 and then Chicken. I started with BASIC on a ZX Spectrum, thence to Turbo BASIC on a PC (an original PC! Not the XT, which had a hard disk, but a real PC which had to have a 20MB hard disk on a card fitted, and would still only boot from floppy!), then Pascal (again Borland's Turbo version), then to 8086 assembly and C, more or less in parallel. However, I was always taking books out of the library on other languages. The local library was stocked with computer books in the 1970s and early 1980s when new programming languages weren't so stigmatised as they are these days, so I read books on Lisp, FORTH, FORTRAN, COBOL, Prolog and ADA as well as the ones I actually used; but I didn't have any access to implementations. But for my 14th birthday I was gifted with a then-new Demon Internet account, and online, I found myself able to download implementations of more languages, and access to Usenet: comp.lang.* in particular caught my interest. I was confused about this concept of 'functional programming' for a while, since all the descriptions of it I saw made no sense. Imagine programming without assignment - uh, how would *that* work? So, for my 16th birthday, I asked my father for a stack of books I'd heard recommendations of but hadn't been able to find. One of which was SICP, which was my first introduction to Scheme. I also picked up a book (well, *the* book, as far as I can tell) on Dylan, since that seemed cool. Anyway, I remember my surprise when, reading SICP, it said Now we'll cover assignment. What we've been doing so far is called 'functional' programming, or words to that effect, since the way it was done so far had all seemed perfectly sensible to me - I'd not actually noticed the lack of assignment at all... So yes, I liked the look of Scheme; it had a property I had begun to notice in a few languages, that it simple to implement simply, yet didn't preclude more efficient implementation in the way that, for example, TCL with its everything-as-a-string would. This it had in common with FORTH, and FORTH also had the fascinating metaprogramming facility, not unlike defmacro (although I'd not come across macros in the Lisp world at the time, with SICP rather skipping them). However, I didn't have much chance to play with it in depth for a while, since most of the programming I was doing required specific libraries or whatever. Then I went off to University, where I had to pick up a bunch of languages required for exercises: Java, Object- Oriented Turing (a rather toy Modula-esque language), Haskell, a few different assembly languages (as well as using C and Prolog, which I knew anyway, but actually being forced to do exercises in Prolog rather than just reading and thinking about it was a bit of an eye- opener). When it came to final year project time, however, I managed to talk the lecturers into letting me do my own project rather than picking one from their menu. And my project was in macro systems, as I had a cunning plan to try and merge FORTH's metaprogramming system with Scheme, which in effect involved a very low level macro system (I was rather taken with minimalism in programming languages, you see). Meanwhile, I was also working part time, so having to do more serious Java, as well as PHP and a bit of Perl. I picked up Python myself out of interest, since it looked like a better Perl. Only recently did I have to learn Ruby. Ruby's... not *that* bad, it's sort of half way between Python and Perl IMHO. So a bit cleaner than Perl, but still with crufty misfeatures such as do what I mean overloading, special core global variables like $_ and $` and all that, regexps in the core language (there's more to life than analysing strings, you know...), and so on. But Rails, however, builds on top of that in entirely the wrong direction, and brings out the worst of it. ABS -- Alaric Snell-Pym Work: http://www.snell-systems.co.uk/ Play: http://www.snell-pym.org.uk/alaric/ Blog: http://www.snell-pym.org.uk/?author=4 ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] ANN: new egg, Stacktor
On Feb 19, 2008 9:21 AM, Graham Fawcett [EMAIL PROTECTED] wrote: What I was trying to work out, personally, was a nice way of transforming a postfix, fixed-arity language into decent lexically-scoped expressions, e.g.: 20 dup print + 30 * might translate into (lambda (b) (let ((a 20)) (print a) (* 30 (+ 10 b Oops, I meant (lambda (b) (let ((a 20)) (print a) (* 30 (+ a b You can tell I don't have a Quacktor REPL open right now.. ;-) G ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] ANN: new egg, Stacktor
Neat! Mark, you may not believe this, but a few months ago I started writing a stack-based language in Chicken, and the first name I chose for it was 'Quacktor'. Great minds think alike, and fools seldom differ... Also, John Cowan has worked on a Joy egg, if I'm not mistaken; you might find that interesting. What I was trying to work out, personally, was a nice way of transforming a postfix, fixed-arity language into decent lexically-scoped expressions, e.g.: 20 dup print + 30 * might translate into (lambda (b) (let ((a 20)) (print a) (* 30 (+ 10 b ...so that I did not have to maintain an explicit stack, and could get Chicken to compile it to something efficient. It worked out pretty well, IIRC, though my examples were pretty short. I also had a nice SCHEME: form, so you could do stuff like REQUIRE: http-client SCHEME: http-get ( url -- body ) (http:GET url) ; : main http://callcc.org/; dup print http-get print ; If you're interested, I'll dig up my notes. Graham ___ 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 19 Feb 2008, at 2:13 am, Graham Fawcett wrote: The 6502 was the only CPU I ever really programmed assembly for. I had read about cellular automata (probably Conway's Game of Life, and probably in a Martin Gardner book) Yay for Martin Gardner books! I also learnt a lot of fun things from those :-) ABS -- Alaric Snell-Pym Work: http://www.snell-systems.co.uk/ Play: http://www.snell-pym.org.uk/alaric/ Blog: http://www.snell-pym.org.uk/?author=4 ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] passing variable number of floats to C
On Feb 19, 2008, at 11:32 AM, Heinrich Taube wrote: thanks, i see now. since its a list it would be nice from the users perspective to be able to pass immediate ints in addition to floats without having to cons the floats on the scheme side. so on the c side ill have to make sure that the car is either an int or a float before i access it -- ive been poking around in the doc but dont see any obvious predicates to do this. The C Interface section (http://galinha.ucpel.tche.br/C% 20interface) is incomplete. This should be a To Do item. For now look in the source @ chicken.h. can you please point me in the right direction? thanks for your help! for ( ; C_SCHEME_END_OF_LIST != lyst; lyst = C_u_i_cdr( lyst )) { if ( IS_INT(C_u_i_car(lyst)) ) sum += (double)C_u_i_car(lyst) ; else if ( IS_FLOAT(C_u_i_car(lyst)) sum += C_u_i_car(lyst) ; } /* C_truep used here since the predicate macros - F_foop - have Chicken Scheme boolean results, not C. */ double sum = 0.0; for ( ; C_SCHEME_END_OF_LIST != lyst; lyst = C_u_i_cdr( lyst )) { C_word word = C_u_i_car( lyst ); if (C_truep( C_flonump( word ) )) { sum += C_flonum_magnitude( word ); } else if (C_truep( C_fixnump( word ) )) { sum += (double) C_unfix( word ); } } If we were only interested in integers then C_num_to_int could be used. But this works: # static double double_sum( C_word lyst ) { double sum = 0.0; for ( ; C_SCHEME_END_OF_LIST != lyst; lyst = C_u_i_cdr( lyst )) { sum += C_flonum_magnitude( C_u_i_car( lyst ) ); } return sum; } # Best Wishes, Kon ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Topics and a main index (was: egg documentation)
Graham Fawcett wrote: it could be handled in a cascading fashion. A tag on the egg would suffice, but a tag on the procedure could enhance or override it. My thoughts precisely. Perhaps, but it would make a nice hackathon job: if the mechanism is there, someone could zip through an egg's doc and tag a few dozen specialized procedures. I'm sure I would do it, if nothing else to find obscure procedures easily again, using the topic indices. I agree that in general an egg-level tag is enough; but there are lots of corner cases. Procedure level tags should be optional, but could be useful. Useful especially for tagging the builtin units and other grab bags of miscellaneous procedures. Tobia ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] aliases in the wiki
For the egg pages we would simply prefix them (so format-modular would become egg-format-modular) This I'm not so sure about, because sometimes you remember the name of a procedure but not its egg, and because usually eggs become part of the domain-specific language you assemble to solve your problem, after which you don't care much anymore which egg the procedures came from. What do you propose we do if we have a function with the same name as an egg? Perhaps it wasn't clear from my message, but I was proposing the “egg-” prefix only in those cases where there is a clash. Alejo. http://azul.freaks-unidos.net/ ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] aliases in the wiki
Alejandro Forero Cuervo wrote: What do you propose we do if we have a function with the same name as an egg? Perhaps it wasn't clear from my message, but I was proposing the “egg-” prefix only in those cases where there is a clash. Yes, I misread that part. I guess renaming the egg page as egg-* is the most sensible thing to do, so that the overloaded name can point to a disambiguation page. Tobia ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] Chicken For Ruby Programmers
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. 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. 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. ./rm ___ 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
Re: [Chicken-users] Chicken For Ruby Programmers
http://www.randomhacks.net/articles/2005/12/03/why-ruby-is-an-acceptable-lisp http://tech.rufy.com/2006/11/functional-programming-in-ruby.html were the articles i was thinking about in particular, might make for a good starting place for ideas on how to organize the wiki entry. we should probably start with an outline, what i don't want is a table of this in ruby vs this in lisp, I'd rather see idiom comparison. On Feb 19, 2008, at 10:14 PM, Mark Fredrickson wrote: 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
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
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? On Feb 19, 2008, at 10:14 PM, Mark Fredrickson wrote: 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
Re: [Chicken-users] Chicken For Ruby Programmers
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. 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. On Feb 19, 2008, at 10:14 PM, Mark Fredrickson wrote: 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
Re: [Chicken-users] Chicken For Ruby Programmers
this is a good outline. hopefully i'll have some time tomorrow to start writing a few sections and we'll see how it goes. On Feb 19, 2008, at 11:06 PM, Mark Fredrickson wrote: 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 ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users