Re: Typed Guile?

2012-09-19 Thread thorsopia
Noah,

Can Guile use a library written on a typed language?

I understand that it's not going to work out of the box, but what would be
easier to adapt: Haskell, Typed Racket or Typed Clojure*?





WIKID 1.3 available

2012-09-19 Thread Thien-Thi Nguyen
release notes:

  Big news is testing w/ Guile 1.8 and dropped ‘<<.>>’ misfeature.
  Many internal changes, reflecting experience collected (endured)
  over the last five years, since the previous release.

  thi

README excerpt:

  This directory contains WIKID, comprising:
  - a wiki daemon
  - a CGI front-end
  - an administrative tool
  - some (sample) seed pages
  - documentation

NEWS excerpt:

  - 1.3 | 2012-09-19

- Distribution now .tar.xz

If you have GNU tar, you can use "tar xf" and it will DTRT.
If not, you can use "xz -dc TARBALL | tar xf -" to unpack.

- "make check" runs check-wikid

The makefile variable ‘CHECKTIME’ (default 99) specifies how
many seconds check-wikid should wait before shutting down the
daemon.  E.g., "make check CHECKTIME=300" waits 5 minutes.

- Changes to check-wikid

  - wikid-admin dumping commands exercized

The wikid-admin commands ‘dump-db’ and ‘dump-db-as-seed’ are now
run prior to the wait loop, leaving file ‘dump’ and directory
‘dumped-seed’, respectively, in ‘check-wikid.d’.

  - KEEPD=1 inhibits deletion of check-wikid.d afterwards

This is so you can inspect the log files, etc.

- Dropped misfeature: ‘.’ ("itself")

The wref ‘<<.>>’ used to expand to display "itself", w/ a link
to the current page.  Now, we've outgrown that silliness.

- New dependencies: Guile-WWW, Guile-GDBM

See README.

- Maintainer tools upgraded
  - GNU Guile 1.8.7
  - SNUGGLE 0.1
  - GNU gnulib 2012-09-10 20:37:18
  - GNU Autoconf 2.69
  - GNU Automake 1.12.4

tarball, prettified source, etc, in dir:

  http://www.gnuvola.org/software/wikid/

atom feed:

  http://www.gnuvola.org/NEWS.xml.gz

--
Thien-Thi Nguyen . GPG key: 4C807502
.  NB: ttn at glug dot org is not me   .
. (and has not been since 2007 or so)  .
.ACCEPT NO SUBSTITUTES .
... please send technical questions to mailing lists ...


pgpWuCVcXHe3E.pgp
Description: PGP signature


Re: Typed Guile?

2012-09-19 Thread Noah Lavine
It entirely depends on the typed language. Anything that can compile
to a C-compatible binary should be usable.

I believe that Haskell can do that. You have to explicitly write what
the C entry points are going to be, which might be tedious, but I
think it's for the best anyway. See
http://www.haskell.org/haskellwiki/FFI_Introduction .

I don't know enough about Typed Racket or Typed Clojure to know if
they could do that.

Noah

On Wed, Sep 19, 2012 at 10:24 AM,   wrote:
> Noah,
>
> Can Guile use a library written on a typed language?
>
> I understand that it's not going to work out of the box, but what would be
> easier to adapt: Haskell, Typed Racket or Typed Clojure*?
>
>
>



Re: Typed Guile?

2012-09-19 Thread Ian Price
thorso...@lavabit.com writes:

> "Typed Racket is designed for Racket. One day Guile will have a Typed
> Guile companion, and Chez Scheme may have a Typed Chez companion but
> until then TR is for Racket." [1]
>
> Is it this bad? Do we really need Typed Guile?

Is what bad? The state of code reuse? yes, frankly.
Do we need typed guile? I dunno, maybe, couldn't hurt. Stis already has
some work porting racket contracts[0], which is kind of a first step.
Languages are going to head in the mixed static/dynamic route anyway, so
it would be worth it to get a head start :P

> Can we somehow adapt the static code to achieve its features in Guile?
Yes, and no. Guile is obviously extensible through C, and it does
support the addition of new languages, and you could write a typed one
if you want, _but_ if you are using it from guile, you will need to do
some sort of type checking at the interface, since obviously all that
can get removed from within static code. This is how racket's contracts
work IIRC. They are enforced at the boundary, but unnecessary inside the
module. 

> My writing skills are not very great...
> So I'm going to summarize the above:
>
>  1. What language should I choose for my library?
What ever you want, as long as it's C, or supported in guile
(Scheme/elisp-sorta/js-sorta), or you write your own $lang library for guile.

0. https://gitorious.org/guile-contract
I haven't actually used this yet, since stis has far too many toys to
play with :) It looks like it's all scheme though, so I could create a
guildhall package for others.

-- 
Ian Price -- shift-reset.com

"Programming is like pinball. The reward for doing it well is
the opportunity to do it again" - from "The Wizardy Compiled"