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 forgot that aspect of #:when and #:unless. Sorry for the noise.
-Ian
- Original Message -
From: Sam Tobin-Hochstadt sa...@cs.indiana.edu
To: J. Ian Johnson i...@ccs.neu.edu
Cc: dev dev@racket-lang.org
Sent: Tuesday, July 29, 2014 4:46:49 PM GMT -05:00 US/Canada Eastern
Subject: Re
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
I've tried both now. No go.
-Ian
- Original Message -
From: Leif Andersen l...@leifandersen.net
To: J. Ian Johnson i...@ccs.neu.edu
Cc: dev dev@racket-lang.org
Sent: Monday, July 21, 2014 12:35:06 PM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] pkg account creator not working
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
...@cs.indiana.edu
To: J. Ian Johnson i...@ccs.neu.edu
Cc: dev dev@racket-lang.org
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. Ian Johnson i...@ccs.neu.edu wrote:
I'm
Thanks, that works even marginally better than (hash k v).
-Ian
- Original Message -
From: Matthew Flatt mfl...@cs.utah.edu
To: J. Ian Johnson i...@ccs.neu.edu
Cc: dev dev@racket-lang.org
Sent: Sunday, June 29, 2014 2:08:06 AM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] Racket
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
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':
Fixed. Sorry for the noise.
-Ian
- Original Message -
From: Sam Tobin-Hochstadt sa...@cs.indiana.edu
To: J. Ian Johnson i...@ccs.neu.edu
Cc: dev dev@racket-lang.org
Sent: Friday, June 20, 2014 10:06:40 AM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] Broken build?
The current
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
Indeed it would.
-Ian
- Original Message -
From: Robby Findler ro...@eecs.northwestern.edu
To: J. Ian Johnson i...@ccs.neu.edu
Cc: dev dev@racket-lang.org
Sent: Mon, 4 Nov 2013 19:58:28 -0500 (EST)
Subject: Re: [racket-dev] Slideshow package needs more splitting
I guess probably
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
...@eecs.northwestern.edu
To: J. Ian Johnson i...@ccs.neu.edu
Cc: dev dev@racket-lang.org
Sent: Monday, November 4, 2013 5:58:36 PM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] Slideshow package needs more splitting
I think there might be some collection/pkg confusion here. Are you having
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 jay.mccar...@gmail.com
To: Carl
Johnson i...@ccs.neu.edu
To: David Vanderson david.vander...@gmail.com
Cc: dev dev@racket-lang.org, J. Ian Johnson i...@ccs.neu.edu
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
- Original Message -
From: Robby Findler ro...@eecs.northwestern.edu
To: J. Ian Johnson i...@ccs.neu.edu
Cc: dev dev@racket-lang.org
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
memory
?
Thanks,
-Ian
- Original Message -
From: J. Ian Johnson i...@ccs.neu.edu
To: Robby Findler ro...@eecs.northwestern.edu
Cc: dev dev@racket-lang.org, J. Ian Johnson i...@ccs.neu.edu
Sent: Wednesday, September 11, 2013 3:49:50 PM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] call
the usage
over the limit.
-Ian
- Original Message -
From: Carl Eastlund carl.eastl...@gmail.com
To: J. Ian Johnson i...@ccs.neu.edu
Cc: dev dev@racket-lang.org
Sent: Monday, September 9, 2013 12:05:21 PM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] call-with-limits memory bound
I'm running my analysis benchmarks in the context of (with-limits (* 30 60)
2048 run-analysis), 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
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 ro...@eecs.northwestern.edu
To: J. Ian Johnson i...@ccs.neu.edu
Cc: dev dev@racket
Vanderson david.vander...@gmail.com
To: J. Ian Johnson i...@ccs.neu.edu
Cc: dev dev@racket-lang.org
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
if that was a problem. It wasn't.
-Ian
- Original Message -
From: Carl Eastlund c...@ccs.neu.edu
To: J. Ian Johnson i...@ccs.neu.edu
Cc: Matthew Flatt mfl...@cs.utah.edu, dev dev@racket-lang.org
Sent: Wednesday, August 28, 2013 12:34:08 PM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] Output
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
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 mfl...@cs.utah.edu
To: J. Ian Johnson i...@ccs.neu.edu
Cc
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
...@ccs.neu.edu
Cc: J. Ian Johnson i...@ccs.neu.edu, Racket Developers
dev@racket-lang.org
Sent: Thursday, August 22, 2013 2:47:44 PM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] Lists aren't sets, but have set-like operations
On Aug 22, 2013, at 2:31 PM, Carl Eastlund wrote
? 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 mfl...@cs.utah.edu
To: Carl Eastlund c...@ccs.neu.edu
Cc: J. Ian Johnson i...@ccs.neu.edu, dev dev@racket-lang.org
Sent: Thursday, August 22
: Sam Tobin-Hochstadt sa...@cs.indiana.edu
To: J. Ian Johnson i...@ccs.neu.edu, Carl Eastlund c...@ccs.neu.edu
Cc: dev@racket-lang.org, Matthew Flatt mfl...@cs.utah.edu
Sent: Thursday, August 22, 2013 8:51:30 AM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] Lists aren't sets, but have set
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?
that won't clash
with the primitive data that I'm otherwise using.
-Ian
- Original Message -
From: Carl Eastlund c...@ccs.neu.edu
To: J. Ian Johnson i...@ccs.neu.edu
Cc: dev dev@racket-lang.org
Sent: Wednesday, August 21, 2013 6:58:56 PM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev
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 c...@ccs.neu.edu
To: J. Ian Johnson i...@ccs.neu.edu
Cc: dev dev
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
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 c...@ccs.neu.edu
To: J. Ian Johnson
WRT the struct abstraction, using syntax-local-introduce on
#'gen:binds-variables seemed to do the trick, oddly.
-Ian
- Original Message -
From: Carl Eastlund c...@ccs.neu.edu
To: J. Ian Johnson i...@ccs.neu.edu
Cc: dev dev@racket-lang.org
Sent: Friday, August 16, 2013 5:23:33 PM GMT -05
Many thanks. First call-with-values/begin0 and now this. I should be the
dep bug finder, heh.
-Ian
- Original Message -
From: Matthew Flatt mfl...@cs.utah.edu
To: J. Ian Johnson i...@ccs.neu.edu
Cc: dev dev@racket-lang.org
Sent: Wed, 7 Aug 2013 11:43:12 -0400 (EDT)
Subject: Re
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:
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. Ian Johnson i
to replicate the crash on my machine?
On Aug 5, 2013, at 11:55 AM, J. Ian Johnson i...@ccs.neu.edu wrote:
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
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
That dies saying it can't find ./if_mach.
-Ian
- Original Message -
From: Carl Eastlund carl.eastl...@gmail.com
To: J. Ian Johnson i...@ccs.neu.edu
Cc: dev dev@racket-lang.org
Sent: Monday, July 29, 2013 12:26:58 PM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] Using new package
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
. 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: J. Ian Johnson i...@ccs.neu.edu
Quite right. You caught it. Thanks.
-Ian
- Original Message -
From: Matthew Flatt mfl...@cs.utah.edu
To: J. Ian Johnson i...@ccs.neu.edu
Cc: J. Ian Johnson i...@ccs.neu.edu, dev dev@racket-lang.org
Sent: Thursday, May 30, 2013 12:42:18 PM GMT -05:00 US/Canada Eastern
Subject: Re: [racket
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,
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
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 laurent.ors...@gmail.com
To: Matthias Felleisen matth...@ccs.neu.edu
Cc: dev@racket-lang.org
Sent: Sunday, May 5, 2013
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 ro...@eecs.northwestern.edu
To: Sam Tobin-Hochstadt sa...@ccs.neu.edu
...@eecs.northwestern.edu
To: J. Ian Johnson i...@ccs.neu.edu
Cc: Robby Findler ro...@eecs.northwestern.edu, dev@racket-lang.org, Sam
Tobin-Hochstadt sa...@ccs.neu.edu
Sent: Friday, May 3, 2013 11:12:34 AM GMT -05:00 US/Canada Eastern
Subject: Re: else clauses: possible change to match?
Can you
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 c...@ccs.neu.edu
To: Norman Gray nor...@astro.gla.ac.uk
Cc: dev Developers
My guess would be code explosion.
-Ian
- Original Message -
From: Eric Dobson eric.n.dob...@gmail.com
To: dev dev@racket-lang.org
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
Scratch that, didn't look very deeply at your solution.
-Ian
- Original Message -
From: J. Ian Johnson i...@ccs.neu.edu
To: Eric Dobson eric.n.dob...@gmail.com
Cc: dev dev@racket-lang.org
Sent: Sun, 24 Feb 2013 13:46:14 -0500 (EST)
Subject: Re: [racket-dev] Expansion of optional arguments
Johnson i...@ccs.neu.edu
To: J. Ian Johnson i...@ccs.neu.edu
Cc: users us...@racket-lang.org
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
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
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
That's not free-identifier=? so it wouldn't be optimized.
-Ian
- Original Message -
From: Tobias Hammer tobias.ham...@dlr.de
To: Matthew Flatt mfl...@cs.utah.edu, J. Ian Johnson i...@ccs.neu.edu
Cc: dev dev@racket-lang.org
Sent: Thursday, November 29, 2012 4:49:15 AM GMT -05:00 US/Canada
]==
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 i...@ccs.neu.edu 2012-11-28 13:05
:
| Singleton optimization for sequences that would allocate
(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)
/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
- Original Message -
From: J. Ian
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
Cool. I submitted a pull request with this change since it's always an
improvement.
Thanks,
-Ian
- Original Message -
From: Matthew Flatt mfl...@cs.utah.edu
To: J. Ian Johnson i...@ccs.neu.edu
Cc: dev dev@racket-lang.org
Sent: Wednesday, November 28, 2012 12:58:09 PM GMT -05:00 US/Canada
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
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 mfl...@cs.utah.edu
To: J. Ian Johnson i...@ccs.neu.edu
Cc
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
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 mfl...@cs.utah.edu
To: J. Ian Johnson i...@ccs.neu.edu
Cc: dev dev@racket-lang.org
Sent: Wednesday, November
[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 diogo...@gmail.com
To: dev@racket-lang.org
Sent: Thursday, November 8, 2012 11:46:15 PM GMT -05:00 US/Canada Eastern
Subject: [racket-dev] [PATCH]
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
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
This fixes the problem. You are magic.
-Ian
- Original Message -
From: Matthew Flatt mfl...@cs.utah.edu
To: J. Ian Johnson i...@ccs.neu.edu
Cc: dev dev@racket-lang.org
Sent: Tuesday, October 23, 2012 2:44:35 PM GMT -05:00 US/Canada Eastern
Subject: Re: [racket-dev] GC segfault
Thanks
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
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 sa...@ccs.neu.edu
To: Neil Toronto neil.toro...@gmail.com
Cc: dev@racket-lang.org
This experiment should be easy to run, no? Change the default cond and run DrDr?
-Ian
- Original Message -
From: Carl Eastlund c...@ccs.neu.edu
To: Racket Developers dev@racket-lang.org
Sent: Tuesday, October 2, 2012 9:52:38 AM GMT -05:00 US/Canada Eastern
Subject: [racket-dev] Falling
-Hochstadt sa...@ccs.neu.edu
To: J. Ian Johnson i...@ccs.neu.edu
Cc: dev dev@racket-lang.org, Neil Toronto neil.toro...@gmail.com
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
+1
I've been using let/ec for this same functionality, and it's made me sad.
-Ian
- Original Message -
From: Carl Eastlund c...@ccs.neu.edu
To: Matthew Flatt mfl...@cs.utah.edu
Cc: PLT Developers d...@lists.racket-lang.org
Sent: Friday, September 14, 2012 11:49:20 AM GMT -05:00 US/Canada
- Original Message -
From: Neil Toronto neil.toro...@gmail.com
To: Sam Tobin-Hochstadt sa...@ccs.neu.edu
Cc: dev@racket-lang.org dev@racket-lang.org
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
How do you determine the difference between the two vector types is the
question...
-Ian
- Original Message -
From: Neil Toronto neil.toro...@gmail.com
To: dev@racket-lang.org dev@racket-lang.org
Sent: Monday, August 6, 2012 4:12:53 PM GMT -05:00 US/Canada Eastern
Subject: [racket-dev]
Toronto neil.toro...@gmail.com
To: J. Ian Johnson i...@ccs.neu.edu
Cc: dev dev@racket-lang.org
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 I
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 ro...@eecs.northwestern.edu
To: J. Ian Johnson i...@ccs.neu.edu
Cc: dev dev@racket-lang.org
would be
interested if any other heavy users of Redex for machine semantics have a
different opinion.
-Ian
- Original Message -
From: Robby Findler ro...@eecs.northwestern.edu
To: J. Ian Johnson i...@ccs.neu.edu
Cc: dev dev@racket-lang.org, n...@ccs.neu.edu
Sent: Wednesday, June 20, 2012 9
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
I'm a bit surprised list-index doesn't take an equality function.
-Ian
- Original Message -
From: Eli Barzilay e...@barzilay.org
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:
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 mfl...@cs.utah.edu
To: J. Ian Johnson i...@ccs.neu.edu
Cc: dev@racket-lang.org
Sent: Friday, February 24, 2012 12:12:31 PM GMT -05:00 US/Canada Eastern
Subject: Re
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
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 dank...@ccs.neu.edu
To:
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
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
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
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
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 sa...@ccs.neu.edu
To: J. Ian Johnson i...@ccs.neu.edu
Cc: dev dev@racket-lang.org
Sent: Tue, 25 Oct 2011 20:23:28 -0400
. This also has the
advantage that the user can have access to any subforms someone else adds later.
-Ian
- Original Message -
From: Sam Tobin-Hochstadt sa...@ccs.neu.edu
To: J. Ian Johnson i...@ccs.neu.edu
Cc: Matthew Flatt mfl...@cs.utah.edu, dev@racket-lang.org
Sent: Sun, 25 Sep 2011 11:34:39
When writing a natural extension to racket/base for hashes, hash-filter-map, I
found that what would be the most natural way to write it would look like so:
(define (hash-filter-map f ht)
(for/list ([(k v) (in-hash ht)]
#:when/bind [res (f k v)])
res))
Instead I had to write
Hello all. I have a historical question about quoted constants. Does anyone
know why '1 = 1? My intuition is that this is an artifact of conflating quote
with list constructors. Is that indeed the case?
(equal? '('1 '2) '(1 2))
#f
(equal? (list '1 '2) (list 1 2))
#t
Thanks,
-Ian
94 matches
Mail list logo