[Chicken-users] new egg: glm

2013-04-15 Thread Kristian Lein-Mathisen
Dear Chickeners!

In my OpenGL and physics-simulation adventures I have fequently come across
the need for a small math library in Chicken. I spent some time looking at
the eggs out there, but some of them seemed a little overkill for my needs,
so I decided to roll my own.

I was looking for:
- binary compatible with C/OpenGL/GLSL data-storage (f32vectors and friends)
- simple to use and short naming/syntax
- can multiply/add etc vector/matrix
- includes some transformation helpers like translate, rotate and scale
- not a lot of dependencies

In C++ land, it seems like GLM math library is popular, and it matches the
criteria above (except language). A few days in, I've got a fairly
functional math util egg:

https://github.com/Adellica/chicken-glm

Feedback is very welcome! In particular, because of all the different types
(vec2, vec3, ivec2 etc), I wrote a template macro which does basic
substring substitution:

(template
 `((D 2 3 4))
 (define (make-vecD  fill) (make-f32vector D fill))
 (define (make-dvecD fill) (make-f64vector D fill))
 (define (make-ivecD fill) (make-s32vector D fill))
 (define (make-uvecD fill) (make-u32vector D fill))
 (define (make-bvecD fill) (make-u8vector D fill)))

That will expand the body three times, each time substituting D with 2~4.
This works quite nicely and saves me a lot of copy-paste, but I don't know
if it's in the Scheme spirit. Any thoughts?

Vectors use structures from srfi-4, and matrices get their own record
(storing column-count along with its srfi-4 vector).

Once chicken-glm stabelizes a little, I'd like to make it reachable from
chicken-install.
K.
___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] new egg: glm

2013-04-15 Thread Dan Leslie

Wild!

I've looked at binding GLM a few times but shied away from the wall of 
templates. Your solution is a rather elegant hack, IMHO, leaving little 
to the clients of your bindings to fuss about.


What's the license?

-Dan

___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


[Chicken-users] [ANN] Awful mailing list

2013-04-15 Thread Mario Domenech Goulart
Hi,

A mailing list specific for discussions about awful
(http://wiki.call-cc.org/egg/awful) has been created.  It's hosted on
librelist.com.

To subscribe, just send a message to aw...@librelist.com.  Your first
message will only serve for subscription purposes and will not hit the
actual mailing list.  You then will receive a confirmation message you
should reply to.

Best wishes.
Mario
-- 
http://parenteses.org/mario

___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] new egg: glm

2013-04-15 Thread Kristian Lein-Mathisen
I'm glad to hear, I hope this will come in handy.

I'll license it with whatever fits the Chicken model and community. Is that
BSD perhaps?

It still needs a bit of work though, let me know if there are any feature
requests and I'll see what I can do.

K.
On Apr 15, 2013 7:14 PM, Dan Leslie d...@ironoxide.ca wrote:

 Wild!

 I've looked at binding GLM a few times but shied away from the wall of
 templates. Your solution is a rather elegant hack, IMHO, leaving little to
 the clients of your bindings to fuss about.

 What's the license?

 -Dan

___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] new egg: glm

2013-04-15 Thread Mario Domenech Goulart
Hi Kristian,

On Mon, 15 Apr 2013 23:24:25 +0200 Kristian Lein-Mathisen 
kristianl...@gmail.com wrote:

 I'll license it with whatever fits the Chicken model and community.
 Is that BSD perhaps?

Yes.

Best wishes.
Mario
-- 
http://parenteses.org/mario

___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


[Chicken-users] egg documentation with subpages

2013-04-15 Thread Jim Ursetto
Hi,

It is now possible to break up egg documentation into several pages.  This was 
previously possible on the wiki, but is now supported by chicken-doc as well.

Procedure: instead of creating a file, create a directory and populate it with 
subpage files.  To document the main page, call the page index.

Example:
  allegro/color
  allegro/display
  allegro/index

chicken-doc-admin supports directories and will automatically recurse.  It also 
works with the host-installed eggs option.

Notes:

- You should probably create at least a stub index file because otherwise the 
main page will 404.
- It's a good idea to place links to the subpages on the main page.  chickadee 
will automatically pick up subpages and place them in the contents bar, but the 
wiki will not.
- All subpages are considered eggs, which means:
   - It may confuse users who expect each doc page to correspond to exactly one 
egg, unit or module -- there is no allegro color egg for example.
   - Subpages will show up in a chicken-doc identifier or egg search, which may 
be confusing or annoying.

There may eventually need to be a way to tag a page as something other than an 
egg for chicken-doc, but that doesn't exist yet.

Jim



___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] egg documentation with subpages

2013-04-15 Thread Dan Leslie
Nice! I didn't realize chicken-doc-admin was even a thing, and this 
ability should make updating docs much easier to do.


When next I get around to updating the allegro egg from 5.06 to 5.09 and 
fixing the library discovery bug I'll see about also switching over to 
using this to manage the documentation.


Thanks!
-Dan

On 4/15/2013 3:41 PM, Jim Ursetto wrote:

Hi,

It is now possible to break up egg documentation into several pages.  This was 
previously possible on the wiki, but is now supported by chicken-doc as well.

Procedure: instead of creating a file, create a directory and populate it with subpage 
files.  To document the main page, call the page index.

Example:
   allegro/color
   allegro/display
   allegro/index

chicken-doc-admin supports directories and will automatically recurse.  It also 
works with the host-installed eggs option.

Notes:

- You should probably create at least a stub index file because otherwise the 
main page will 404.
- It's a good idea to place links to the subpages on the main page.  chickadee 
will automatically pick up subpages and place them in the contents bar, but the 
wiki will not.
- All subpages are considered eggs, which means:
- It may confuse users who expect each doc page to correspond to exactly one egg, 
unit or module -- there is no allegro color egg for example.
- Subpages will show up in a chicken-doc identifier or egg search, which 
may be confusing or annoying.

There may eventually need to be a way to tag a page as something other than an 
egg for chicken-doc, but that doesn't exist yet.

Jim



___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users



___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users