mazert | 2 Aug 12:54 2015
Picon

vector-pop and vector-remove

Hello,

I have two functions I often use to remove an element from a vector, and 
it will be nice to add it directly in the vector module, or in the worst 
case into a specific package. Cause I'm sure it will be useful and we 
already have such functions for list, but not for vector...

; Remove the ith element of vector v
(define (vector-pop i v)
   (vector-append (vector-copy v 0 i) (vector-copy v (+ i 1))))

; Like remove (from list) but for a vector
(define (vector-remove ele v)
   (vector-filter-not (λ (x) (equal? x ele)) v))

Of course we have to use the check-vector/index to raise an error if "i" 
is out of range (see vector.rkt).

--

-- 
You received this message because you are subscribed to the Google Groups "Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+unsubscribe@...
To post to this group, send email to racket-dev@...
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/mpkst6%24koq%241%40ger.gmane.org.
For more options, visit https://groups.google.com/d/optout.

Matthew Flatt | 29 Jul 17:17 2015
Picon

the v6.2.1 release process

In case anyone here is not subscribed to the users list, see the
message there about the v6.2.1 release.

We will not run the full checklist process v6.2.1. Instead, we'll
concentrate on core tests, *SL-specific tests, and generally making
sure that the patch's effect is limited. Extra testers are always
welcome, of course.

--

-- 
You received this message because you are subscribed to the Google Groups "Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+unsubscribe@...
To post to this group, send email to racket-dev@...
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/20150729151724.D80C76501E3%40mail-svr1.cs.utah.edu.
For more options, visit https://groups.google.com/d/optout.

Alexander Shopov | 27 Jul 08:52 2015

Bulgarian translation of Racket

Hi everyone,

I am Alexander Shopov and I am announcing that I have started Bulgarian translation of Racket's strings. 

Bulgarian is a South Slavic language, official in Bulgaria.

I have been translating FLOSS for about 16 years now and I finally got to Racket

I am about 10% done with the 1250 messages.

My approach is similar to the one described in this mail:

Since you have already split the whole of Racket into multitude of modules published via GitHub, I have forked racket/string-constants (as announced in http://blog.racket-lang.org/2015/06/racket-v62.html) and will publish via pull request (unless instructed otherwise).

I see string-constants is licensed GNU LGPL (https://github.com/racket/string-constants/blob/master/string-constants/LICENSE.txt) and will state in my translation that it is licensed under the same terms as the string-constants package. Since you just point to the GNU page: http://www.gnu.org/copyleft/lesser.html I assume currently you mean version 3 of the license and will automatically relicense to new versions as they get published. (I am fine with that, just wanted it explicitly confirmed).

Do you have any timeframe for the next version, do plan on major interface changes that will massively change the interface strings?

Kind regards:
al_shopov

--
You received this message because you are subscribed to the Google Groups "Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To post to this group, send email to racket-dev-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/3f89accf-5ccd-49af-8adf-1072c4211aed%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Asumu Takikawa | 26 Jul 13:46 2015

"make" failing due to hash-ref

Hi all,

I tried updating my Racket install from git for the first time in a while
(predates the new expander I think) and I now consistently get this error on
running "make":

hash-ref: no value found for key
  key: "racket-test"
  context...:
   /home/asumu/plt/racket-git/racket/collects/pkg/private/install.rkt:257:8: for-loop
   /home/asumu/plt/racket-git/racket/collects/pkg/private/install.rkt:163:2: install-package/outer
   /home/asumu/plt/racket-git/racket/collects/pkg/private/../../racket/private/map.rkt:37:19: loop
   /home/asumu/plt/racket-git/racket/collects/pkg/private/../../racket/private/map.rkt:37:19: loop
   /home/asumu/plt/racket-git/racket/collects/pkg/private/../../racket/private/map.rkt:37:19: loop
   /home/asumu/plt/racket-git/racket/collects/pkg/private/../../racket/private/map.rkt:37:19: loop
   /home/asumu/plt/racket-git/racket/collects/pkg/private/../../racket/private/map.rkt:37:19: loop
   /home/asumu/plt/racket-git/racket/collects/pkg/private/../../racket/private/map.rkt:37:19: loop
   /home/asumu/plt/racket-git/racket/collects/pkg/private/../../racket/private/map.rkt:37:19: loop
   /home/asumu/plt/racket-git/racket/collects/pkg/private/../../racket/private/map.rkt:37:19: loop
   /home/asumu/plt/racket-git/racket/collects/pkg/private/../../racket/private/map.rkt:37:19: loop
   /home/asumu/plt/racket-git/racket/collects/pkg/private/../../racket/private/map.rkt:37:19: loop
   /home/asumu/plt/racket-git/racket/collects/pkg/private/../../racket/private/map.rkt:37:19: loop
   /home/asumu/plt/racket-git/racket/collects/pkg/private/install.rkt:129:0: install-packages68
   /home/asumu/plt/racket-git/racket/collects/racket/file.rkt:368:8
   /home/asumu/plt/racket-git/racket/collects/racket/file.rkt:357:0: call-with-file-lock40

Any idea how I can fix this? Also this looks like it might be a bug.

Cheers,
Asumu

--

-- 
You received this message because you are subscribed to the Google Groups "Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+unsubscribe@...
To post to this group, send email to racket-dev@...
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/20150726114629.GA25680%40simplyrobot.org.
For more options, visit https://groups.google.com/d/optout.

Alex Harsanyi | 24 Jul 09:57 2015
Picon

Problem using plot-snip in racket 6.2


Hi,

I'm using the plot-snip function to have interactive plots inside other GUI elements in my application.  This worked fine under Racket 6.1.1 but fails under Racket 6.2 (bot versions are 64 bit on Windows).  The program below illustrates the problem:  the function `working` creates a plot window using plot-frame.  The plot is resized correctly and the interactive zoom works as expected.  The function `not-working` tries to do the same, but creates the plot using plot-snip than adds it to a snip canvas.  It does essentially what plot-frame does, without the error checking (I copied out the functions from he plot package).  With this version, the plot is not resized correctly inside the window and zoom in and out does not work correctly.   Both functions work as expected under Racket version 6.1.1.

The program makes use of snip-canvas% which is in unstable/gui, but as far as I can tell, it has not changed between the two versions.

Does anyone know what needs to be done to get this to work, or is this a bug in the plot package?

Thanks,
Alex.

#lang racket/gui
(require plot)
(require unstable/gui/snip)

;; snip-frame% and make-snip-frame are copied from
;; C:\Program Files\Racket\share\pkgs\plot-gui-lib\plot\private\gui\gui.rkt

(define snip-frame%
  (class frame%
    (define/override (on-traverse-char event)
      (define key-code (send event get-key-code))
      (case key-code
        [(escape)  (send this show #f)]
        [else  (super on-traverse-char event)]))
   
    (super-new)))

(define (make-snip-frame snip width height label)
  (define (make-snip w h) snip)
 
  (define frame
    (new snip-frame% [label label] [width (+ 20 width)] [height (+ 20 height)]))
 
  (new snip-canvas%
       [parent frame]
       [make-snip make-snip]
       [horiz-margin 5] [vert-margin 5]
       [horizontal-inset 5] [vertical-inset 5])
 
  frame)

;; This works as expected when resizing the window and zooming the graph
(define (working)
  (parameterize ([plot-width    150]
                 [plot-height   150]
                 [plot-x-label  #f]
                 [plot-y-label  #f])
    (send (plot-frame (function sqr -2 2)) show #t)))

;; This does not
(define (not-working)
  (parameterize ([plot-width    150]
                 [plot-height   150]
                 [plot-x-label  #f]
                 [plot-y-label  #f])
    ;; this is essentially what plot-frame does sans error checking
    (send (make-snip-frame (plot-snip (function sqr -2 2)) 200 200 "hello") show #t)))

--
You received this message because you are subscribed to the Google Groups "Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To post to this group, send email to racket-dev-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/f6feee82-3188-4272-ba15-872cf32d4632%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Stephen Chang | 20 Jul 20:47 2015

local-expanding define-syntax in drracket seg faults with new expander

The following code produces a seg fault with the new expander (today's
build) in the scenario described below:

file1.rkt:

#lang racket
(require (for-syntax syntax/parse))

(define-syntax (define-constructor stx)
  (syntax-parse stx
    [(_ X:id)
     #'(define-syntax X
         (syntax-parser
           [(_ x (... ...)) #'(void x (... ...))]))]))

(define-constructor C)

(define-syntax define-alias
  (syntax-parser
    [(_ alias:id e)
     #:with e+ (local-expand #'e 'expression null)
     #'(define-syntax alias
         (syntax-parser [x:id #'e+]))]))

(define-alias D (C 1))

file2.rkt:
(require "file1.rkt")

A few notes:
- running file2.rkt in DrRacket with the new expander crashes drracket
with the error:

SIGSEGV MAPERR si_code 1 fault on addr (nil)
Aborted

- running file2.rkt with racket (new expander) produces no error
- running file2.rkt produced no error with the old expander
- running file1.rkt with either racket or drracket, new expander or
old expander, produces no error

I'm not completely caught up with the new expander threads so
apologies in advance if someone has already raised this issue.

--

-- 
You received this message because you are subscribed to the Google Groups "Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+unsubscribe@...
To post to this group, send email to racket-dev@...
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/CAFfiA1LDBwHox-1iP9UdDQOKSLMU-TbhUVtbsd-TLrNNO0eB_g%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Alexis King | 19 Jul 21:21 2015
Picon

Re: try the new macro expander

I have been testing mostly using a combination of DrRacket and `raco test`. However, with that
begin-for-syntax bug fixed, I’ve determined what seems to be the problem (and is reminiscent of a
similar problem in the previous version).

This works:

   #lang curly-fn racket
   (begin-for-syntax
     (#{+} 1 2 3))

This doesn’t:

   #lang curly-fn racket
   (require (for-meta 2 racket/base))
   (begin-for-syntax
     (begin-for-syntax
       (#{+} 1 2 3)))

This can be “fixed” by adding (require (for-meta 2 racket/base)) to curly-fn/lang/reader, but of
course this is a hack more than anything else. Is there any good solution to this problem, or is this still
mostly unsolvable under the current system?

Alexis

> On Jul 19, 2015, at 11:10 AM, Matthew Flatt <mflatt@...> wrote:
> 
> I will be able to look later today.
> 
> Are you running in DrRacket or using plain `racket`? There's a problem
> with DrRacket at the moment where it will make some programs work when
> they should fail. I expect to look into that soon; meanwhile, plain
> `racket` doesn't have the problem.

--

-- 
You received this message because you are subscribed to the Google Groups "Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+unsubscribe@...
To post to this group, send email to racket-dev@...
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/1C2733DE-1E17-4285-BDE7-6C8BC2A1A088%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Alexander D. Knauth | 19 Jul 01:11 2015

Northwestern snapshot server down?

--

-- 
You received this message because you are subscribed to the Google Groups "Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+unsubscribe@...
To post to this group, send email to racket-dev@...
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/53C6E6F7-3C2E-411D-B664-BC8AE649F950%40knauth.org.
For more options, visit https://groups.google.com/d/optout.

Alexis King | 18 Jul 20:41 2015
Picon

Ambiguous binding error in my curly-fn package under the new macro expander?

I’ve found an error that I believe is the fault of my curly-fn package under the new macro-expander, but
it’s a little bit odd, and I’m having trouble figuring out exactly what the problem is. Specifically,
the error doesn’t occur within the curly-fn package itself, only a package that depends on it, and even
then I’ve only managed to reproduce the error using two files. Trying to cause the same problem using
submodules doesn’t work, either.

The simplest possible test case I’ve found to reproduce the problem is as follows:

; ambiguous.rkt
#lang curly-fn racket/base
#{values}

; dependent.rkt
#lang racket/base
(require "ambiguous.rkt")

An error is signaled by ‘dependent.rkt’:

let: identifier's binding is ambiguous
  context:
   #(21084 module) #(21093 module curly-parser 0) #(113962 module)
   #(113963 module ambiguous 0)
  matching binding:
   #<module-path-index:(racket/base)>
   #(113962 module) #(113963 module ambiguous 0)
  matching binding:
   #<module-path-index:(racket/base)>
   #(21084 module) #(21093 module curly-parser 0) in: let

If I understand this correctly, this means that for some reason, there are conflicting bindings for
‘let’ in this example, probably due to how my curly-fn meta-language provides identifiers (and uses
‘let’ from racket/base in its expansion), but I really have no idea why this is manifesting in this
way, nor do I know how to fix it.

Could anyone point me to what exactly is wrong here?

Alexis

--

-- 
You received this message because you are subscribed to the Google Groups "Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+unsubscribe@...
To post to this group, send email to racket-dev@...
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/B5D45B8F-6059-4104-AC35-CB0B683EFFBA%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Thomas Lynch | 17 Jul 10:50 2015

edit - test cycle in package development taking a long long time ...

Hello, I must be doing this wrong.

I created a package  (now at github.com/Antigonus/liquid.git).  It is broken into liquid,  liquid-lib, and liquid-doc like other packages I see in the contributions.

There are many local function tests hooked into a list.  These were used mostly before the installing the package, and are stable.  That is nice.

I am writing some examples using the locally installed package. Invariably I'm running into features and change issues for the package, and bugs.   So here is the problem.  To make a change, this is what I am doing:

1. raco pkg remove liquid  -- I have to do this because otherwise there are dependency problems.
2. raco pkg remove liquid-lib 
3. make changes (takes very little time)
4. cd to liquid-lib and raco pkg install   ... etc.
5. test, find things, or introduce the next change item on the list, and repeat

Going through this loop takes a gawdawful long time.  About 1/8 cup of sipped coffee or two facebook posts (these are official developer time units ;-).  Ten little changes and runs through this loop can be an hour.  (If I run into those cases of errors without line numbers then a change can take an afternoon).  I can reduce the time a little bit by removing the liquid dependency.   But still the remove and replace of liquid-lib takes a long time.

At one point I added a symbolic link from the example directory to the liquid-lib directory, and named the link 'liquid' .. but this doesn't actually work because the naming convention for installed modules is different than that for locally required modules, hence I also had to add '.rkt'  and put quotes around the module names.   This helps when changes are isolated and one spends time in a one or two files so that munging of names is an incremental cost ...

Surely there is a better way to bring up examples and a library together???  I would very much appreciate learning how to do this correctly!  Thanks!

--
You received this message because you are subscribed to the Google Groups "Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To post to this group, send email to racket-dev-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/44a58e04-45be-43be-8215-9427eed8f4ec%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Gustavo Massaccesi | 17 Jul 02:52 2015
Picon

Re: [plt] Push #29893: master branch updated

> | For reasons that are not clear, the new expander triggered
> | the problem through an existing test.

I think the problem was made evident by the previous commit "fix
optimizer's single-use tracking, especially on inlining" (
https://github.com/plt/racket/commit/bfc2b27d653de50ce0e111962f59e1a3be521956
), not by the new expander.

The travis tests are failing since that commit (
https://travis-ci.org/plt/racket/builds/71256073 ,
https://travis-ci.org/gus-massa/racket/builds/71319704 ). Specially
with the clang compiler (???). And in each run it creates a bogus
error in a different unrelated test. (I retried a few times.) This
looks like a typical bad coordinate shift for me. (I sadly have a lot
of experience with that.)

Gustavo

On Thu, Jul 16, 2015 at 9:19 PM,  <mflatt@...> wrote:
> mflatt has updated `master' from b72dceb865 to aaee824f68.
>   http://git.racket-lang.org/plt/b72dceb865..aaee824f68
>
> =====[ 2 Commits ]======================================================
> Directory summary:
>   61.0% pkgs/racket-test-core/tests/racket/
>   38.9% racket/src/racket/src/
>
> ~~~~~~~~~~
>
> e65beb2 Matthew Flatt <mflatt@...> 2015-07-16 17:06
> :
> | adjust a core test to avoid `mscheme`
> :
>   M pkgs/racket-test-core/tests/racket/stx.rktl | 4 ++--
>
> ~~~~~~~~~~
>
> aaee824 Matthew Flatt <mflatt@...> 2015-07-16 18:12
> :
> | optimizer: fix coordinate shift when a `letrec` is split
> |
> | The combination of splitting a `letrec` and optimizing
> | the resulting `(let ([x <proc>]) x)` to just `<proc>`
> | used a bad coordinate shift, which made property testing
> | incorrect, etc.
> |
> | For reasons that are not clear, the new expander triggered
> | the problem through an existing test.
> :
>   M racket/src/racket/src/optimize.c | 6 +++---
>
> =====[ Overall Diff ]===================================================
> [...]

--

-- 
You received this message because you are subscribed to the Google Groups "Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+unsubscribe@...
To post to this group, send email to racket-dev@...
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/CAPaha9PHmOgs3g0Oxb2U6ZPM5NtD9d0jwzQrh2aq46-daQSEug%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Gmane