Re: [racket-users] struct question

2018-03-07 Thread Jon Zeppieri
On Wed, Mar 7, 2018 at 9:27 PM, Kevin Forchione  wrote:

> Hi guys,
> Can we associate more than 1 generic with a struct? Something like:
>
> (struct foo (..) #:methods gen:bar [] gen:baz [] …)
>
>
>
Yes, except it's:

(struct foo (..) #:methods gen:bar [] #:methods gen:baz [] ...)

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[racket-users] struct question

2018-03-07 Thread Kevin Forchione
Hi guys,
Can we associate more than 1 generic with a struct? Something like:

(struct foo (..) #:methods gen:bar [] gen:baz [] …)

Thanks,
Kevin

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] How often does the package server check for updates?

2018-03-07 Thread Jay McCarthy
Yup

On Wed, Mar 7, 2018 at 6:39 PM, David Storrs  wrote:
> Thanks.
>
> Dave
>
> PS  "check for updates"  is the "rescan my packages" item from the profile
> menu, right?
>
> On Wed, Mar 7, 2018 at 5:01 PM, Jay McCarthy  wrote:
>>
>> It checks hourly, or when you press the check for updates button.
>>
>>
>> --
>> -=[ Jay McCarthy   http://jeapostrophe.github.io]=-
>> -=[ Associate ProfessorPLT @ CS @ UMass Lowell ]=-
>> -=[ Moses 1:33: And worlds without number have I created; ]=-
>
>



-- 
-=[ Jay McCarthy   http://jeapostrophe.github.io]=-
-=[ Associate ProfessorPLT @ CS @ UMass Lowell ]=-
-=[ Moses 1:33: And worlds without number have I created; ]=-

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] How often does the package server check for updates?

2018-03-07 Thread David Storrs
Thanks.

Dave

PS  "check for updates"  is the "rescan my packages" item from the profile
menu, right?

On Wed, Mar 7, 2018 at 5:01 PM, Jay McCarthy  wrote:

> It checks hourly, or when you press the check for updates button.
>
>
> --
> -=[ Jay McCarthy   http://jeapostrophe.github.io]=-
> -=[ Associate ProfessorPLT @ CS @ UMass Lowell ]=-
> -=[ Moses 1:33: And worlds without number have I created; ]=-
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] windows nightly builds -run beside the stable version?

2018-03-07 Thread Matthew Flatt
At Wed, 7 Mar 2018 13:50:32 -0800 (PST), Sanjeev Sharma wrote:
> Is there a self-contained nightly build without the installer which sets 
> defaults and icons and shortcuts? 
> 
> I'd like to test out the nightly builds but they occasionally step over the 
> stable version. 

You can install a "tarball" Minimal Racket from the Utah site:

 https://www.cs.utah.edu/plt/snapshots/

After unpacking the .tgz, you can install the rest of the distribution
with

   raco pkg install -i main-distribution

and the `-i` should keep everything within the unpacked directory.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] How often does the package server check for updates?

2018-03-07 Thread Jay McCarthy
It checks hourly, or when you press the check for updates button.


-- 
-=[ Jay McCarthy   http://jeapostrophe.github.io]=-
-=[ Associate ProfessorPLT @ CS @ UMass Lowell ]=-
-=[ Moses 1:33: And worlds without number have I created; ]=-

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[racket-users] windows nightly builds -run beside the stable version?

2018-03-07 Thread Sanjeev Sharma
Is there a self-contained nightly build without the installer which sets 
defaults and icons and shortcuts? 

I'd like to test out the nightly builds but they occasionally step over the 
stable version. 

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] How often does the package server check for updates?

2018-03-07 Thread David Storrs
On Wed, Mar 7, 2018 at 12:24 PM, Neil Van Dyke  wrote:

> David, like Greg Trzeciak suggested, if you're able to easily move this
> code away from legacy PLaneT, to the current package system, I'd encourage
> you to do so.
>

Already done.


>
> The current package system has its pros and cons, but I believe it's where
> almost all the current activity is happening, and I'm no longer maintaining
> anything there.
>
> Regarding my `html-parsing` package in the current package system... since
> versioning has a different philosophy than in PLaneT, I'll try not to do
> any non-backward-compatible changes to that package in the future.
>
> If you decide to move away from PLaneT, looks like there's at least one
> potentially breaking change to the `html-parsing` package since some of the
> versions in PLaneT.  Web scrapers using this parser can be very sensitive
> to such changes, but hopefully the changes won't break your stuff:
> http://www.neilvandyke.org/racket/html-parsing/#%28part._.History%29
>
>
All of my current tests are passing so I think it's okay.   Thanks for the
warning, though.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] How often does the package server check for updates?

2018-03-07 Thread Neil Van Dyke

Neil Van Dyke wrote on 03/07/2018 12:24 PM:

I'm no longer maintaining anything there.


Oops, I meant: I'm no longer maintaining packages in PLaneT. Instead, 
I'm doing all of my open source package maintenance in the current 
package system.


--
You received this message because you are subscribed to the Google Groups "Racket 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] How often does the package server check for updates?

2018-03-07 Thread Neil Van Dyke
David, like Greg Trzeciak suggested, if you're able to easily move this 
code away from legacy PLaneT, to the current package system, I'd 
encourage you to do so.


The current package system has its pros and cons, but I believe it's 
where almost all the current activity is happening, and I'm no longer 
maintaining anything there.


Regarding my `html-parsing` package in the current package system... 
since versioning has a different philosophy than in PLaneT, I'll try not 
to do any non-backward-compatible changes to that package in the future.


If you decide to move away from PLaneT, looks like there's at least one 
potentially breaking change to the `html-parsing` package since some of 
the versions in PLaneT.  Web scrapers using this parser can be very 
sensitive to such changes, but hopefully the changes won't break your 
stuff: http://www.neilvandyke.org/racket/html-parsing/#%28part._.History%29


--
You received this message because you are subscribed to the Google Groups "Racket 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] Re: How often does the package server check for updates?

2018-03-07 Thread David Storrs
On Wed, Mar 7, 2018 at 11:54 AM, Greg Trzeciak  wrote:

> Have you considered using pkgs package instead: https://pkgs.racket-
> lang.org/package/html-parsing
>
>
Aha!  This is older code and I guess when I wrote it I didn't realize that
there was a pkgs version as well.  Thanks for the pointer, I've updated to
the new version.

 That said, I'd still like to know how often the packages server checks for
updates?


> On Wednesday, March 7, 2018 at 5:36:37 PM UTC+1, David K. Storrs wrote:
>>
>> My 'handy' module was failing to build with the following message:
>>
>> /home/racket/build-pkgs/user/.racket/6.12/pkgs/handy/web.rkt:4:9: require: 
>> PLaneT could not download the package "neil/html-parsing:3": tcp-connect: 
>> connection failed;
>>
>> This is obviously not a specific problem with the code, but it made me
>> check on the neil/html-parsing module and I noticed that the require line
>> listed in the docs is now:
>>
>>  (planet neil/html-parsing:1:2/html-parsing)
>>
>> As opposed to:
>>
>>  (planet neil/html-parsing:3:0)
>>
>> I'm not sure where I got the 3:0 version but I've had this code for a
>> year or two now and it's worked.  Still, I've updated that in my code and
>> pushed it but I wasn't sure how soon the package server would see it?  (I'm
>> assuming that the TCP issue is temporary so just need to make sure my code
>> will be sound when it comes back.)
>>
> --
> You received this message because you are subscribed to the Google Groups
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to racket-users+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[racket-users] Re: How often does the package server check for updates?

2018-03-07 Thread Greg Trzeciak
Have you considered using pkgs package 
instead: https://pkgs.racket-lang.org/package/html-parsing

On Wednesday, March 7, 2018 at 5:36:37 PM UTC+1, David K. Storrs wrote:
>
> My 'handy' module was failing to build with the following message:
>
> /home/racket/build-pkgs/user/.racket/6.12/pkgs/handy/web.rkt:4:9: require: 
> PLaneT could not download the package "neil/html-parsing:3": tcp-connect: 
> connection failed;
>
> This is obviously not a specific problem with the code, but it made me 
> check on the neil/html-parsing module and I noticed that the require line 
> listed in the docs is now:
>
>  (planet neil/html-parsing:1:2/html-parsing)
>
> As opposed to:
>
>  (planet neil/html-parsing:3:0) 
>
> I'm not sure where I got the 3:0 version but I've had this code for a year 
> or two now and it's worked.  Still, I've updated that in my code and pushed 
> it but I wasn't sure how soon the package server would see it?  (I'm 
> assuming that the TCP issue is temporary so just need to make sure my code 
> will be sound when it comes back.)
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[racket-users] How often does the package server check for updates?

2018-03-07 Thread David Storrs
My 'handy' module was failing to build with the following message:

/home/racket/build-pkgs/user/.racket/6.12/pkgs/handy/web.rkt:4:9:
require: PLaneT could not download the package "neil/html-parsing:3":
tcp-connect: connection failed;

This is obviously not a specific problem with the code, but it made me
check on the neil/html-parsing module and I noticed that the require line
listed in the docs is now:

 (planet neil/html-parsing:1:2/html-parsing)

As opposed to:

 (planet neil/html-parsing:3:0)

I'm not sure where I got the 3:0 version but I've had this code for a year
or two now and it's worked.  Still, I've updated that in my code and pushed
it but I wasn't sure how soon the package server would see it?  (I'm
assuming that the TCP issue is temporary so just need to make sure my code
will be sound when it comes back.)

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[racket-users] Enable logging for all descendants

2018-03-07 Thread 'Paulo Matos' via Racket Users
Hi,

Is there a way to enable logging for a logger and all its descendants?

#lang racket

(define-logger lt)

(define (create-sublogger name)
  (make-logger name lt-logger))

(parameterize ([current-logger (create-sublogger 'foo)])
  (log-debug "hello"))

(log-lt-debug "goodbye")

I would have expected this to say "hello" and "goodbye" with debug@lt.
The reason I need something like this is because I want each thread in
my program to own it's own logger (so I know which message comes from
which thread). So I do something like:

(parameterize ([current-logger (create-sublogger lt-logger)])
   (thread
   (thunk ...)))

create-sublogger increases a counter, which makes it part of a topic and
returns a logger with that topic. I do not know the logger name. Simply
that lt-logger is its parent.

How can I achieve something like this?

-- 
Paulo Matos

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[racket-users] 1st call for papers: Trends in Functional Programming, 11-13 june 2018, Chalmers Campus Johanneberg, Gothenburg

2018-03-07 Thread p.achten
-
C A L L   F O R   P A P E R S
-

 TFP 2018 ===
 
  19th Symposium on Trends in Functional Programming
   11-13 June, 2018
 Chalmers Campus Johanneberg, Gothenburg
   http://www.cse.chalmers.se/~myreen/tfp2018/index.html

The symposium on Trends in Functional Programming (TFP) is an
international forum for researchers with interests in all aspects of
functional programming, taking a broad view of current and future
trends in the area. It aspires to be a lively environment for
presenting the latest research results, and other contributions (see
below at scope). 

Please be aware that TFP uses two distinct rounds of submissions (see
below at submission details).

TFP 2018 will be the main event of a pair of functional programming
events. TFP 2018 will be accompanied by the International Workshop on
Trends in Functional Programming in Education (TFPIE), which will take
place on June 14.


== SCOPE ==

The symposium recognizes that new trends may arise through various routes. 
As part of the Symposium's focus on trends we therefore identify the 
following five article categories. High-quality articles are solicited in 
any of these categories:

Research Articles:
Leading-edge, previously unpublished research work
Position Articles:
On what new trends should or should not be
Project Articles:
Descriptions of recently started new projects
Evaluation Articles:
What lessons can be drawn from a finished project
Overview Articles:
Summarizing work with respect to a trendy subject.

Articles must be original and not simultaneously submitted for publication 
to 
any other forum. They may consider any aspect of functional programming: 
theoretical, implementation-oriented, or experience-oriented. Applications 
of 
functional programming techniques to other languages are also within the 
scope 
of the symposium.

Topics suitable for the symposium include, but are not limited to:

Functional programming and multicore/manycore computing
Functional programming in the cloud
High performance functional computing
Extra-functional (behavioural) properties of functional programs
Dependently typed functional programming
Validation and verification of functional programs
Debugging and profiling for functional languages
Functional programming in different application areas:
security, mobility, telecommunications applications, embedded
systems, global computing, grids, etc.
Interoperability with imperative programming languages
Novel memory management techniques
Program analysis and transformation techniques
Empirical performance studies
Abstract/virtual machines and compilers for functional languages
(Embedded) domain specific languages
New implementation strategies
Any new emerging trend in the functional programming area

If you are in doubt on whether your article is within the scope of TFP, 
please 
contact the TFP 2018 program chairs, Michał Pałka and Magnus Myreen.


== Best Paper Awards ==

To reward excellent contributions, TFP awards a prize for the best paper 
accepted for the formal proceedings.

TFP traditionally pays special attention to research students, 
acknowledging 
that students are almost by definition part of new subject trends. A 
student 
paper is one for which the authors state that the paper is mainly the work 
of 
students, the students are listed as first authors, and a student would 
present 
the paper. A prize for the best student paper is awarded each year.

In both cases, it is the PC of TFP that awards the prize. In case the best 
paper happens to be a student paper, that paper will then receive both 
prizes.


== Paper Submissions ==

We use EasyChair for the refereeing process. The link to the submission 
page is:

https://easychair.org/conferences/?conf=tfp2018

Authors of papers have the choice of having their contributions formally 
reviewed 
either before or after the Symposium.


== Pre-symposium formal review ==

Papers to be formally reviewed before the symposium should be submitted 
before 
an early deadline and receive their reviews and notification of acceptance 
for 
both presentation and publication before the symposium. A paper that has 
been 
rejected in this process may still be accepted for presentation at the 
symposium, 
but will not be considered for the post-symposium formal review.


== Post-symposium formal review ==

Draft papers will receive minimal reviews and notification of acceptance 
for 
presentation at the symposium. Authors of draft papers will be invited to 
submit 
revised papers based on the feedback receive at the symposium. A 
post-symposium 
refereeing process will then select a subset of these articles for formal 
publication.


== 

[racket-users] racket2nix status report

2018-03-07 Thread Claes Wallin
Progress!

It's still full of workarounds and doesn't do everything I'd like it to, 
but it does package and run itself successfully!

Maybe I will call it 0.1 some time this month and put it into the racket 
package space, but for now you can try it out by simply cloning 
https://github.com/fractalide/racket2nix/ and running ./racket2nix 
 and see what kind of nix expression pops out on 
stdout.

I'm going to go ahead according to "better to ask for forgiveness than for 
permission" and put up in the README that people are welcome to ask 
questions about racket2nix here on racket-users. I don't expect huge 
traffic, but if anybody objects, I'll remove it promptly.

-- 
   /c

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.