Re: [racket-dev] [plt] Push #28213: master branch updated

2014-02-20 Thread Asumu Takikawa
On 2014-02-20 21:25:59 -0700, Neil Toronto wrote:
> You mean something like this would work?
>
>   (define-type (Leaf1 X) (Pair (Leaf2 X) (Leaf2 X)))
>   (define-type (Leaf2 X) (U X (Pair (Leaf1 X) (Leaf1 X

Yes, that should work. Here's an example interaction from my development
branch:

  Welcome to Racket v5.90.0.10.
  -> (let () (define-type (Leaf1 X) (Pair (Leaf2 X) (Leaf2 X)))
 (define-type (Leaf2 X) (U X (Pair (Leaf1 X) (Leaf1 X
 (define: x : (Leaf1 Integer) (cons 3 (cons (cons 5 5) (cons 6 5
 x)
  - : (Leaf1 Integer)
  '(3 (5 . 5) 6 . 5)

Cheers,
Asumu
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] [plt] Push #28213: master branch updated

2014-02-20 Thread Neil Toronto

On 02/20/2014 09:03 PM, Asumu Takikawa wrote:

On 2014-02-20 20:31:56 -0700, Neil Toronto wrote:

How close is this to being able to support, say, the plot library
converted to TR? The OO stuff in it is a few custom classes without
anything complicated, a couple of snip% descendants, and drawing
onto device contexts.


Should be very close. Not quite there currently because there are two
more chunks that I've written and haven't pushed yet:

   * Implicit (mutual) recursive type aliases, so that a `define-type`
 can define mutually recursive type alises like the types for
 `bitmap%` and `bitmap-dc%`.


You mean something like this would work?

  (define-type (Leaf1 X) (Pair (Leaf2 X) (Leaf2 X)))
  (define-type (Leaf2 X) (U X (Pair (Leaf1 X) (Leaf1 X


   * Types for everything in racket/gui and a few other libraries.
 Types for the framework are still work-in-progress.

   * Full contract support.


I'm with Robby. This sounds awesome.

Neil ⊥

_
 Racket Developers list:
 http://lists.racket-lang.org/dev


Re: [racket-dev] [plt] Push #28213: master branch updated

2014-02-20 Thread Robby Findler
This looks fantastic!

Robby


On Thu, Feb 20, 2014 at 10:06 PM, Asumu Takikawa  wrote:

> On 2014-02-20 23:03:22 -0500, Asumu Takikawa wrote:
> > Should be very close. Not quite there currently because there are two
> > more chunks that I've written and haven't pushed yet:
> >
> >   * Implicit (mutual) recursive type aliases, so that a `define-type`
> > can define mutually recursive type alises like the types for
> > `bitmap%` and `bitmap-dc%`.
> >
> >   * Types for everything in racket/gui and a few other libraries.
> > Types for the framework are still work-in-progress.
> >
> >   * Full contract support.
>
> Apparently I should learn how to count though. :p
>
> Cheers,
> Asumu
> _
>   Racket Developers list:
>   http://lists.racket-lang.org/dev
>
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] [plt] Push #28213: master branch updated

2014-02-20 Thread Asumu Takikawa
On 2014-02-20 23:03:22 -0500, Asumu Takikawa wrote:
> Should be very close. Not quite there currently because there are two
> more chunks that I've written and haven't pushed yet:
>
>   * Implicit (mutual) recursive type aliases, so that a `define-type`
> can define mutually recursive type alises like the types for
> `bitmap%` and `bitmap-dc%`.
>
>   * Types for everything in racket/gui and a few other libraries.
> Types for the framework are still work-in-progress.
>
>   * Full contract support.

Apparently I should learn how to count though. :p

Cheers,
Asumu
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] [plt] Push #28213: master branch updated

2014-02-20 Thread Asumu Takikawa
On 2014-02-20 20:31:56 -0700, Neil Toronto wrote:
> How close is this to being able to support, say, the plot library
> converted to TR? The OO stuff in it is a few custom classes without
> anything complicated, a couple of snip% descendants, and drawing
> onto device contexts.

Should be very close. Not quite there currently because there are two
more chunks that I've written and haven't pushed yet:

  * Implicit (mutual) recursive type aliases, so that a `define-type`
can define mutually recursive type alises like the types for
`bitmap%` and `bitmap-dc%`.

  * Types for everything in racket/gui and a few other libraries.
Types for the framework are still work-in-progress.

  * Full contract support.

Cheers,
Asumu
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] [plt] Push #28213: master branch updated

2014-02-20 Thread Neil Toronto

On 02/20/2014 02:52 PM, as...@racket-lang.org wrote:

asumu has updated `master' from 1f27fb7848 to 1c6c0855f7.
   http://git.racket-lang.org/plt/1f27fb7848..1c6c0855f7

=[ 103 Commits ]
Directory summary:
3.8% 
pkgs/typed-racket-pkgs/typed-racket-doc/typed-racket/scribblings/reference/
   10.7% pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/
6.1% pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/private/
4.0% pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/rep/
   34.5% pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/typecheck/
9.6% pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/types/
4.0% pkgs/typed-racket-pkgs/typed-racket-more/typed/mred/
   23.6% pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/
3.4% pkgs/

~~

[... HOLY COW ...]


How close is this to being able to support, say, the plot library 
converted to TR? The OO stuff in it is a few custom classes without 
anything complicated, a couple of snip% descendants, and drawing onto 
device contexts.


Also, is there a paper floating around somewhere that details the 
interesting problems that have been solved to make this work?


Neil ⊥

_
 Racket Developers list:
 http://lists.racket-lang.org/dev


Re: [racket-dev] Racket head fails to compile

2014-02-20 Thread Matthew Flatt
At Sun, 09 Feb 2014 08:35:03 +, "Paulo J. Matos" wrote:
> On 09/02/14 00:03, Matthew Flatt wrote:
> > There should be many more flags passed to `gcc`, including some -I
> > flags and some -D flags.
> >
> > Is something in your environment overriding the CFLAGS definition in
> > the makefile? Normally, a definition in the makefile would take
> > precedence over an environment variable, but maybe something else is
> > taking precedence over the definition?
> >
> 
> 
> Doh, right. I assumed for no good reason racket would behave the same 
> way my usual project does and use env CFLAGS as the optimization flags 
> used for compilation. Any other env variable the racket build system 
> uses for me to add additional compilation flags? (for example to build 
> with `-O2 -ftree-vectorize` or `-O0 -g3`)
> 
> After some thought shouldn't -D... and -I... flags be controlled by 
> CPPFLAGS and not CFLAGS such that overriding CFLAGS would still leave 
> CPPFLAGS intact?

I've changed the makefiles so that setting CFLAGS (or CPPFLAGS) will
hopefully work the way you expect.

_
  Racket Developers list:
  http://lists.racket-lang.org/dev