Re: [racket-dev] Pre-Release Checklist for v5.2.1, second call
On Fri, Jan 20, 2012 at 8:18 PM, Ryan Culpepper r...@cs.utah.edu wrote: * Noel Welsh noelwe...@gmail.com - Rackunit Tests - SRFI Tests - Ensure that all claimed srfi's are in the installer and they all load into racket or drracket (as appropriate) DONE! N. _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] Pre-Release Checklist for v5.2, Second Call
On Thu, Oct 20, 2011 at 8:36 PM, Ryan Culpepper r...@cs.utah.edu wrote: * Noel Welsh noelwe...@gmail.com - Rackunit Tests - SRFI Tests - Ensure that all claimed srfi's are in the installer and they all load into racket or drracket (as appropriate) Done. N. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Who page
Band sounds more rock'n'roll, which is what we're aiming for. Party on, N. On Mon, Sep 5, 2011 at 12:19 PM, Paulo J. Matos pa...@matos-sorge.com wrote: On 03/09/11 19:01, Neil Van Dyke wrote: Finally, Racket is supported by an band of volunteers Maybe initially someone wrote 'an army' and then 's/band/army' since 'band' sounds less threatning. :) _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Download link
On Sun, Aug 14, 2011 at 2:39 AM, Eli Barzilay e...@barzilay.org wrote: One option is a geoip database that could be used in JS (but all I found was expensive stuff), and another option is to find some known distribution network that does this kind of thing by itself (but again, all I found were things that are very ad-intense). Free GeoIP database: http://www.maxmind.com/app/geolitecountry I don't know any free content distribution networks, but I haven't really looked. HTH, N. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Roogle?
With the power of asynchronous requests (aka ajax) it is. I've gotta fix Myna first; maybe then I'll have a spare moment to implement it. [Either add a stage to the build process so docs.racket-lang.org gets a different search to the local docs or do an Ajax request to the full text server and, update the JS index results with the full text results if the request completes.] (There are a bunch of really interesting problems here for machine learning or NLP inclined people who want to work on real systems.) N. On Fri, Aug 5, 2011 at 8:01 AM, Eli Barzilay e...@barzilay.org wrote: Changing from a simple JS search that can be installed with Racket to a search server is not something that hangs low... _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Roogle?
On Fri, Aug 5, 2011 at 8:12 AM, Eli Barzilay e...@barzilay.org wrote: About a minute ago, Noel Welsh wrote: With the power of asynchronous requests (aka ajax) it is. I've gotta fix Myna first; maybe then I'll have a spare moment to implement it. That doesn't help with the goal of standalone docs. Sorry, don't understand this. Oh, you mean running something *different* on docs.racket-lang.org? That is one possibility. The other option is to always make an ajax request to the full text search. It's asynchronous, so it won't stop page rendering, and if it doesn't return successfully (no Internet connection, for example) the user experience won't be affected (beyond not having the full text results in addition to the current javascript index results). (And the search can be solved in an even easier way with a google custom search.) Ok. I thought there were issues with Google, but, yeah, if it works it is certainly easier than setting up Lucene. N. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Roogle?
On Fri, Aug 5, 2011 at 8:45 AM, Eli Barzilay e...@barzilay.org wrote: Ah, if you mean a way to have both kinds of searches work on your installation Yes. Well, the issue was exactly the dependency on an on-line connection and no user-specific docs. For the first, the ajax request should get around it. For the second: m'eh. You'll still get the JS index results. One could transmit the set of installed packages to the full text server, but the great is the enemy of the good, and it just needs to be good enough. N. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Roogle?
On Fri, Aug 5, 2011 at 4:44 PM, Stephen Chang stch...@ccs.neu.edu wrote: For online, full-text search, couldn't one just use google and add site:docs.racket-lang.org to the query? Yeah, that seems to do it. The ordering of results is a bit odd sometimes. I don't know the details but Google offers site specific search under certain conditions. I think the site specific search is basically equivalent what you suggest. N. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] bug czar and documentation king
The king is dead -- long live the king! On Fri, Aug 5, 2011 at 9:01 PM, Matthias Felleisen matth...@ccs.neu.edu wrote: We than Ryan Culpepper (Utah) for his work as bug czar for the past year or so. As of the next release, Sam Tobin-Hochstadt (NEU) will take over the bug czar duty. Ryan will become king of documentation, with the charge to improve its organization and presentation. Thanks guys -- Matthias _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] search (was Roogle?)
This matches my understanding. N. On Fri, Aug 5, 2011 at 8:33 PM, Matthias Felleisen matth...@ccs.neu.edu wrote: So where does this leave us: 1. with very little data about real searches, which happen locally, via DrRacket (would it matter if we could do a Guillaume-style data collection for a few dozen students?) 2. with an understood deficit on our search; I haven't seen anyone deny this 3. a few options on improving search when we're on-line via JS calls to search engines (this clearly requires some experimentation before we commit) 4a. John's wonderful idea of search the examples in our docs. Well, I imagine he's searching for all one-argument functions, runs them on the example, and produces the list of functions that compute acceptable results. Now, if we hashed these searches, we get a crowd-sourcing problem -- perhaps. The more users/students search for pure functions, the better we get. Perhaps. 4b. and we know that once text search is incorporated we may wish to look for some form of semantic search. Did I overlook something? -- Matthias _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] New plot library [Was: (to Jay) Re: What I'm working on]
This is great -- a better plotting library will make some of work a lot easier. Noel: Do you happen to have a kernel density estimator implementation that uses FFT or is otherwise more efficient than O(n^2)? Currently, (plot2d (density samples)) works, but is slow on large samples. Nope, sorry. --- Regarding Guilllaume's point, I have an unfinished library along these lines: https://github.com/noelwelsh/bonfire The basic idea is to compose images out of circles, lines, etc. much like the new drawing library in HTDP/2e. However I'm allowing constraints between elements -- e.g. this line must be 110% of the width of this graphical element. I super don't have time to work on this so if someone wants to implement this idea that would be great. Regarding Eli's rebuttal -- *of course* it's badly designed -- it's R!!! The idea, however, is valid. N. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Racket on Rockets
On Wed, Jul 27, 2011 at 9:20 PM, Tony Garnock-Jones to...@ccs.neu.edu wrote: Would it be fair to say that were such a thing to come into existence, the VM would need to be changed as part of that work? There is nothing you can't do with a brave heart and a disassembler. In other words, I've occasionally thought it would be fun to write a generic object inspector via abuse of the FFI. N. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Racket on Rockets
On Tue, Jul 26, 2011 at 6:20 PM, Jay McCarthy jay.mccar...@gmail.com wrote: I was recently telling some people that I thought 'Ruby on Rails' was mostly an ORM plus a set of default dispatching rules with convenient ways of extending the defaults. I agree, though I don't have much RoR experience. However, that isn't where the action is in web frameworks these days. My opinion is that it resides in two areas: 1. rich clients -- that is, interfaces that use a lot of Javascript. Here FRP within the browser and between the browser and server would be a big win. Interesting to stuff to look at: Opa, WebSharper, (and Javascript frameworks like backbone.js, and the Scala reactive project, etc.) 2. Scalable servers like https://github.com/jdegoes/blueeyes Both could be addressed from Racket. I'm not convinced it really has the computing horsepower to do a bang-up job for #2 (certainly it has the abstractions) but then neither does Node.js and that doesn't stop Node's extremely active supporters. N. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Pre-Release Checklist for v5.1.2
On Tue, Jul 19, 2011 at 10:16 PM, Ryan Culpepper r...@cs.utah.edu wrote: * Noel Welsh noelwe...@gmail.com - Rackunit Tests - SRFI Tests - Ensure that all claimed srfi's are in the installer and they all load into racket or drracket (as appropriate) .done. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] racket vs. scheme vs. clojure (as it appears to others)
You have to contact the Myna server somehow to get suggestions. You can do this via the server or via the client, with the usual tradeoffs. I would go with the JS client as it's much faster to set up, and code the HTML in such a way that it still works if JS is disabled. (This is straightforward, and the example in the API docs does this.) N. On Sat, May 7, 2011 at 2:33 PM, Eli Barzilay e...@barzilay.org wrote: Do you mean that it requires JS to work? What about non-JS browsers? (There are some people who find it important -- I've even made some changes to the front page to make it friendlier to text browsers.) _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] racket vs. scheme vs. clojure (as it appears to others)
On Thu, May 5, 2011 at 12:31 AM, Justin Zamora jus...@zamora.com wrote: A sentence like that would be a good replacement for the awful, Racket is a programming language currently on the front page of racket-lang.org We are men of science; untested hypotheses do not become us. Luckily, your buddies at Untyped have recently created a system called Myna for testing these kind of hypotheses: http://mynaapp.com/ We'd *love* to use Racket as a case study. I'm sure you have enough traffic to get some good results fairly quickly, and this problem is a straight-forward application of Myna. If you've heard of A/B testing, this blog post explains why Myna isn't A/B testing: http://untyped.com/untyping/2011/02/11/stop-ab-testing-and-make-out-like-a-bandit/ Cheers, Noel PS: Anyone else reading this who would like to use Myna -- drop me an email at this address or n...@untyped.com. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] racket vs. scheme vs. clojure (as it appears to others)
In retrospect I think this post was a bit opaque. So, some exposition: We have a hypothesis: changing the description of Racket will increase adoption. We can measure this and optimise for it. The measure of adoption could be doesn't bounce or downloads Racket, for example. (Bouncing means leaving the page immediately. Yes these measures aren't perfect but the great is the enemy of the good in these situations.) We have various different descriptions we can try. Myna is a system for optimising the choice of description. A/B testing is the current industry standard. It is essentially hypothesis testing. Myna uses better mathematics to achieve better results. HTH, N. On Fri, May 6, 2011 at 9:22 AM, Noel Welsh noelwe...@gmail.com wrote: On Thu, May 5, 2011 at 12:31 AM, Justin Zamora jus...@zamora.com wrote: A sentence like that would be a good replacement for the awful, Racket is a programming language currently on the front page of racket-lang.org We are men of science; untested hypotheses do not become us. Luckily, your buddies at Untyped have recently created a system called Myna for testing these kind of hypotheses: http://mynaapp.com/ We'd *love* to use Racket as a case study. I'm sure you have enough traffic to get some good results fairly quickly, and this problem is a straight-forward application of Myna. If you've heard of A/B testing, this blog post explains why Myna isn't A/B testing: http://untyped.com/untyping/2011/02/11/stop-ab-testing-and-make-out-like-a-bandit/ Cheers, Noel PS: Anyone else reading this who would like to use Myna -- drop me an email at this address or n...@untyped.com. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Pre-Release Checklist for v5.1.1, second call
Ok, thanks. That's 90% of the work done. N. On Tue, Apr 26, 2011 at 10:31 PM, Ryan Culpepper ry...@ccs.neu.edu wrote: I just ran the test scripts for Rackunit and the SRFIs without problems, so I'm marking your items as done. Ryan _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] location of foldts?
Yes, something like that seems the right solution. N. On Mon, Mar 7, 2011 at 1:22 PM, Robby Findler ro...@eecs.northwestern.edu wrote: The rackunit foldts seems test-suite specific so perhaps it should be called foldts-test-suite (similar to fold-test-results). Robby _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
[racket-dev] Racktest was: OMG the thread that will never die about testing
Here's a proposal that attempts to synthesise prior discussion. It support the features I want without imposing overhead on Eli. ;; Base Types (define-type (Dict Key Value) (U (HashTable Key Value) (Listof (Pair Key Value (define-type Name (Listof Symbol)) (define-type Info (Dict Symbol Any)) ;; Test Results (struct: Test-Info ([name : Name] [info : Info] [result: Test-Result])) (define-type Test-Result (U success failure)) (struct: Success ()) ;; Skipped and Pending are a subtype of Success -- report it if you support it (struct: Skipped Success ()) (struct: Pending Success ()) (struct: Failure ([exn : (U exn #f)])) ;; An error is a failure that occurred outside a testing construct -- report it if you support it (struct: Error Failure ()) N. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Racktest was: OMG the thread that will never die about testing
On Mon, Feb 21, 2011 at 1:17 AM, Ryan Culpepper ry...@ccs.neu.edu wrote: I predict that if we continue, this discussion will devolve into an exchange of too simple! too simple! and too complex! too complex!. No, that's where we started. ;-P I thought my proposal quite elegantly combined the conflicting views (though I didn't address construction vs. execution, but that was deliberately deferred). Here's a new proposal. I'll convert the rackunit gui to use my proposed result type (probably with minor changes). Any other test framework maintainer can design a result type that models their own testing framework, and I'll write a conversion function from their type to mine. I believe the type I proposed subsumes the others, and I don't think anyone has expressed interest in the arrows going the other direction. Well, ok. N. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] [racket] tests/eli-tester feedback (Was: Racket unit testing)
[Trimmed Neil from CCs] On Tue, Feb 15, 2011 at 12:32 PM, Eli Barzilay e...@barzilay.org wrote: * It uses TR -- but it has to be very minimal. (*Extremely* minimal, since it's a candidate for inclusion in the `racket' language, which is why I was thinking of not much more than agreed structs and parameters.) Not a problem. TR just keeps the types straight. * I don't see why some results are structs and some are exceptions. Test failures should include continuation marks etc. Exceptions feel like the right types for these. * I don't see the point of a `pending' struct -- if it's supposed to represent a pending test, then it seems to me that the test itself should be modified when it has been executed. I don't understand this. Some Rackunit users want to write tests that are have not yet been implemented, and want the UI to report how many yet-to-be implemented tests they have. I think you interpreted pending in the sense of concurrency. I mean it here in the sense of yet to be written. It is useful to annotate tests you know you have to write but haven't yet done so. * Slightly worse: how would pending tests be used with something like my tester or the rackunit lightweight things where there is no way to know the tests in advance? See above, I think. * The test-listener thing is good (I missed it when I looked at the code earlier). Well, we agree on 1 thing. :) * I'm not sure about things around test-name -- it should be free form information that the testing framework should render later on. Perhaps with a minimal spec of source and name, where a name can be #f. (I'm thinking of these anonymous tests here.) (This might be some unification of your name and info things, which should really always come together since you'd never modify one without the other.) Agreed info and name should be unified. In the current design a name can always be null, indicating no name. It is a list to represent a hierarchy of names. * The `with-*' macros should go away. They're leaks of the higher level code. * The same goes for `pass' and `fail'. Even more importantly `lift', which is dictating some treatment of errors etc. No problem there. N. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] sxml package takeover/updates?
On Tue, Feb 15, 2011 at 7:52 PM, John Clements cleme...@brinckerhoff.org wrote: Opinions? Does anyone feel strongly about preserving the cross-platform nature of the current library? Nope. Racketizing the library would be good. N. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] call for ideas
An addition to my earlier post: We're shifting to using Chef (opscode.com) for deployment to all our production servers. Chef works like this: - you write recipes, which specify how to install and configure a particular service (e.g. Racket) - for each type of machine you specify the recipes it includes - you tell Chef to deploy recipes to machines. It does all the remote access and fiddling around Combine this with VMs in the cloud and it makes sys admin *vastly* easier. You take a base image that consists of Linux distro + chef client, then run Chef to turn it into whatever type of machine you want. You can add new machines in 1 min of user time (though the install typically takes ~10mins or more you don't need to be around for that). Hope that makes sense. I can explain in more detail. N. On Wed, Feb 9, 2011 at 2:45 AM, Matthias Felleisen matth...@ccs.neu.edu wrote: Dear Developers, we need ideas and input. ... _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] call for ideas
On Wed, Feb 9, 2011 at 2:45 AM, Matthias Felleisen matth...@ccs.neu.edu wrote: We have decided to reorganize the systems maintenance tasks over the next few months. Part of the goal is to modernize, and part of the goal is to give Eli more time for real projects. Good plan. - DNS What's there to do? If I fiddle with our DNS setting once a year that's a lot. - web pages We use Bytemark's Symbiosis (http://www.bytemark.co.uk/hosting/symbiosis) on our machine for hosting simple sites. It has simple config and auto-updates with security updates. - mailing lists Google groups. Life is too short to mess around with email :) - source repository Github. It has this system to hook into commits: http://help.github.com/post-receive-hooks/ - bug reporting Kahu (http://www.getkahu.com/) It is written in Racket. :) [If you seriously consider this, we'll set you up with demo accounts. Kahu is billed as helpdesk (= bug tracking) and resource management so it isn't a perfect fit.] There are many other bug tracking systems. - @racket-lang.org mail addresses Google. N. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Pre-Release Checklist for v5.1
On Mon, Jan 31, 2011 at 10:50 PM, Ryan Culpepper ry...@ccs.neu.edu wrote: * Noel Welsh noelwe...@gmail.com - Rackunit Tests - SRFI Tests - Ensure that all claimed srfi's are in the installer and they all load into racket or drracket (as appropriate) DONE. N. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] How to represent the startline in Lexer SRE Operators ??
I don't think you can do with just the lexer (it has been a while since I used it). I suggest representing newlines in your AST, and using the parser to deal with newline + whatever tokens in an appropriate way. HTH, N. On Thu, Jan 27, 2011 at 6:45 PM, jenny sun jenny.sun.jenny@gmail.com wrote: Hi, does anybody know how to represent the startline with whitespace, in lex, we can write, means that I only match the spaces from the start line... ^[ ]* But, there is no ^ operator in Lexer SRE Operators ??? Thanks --jenny _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Compiling latest pre-release on Ubuntu
Different kernel, same Ubuntu: $ cat /etc/issue Ubuntu 10.04.1 LTS \n \l $ uname -r 2.6.32-24-server Is your box 64-bit? If not, that might indicate the issue: $ uname -a Linux kahu 2.6.32-24-server #43-Ubuntu SMP Thu Sep 16 16:05:42 UTC 2010 x86_64 GNU/Linux It's also running in a VM. N. On Mon, Jan 24, 2011 at 3:09 PM, Stephen Chang stch...@ccs.neu.edu wrote: stchang@mton:~/plt/src/build$ cat /etc/issue Ubuntu 10.04.1 LTS \n \l stchang@mton:~/plt/src/build$ uname -r 2.6.32-27-generic _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] racket-lang down?
It's dead dead dead for me and others on IRC. N. On Thu, Jan 20, 2011 at 6:56 AM, Jon Rafkind rafk...@cs.utah.edu wrote: its working for me. i just submitted a bug, too. On 01/19/2011 04:44 PM, John Clements wrote: It looks like racket-lang.org is down. John _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Building without docs
On Thu, Jan 20, 2011 at 7:12 PM, John Clements cleme...@brinckerhoff.org wrote: There are a bunch of comments in raco's main.rkt about absolutely never ever creating a .zo for this file. Does this call to racket create such a file? I can check, but not till tomorrow afternoon at the earliest. (racket-lang.org being down today wedged my attempts at installation.) N. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Building without docs
For posterity, this works: On Mon, Jan 17, 2011 at 3:12 PM, Robby Findler ro...@eecs.northwestern.edu wrote: You can also set PLT_SETUP_OPTIONS to -D and then make install will avoid building the docs. This does not: On Mon, Jan 17, 2011 at 9:02 AM, Sam Tobin-Hochstadt sa...@ccs.neu.edu wrote: % make % make plain-install % raco setup -D as make plain-install only creates racket. Below is a Chef recipe for building Racket. As some point this will appear on Github. N. package g++ # Fetch Racket tarball remote_file /usr/local/racket-textual-5.0.2-src-unix.tgz do source http://download.racket-lang.org/installers/recent/racket-textual/racket-textual-5.0.2-src-unix.tgz; mode 0644 end directory /usr/local/racket-textual-5.0.2 do mode 0755 action :create end script install_racket-textual-5.0.2 do interpreter bash cwd /usr/local # user kahu code -EOH pwd ls tar zxf racket-textual-5.0.2-src-unix.tgz cd racket-textual-5.0.2/src mkdir build cd build pwd export PLT_SETUP_OPTIONS=-D ../configure make make install EOH end file /usr/local/racket-textual-5.0.2-src-unix.tgz do action :delete end directory /usr/local/racket-textual-5.0.2 do # owner kahu # group kahu mode 0755 end link /usr/local/plt do to /usr/local/racket-textual-5.0.2 end _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Building without docs
Well, that didn't work, but we've decided to upgrade to Racket anyway :) What's the equivalent process for Racket? Thanks, N. On Wed, Jan 12, 2011 at 12:58 PM, Matthew Flatt mfl...@cs.utah.edu wrote: At Wed, 12 Jan 2011 11:29:03 +, Noel Welsh wrote: I'm trying to build 4.2.2 without building the docs. I thought I could just run make and then setup-plt -D, but make does not install the binaries. Looking through the Makefile did not lead to enlightenment. Any suggestions? Does `make plain-install' followed by `setup-plt -D' work? (Version 4.2.2 is old enough that I forget what worked back then.) _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
[racket-dev] Building without docs
Hi all, I'm trying to build 4.2.2 without building the docs. I thought I could just run make and then setup-plt -D, but make does not install the binaries. Looking through the Makefile did not lead to enlightenment. Any suggestions? Thanks, N. PS: FWIW, I'm writing a Chef (http://wiki.opscode.com) recipe to install PLT. I'll release the recipe when it is done. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
[racket-dev] Search logs
Hi, Can I get access to (some of) the search logs for the online docs? I'd like to do some analysis of what people are searching for and see if I can come up with anything interesting. Ta, N. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Git
+1 The learning curve isn't great, but the more I learn about git the more I like it. N. On Wed, Jan 5, 2011 at 8:25 PM, Jay McCarthy jay.mccar...@gmail.com wrote: Me too! Git is great now. Jay 2011/1/5 Carl Eastlund c...@ccs.neu.edu: Thanks to everyone whose efforts and patience helped us switch from Subversion to Git. There was a steep learning curve, but now that I'm familiar with git, its flexibility has been quite handy. It has been invaluable for collaborating with the rest of you on the PLT git repository, with a few remaining uses of the legacy svn repository, and even with myself when switching computers, working on an airplane, etc. It has even proved useful for collaboration with others who do not use version control -- if I get code via an emailed tarball, I can just jump back to wherever those edits started from, commit them, and rebase my changes to go from there, so my history doesn't get out of sync with anyone else's. Thanks again! Carl Eastlund _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev -- Jay McCarthy j...@cs.byu.edu Assistant Professor / Brigham Young University http://faculty.cs.byu.edu/~jay The glory of God is Intelligence - DC 93 _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Adding alpha to color%
Great, thanks! N. On Thu, Dec 30, 2010 at 2:14 PM, Matthew Flatt mfl...@cs.utah.edu wrote: Done. At Wed, 24 Nov 2010 10:44:59 -0700, Matthew Flatt wrote: I would like to add alpha to `color%', but I haven't gotten around to it. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] enter! verbosity
On Sat, Dec 11, 2010 at 10:07 PM, Carl Eastlund c...@ccs.neu.edu wrote: On Sat, Dec 11, 2010 at 4:58 PM, Eli Barzilay e...@barzilay.org wrote: Yesterday, Jakub Piotr Cłapa wrote: On 10.12.10 21:05, Noel Welsh wrote: It is moderately useful to see what is reloaded if you renter enter! ... I can see the usefulness of this output for someone in the process of developing the language in question, and testing it at the Racket REPL. But it's not as useful for just trying out other languages Agreed. I think silent output is more useful than the current system so withdraw what may be construed as support for the current output. N. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] enter! verbosity
It is moderately useful to see what is reloaded if you renter enter! N. On Fri, Dec 10, 2010 at 5:26 PM, Carl Eastlund c...@ccs.neu.edu wrote: Whenever I use enter! in racket, it spews a huge list of notifications of every file being loaded. Is there any reason for this? It seems like a complete waste of screen space, it obscures anything useful I did before the enter!, and the first time it made me worry I'd done something wrong. --Carl _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Fixing uncertified context error in in-vector
On Sun, Dec 5, 2010 at 1:38 PM, Matthew Flatt mfl...@cs.utah.edu wrote: ... For now, just export `normalise-inputs'. Ryan and I are looking to an overhaul of syntax certificates. An easy fix. I'll do that. Also, you're using `unsafe-fx...' on numbers that haven't been checked to be fixnums (i.e., `exact-nonnegative-integer?' does not imply fixnum). I think you should just use generic arithmetic. You can't allocate more than a fixnum number of bytes, I believe. So start and stop must be fixnums if they're to be valid. This leaves only step. I'll check over the code and tighten up the checks before submitting. Or just use generic arithmetic. Thanks. N. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Fixing uncertified context error in in-vector
Ah, I'll fix that up. That's 3 bugs in the code so far. AFAIK none have yet been found in practice! N. On Sun, Dec 5, 2010 at 4:31 PM, Matthew Flatt mfl...@cs.utah.edu wrote: Yes, but the `unsafe-fx' operations that I'm concerned about are the ones checking whether an index is valid: (unless (and (exact-nonnegative-integer? start) (unsafe-fx start len)) (raise-type-error who (format exact non-negative integer in [0,~a) len) start)) (unless (and (integer? stop) (unsafe-fx= -1 stop) (unsafe-fx= stop len)) (raise-type-error who (format exact integer in [-1,~a] or #f len) stop)) _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Refactoring in-vector and friends
I've merged the changes back into for.rkt and pushed the changes. This is just refactoring the in-vector code. I'll do a separate commit when I modify in-fXvector. And yes, tests all pass :) N. On Fri, Dec 3, 2010 at 1:22 AM, Eli Barzilay e...@barzilay.org wrote: 1. At this level, I think that the costs are very important -- and there's two possible costs here: (a) it adds more files to racket/base which adds some overhead to starting up; (b) more importantly, there is no inlining across module boundaries, ... _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Refactoring in-vector and friends
Since merging with HEAD I get repeatable segfaults in the prompt tests: ... and 19526 exception field tests. Errors were: (Section (got expected (call))) ((syntax) (9 10 (#procedure:dynamic-require (quote set-local-dfs) ten))) (Other messages report successful tests of error-handling behavior.) Section(prompt) Seg fault (internal error) at 0x1c0 Bus error These errors didn't appear with my changes before merging. I went back to the revision before my commit and I still get this segfault. I've rebuilt (raco setup) numerous times. Is this a known problem? If it is, I can push the rest of my changes. If not, I guess I better rebuild from source. N. On Fri, Dec 3, 2010 at 10:38 AM, Noel Welsh noelwe...@gmail.com wrote: I've merged the changes back into for.rkt and pushed the changes. This is just refactoring the in-vector code. I'll do a separate commit when I modify in-fXvector. And yes, tests all pass :) N. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Refactoring in-vector and friends
That's the problem -- doing a full rebuild has fixed it. in-flvector and in-fxvector have been extended (and doc'ed and tested), and I also optimised some of the code to use unsafe ops. The vector defns in ffi/vector.rkt should probably use these tools to provide sequence abstractions, but I'm out of steam for now. (This process makes testing changes so time consuming I don't know how y'all ever get anything done. Maybe rebuild once a day or something.) N. On Fri, Dec 3, 2010 at 1:20 PM, Matthew Flatt mfl...@cs.utah.edu wrote: Is it possible that your binary didn't get rebuilt? The test failure and crash seem to be in recently added tests to go with recent repairs to the Racket binary. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
[racket-dev] Refactoring in-vector and friends
Hi all, I spent (far too much) time this morning refactoring the definition of in-vector to expose the building blocks to compose these macro/functions. After refactoring the code for defining in-vector is: (define-:vector-like-gen :vector-gen unsafe-vector-ref) (define-in-vector-like in-vector vector vector? vector-length :vector-gen) (define-sequence-syntax *in-vector (lambda () #'in-vector) (make-in-vector-like #'vector? #'unsafe-vector-length #'in-vector #'unsafe-vector-ref)) This could obviously be made smaller but it sufficient to enable reuse for in-flvector (my goal), in-f64vector etc. In doing so I split for.rkt into three (I couldn't handle refactoring the 1000+ lines of for.rkt; I needed something smaller to understand it all). Since this is a moderately large change I'm looking for comments/objections before committing. If you have objections please let me know -- if I don't hear any I'll commit tomorrow. Diff is attached. N. vector.diff Description: Binary data _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Removing Xexpr preference from Web Server
On Sat, Nov 27, 2010 at 12:55 AM, Jay McCarthy jay.mccar...@gmail.com wrote: I would like to remove the implicit preference the Web Server gives to Xexprs and the old esoteric bytes response format. Seems like a good move to me. If a framework wants to privilege some response type over others it can provide the necessary shortcuts. N. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Adding alpha to color%
Thanks. If I get the time I'll take a crack at it. N. On Wed, Nov 24, 2010 at 5:44 PM, Matthew Flatt mfl...@cs.utah.edu wrote: I would like to add alpha to `color%', but I haven't gotten around to it. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Pre-Release Checklist for v5.0.2, second call
On Mon, Oct 25, 2010 at 6:46 PM, Ryan Culpepper ry...@ccs.neu.edu wrote: * Noel Welsh noelwe...@gmail.com - Rackunit Tests - SRFI Tests - Ensure that all claimed srfi's are in the installer and they all load into racket or drracket (as appropriate) DONE N. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] Release for v5.0.2 has begun
On Thu, Oct 21, 2010 at 1:44 PM, Doug Williams m.douglas.willi...@gmail.com wrote: Noel and Neil, were the unsafe-flround and unsafe-fllog problems you saw just with the newer nightly builds or with the released version of Racket? [I haven't had any problems with the released versions.] Nightly builds. It was flround, not unsafe-flround, that caused crashes for me. N. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] ssh g...@git.racket-lang.org requires password
I think those instructions are for committeerrss. You will probably have a better experience overall if you go with the github mirror: http://github.com/plt/racket To clone this just issue git clone http://github.com/plt/racket.git HTH, N. On Tue, Oct 12, 2010 at 12:40 PM, Horace Dynamite horace.dynam...@gmail.com wrote: I'm trying to follow the PLT git instructions located here, http://git.racket-lang.org/intro.html It says that you should get back information about your permissions when you connect to the gitolite server like so, ... _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
[racket-dev] Possible build platform for ARM
Some time ago Jay asked if anyone had a hardware suggestion for an ARM PC. I don't think anyone answered; in my case that was because there wasn't a capable device that I knew of. The Pandaboard -- http://pandaboard.org/ -- which is supposed to start shipping this month looks like it might be viable. It is a dual-core A9, so it should have the performance to compile Racket on ARM at a reasonable speed. The only comparable device I know of is the Beagleboard, which is substantially slower. Also, if someone had an accessible ARM device any crazy people who were developing, e.g., assemblers, on Racket would be able to target that platform (and hence iPhone, iPad, and Android devices). Cheers, N. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] flonum vs. inexact-real
On Sat, Oct 2, 2010 at 7:48 PM, Matthew Flatt mfl...@cs.utah.edu wrote: With the current memory manager, I don't think there's any potential space gain from using 32-bit floats instead of 64-bit floats. Is there any other reason to use 32-bit floating point? In theory one can get better performance with floats. For example, you can pack more floats than doubles into the SIMD registers on Intel chips. Anyone paying this much attention to performance isn't going to be using Racket anyway, so I don't think this is a valid argument. Regarding what Neil said: don't listen to him!!1! There is a better representation: NaN boxing. E.g.: http://blog.mozilla.com/rob-sayre/2010/08/02/mozillas-new-javascript-value-representation/ IEEE floating point allows many representations for NaN but all hardware only ever uses one. The idea with NaN boxing is you some of these other representations for type tags. You get 32-bit ints, and unboxed 64-bit doubles. Presumably you rely on your tracing JIT to do unboxing for non-float types (AFAIK LauJIT and Trace/JaegerMonkey are the only VMs to use this representation). I believe on 64-bit machines Mozilla are using 128-bit wide values in their JS VM. One could light the Dave Herman signal (or just read the blog posts) for more info. Cheers, N. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] RFC: Coding Guidelines
On Thu, Sep 2, 2010 at 11:57 AM, Eli Barzilay e...@barzilay.org wrote: Well -- you do, in a sense. When something is broken, someone needs to fix it. There's tons of stuff that is (or has) bitrotting away since there's no proper owner to take care of some code, or bugs in code with no clear owner need to wait for someone to volunteer to do the work -- and that's less likely to happen. Agreed. I think less stuff should be in the core, and this would go some way to solving the problem. I think you want this as well. To elaborate, I think Racket should still come with all the libraries it currently does but 1) they should have versions like Planet does and 2) they should be distributable independently of Racket core. This way a particular library update is independent of updates to other libraries or the core. N. My worry re ownership is that making a mess there will lead to more of these problems. To make a concrete example, there's some unstable code now that is a big extension to a big library -- and if the theoretical plan where the unstable manager merges that code in, we get three people involved: (a) the original author of the library, (b) the author of the extension, and (c) the unstable manager. Now what happens to bugs in the resulting extended library? To me, this sounds like a recipe for one of those silly volleyball moments where the three players stand next to the ball with I thought *you'd* pick it looks. Because of this, I much rather see such extension getting in by (b) cooperating with (a) to get the extension in. With the result being - (a) making sure he knows all the bits and becoming the owner of the result; - (b) becoming the owner of the resulting extended library; - or deciding on a clear separation where the two parts are visible (possibly involving work on either side), and the two maintain their own bits. * \Primum non nocere\ -- after looking this up (bad for such a document), I strongly disagree with it. IIUC, it reads as if it works, don't mess with it Idiomatically that would be if it ain't broke, don't fix it. I too strongly disagree with this. (Yeah, I saw that -- and the context that it's coming from is dealing with a very different kind of machine, where the rules are very different...) -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://barzilay.org/ Maze is Life! _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] [plt] Push #20898: master branch updated
On Mon, Aug 23, 2010 at 12:26 AM, Will M. Farr wmf...@gmail.com wrote: Thanks for sharing your code, and for the comments. Let me see if I understand this correctly: the following code should produce a total, a vector whose elements are the partial sums of elements at lower indices than the corresponding element of the input vector, and a vector whose elements are partial sums of elements at the index and lower indices of the input vector, right? Yes, that's correct. 1. In my forms, the length is optional, and distinguished (when provided) from the for-clauses by a keyword argument. In yours, it must be provided as the first for-clause (thus requiring that the index be named). Yes. Note that my for/vector form will iterate over the indices even if no other sequence is provided. Thus you can write stuff like this (taken from some code of mine): (for/vector ([i n]) (create-row (+ i l))) You can ignore the name if you want: (for/vector ([_ n-pts]) ...) 2. In my forms, the final body expression must produce exactly one value, which becomes the vector element. In yours, the final body expression must produce exactly as many values as the third argument to the length clause (if provided) or 1 (if no third argument is present). Yes. As for difference 1, I think it's nice to be able to avoid providing a length if I don't want to. Sometimes I may not really care about the efficiency of the loop, but will later need a vector, in which case it's a lot less effort to use (for/vector ((i (in-range 3))) ...) than to have to provide a length. I also prefer the distinguished #:length keyword instead of shoehorning the length argument into a not-really-for-clause. I'm curious what others think, however. I like having the index bound to a name if I want it. Otherwise I'm fine with specifying it in an alternate way. Difference #2 seems more significant to me. I really like the idea of being able to produce multiple vectors simultaneously---as you say, it can have efficiency benefits and also be really convenient. However, note that the for/list form does not allow multiple values from the last body expression, so there is an argument from consistency to prohibit it in for/vector as well. We don't have to repeat the mistakes of the past :) I'd be open to adding another keyword argument, however, to designate some number of vectors (independently of the presence or absence of the #:length keyword) for the output. I'll put that in the next version, and we can see what other people think. As with the #:length argument, I would prefer this to be a separate keyword---maybe #:num-vecs, maybe something else---rather than trying to fit it into a special for-clause. Alternatively, it could be a for/vectors / for/fold/vectors form. I'm neutral. N. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] PLaneT Library of Iterations/Comprehensions
Hi Will, My numerics package on Github has for/vector with some slight extensions to yours. I think it also has more error checking so you might want to look at it. I also have for/fold/vector and some sequence abstractions. The code is all parameterised at expansion time by the vector representation. http://github.com/noelwelsh/numeric N. On Wed, Aug 18, 2010 at 5:02 PM, Will M. Farr wmf...@gmail.com wrote: Hello all, I've been thinking for a while about putting together a PLaneT library of some iteration/comprehension forms that I often use that are not found in the racket core. Right now, I have a small it-comp.plt local PLaneT package that contains for/vector for/flvector in-flvector The for/... forms have the option of having a first expression that gives the length of the resulting object (similar to srfi-42's vector-of-length-ec form) to allow generating more efficient code: (for/vector ((x (in-range 3))) x) = (vector 0 1 2) (for/vector 3 ((x (in-range 3))) x) = (vector 0 1 2) ; but more efficiently I'll be adding more forms from time to time, as I need them. Eventually, I'll release this to PLaneT, but I thought I might ask the community two questions first: 1. Am I duplicating the functionality of some library? (If so, I'll just contribute to that instead.) 2. Do you have any iteration favorites that I should include in the library? (Code welcome, but I'm also happy to implement suggestions myself.) Alternately, if you guys want to add these to the core, I'd be happy to contribute code and tests Thanks, Will _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] [plt] Push #20898: master branch updated
On Sun, Aug 22, 2010 at 9:36 PM, Will M. Farr wmf...@gmail.com wrote: Matthew co, ... I'll make sure to throw a syntax error if I see a #:when in the for-clauses, and I think I should give up on the for*/vector #:length variant. I was hoping that you would have some sort of neat trick to keep a running counter during the nested iteration I'm pretty sure this will exclude a lot of my code. I'll have to check tomorrow. My for/vector allows one to construct multiple vectors in one iteration. This is fairly useful to efficient code. I also bind the length to a name. I thought I checked that this counter was exactly the length after the comprehension terminated, but it appears I don't. Code is below. You won't be surprised to hear I prefer my variant ;-). I have uses for every feature that I can dreg up if anyone is interested. I'm keen to see a for/vector comprehension in Racket. N. (define-syntax (for/fold/vector stx) (syntax-case stx () [(for/fold/vector ([accum-id init-expr] ...) ([idx length] for-clause ...) body ...) (syntax (for/fold/vector ([accum-id init-expr] ...) ([idx length 1] for-clause ...) body ...))] [(for/fold/vector ([accum-id init-expr] ...) ([idx length n-vectors]) body ...) (syntax (let ([l length]) (for/fold/vector ([accum-id init-expr] ...) ([idx l n-vectors] [_ (in-range l)]) body ...)))] [(for/fold/vector () ([idx length n-vectors] for-clause0 for-clause ...) body ...) (with-syntax ([(v-id ...) (datum-syntax stx (for/list ([i (in-range (syntax-datum (syntax n-vectors)))]) (gensym 'for-vector)) (syntax n-vectors))] [(temp-id ...) (datum-syntax stx (for/list ([i (in-range (syntax-datum (syntax n-vectors)))]) (gensym 'for-vector)) (syntax n-vectors))]) (syntax (let* ([l length] [idx 0] [v-id (make-vector l)] ...) (begin (for (for-clause0 for-clause ...) (let-values (([temp-id ...] (let () body ...))) (vector-set! v-id idx temp-id) ... (set! idx (add1 idx (values v-id ...)] [(for/fold/vector ([accum-id0 init-expr0] [accum-id init-expr] ...) ([idx length n-vectors] for-clause0 for-clause ...) body ...) (with-syntax ([(v-id ...) (datum-syntax stx (for/list ([i (in-range (syntax-datum (syntax n-vectors)))]) (gensym 'for-vector)) (syntax n-vectors))] [(temp-id ...) (datum-syntax stx (for/list ([i (in-range (syntax-datum (syntax n-vectors)))]) (gensym 'for-vector)) (syntax n-vectors))]) (syntax (let* ([l length] [idx 0] [v-id (make-vector l)] ...) (let-values (([accum-id0 accum-id ...] (for/fold ([accum-id0 init-expr0] [accum-id init-expr] ...) (for-clause0 for-clause ...) (let-values (([accum-id0 accum-id ... temp-id ...] (let () body ...))) (vector-set! v-id idx temp-id) ... (set! idx (add1 idx)) (values accum-id0 accum-id ...) (values accum-id0 accum-id ... v-id ...)])) (define-syntax (for/vector stx) (syntax-case stx () [(for/vector (for-clause ...) body ...) (syntax (for/fold/vector () (for-clause ...) body ...))])) _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev