Re: [racket-users] Open source projects

2017-10-19 Thread Guthrie Price
I am currently a senior in college. I have done some research in machine 
learning and computer security, but I wouldn't say I am particularly 
proficient at either. I have interests in different areas of computing 
including machine learning, computer security, graphics, and numerical 
analysis. However I do not necessarily want a project in these areas. I am 
expecting some significant overhead in order to be able to begin making 
meaningful contributions. My main goal is join a community and help where I 
can while also enriching myself.

Gus

On Thursday, October 19, 2017 at 3:59:33 PM UTC-7, James wrote:
>
> > 
> > I am very new to the community and am looking for an open source project 
> to work on. I was wondering if anybody knows of some good resources for 
> finding open source projects or any recommendations. I appreciate any help 
> I can get. 
>
> Do you have any particular areas of skill like networking, cryptography, 
> data compression, etc.? 
>
> James

-- 
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: Open source projects

2017-10-19 Thread Jack Firth
Welcome, we're very glad to have you!

Open source Racket projects are scattered all over the place, but here are 
some good ways to find actively maintained and hopefully accessible 
projects that might interest you:

- Watch some talks from recent RacketCons, especially the most recent one 
(which, conveniently, was barely a week and a half ago). A lot of talks are 
on interesting and wildly unusual open source projects, and as a bonus most 
presenters give out their contact information so people can reach out if 
they have questions or might be interested in contributing. You can find 
information on the most recent RacketCon at con.racket-lang.org including 
video and livestream recordings, talk descriptions, and slides for each 
talk. Info for previous RacketCons are available at 
con.racket-lang.org/2016/, con.racket-lang.org/2015/, etc. Alas we don't 
yet have individual prettily-edited videos for each talk at RacketCon 2017; 
they're only viewable via the saved livestream on youtube.
- Search the official package catalog at pkgs.racket-lang.org for packages 
whose descriptions sound interesting and which are hosted on GitHub / 
GitLab / some other platform that makes it easy to contribute. Every 
package includes links to its docs and repostiory, as well as a contact 
email address for whoever maintains it. If you're not looking for a package 
in a particular problem domain your best bet is probably to restrict your 
search to only packages that build, have passing tests, and have docs. 
Decent issue / todo lists in the project repo are a nice bonus.
- Browse around the front page of the online Racket documentation at 
docs.racket-lang.org. The online docs includes all docs from all 
successfully built user packages at pkgs.racket-lang.org, grouped into top 
level categories. Once you find some docs for a project that's interesting, 
it's (hopefully!) not difficult to find the package containing those docs 
by searching pkgs.racket-lang.org.
- Hop in the Racket IRC (#racket on freenode) or the Racket Slack channel 
(signup at racket-slack.herokuapp.com) and ask around about what people are 
working on. I'm sure many folks will be delighted to talk about their 
projects. And this mailing list isn't a bad place to ask either.
- If you want to try something more ambitious, you can take a peek at the 
Github repos in the "racket" organization (https://github.com/racket). 
These are all (or mostly? not sure) packages in the "main distribution", 
meaning they ship directly with Racket and don't have to be installed by 
users. Contributing to these packages can be a little trickier because 
sometimes they depend on the latest version of Racket's core, meaning 
you'll have to compile Racket's core from source.

Also, all throughout this month Github and DigitalOcean are hosting an 
online event called Hacktoberfest. By signing up 
at https://hacktoberfest.digitalocean.com/ you'll get a free tshirt mailed 
to you if you submit four or more pull requests to any public repositories 
on Github before October ends. It doesn't matter how large each pull 
request is and a pull request to your own repo counts. And speaking from 
experience, they're very comfortable shirts.

>

-- 
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] Open source projects

2017-10-19 Thread James
> 
> I am very new to the community and am looking for an open source project to 
> work on. I was wondering if anybody knows of some good resources for finding 
> open source projects or any recommendations. I appreciate any help I can get.

Do you have any particular areas of skill like networking, cryptography, data 
compression, etc.?

James

-- 
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] Open source projects

2017-10-19 Thread Guthrie Price
Hello all,

I am very new to the community and am looking for an open source project to 
work on. I was wondering if anybody knows of some good resources for finding 
open source projects or any recommendations. I appreciate any help I can get.

Thank you for your time,
Gus

-- 
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] desired behavior on error-during expected for check-expect?

2017-10-19 Thread Matthias Felleisen

> On Oct 19, 2017, at 5:21 PM, 'John Clements' via users-redirect 
>  wrote:
> 
> I was debugging some student code today, and I was momentarily thrown by a 
> message that said “both tests passed!” when most of the code was not getting 
> run. It turned out that there was an error being signalled during the 
> evaluation of the expected value. To see this, try this code in beginner:
> 
> (check-expect (+ 1 2) 3)
> (check-expect (+ 3 4) 7)
> (check-expect (+ 4 4) (/ 1 0))
> (check-expect (+ 4 5) (/ 1 0))
> 
> (+ 4 129387)
> 
> You’ll see a message indicating “both tests passed!”, which is pretty 
> misleading. Is this the desired behavior? Is this a known bug that’s waiting 
> for the return of Kathy Gray?


I think this is a bug that snuck back in recently. I eliminated this at some 
point and my own students have been bitten by this. Sadly I don’t have time to 
repair it now. 

-- 
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] desired behavior on error-during expected for check-expect?

2017-10-19 Thread 'John Clements' via users-redirect
I was debugging some student code today, and I was momentarily thrown by a 
message that said “both tests passed!” when most of the code was not getting 
run. It turned out that there was an error being signalled during the 
evaluation of the expected value. To see this, try this code in beginner:

(check-expect (+ 1 2) 3)
(check-expect (+ 3 4) 7)
(check-expect (+ 4 4) (/ 1 0))
(check-expect (+ 4 5) (/ 1 0))

(+ 4 129387)

You’ll see a message indicating “both tests passed!”, which is pretty 
misleading. Is this the desired behavior? Is this a known bug that’s waiting 
for the return of Kathy Gray?

John



-- 
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] code reflection

2017-10-19 Thread Matthew Butterick

> On Oct 19, 2017, at 9:09 AM, Konrad Hinsen  wrote:
> 
> These looks interesting, thanks! I'll have a closer look later.
> I guess that some people would object to making all-upper-case a
> semantic marker, but in terms of readability this looks nice.


BTW I got some of those ideas from `sweet-macros`, a small project to bring 
Scheme-style macros closer to a simpler CL-style idiom. 

http://www.phyast.pitt.edu/~micheles/scheme/scheme9.html 


-- 
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] code reflection

2017-10-19 Thread Konrad Hinsen
Matthew,

> If your goal is readable code, why not add some sugar?

That's a perfectly good solution.

> More broadly, it feels like there's plenty of room for new
> macro-definition and syntax-processing forms that suit different
> ergonomic needs: readability, automatic error messages, debugging, and
> so on.

That's pretty much what I had in mind.

> Interesting question why more of them don't exist. For `#lang
> br` I made a set that were designed for simplicity and
> readability. [1]

These looks interesting, thanks! I'll have a closer look later.
I guess that some people would object to making all-upper-case a
semantic marker, but in terms of readability this looks nice.

Konrad.

-- 
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] code reflection

2017-10-19 Thread Matthias Felleisen

> On Oct 19, 2017, at 11:08 AM, Konrad Hinsen  
> wrote:
> 
> Matthias,
> 
>> Please search my post for ‘hygiene’. I didn’t mention the word. Off — 
>> Matthias
> 
> Oops, you are right, sorry. Your example used "let", which is also what
> everybody used for discussing hygiene, so I jumped to conclusions.

[No. Basic hygiene discussions start with ‘or’, which uses ‘let’.]

> 
> Your argument is that pattern matching works at a higher level of
> abstraction than decomposing s-expressions, and that type-like
> annotations add useful error checking to those patterns. Point taken.
> And I certainly agree.
> 
> But higher-level abstractions are always specializations. For many macro
> situations, pattern matching is the right abstraction. For others it
> isn't, and then syntax-parse can become a pain. I have experienced this
> quite a few times.
> 
> So let me reformulate my original suggestion: it would be nice if
> syntax-parse would let me step down one level of abstraction when
> that seems the better choice.


Yes, on rare occasions, Racket programmers need to use the FFI 
to link in C libraries, C developers need to include ASM, and 
so on. But when we can, we should really stick to high-level 
linguistic constructs when possible and available, especially 
when they provide a safer way of doing things. 

As Matthew B points out, the cool thing in the macro world is that
the levels are much more fluid than in the world of separate complete 
languages. So syntax-rule is a nice macro over syntax-rules, which is
a macro over syntax-cases, which is a macro over syntax-parse, though
honestly I can’t see why syntax-cases is around. I have no doubts that
syntax-rule is cool and syntax-rules is okay too. If I have time, I’d 
much rather work on adding expressive power to syntax-parse and the
expander than making more such macros. 

— Matthias

-- 
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] code reflection

2017-10-19 Thread Konrad Hinsen
Matthias,

> Please search my post for ‘hygiene’. I didn’t mention the word. Off — Matthias

Oops, you are right, sorry. Your example used "let", which is also what
everybody used for discussing hygiene, so I jumped to conclusions.

Your argument is that pattern matching works at a higher level of
abstraction than decomposing s-expressions, and that type-like
annotations add useful error checking to those patterns. Point taken.
And I certainly agree.

But higher-level abstractions are always specializations. For many macro
situations, pattern matching is the right abstraction. For others it
isn't, and then syntax-parse can become a pain. I have experienced this
quite a few times.

So let me reformulate my original suggestion: it would be nice if
syntax-parse would let me step down one level of abstraction when
that seems the better choice.

Konrad.

-- 
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.