I forgot that aspect of #:when and #:unless. Sorry for the noise.
-Ian
- Original Message -
From: "Sam Tobin-Hochstadt"
To: "J. Ian Johnson"
Cc: "dev"
Sent: Tuesday, July 29, 2014 4:46:49 PM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] Surpri
This will eat all your memory,
(for/list ([x '(0 1 2 3 4 5 6)]
#:unless (= x 4)
[i (in-naturals)])
x)
and this won't.
(for/list ([x '(0 1 2 3 4 5 6)]
[i (in-naturals)]
#:unless (= x 4))
x)
Should we expect this behavior? I was really surprised by
I've tried both now. No go.
-Ian
- Original Message -
From: "Leif Andersen"
To: "J. Ian Johnson"
Cc: "dev"
Sent: Monday, July 21, 2014 12:35:06 PM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] pkg account creator not working?
What web browser
I tried to make an account of pkgs.racket-lang.org, and it never emailed me a
code. Is something in the pipeline not working?
-Ian
_
Racket Developers list:
http://lists.racket-lang.org/dev
-Ian
- Original Message -----
From: "Sam Tobin-Hochstadt"
To: "J. Ian Johnson"
Cc: "dev"
Sent: Tuesday, July 15, 2014 9:35:01 AM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] Semantics of struct-out with except-out
On Tue, Jul 15, 2014 at 9:23 AM, J. I
I'm working on enhancing struct-info to carry field names as symbols to do nice
hygienic things:
http://lists.racket-lang.org/users/archive/2014-July/063271.html
I now see that struct-out always provides all field accessors in the static
struct-info associated with the struct identifier.
This m
Thanks, that works even marginally better than (hash k v).
-Ian
- Original Message -
From: "Matthew Flatt"
To: "J. Ian Johnson"
Cc: "dev"
Sent: Sunday, June 29, 2014 2:08:06 AM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] Racket peephole o
I depend highly on creating singleton hashes in my program (one key maps). I
tried a few ways to create them, but alas directly using hash is the best. TR
can't type non-nullary applications hash though.
The times of the following test are the same in TR as in normal Racket, so I'd
like to see p
There are a couple issues here,
One is that #:when in for-clauses allows you to skip iterations, but you want
it in the body. This is a cosmetic difference that you can get around by doing
#:when (begin imperative-stuff-before-guard guard). If you want ecs to escape
an entire for loop, that's wh
Fixed. Sorry for the noise.
-Ian
- Original Message -
From: "Sam Tobin-Hochstadt"
To: "J. Ian Johnson"
Cc: "dev"
Sent: Friday, June 20, 2014 10:06:40 AM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] Broken build?
The current Travis build suc
I just pulled and make gives me this
libracket.a(optimize.o): In function `expr_implies_predicate':
/home/ianj/racket/racket/src/build/racket/src/../../../racket/src/optimize.c:2353:
undefined reference to `scheme_syntax_p_proc'
libracket.a(optimize.o): In function `relevant_predicate':
/home/ian
Yes, there are many cases to cover. The important problem to solve is what is
the right default? What is appropriate 95% of the time? I don't have that data.
You could have different distributions also, with the appropriate default. Tell
students to get the "picturing programs" drracket or the "P
And on Earth Day, no less! For shame.
-Ian
- Original Message -
From: "Robby Findler"
To: dev@racket-lang.org
Sent: Tuesday, April 22, 2014 2:21:03 PM GMT -05:00 US/Canada Eastern
Subject: [racket-dev] we are suspect!
>From my mac os x machine's console log.
4/22/14 1:04:44.000 PM kernel
Indeed it would.
-Ian
- Original Message -
From: Robby Findler
To: J. Ian Johnson
Cc: dev
Sent: Mon, 4 Nov 2013 19:58:28 -0500 (EST)
Subject: Re: [racket-dev] Slideshow package needs more splitting
I guess probably everything except play, play-n, and animate-slide could be
split out
el dependency or a collection level one? (The latter
is the only kind that can lead to the documentation error you're talking about
I believe.)
Robby
On Mon, Nov 4, 2013 at 4:51 PM, J. Ian Johnson < i...@ccs.neu.edu > wrote:
I've been working on a package of different pic
I've been working on a package of different pict transformers/constructors I've
made while giving slideshow presentations, with some pain.
In particular, slideshow-lib pulls in the gui dependency, making documentation
impossible.
I had to just copy the code for slide-pict and fast-start from slid
This means I can't interchange between mutable and immutable sets for my
functions that only need to read generic sets, unless we further subdivide and
have gen:set-query gen:set-constructor gen:set-mconstruct.
-Ian
- Original Message -
From: "Jay McCarthy"
To: "Carl Eastlund"
Cc: "Rac
ad, though?
Thanks,
-Ian
- Original Message -----
From: "J. Ian Johnson"
To: "Robby Findler"
Cc: "dev" , "J. Ian Johnson"
Sent: Wednesday, September 11, 2013 3:49:50 PM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] call-with-limits memory bo
)
(require 'B)
-Ian
- Original Message -
From: "Robby Findler"
To: "J. Ian Johnson"
Cc: "dev"
Sent: Wednesday, September 11, 2013 3:34:55 PM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] call-with-limits memory bound isn't actually bounding
m: "J. Ian Johnson"
To: "David Vanderson"
Cc: "dev" , "J. Ian Johnson"
Sent: Monday, September 9, 2013 2:01:02 PM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] call-with-limits memory bound isn't actually bounding
memory usage
Ah, that would pro
I don't use the gui framework at all. This is all just pounding on global
hash-tables and vectors. Or are you talking about the sandbox queuing up
callbacks?
-Ian
- Original Message -
From: "Robby Findler"
To: "J. Ian Johnson"
Cc: "dev"
Sent: Monda
David Vanderson"
To: "J. Ian Johnson"
Cc: "dev"
Sent: Monday, September 9, 2013 1:50:13 PM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] call-with-limits memory bound isn't actually bounding
memory usage
Just to make sure, is the memory being allocated
I'm running my analysis benchmarks in the context of (with-limits (* 30 60)
2048 ), and it's been good at killing the process when the run
should time out, but now I have an instantiation of the framework that just
gobbles up 15GiB of memory without getting killed. What might be going on here?
the usage
over the limit.
-Ian
- Original Message -
From: "Carl Eastlund"
To: "J. Ian Johnson"
Cc: "dev"
Sent: Monday, September 9, 2013 12:05:21 PM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] call-with-limits memory bound isn't actually
to hashes to see if that was a problem. It wasn't.
-Ian
- Original Message -----
From: "Carl Eastlund"
To: "J. Ian Johnson"
Cc: "Matthew Flatt" , "dev"
Sent: Wednesday, August 28, 2013 12:34:08 PM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-
Weird you can't repro.
I only use hasheq when I know the keys are symbols, or the table is local and
only used for a graph traversal (where the graph is not changing during
traversal).
-Ian
- Original Message -
From: "Matthew Flatt"
To: "J. Ian Johnson"
Cc: &qu
This is mostly an mflatt-only problem.
My analysis framework is now using a generic dictionary for its abstract heap,
and depending on whether or not I pretty-print this heap before continuing on
analyzing, the result of the analysis changes (sound versus unsound). I found
the problem doing som
I like this, except now the hash sets have too little exposed. There isn't a
special sequence-syntax that I can get a hold of for faster iteration when I
know the type of data I'm working with.
-Ian
- Original Message -
From: "Matthias Felleisen"
To: "Carl Eastl
I've been wanting a match-for for quite some time, but there are design
decisions to be made in such cases. Non-linear patterns are tricky to
coordinate - should all clauses of a for/fold be considered part of the same
match pattern? How about for*/fold? (My opinions are yes then no). If you hav
ssage -
From: "Sam Tobin-Hochstadt"
To: "J. Ian Johnson" , "Carl Eastlund"
Cc: dev@racket-lang.org, "Matthew Flatt"
Sent: Thursday, August 22, 2013 8:51:30 AM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] Lists aren't sets, but hav
You misunderstand. I used set-union, but single dispatch saw '() and used
list-union for the '() (set) combination.
-Ian
- Original Message -
From: "Sam Tobin-Hochstadt"
To: "J. Ian Johnson"
Cc: dev@racket-lang.org, "Matthew Flatt"
Sent: Thursda
e taken.
Either set? means what it once did, or we do some awfully slow multiple
dispatch for set operations. My bias shows.
-Ian
- Original Message -
From: "Matthew Flatt"
To: "Carl Eastlund"
Cc: "J. Ian Johnson" , "dev"
Sent: Thursday, August
ily of) struct types that won't clash
with the primitive data that I'm otherwise using.
-Ian
- Original Message -
From: "Carl Eastlund"
To: "J. Ian Johnson"
Cc: "dev"
Sent: Wednesday, August 21, 2013 6:58:56 PM GMT -05:00 US/Canada Eastern
Su
I just wasted about 2 hours tracking down a bug that ended up being due to
(set? '()) now evaluating to #t. I have no problems with set-union,
intersection, etc. being defined for lists, but to treat lists as sets always
is perverse to me. The contracts for set operations should use set-like? fo
I discovered that afterwards, yes. However I do want to short-circuit just
calls to free to use the defaults, not free-box. Currently I have to check the
box in each instance.
-Ian
- Original Message -
From: Carl Eastlund
To: J. Ian Johnson
Cc: dev
Sent: Fri, 16 Aug 2013 19:48:58
WRT the struct abstraction, using syntax-local-introduce on
#'gen:binds-variables seemed to do the trick, oddly.
-Ian
- Original Message -
From: "Carl Eastlund"
To: "J. Ian Johnson"
Cc: "dev"
Sent: Friday, August 16, 2013 5:23:33 PM GMT -05:00 US/Cana
[(def-free e gfree free bound avar [(x) (if (x . ∈ . bound) ∅ (set
x))])])
generic-problems.rkt:31:27: define/generic: free is not a method of generic
interfaces gen:binds-variables
at: free
in: (define/generic gfree free)
- Original Message -
From: "Carl Eastlund"
I'm starting to use generics, and me being myself, I wrote some macros to make
writing method definitions easier.
But, I'm seeing that #:methods seems to rebind method identifiers in a way that
hygiene interferes with.
I would expect to be allowed to do the following two things (problems
annota
Many thanks. First call-with-values/begin0 and now this. I should be the
dep bug finder, heh.
-Ian
- Original Message -
From: Matthew Flatt
To: J. Ian Johnson
Cc: dev
Sent: Wed, 7 Aug 2013 11:43:12 -0400 (EDT)
Subject: Re: [racket-dev] "Too many" struct definitions leads
Pushed current branch to
https://github.com/dvanhorn/oaam/tree/thocon
kcfa.rkt has an "mflatt" comment that will point you at the problem lines of
code.
The entry point for the project is kcfa-instanstantiations.rkt
-Ian
- Original Message -
From: "Matthew Flatt"
Just pulled and rebuilt. No go.
I'm not defining an insane amount of structs. It's at 19 or so that this starts
being a problem. I am in a splicing-syntax-parameterize context, which might be
where the problems are being introduced.
-Ian
- Original Message -----
From: "J. I
I'm working more on my analysis framework, and added many different kinds of
new continuation frames. I get to a point where I comment out all definitions
past a certain point (and their uses) and the program
compiles. I add one more (any one) and I get the following error:
kcfa-instantiations.
That dies saying it can't find ./if_mach.
-Ian
- Original Message -
From: "Carl Eastlund"
To: "J. Ian Johnson"
Cc: "dev"
Sent: Monday, July 29, 2013 12:26:58 PM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] Using new package system: rackunit
I've done a complete nuke of my local racket install, and many things have just
broken. The two problems that affect me the most are the disappearance of raco
doc and rackunit.
Is there a new incantation other than
./configure ; make ; make install
in racket/src
or am I experiencing growing pai
Agreed. This looks good.
-Ian
- Original Message -
From: "Carl Eastlund"
To: "Matthew Flatt"
Cc: dev@racket-lang.org
Sent: Friday, June 14, 2013 10:42:06 AM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] PLaneT(2): Single vs multi-collection packages
I vote for this change. I'l
Quite right. You caught it. Thanks.
-Ian
- Original Message -
From: "Matthew Flatt"
To: "J. Ian Johnson"
Cc: "J. Ian Johnson" , "dev"
Sent: Thursday, May 30, 2013 12:42:18 PM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] raco pkg remov
quite confused. Are there some latent files
downloaded by the package manager that are being used when they shouldn't? If
so, that's a bug. Additionally I would want to know where they are so I can
delete them to work around the problem currently.
-Ian
- Original Message -
From: &qu
I tried to turn my nifty-macros repo into something that the new package
manager could work with. I recently changed for-accumulate.rkt to for-acc.rkt
but forgot to change main.rkt to require and reprovide from the new file. I
installed from github and it died on looking for the for-accumulate d
The for[/*] macros are fairly low in the language tower for Racket, so making
these kinds of changes robust in the original implementation is cumbersome and
error-prone. I've written a shim to use on top of for/fold and for*/fold to
alleviate some pain in multiple value accumulation, post-proces
There are several identifiers that get introduced via expansion that TR needs
to give types to. Not all are exported. Sam probably knows the reasons why they
are not. I had to use the same code when concocting an analysis of racket core
forms.
-Ian
- Original Message -
From: Matthias Fel
Isn't it true that Eiffel does compiler transforms given that a user has
"proven" their operators associative/commutative, etc?
-Ian
- Original Message -
From: "Laurent"
To: "Matthias Felleisen"
Cc: dev@racket-lang.org
Sent: Sunday, May 5, 2013 1:28:59 PM GMT -05:00 US/Canada Eastern
Sub
-Ian
----- Original Message -
From: "Robby Findler"
To: "J. Ian Johnson"
Cc: "Robby Findler" , dev@racket-lang.org, "Sam
Tobin-Hochstadt"
Sent: Friday, May 3, 2013 11:12:34 AM GMT -05:00 US/Canada Eastern
Subject: Re: else clauses: possible change
I've used else as a catch-all binding in match. Yes, it's not the best
practice, but I think since I've done it, other people must have done it too.
This could annoy them.
-Ian
- Original Message -
From: "Robby Findler"
To: "Sam Tobin-Hochstadt"
Cc: dev@racket-lang.org
Sent: Friday, May
I should mention that the literature on staged metaprogramming calls this
"cross-stage persistence," (CSP) so I second Carl's proposal of cross-phase.
-Ian
- Original Message -
From: Carl Eastlund
To: Norman Gray
Cc: dev Developers
Sent: Wed, 27 Feb 2013 05:43:49 -0500 (EST)
Subject: R
Scratch that, didn't look very deeply at your solution.
-Ian
- Original Message -
From: J. Ian Johnson
To: Eric Dobson
Cc: dev
Sent: Sun, 24 Feb 2013 13:46:14 -0500 (EST)
Subject: Re: [racket-dev] Expansion of optional arguments in lambda
My guess would be code explosion.
My guess would be code explosion.
-Ian
- Original Message -
From: Eric Dobson
To: dev
Sent: Sun, 24 Feb 2013 12:51:12 -0500 (EST)
Subject: [racket-dev] Expansion of optional arguments in lambda
lambda supports optional arguments, and does this by expanding out into a
core form that has f
Uh, spam zombie to broken website?
Fatal error: Call to undefined function: str_split() in
/web/htdocs/www.radiovasco.com/home/j6ctxt.php on line 20
-Ian
- Original Message -
From: "Doug Williams"
To: dev@racket-lang.org
Sent: Friday, February 8, 2013 4:11:12 PM GMT -05:00 US/Canada Eas
. Ian Johnson"
To: "J. Ian Johnson"
Cc: "users"
Sent: Tuesday, January 22, 2013 6:08:49 PM GMT -05:00 US/Canada Eastern
Subject: Re: [racket] When does 3D syntax get marshalled?
I found that this example does NOT work if you take the use of M out of its
expression co
Short message: is there any chance of getting egal and egal hashes any time
soon?
Longer message: I have a situation where I key my hashes with immutable
structs, but something they contain has a box that later is updated and never
changed. I'd really like for the struct value before the set-bo
I just made a pull request for making and/or expand to functions that perform
and/or following a discussion with stamourv and asumu. Vincent believes these
additions should also be made to the student languages, but I thought I'd start
a discussion about this before doing that work.
What are peo
Thanks so much.
-Ian
- Original Message -
From: "Matthew Flatt"
To: "J. Ian Johnson"
Cc: "dev"
Sent: Saturday, December 1, 2012 10:29:13 AM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] splicing-syntax-parameterize and
syntax-parameter-value
Inte
xt...:
/home/ianj/racket/collects/racket/splicing.rkt:224:0
/home/ianj/racket/collects/racket/splicing.rkt:177:0
/home/ianj/racket/collects/racket/splicing.rkt:224:0
/home/ianj/racket/collects/racket/splicing.rkt:177:0
/home/ianj/racket/collects/racket/private/misc.rkt:87:7
-Ian
-----
(require racket/stxparam racket/splicing)
(define-syntax-parameter f #f)
(splicing-syntax-parameterize ([f #t])
(begin-for-syntax (printf "~a~%" (syntax-parameter-value #'f)))
(void))
This prints #f.
If I instead add a macro indirection
(define-syntax (blah stx) (syntax-case stx () [(_ f) (p
mmits ]==
Directory summary:
25.1% collects/racket/private/
11.7% collects/racket/
32.6% collects/scribble/
10.3% collects/scribblings/main/private/
20.1% collects/tests/racket/
~~
889f159 J. Ian Johnson 2012-11-28 13:05
:
| Singleton optimization for sequences that would allocate.
:
M col
That's not free-identifier=? so it wouldn't be optimized.
-Ian
- Original Message -
From: "Tobias Hammer"
To: "Matthew Flatt" , "J. Ian Johnson"
Cc: "dev"
Sent: Thursday, November 29, 2012 4:49:15 AM GMT -05:00 US/Canada Eastern
Subject
Cool. I submitted a pull request with this change since it's always an
improvement.
Thanks,
-Ian
- Original Message -
From: "Matthew Flatt"
To: "J. Ian Johnson"
Cc: "dev"
Sent: Wednesday, November 28, 2012 12:58:09 PM GMT -05:00 US/Canada Eastern
It would be great to optimize singletons out of comprehensions, since I (and
probably others) have macros that expand into singleton constructors that are
much better suited to just be a rebinding.
> (time (for ([n (in-range 1 100)]) (for ([k (in-set (set n))]) (random
> k
cpu time: 340
As I intend to use bitvectors to do fast set operations, and cardinality is a
set operation, I wrote up a "fast count bits" function that should be rolled in
for the vector implementation:
https://gist.github.com/4154642
It depends on the fixnum representation, so I don't imagine this being
ada
bindings, so it would be nice to
just use Racket's own closure-ref (or whathaveyou) to do that rather than
change all affected functions to use a different calling convention with
vectors.
-Ian
- Original Message -
From: "Matthew Flatt"
To: "J. Ian Johnson"
Cc
don't have the ability to
transform to use the right calling convention.
Sharing is a separate optimization I am considering (Shao & Appel 2000)
Thanks,
-Ian
- Original Message -
From: "Matthew Flatt"
To: "J. Ian Johnson"
Cc: "dev"
Sent: Wednesd
I have a control-flow analysis of a subset of Racket that is similar to R4RS
Scheme (only with immutability in the right places). In fact, I have many - in
order to compare different analyses' effectiveness and precision, I have a
series of post-hoc analyses and program transformations I want to
[forgot reply all]
zip is unnecessary because of n-ary map.
(zip l0 l1) = (map list l0 l1)
-Ian
- Original Message -
From: "Diogo F. S. Ramos"
To: dev@racket-lang.org
Sent: Thursday, November 8, 2012 11:46:15 PM GMT -05:00 US/Canada Eastern
Subject: [racket-dev] [PATCH] Add a `zip' procedu
Code that used to work is now failing with a pull of the master today. I can't
reproduce it in small amounts of code, which makes me think it's another weird
JIT problem.
I have a harness of this kind:
(define (print-values . vs) (for ([v vs]) (display v) (newline)))
(with-limits 3600 4096 (cal
If a macro provided by a module uses set! in its expansion, then a use in
another module will cause a "cannot mutate module-required identifier" error,
even if the identifier is not provided. It's easy enough for me to write a
setter function and expand to that.
I can see that it is undecidable
(open-input-file file-name)
=maacros=>
(let ((file-name1 file-name))
(if (variable-reference-constant? open-input-file6)
(open-input-file4 '#f '#f file-name1)
(open-input-file6 file-name1)))
These identifiers are nowhere. I imagine these will be
This fixes the problem. You are magic.
-Ian
- Original Message -
From: "Matthew Flatt"
To: "J. Ian Johnson"
Cc: "dev"
Sent: Tuesday, October 23, 2012 2:44:35 PM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] GC segfault
Thanks for the example! I
Every time I run my newly finished analysis on a benchmark, it crashes with
Seg fault (internal error during gc) at 0x7fce50d3d010
SIGSEGV SEGV_ACCERR SI_CODE 2 fault on 0x7fce50d3d010
Aborted (core dumped)
What extra info can I give to help diagnose the problem? The full source code
is not like
I'm fairly frustrated every time I have to write
(for/fold ([res outer-set]) (guards ...) (set-add res (let () body ...)))
instead of the nicer
(for/set #:initial outer-set (guards ...) body ...)
I have also found myself wanting an analog to this for the for/hash form, since
I extend hashes ofte
;Sam Tobin-Hochstadt"
To: "J. Ian Johnson"
Cc: "dev" , "Neil Toronto"
Sent: Tuesday, October 2, 2012 10:02:50 AM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] Math library initial commit almost ready; comments on
issues welcome
On Tue, Oct 2, 2012 at 9:55 A
This experiment should be easy to run, no? Change the default cond and run DrDr?
-Ian
- Original Message -
From: "Carl Eastlund"
To: "Racket Developers"
Sent: Tuesday, October 2, 2012 9:52:38 AM GMT -05:00 US/Canada Eastern
Subject: [racket-dev] Falling through cond clauses
I often wish
This surprises me, since not and make-struct-type are in '#%kernel, they should
have this kind of information baked in, without a purity analysis.
-Ian
- Original Message -
From: "Sam Tobin-Hochstadt"
To: "Neil Toronto"
Cc: ""
Sent: Tuesday, October 2, 2012 9:44:13 AM GMT -05:00 US/Cana
+1
I've been using let/ec for this same functionality, and it's made me sad.
-Ian
- Original Message -
From: "Carl Eastlund"
To: "Matthew Flatt"
Cc: "PLT Developers"
Sent: Friday, September 14, 2012 11:49:20 AM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] Short-circuiting compr
- Original Message -
From: "Neil Toronto"
To: "Sam Tobin-Hochstadt"
Cc: ""
Sent: Wednesday, August 15, 2012 10:36:36 AM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] Wrapping loops for TR isn't working, and the type
annotations are for the wrong value
On 08/15/2012 08:05 AM,
rom: "Neil Toronto"
To: "J. Ian Johnson"
Cc: "dev"
Sent: Monday, August 6, 2012 5:07:38 PM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] Should I expect this program to typecheck?
I can't distinguish the elements' types in the simplified example
How do you determine the difference between the two vector types is the
question...
-Ian
- Original Message -
From: "Neil Toronto"
To: ""
Sent: Monday, August 6, 2012 4:12:53 PM GMT -05:00 US/Canada Eastern
Subject: [racket-dev] Should I expect this program to typecheck?
#lang typed/rac
ust how I note such record/environment manipulations. I would be
interested if any other heavy users of Redex for machine semantics have a
different opinion.
-Ian
----- Original Message -
From: "Robby Findler"
To: "J. Ian Johnson"
Cc: "dev" , n...@ccs.neu.e
My papers have been using record notation. Say for lookup:
s{C = x, E = rho} --> s[C := v, E := rho_0] where rho(x) = (v rho_0)
Is this not good enough?
-Ian
- Original Message -
From: Robby Findler
To: J. Ian Johnson
Cc: dev , n...@ccs.neu.edu
Sent: Wed, 20 Jun 2012 01:27:18 -0400 (
Machine semantics for real machines (like the JVM or Racket's VM) or
non-standard semantics for an abstract interpretation (like what I end up
getting into) can get up to monstrous numbers of components for each state that
usually don't matter. I and I'm sure many others would appreciate a reduc
I'm a bit surprised list-index doesn't take an equality function.
-Ian
- Original Message -
From: Eli Barzilay
To: dev@racket-lang.org
Sent: Thu, 24 May 2012 16:45:26 -0400 (EDT)
Subject: Re: [racket-dev] `racket/string' extensions
About a month ago, Eli Barzilay wrote:
> [...]
This is n
That behavior would be really spooky to me. I would expect binding positions to
not depend on any environmental information. Perhaps have an (id _) form that
would allow putting your special identifiers there.
-Ian
- Original Message -
From: "Eli Barzilay"
To: "Sam Tobin-Hochstadt" , "
I would say no, since a "syntax rule" is a single rewrite rule. Perhaps you
want a simple shim around syntax-rules?
Like:
(define-syntax-rules [(id . pat) rhs] ...+)
where id must be the same in all templates?
Simple implementation:
(define-syntax (define-syntax-rules stx)
(syntax-case stx (
I suppose I am. It's confusing that the identifier itself is not documented.
-Ian
- Original Message -
From: "Matthew Flatt"
To: "J. Ian Johnson"
Cc: dev@racket-lang.org
Sent: Friday, February 24, 2012 12:12:31 PM GMT -05:00 US/Canada Eastern
Subject:
In scribblings/scribble/manual.scrbl:
cite does not take only strings. I've been using bib-entries with it
exclusively, actually. What all can it take? I see it makes a link element with
a tag like `(cite ,@all-things-that-might-be-strings). I'd rather not go
mucking about with what tags are and
I would prefer a simpler for/union:
(define-syntax (for/union stx)
(syntax-case stx ()
[(_ clauses . body)
#'(for/fold/derived stx ((accum-set (set))) clauses
(set-union accum-set (let () . body))]))
-Ian
- Original Message -
From: "Daniel King"
To: "Racket Dev List"
I've been writing a paper in scribble, dropping to LaTeX every so often to
write in native math mode. I notice that unicode characters don't show up. I've
ripped off display-protected from latex-render.rkt, removed the latex command
syntax escaping (so I can have backslashes, underscores and car
I'm not set up to make a pull request on this computer, but core.scrbl needs to
add an "s" to make "contents" the field name for multiarg-element, not
"content".
-Ian
_
Racket Developers list:
http://lists.racket-lang.org/dev
What? The greatest common divisor would definitely not divide 1, unless it
truly were 1.
-Ian
- Original Message -
From: "Jens Axel Søgaard"
To: "David Van Horn"
Cc: "Racket Dev List"
Sent: Friday, December 9, 2011 2:04:46 PM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] featur
I'm currently proctoring the freshmen's lab on inexact numbers and was curious
how to denote subnormal numbers in Racket.
Turns out that's not possible, since there is no underflow. Why does Racket
follow the old standard of representing underflow with inexact zero?
I imagine changing it now woul
I don't like either. I'd rather shadowing, as it is more consistent with how I
would conceive of a * binding pattern.
-Ian
- Original Message -
From: Sam Tobin-Hochstadt
To: J. Ian Johnson
Cc: dev
Sent: Tue, 25 Oct 2011 20:23:28 -0400 (EDT)
Subject: Re: [racket-dev] for/match
I'm considering putting in some effort to generalize the binding construct in
for-clauses so that we can have for[*]/match/X macros. This will require
modifying and exposing define-for-variants (due to circularity in requiring
match in for). Does anyone object? I'll of course need the code revie
1 - 100 of 104 matches
Mail list logo