Re: [racket-dev] Possible build platform for ARM

2010-10-07 Thread Tony Garnock-Jones
Noel Welsh wrote: 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). You know qemu's ARM emulation is fairly complete, right? Tony

Re: [racket-dev] Possible build platform for ARM

2010-10-07 Thread Tony Garnock-Jones
Neil Van Dyke wrote: For testing, I think you need not just the target processor but also various OS and chipset/firmware stuff. Indeed. It's a thorny issue. The Openmoko phone, for instance, had a custom configuration of qemu that simulated the GSM radio, the GPS, the sound chip etc etc.

Re: [racket-dev] [racket-bug] all/11365: syntax definitions in interactions -- namespace mismatch: errortrace-key

2010-11-03 Thread Tony Garnock-Jones
Eli Barzilay wrote: * If it's OSX, and no `git' was found in the path, then try /opt/local/bin/git. This looks like the common place to get it installed on OSX (please correct me if it's wrong). Homebrew (and a simple ./configuremake install) will put it in /usr/local/bin. It might be

[racket-dev] Inline caching (was Re: my '312' this semester, how we compare to others)

2011-05-04 Thread Tony Garnock-Jones
On 2011-05-04 12:04 PM, Matthias Felleisen wrote: I still believe that the Java implementation (just under 1s without their 'Google' contract) benefits from typed dispatches. Maybe it does, but it's almost certain that it is benefiting from inline caching at send sites (i.e. dynamic type

Re: [racket-dev] Inline caching (was Re: my '312' this semester, how we compare to others)

2011-05-04 Thread Tony Garnock-Jones
The attached (highly experimental) patch seems to improve the performance of normal sends (in the case of a cache hit) by roughly 100% - 150%. The difference between this mere factor of two improvement and the factor of six-through-ten I was seeing earlier is, I speculate, related to

Re: [racket-dev] Inline caching (was Re: my '312' this semester, how we compare to others)

2011-05-04 Thread Tony Garnock-Jones
On 2011-05-04 6:54 PM, Asumu Takikawa wrote: Wow, impressive! I've been benchmarking with the DrRacket interactive tests already for contracts, so I can run my test driver and get some numbers for that. That'd be great. I mean, it'll probably just break, but if it doesn't... it'd be

Re: [racket-dev] Racket on Rockets

2011-07-27 Thread Tony Garnock-Jones
On 2011-07-27 4:01 PM, Sam Tobin-Hochstadt wrote: If you have a sufficiently powerful inspector, you can traverse any structure. In principle, you can even traverse closures this way, but no inspector with the needed power exists. See `struct-vector'. That sounds fantastic! Especially the

Re: [racket-dev] Racket on Rockets

2011-07-27 Thread Tony Garnock-Jones
On 2011-07-27 4:17 PM, Sam Tobin-Hochstadt wrote: No such alchemy exists, it's just intended as part of the conceptual framework. 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? No, `struct-vector' uses the

[racket-dev] Search by example (was Re: Roogle?)

2011-08-06 Thread Tony Garnock-Jones
On 2011-08-05 12:13 AM, Robby Findler wrote: So I wonder if anyone has a positive experience with this kind of searching in an in anger kind of setting? Not with search by type, but at the risk of derailing the thread, I have had quite a few positive experiences with search by example. For

Re: [racket-dev] Search by example (was Re: Roogle?)

2011-08-06 Thread Tony Garnock-Jones
with higher-order functions.) Regards, Tony On 2011-08-06 3:13 PM, Tony Garnock-Jones wrote: Not with search by type, but at the risk of derailing the thread, I have had quite a few positive experiences with search by example. _ For list-related

Re: [racket-dev] Search by example (was Re: Roogle?)

2011-08-06 Thread Tony Garnock-Jones
On 2011-08-06 4:41 PM, Robby Findler wrote: But I think in Racket we have better ways of avoiding such danger (namely using the sandbox library or the pieces it builds upon). In general, in fact, you'd have to do that anyways, since a contract can be some arbitrary predicate (and don't forget

Re: [racket-dev] Search by example (was Re: Roogle?)

2011-08-06 Thread Tony Garnock-Jones
On 2011-08-06 8:25 PM, Eli Barzilay wrote: *However*, there's an awful lot of functions to try -- going over them will make a very slow search... There's not *that* many. How long does 100,000 function calls take? I'd imagine you'd search the exports from racket/base before looking further

Re: [racket-dev] online check syntax deadlock: can you help?

2011-09-01 Thread Tony Garnock-Jones
Is that expected? It looks like the OS is preventing not-full-fledged-app-things from opening windows and handling input. This is OS 10.6,8. It probably needs to run from inside the .app folder. OS X uses the full path to the binary to figure out the name to use to dispatch events, or

[racket-dev] async-channels use a manager thread

2011-10-18 Thread Tony Garnock-Jones
Hi all, Why does the implementation of async-channels use a manager thread internally? Is it for kill-safety? Some other reason? Regards, Tony _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev

[racket-dev] scheme_sema_post_all

2011-10-22 Thread Tony Garnock-Jones
Hi all, It looks like scheme_sema_post_all has the effect of an infinite number of scheme_sema_post calls. Is that right? If so, that's exactly what I need: would it make sense to expose the functionality, perhaps as (semaphore-post-infinite) or (semaphore-post-all)? (Context: I want to build a

Re: [racket-dev] scheme_sema_post_all

2011-10-22 Thread Tony Garnock-Jones
On 2011-10-22 9:41 AM, Tony Garnock-Jones wrote: (Context: I want to build a kind of box that starts empty, is able to be given a value exactly once, and that threads can wait on until its value is set by some other thread. Currently I'm using a channel and a newly-spun-up thread that loops

[racket-dev] Kill-safe, single-write, blocking box (was Re: scheme_sema_post_all)

2011-10-22 Thread Tony Garnock-Jones
On 2011-10-22 9:43 AM, Tony Garnock-Jones wrote: Nothing like the 20 seconds or so after a post to make one question oneself. Could it be that semaphore-peek-evt could be used to get what I need? I'll experiment. The answer is almost, i.e. no. But scheme_sema_post_all doesn't do what I want

[racket-dev] Thread exit status

2011-10-22 Thread Tony Garnock-Jones
Hi all, What do people think of the idea of threads preserving their exit status? The exit status would be either - a raised exception, or - a normally-returned value, or - nothing as yet, because the thread is still running. (thread-died-with-exception? thd) - boolean? Returns #t if

Re: [racket-dev] Thread exit status

2011-10-22 Thread Tony Garnock-Jones
On 2011-10-22 11:14 AM, Jay McCarthy wrote: I don't think any change is necessary, because this can be done as a library: https://github.com/jeapostrophe/exp/blob/master/ethread.rkt I was hoping for something that works for threads created using (thread) as well. Using either your approach or

Re: [racket-dev] Kill-safe, single-write, blocking box (was Re: scheme_sema_post_all)

2011-10-22 Thread Tony Garnock-Jones
On 2011-10-22 11:42 AM, Matthew Flatt wrote: I think you could get this behavior by creating a manager thread when you create the new kind of box. If threads are too heavyweight, though, you can get the effect of a primitive by using `ffi/unsafe/atomic'. Of course! Using a thread to manage the

Re: [racket-dev] Thread exit status

2011-10-22 Thread Tony Garnock-Jones
On 2011-10-22 12:02 PM, Jay McCarthy wrote: Eh, I think imposing this on all the threads would be a bad idea because it would increase memory usage unexpectedly for a lot of programs, I would guess Only those holding references to their threads well beyond the lifetime of said threads. Is

Re: [racket-dev] Thread exit status

2011-10-22 Thread Tony Garnock-Jones
On 2011-10-22 5:10 PM, Eli Barzilay wrote: I don't see how why that cannot be built on top of `delay/thread'. Because 1. the threads may not have been started via delay/thread, and 2. there is no way to get from (current-thread) to the promise. My best bet so far seems to be something along the

Re: [racket-dev] Racket home page proposal

2011-12-20 Thread Tony Garnock-Jones
On 2011-12-20 4:07 AM, Robby Findler wrote: I like the idea, but I think our twitter feed and blog aren't updated enough. When we decided to put a twitter feed on the rabbitmq.com homepage, we went with simply including *any tweet mentioning rabbitmq*. This has its upside and its downside, of

Re: [racket-dev] Any notion of .jar files for Racket?

2012-03-06 Thread Tony Garnock-Jones
On 03/06/2012 02:14 PM, Danny Yoo wrote: The Java folks have a notion of .jar files that pack a collection of class files into a single archive, but also make it possible to load classes directly out of .jars without an intermediate unpacking stage. .plt archives can serve a role to pack files

Re: [racket-dev] Are There More String Functions?

2012-04-18 Thread Tony Garnock-Jones
On 04/18/2012 03:28 PM, Eli Barzilay wrote: `string-normalize-spaces', which takes a string and a regexp for the spaces, and turns all spaces into single ones. Same principles as above. This one is getting a `#:trim?' keyword that says whether spaces at the edges should be dropped (the

Re: [racket-dev] emscripten?

2012-05-09 Thread Tony Garnock-Jones
On 05/09/2012 05:09 PM, John Clements wrote: In particular, I would expect the JIT to be totally broken, and that there would be a lot of painful parts related to linking to standard libraries, but the resulting program could actually do client-side compilation in a web browser, right? Yep. My

[racket-dev] Bug in Racket's I/O?

2012-06-20 Thread Tony Garnock-Jones
Hi all, I think I've found a bug in Racket's I/O. Please interpret the following text as relating to the attached tarball with a small example of the problem. The problem manifests for me on both platforms I've tried, OS X and Linux. When `sync`ing on `read-bytes-evt` at the same time as on

Re: [racket-dev] Bug in Racket's I/O?

2012-06-20 Thread Tony Garnock-Jones
Sorry, I should have filed a bug report instead of mailing the list. I'm filing the report now. On 2012-06-20 8:22 PM, Tony Garnock-Jones wrote: Hi all, I think I've found a bug in Racket's I/O. Please interpret the following text as relating to the attached tarball with a small example

[racket-dev] Performance regression testing?

2012-10-26 Thread Tony Garnock-Jones
Hi all, I have a speculative change to match that I'd like to propose, but before I do I'd like to make sure it has no negative performance impact. How do people go about checking for performance regressions in core racket collections? Is there a standard benchmark suite? Regards, Tony

Re: [racket-dev] amd64 out of memory

2013-04-16 Thread Tony Garnock-Jones
On 2013-04-16 11:50 AM, Jon Rafkind wrote: The PPA build has been failing the past 2 days or so for amd64 machines due to the Racket VM running out of memory, usually during 'raco setup' but not correlated with any specific collection. I have seen this behaviour after a 'raco pkg remove':

Re: [racket-dev] amd64 out of memory

2013-04-16 Thread Tony Garnock-Jones
On 04/16/2013 12:42 PM, Neil Van Dyke wrote: On these out-of-memory conditions, you might want to look at the kernel logs for what the OOM-killer said about what processes were running, their sizes, and who it thought the culprit was. It was *definitely* Racket: I was watching htop at the

Re: [racket-dev] amd64 out of memory

2013-04-16 Thread Tony Garnock-Jones
On 04/16/2013 03:50 PM, Matthew Flatt wrote: Meanwhile, I've been meaning to make `raco pkg remove' setup only the same collections that were setup for `raco pkg install' (minus any that are gone after the uninstall), and I've pushed that change. I don't expect that the change fixes the

Re: [racket-dev] hex decoding?

2013-06-10 Thread Tony Garnock-Jones
Here's the one I've been using in racl (https://github.com/tonyg/racl, raco pkg install racl). It ignores non-hex characters but is less efficient than Stephen's version. Um, and it expects *bytes* as input, not strings. I'm not sure why, actually. (define (hex-string-bytes . strs) (define

[racket-dev] raco pkg install should default to linking for filesystem packages

2013-07-31 Thread Tony Garnock-Jones
Hi all, When I have a directory foo/, containing a single-collect package, and I install it with raco pkg install foo/, it seems to copy the contents of the directory, meaning local edits are not found by the system. Instead I have to raco pkg install --link foo/. I would prefer it if

[racket-dev] package name restrictions - why?

2013-07-31 Thread Tony Garnock-Jones
Hi all, Package names are restricted as follows, per the documentation: a package name — a string made of the characters a through z, A through Z, 0 through 9, _, and -. Why does this restriction exist? Programmers never see package names when using (require); Operators see package names

Re: [racket-dev] package name restrictions - why?

2013-07-31 Thread Tony Garnock-Jones
On 07/31/2013 02:11 PM, Jay McCarthy wrote: The restriction is primarily because they appear in URLs as single path segments. Could we then widen the restriction to be [-A-Za-z0-9._~!$'()*+,;=], following http://tools.ietf.org/html/rfc3986#section-3.3 (but disallowing percent-escaping)? I

Re: [racket-dev] raco pkg install should default to linking for filesystem packages

2013-07-31 Thread Tony Garnock-Jones
On 07/31/2013 02:24 PM, Matthew Flatt wrote: I think it often makes sense for command-line tools to have weird rules[*], I agree with you. UIs have to be humane and ergonomic for our weak, squishy meat-bodies to cope. (Though of course the underlying model has to be sensible too ;-) )

Re: [racket-dev] package name restrictions - why?

2013-07-31 Thread Tony Garnock-Jones
On 07/31/2013 02:42 PM, Matthew Flatt wrote: Package names show up in all sorts of other contexts, too, such as filesystem paths. Sure, but if there's something that won't work as a filesystem path, the developer finds that out awfully quickly. Note that the programming language in which

[racket-dev] A story of a package split

2013-08-13 Thread Tony Garnock-Jones
Hi all, Matthias asked me to write a few words about an experience I had splitting a large repository of code up into smaller repositories and then building a mechanism to tie them together again. == A short story == Once upon a time, RabbitMQ (www.rabbitmq.com) was held in a single,

Re: [racket-dev] A story of a package split

2013-08-13 Thread Tony Garnock-Jones
On 08/13/2013 04:42 PM, Nick Shelley wrote: Can you elaborate on your intermediate form? I don't understand how git submodules prohibit or restrict submodule evolution. The only difference I see with the submodule approach is that it requires an extra commit to update the submodule versions (and

Re: [racket-dev] A story of a package split

2013-08-13 Thread Tony Garnock-Jones
On 08/13/2013 04:49 PM, Tony Garnock-Jones wrote: Perhaps you're right. Maybe my impression that git submodules are frozen is out-of-date. It has been a while since I used them. Perhaps they're first-class checkouts that can be manipulated independently of their... supermodule. If that's true

Re: [racket-dev] A story of a package split

2013-08-13 Thread Tony Garnock-Jones
On 08/13/2013 05:05 PM, Nick Shelley wrote: I was mainly asking about the intermediate form because it seems like it could be useful, but I didn't understand how it would work. One major difference I've just spotted is that git submodules are tied to particular commit IDs, leading to

[racket-dev] Recompiling on wrong version for compiled code

2013-09-20 Thread Tony Garnock-Jones
Hi all, Is there some reason the compiler can't either (a) ignore or (b) replace the outdated .zos when it comes across a situation like the following? compiled/html-utils_rkt.zo::0: read (compiled): wrong version for compiled code compiled version: 5.90.0.5 expected version: 5.90.0.9

Re: [racket-dev] make clean target for top-level makefile?

2014-03-11 Thread Tony Garnock-Jones
On 03/11/2014 01:50 PM, John Clements wrote: I just had a problem compiling Racket which was successfully resolved by axing the racket/build subdirectory. Would in make sense to have a “clean” target for the top-level makefile that does this automatically? As an aside, without wishing to

[racket-dev] JIT buffer overflow

2014-05-21 Thread Tony Garnock-Jones
Seen just now while make CPUS=7 on racket git rev 1f1d1a38aae9f4994f76f69948f1feaca73ba57f: raco setup: 2 rendering: pkgs/syntax-color-doc/syntax-color/syntax-color.scrbl JIT buffer overflow: 0x7f804194064c [0x7f804193f020,0x7f8041940648] (1)!! Makefile:52: recipe for target 'plain-in-place'

[racket-dev] raco make-and-run

2014-06-06 Thread Tony Garnock-Jones
Hi all, I have a little shell script I use frequently: #!/bin/sh raco make $1 exec racket $@ It first compiles the program I wish to run, then runs it with the arguments I've given. Should this be something that raco or racket does itself? Cheers, Tony _

[racket-dev] regexp.c and lookahead

2014-06-14 Thread Tony Garnock-Jones
Hi all, At the moment, when regexp.c runs out of buffered lookahead during a regexp-try-match, it peeks a few bytes. However, it looks like it will never peek *fewer* than 16 bytes (unless eof occurs before then). I have written the package incremental-input which lets a blocking read (e.g.

Re: [racket-dev] regexp.c and lookahead

2014-06-16 Thread Tony Garnock-Jones
On 2014-06-15 3:40 AM, Matthew Flatt wrote: [(queue-empty? ports) (cond [(zero? (random 100)) (suspend) (retry)] [else 0])] and that's obviously a hack, but it should illustrate that regexp matching can be happy to work with the bytes

[racket-dev] (reposted from users) Noisy compiler at PLTSTDERR=info

2015-01-21 Thread Tony Garnock-Jones
[Reposted from -users, since it seems likely I erred in my initial selection of that list] Hi all, Over the past few months, more and more subsystems have started logging at info level as part of regular compilation. I prefer having PLTSTDERR=info in order to catch log-info that happens at

Re: [racket-dev] (reposted from users) Noisy compiler at PLTSTDERR=info

2015-01-22 Thread Tony Garnock-Jones
Hi Matthew, Thanks for those thoughts. On 01/22/2015 09:11 AM, Matthew Flatt wrote: On 1 above: I've been uncertain of the best way to organize logging from the start, but the idea of grouping topics hierarchically (such as a compilation topic group) doesn't sound promising. I agree. Better