Re: [racket-dev] LLVM

2010-08-02 Thread Paul Steckler
On Tue, Aug 3, 2010 at 10:41 AM, Matthias Felleisen wrote: > Eli and an undergraduate (Alex Friedman) started on this a few years ago > and got reasonably far. They could compile a bunch of small stuff, and the > LLVM developer was highly responsive to requests back then (still at UIUC). > But Mat

Re: [racket-dev] LLVM

2010-08-02 Thread Matthias Felleisen
On Aug 2, 2010, at 8:38 PM, Paul Steckler wrote: > I may have missed a post on this topic, but has anyone built an LLVM back-end > for mzc? Eli and an undergraduate (Alex Friedman) started on this a few years ago and got reasonably far. They could compile a bunch of small stuff, and the LLVM dev

[racket-dev] LLVM

2010-08-02 Thread Paul Steckler
I may have missed a post on this topic, but has anyone built an LLVM back-end for mzc? -- Paul _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev

Re: [racket-dev] status of the new `racket/gui'

2010-08-02 Thread Matthew Flatt
At Mon, 2 Aug 2010 19:12:40 -0400, Sam Tobin-Hochstadt wrote: > On Mon, Aug 2, 2010 at 7:08 PM, Matthew Flatt wrote: > >  One question: the open/save file > >> dialogs on Gtk are using the old GRacket dialogs, rather than the > >> Gtk-native ones.  Is this planned to change in the future? > > > >

Re: [racket-dev] status of the new `racket/gui'

2010-08-02 Thread Sam Tobin-Hochstadt
On Mon, Aug 2, 2010 at 7:08 PM, Matthew Flatt wrote: >  One question: the open/save file >> dialogs on Gtk are using the old GRacket dialogs, rather than the >> Gtk-native ones.  Is this planned to change in the future? > > Yes, I just haven't gotten to the file dialog, yet. Great! If there are

Re: [racket-dev] status of the new `racket/gui'

2010-08-02 Thread Matthew Flatt
At Mon, 2 Aug 2010 17:51:11 -0400, Sam Tobin-Hochstadt wrote: > On Mon, Aug 2, 2010 at 1:09 PM, Matthew Flatt wrote: > > The `racket/gui' re-implementation is starting to come into focus. > > DrRacket mostly works, although lots and lots of problems remain. > > It looks very nice on my machine.

Re: [racket-dev] status of the new `racket/gui'

2010-08-02 Thread Sam Tobin-Hochstadt
On Mon, Aug 2, 2010 at 1:09 PM, Matthew Flatt wrote: > The `racket/gui' re-implementation is starting to come into focus. > DrRacket mostly works, although lots and lots of problems remain. It looks very nice on my machine. One question: the open/save file dialogs on Gtk are using the old GRacke

Re: [racket-dev] Typed Racket and ADTs

2010-08-02 Thread Matthias Felleisen
Pardon me for mentioning ML. Yes, Jim Morris suggested ADTs without using the name and the Clu people in their paper on infinitely high-level languages (yeap!) introduced the terms. That doesn't change a thing about the content of my statement. On Aug 2, 2010, at 11:38 AM, Shriram Krishnamu

Re: [racket-dev] Typed Racket and importing polymorphic code

2010-08-02 Thread Matthias Felleisen
The problem isn't that you can't contract base values, the problem is that they are checked when the values crosses the boundary and that's that. It's too eager. Matthew added chaperons a while back and we will use those to change the world. Perhaps. On Aug 2, 2010, at 1:18 PM, Shriram Kris

Re: [racket-dev] Release Announcement for v5.0.1 -- final version

2010-08-02 Thread Jay McCarthy
We should try to make sure that only commit messages from commits in the release branch are considered for the release notes process. Do we a script that does it or does someone pick through them manually? Jay On Mon, Aug 2, 2010 at 1:14 PM, Robby Findler wrote: > Eli: are you saying that those

Re: [racket-dev] Release Announcement for v5.0.1 -- final version

2010-08-02 Thread Robby Findler
Eli: are you saying that those commits were not included in the testing bundles? If so, why do we need to re-run the release tests? (Or is there something else?) Robby On Mon, Aug 2, 2010 at 2:12 PM, Eli Barzilay wrote: > On Aug  2, Jay McCarthy wrote: >> On Mon, Aug 2, 2010 at 4:31 AM, Eli Barz

Re: [racket-dev] Release Announcement for v5.0.1 -- final version

2010-08-02 Thread Eli Barzilay
On Aug 2, Jay McCarthy wrote: > On Mon, Aug 2, 2010 at 4:31 AM, Eli Barzilay wrote: > > On Aug  2, Matthias Felleisen wrote: > >> On Aug 2, 2010, at 6:11 AM, Eli Barzilay wrote: > >> > >> > And for the (near) future -- figure out what's happenning in the > >> >  teaching languages.  I get the imp

Re: [racket-dev] Typed Racket and ADTs

2010-08-02 Thread Shriram Krishnamurthi
Why not provide the flip? You're already willing to wrap things (in contracts). Couldn't you do the wrapping that I have to do by hand? (Maybe I'm missing something.) It would make the language more symmetric, and the result of this symmetry would be not only symmetry but an actual nameable virt

Re: [racket-dev] Typed Racket and importing polymorphic code

2010-08-02 Thread Shriram Krishnamurthi
Arjun just pointed out to me that the inability to contract base values can lead to much harder-to-understand problems in higher-order contexts. (Not surprising, but I hadn't thought that that would make it much worse.) On Mon, Aug 2, 2010 at 11:44 AM, Sam Tobin-Hochstadt wrote: > On Mon, Aug 2,

[racket-dev] status of the new `racket/gui'

2010-08-02 Thread Matthew Flatt
The `racket/gui' re-implementation is starting to come into focus. DrRacket mostly works, although lots and lots of problems remain. The code is still hosted here: http://github.com/mflatt/gr2 The GUI libraries do not work well enough that it's time to submit bug reports, but DrRacket works wel

Re: [racket-dev] Typed Racket and importing polymorphic code

2010-08-02 Thread Sam Tobin-Hochstadt
On Mon, Aug 2, 2010 at 11:46 AM, Shriram Krishnamurthi wrote: > Yep, I figured this is where you'd go with this.  So if I converted > everything to functions, I'd get just the behavior I want? I'm not certain of the behavior you want, but I think so. -- sam th sa...@ccs.neu.edu

Re: [racket-dev] Typed Racket and ADTs

2010-08-02 Thread Sam Tobin-Hochstadt
On Mon, Aug 2, 2010 at 11:38 AM, Shriram Krishnamurthi wrote: > So why do you have an opaque require? The opaque form of `require/typed' is to allow requiring operations on an ADT for which only a predicate is known. It supports using `require/typed' with ADTs defined in exactly the way Matthias

Re: [racket-dev] Typed Racket and importing polymorphic code

2010-08-02 Thread Shriram Krishnamurthi
Yep, I figured this is where you'd go with this. So if I converted everything to functions, I'd get just the behavior I want? _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev

Re: [racket-dev] Typed Racket and importing polymorphic code

2010-08-02 Thread Sam Tobin-Hochstadt
On Mon, Aug 2, 2010 at 11:14 AM, Shriram Krishnamurthi wrote: > > Okay, so here's another scenario.  This time, TR will NOT just pass > the value through, as it did map. > > a.rkt > #lang racket > > (define foo 4) > (provide foo) >

Re: [racket-dev] Typed Racket and ADTs

2010-08-02 Thread Shriram Krishnamurthi
ADTs have nothing to do with ML. They're an older and basic computer science concept. So why do you have an opaque require? Just on simple duality grounds you should have both or neither. Shriram _ For list-related administrative tasks: http:/

Re: [racket-dev] Typed Racket and eq?

2010-08-02 Thread Sam Tobin-Hochstadt
On Mon, Aug 2, 2010 at 11:07 AM, Matthias Felleisen wrote: > > > Now, you will say but TR wraps only defined identifiers. I think that is a > SUBTLE and INTENSIONAL difference that in principle, a client such as C > shouldn't even see. Modules are not supposed to be inspected for who defines >

Re: [racket-dev] Typed Racket and importing polymorphic code

2010-08-02 Thread Shriram Krishnamurthi
This is related to the other thread, on eq?. I'll follow-up here. >> That's beside the point.  map has just as much a polymorphic type as >> insert.  You said earlier, "it shouldn't work to use `insert' in an >> untyped context, since there's no way to generate a contract for its >> type".  Wh

Re: [racket-dev] Typed Racket and eq?

2010-08-02 Thread Matthias Felleisen
On Aug 2, 2010, at 10:53 AM, Sam Tobin-Hochstadt wrote: > On Mon, Aug 2, 2010 at 10:36 AM, Matthias Felleisen > wrote: >> >> Sam, this is an interesting question and you should look into it because the >> answer isn't obvious: >> >> (module A typed/racket (provide map)) >> >> passes map fro

Re: [racket-dev] Typed Racket interaction

2010-08-02 Thread Shriram Krishnamurthi
Yes, sorry, I pasted the same thing twice. Matthias caught it. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev

Re: [racket-dev] Typed Racket and eq?

2010-08-02 Thread Sam Tobin-Hochstadt
On Mon, Aug 2, 2010 at 10:36 AM, Matthias Felleisen wrote: > > Sam, this is an interesting question and you should look into it because the > answer isn't obvious: > >  (module A typed/racket (provide map)) > > passes map from 'somewhere' through A to two contexts: typed and untyped > modules. G

Re: [racket-dev] Typed Racket and importing polymorphic code

2010-08-02 Thread Sam Tobin-Hochstadt
On Mon, Aug 2, 2010 at 9:58 AM, Shriram Krishnamurthi wrote: >>> 1'. That seems unlikely given that if I instead add "insert" to the >>> above (#lang racket) source file and run Check Syntax, I get the same >>> error -- so it is indeed a static error.   (Well, maybe not "static", >>> there are pro

Re: [racket-dev] Typed Racket interaction

2010-08-02 Thread Matthias Felleisen
On Aug 2, 2010, at 10:43 AM, Sam Tobin-Hochstadt wrote: > This is the same code as above. Did you mean something different? See my message. I had fixed it. Cap t in first line! _ For list-related administrative tasks: http://lists.racket-lang

Re: [racket-dev] Typed Racket interaction

2010-08-02 Thread Sam Tobin-Hochstadt
On Mon, Aug 2, 2010 at 9:37 AM, Shriram Krishnamurthi wrote: > Here is a sequence of steps to do something that seems extremely > simple.  I want to create a binary tree of T. > > First, I have no idea what this documentation means: > > (struct:n (t ...)) > is the type of structures named n with f

Re: [racket-dev] Typed Racket and eq?

2010-08-02 Thread Matthias Felleisen
Sam, this is an interesting question and you should look into it because the answer isn't obvious: (module A typed/racket (provide map)) passes map from 'somewhere' through A to two contexts: typed and untyped modules. Given that all provides slap on contracts in TR -- that's what the manu

Re: [racket-dev] Typed Racket and ADTs

2010-08-02 Thread Matthias Felleisen
On Aug 2, 2010, at 9:39 AM, Shriram Krishnamurthi wrote: > 1. doesn't have a counterpart for *untyped* code; ... > Overall, the status of representation-hiding in Typed Racket seems rather > weird. These two lines together explain it all. TR is about moving code from the untyped world into

Re: [racket-dev] Typed Racket interaction

2010-08-02 Thread Matthias Felleisen
This sounds like material for a bug report. I think the lowercase t in On Aug 2, 2010, at 9:37 AM, Shriram Krishnamurthi wrote: > (define-struct: (T) Node ([v : T] [l : (BinTreeof t)] [r : (BinTreeof t)])) > (define-type (BinTreeof t) > (U 'empty > [Node t])) the first line should be an

Re: [racket-dev] Typed Racket and eq?

2010-08-02 Thread Shriram Krishnamurthi
I'm not talking about behavior, I'm talking about the intended semantics of observations in the language. Shriram On Mon, Aug 2, 2010 at 9:47 AM, Sam Tobin-Hochstadt wrote: > On Mon, Aug 2, 2010 at 9:40 AM, Shriram Krishnamurthi > wrote: >> If I export map (w/out change to type) from typed/rac

Re: [racket-dev] Typed Racket and importing polymorphic code

2010-08-02 Thread Shriram Krishnamurthi
I'm glad this is considered a bug. >> 1'. That seems unlikely given that if I instead add "insert" to the >> above (#lang racket) source file and run Check Syntax, I get the same >> error -- so it is indeed a static error.  (Well, maybe not "static", >> there are probably three or four "times" at

Re: [racket-dev] Typed Racket and importing polymorphic code

2010-08-02 Thread Sam Tobin-Hochstadt
On Mon, Aug 2, 2010 at 9:42 AM, Shriram Krishnamurthi wrote: > Here's a typed module: > > (module A typed/racket (provide insert map) (define insert cons)) > > Here are two clients, which behave inconsistently: > >> (module B racket (require 'A) insert) > . Type Checker: The type of insert cannot

Re: [racket-dev] Typed Racket and eq?

2010-08-02 Thread Sam Tobin-Hochstadt
On Mon, Aug 2, 2010 at 9:40 AM, Shriram Krishnamurthi wrote: > If I export map (w/out change to type) from typed/racket and eq? it > against the map from racket, the two are eq?.  This feels like a > violation of abstraction: typed map is a "different thing" from > untyped map. TR doesn't put add

[racket-dev] Typed Racket and importing polymorphic code

2010-08-02 Thread Shriram Krishnamurthi
Here's a typed module: (module A typed/racket (provide insert map) (define insert cons)) Here are two clients, which behave inconsistently: > (module B racket (require 'A) insert) . Type Checker: The type of insert cannot be converted to a contract in: insert > (module C racket (require 'A) map)

[racket-dev] Typed Racket and eq?

2010-08-02 Thread Shriram Krishnamurthi
If I export map (w/out change to type) from typed/racket and eq? it against the map from racket, the two are eq?. This feels like a violation of abstraction: typed map is a "different thing" from untyped map. Shriram _ For list-related administrat

[racket-dev] Typed Racket and ADTs

2010-08-02 Thread Shriram Krishnamurthi
How do I define an ADT? Eg, I want to provide this: (provide insert check empty-set) (define-type RealSet (Listof Real)) (: empty-set RealSet) (define empty-set empty) (: insert (Real RealSet -> RealSet)) (define insert cons) (: check (Real RealSet -> Boolean)) (define (check e s) (if (memb

[racket-dev] Typed Racket interaction

2010-08-02 Thread Shriram Krishnamurthi
Here is a sequence of steps to do something that seems extremely simple. I want to create a binary tree of T. First, I have no idea what this documentation means: (struct:n (t ...)) is the type of structures named n with field types t. All of "struct", "n" and "t" are italicized, suggesting the

Re: [racket-dev] Release Announcement for v5.0.1 -- final version

2010-08-02 Thread Matthias Felleisen
Just to make sure: Signatures are included because they were merged into the trunk before the branch was done. For example, (define int (signature Real)) (: x int) (define x 3) works in Beginner. It turns out however that even the German docs are broken. I should have explored more when

Re: [racket-dev] Release Announcement for v5.0.1 -- final version

2010-08-02 Thread Jay McCarthy
That's fine with me. I wrote the release note addendum because the original email contained the blurb, not because I'm stressing about putting it in. Jay On Mon, Aug 2, 2010 at 6:06 AM, Matthew Flatt wrote: > At Mon, 2 Aug 2010 04:42:41 -0600, Jay McCarthy wrote: >> These are the commits: > > Th

Re: [racket-dev] Release Announcement for v5.0.1 -- final version

2010-08-02 Thread Matthew Flatt
At Mon, 2 Aug 2010 04:42:41 -0600, Jay McCarthy wrote: > These are the commits: Those are from July 22, one week after the branch for 5.0.1, so they would not normally be considered candidates for the 5.0.1 release. _ For list-related administrati

Re: [racket-dev] Release Announcement for v5.0.1 -- final version

2010-08-02 Thread Jay McCarthy
On Mon, Aug 2, 2010 at 4:31 AM, Eli Barzilay wrote: > On Aug  2, Matthias Felleisen wrote: >> On Aug 2, 2010, at 6:11 AM, Eli Barzilay wrote: >> >> > And for the (near) future -- figure out what's happenning in the >> >  teaching languages.  I get the impression that things are moving >> >  there

Re: [racket-dev] Release Announcement for v5.0.1 -- final version

2010-08-02 Thread Eli Barzilay
On Aug 2, Matthias Felleisen wrote: > On Aug 2, 2010, at 6:11 AM, Eli Barzilay wrote: > > > And for the (near) future -- figure out what's happenning in the > > teaching languages. I get the impression that things are moving > > there almost randomly. > > No, this isn't random; it is unsynchr

Re: [racket-dev] Release Announcement for v5.0.1 -- final version

2010-08-02 Thread Matthias Felleisen
On Aug 2, 2010, at 6:11 AM, Eli Barzilay wrote: > And for the (near) future -- figure out what's happenning in the > teaching languages. I get the impression that things are moving > there almost randomly. No, this isn't random; it is unsynchronized: -- Shriram asked Jay to add define-dat

Re: [racket-dev] Release Announcement for v5.0.1 -- final version

2010-08-02 Thread Matthias Felleisen
Signatures are documented but in German. It is on my list to 'translate' this for the next release. -- Matthias On Aug 2, 2010, at 5:57 AM, Jay McCarthy wrote: > I don't know anything about signatures, since they're not documented > or advertised. > > I don't know why it isn't included... I

Re: [racket-dev] Release Announcement for v5.0.1 -- final version

2010-08-02 Thread Eli Barzilay
On Aug 2, Jay McCarthy wrote: > I don't know anything about signatures, since they're not documented > or advertised. > > I don't know why it isn't included... I thought the patch was cherry > picked. I didn't test it in the release because I added the tests > for the feature to tests/racket/adva

Re: [racket-dev] Release Announcement for v5.0.1 -- final version

2010-08-02 Thread Jay McCarthy
I don't know anything about signatures, since they're not documented or advertised. I don't know why it isn't included... I thought the patch was cherry picked. I didn't test it in the release because I added the tests for the feature to tests/racket/advanced.rktl Jay On Mon, Aug 2, 2010 at 1:49

Re: [racket-dev] Release Announcement for v5.0.1 -- final version

2010-08-02 Thread Michael Sperber
Eli Barzilay writes: > I don't know of any plan for signatures, but if it would be bad to > advertise it if it's not included... Jay/Ryan--?? Signatures are already in there (look in the log in collects/lang) - they're just not documented yet. They already give you this, for example: (define

Re: [racket-dev] Release Announcement for v5.0.1 -- final version

2010-08-02 Thread Eli Barzilay
On Aug 2, Michael Sperber wrote: > Sorry, I'm just seeing this now: > > Eli Barzilay writes: > > > Final version, after some edits and reorganization. > > * The Advanced Student Language now supports hash-table > > primitives, `define-datatype' for defining sets of related > > structs, and

Re: [racket-dev] Release Announcement for v5.0.1 -- final version

2010-08-02 Thread Michael Sperber
Sorry, I'm just seeing this now: Eli Barzilay writes: > Final version, after some edits and reorganization. > * The Advanced Student Language now supports hash-table primitives, > `define-datatype' for defining sets of related structs, and > `match' for pattern matching. Is it a good idea