[racket-users] scribble housekeeping?

2017-04-10 Thread 'John Clements' via Racket Users
There are several things about the excellent scribble guide at

http://docs.racket-lang.org/scribble/getting-started.html

that appear not to have been edited since the pre-Butterick era. Since this is 
now year B3 or B4, it seems high time to edit them.

Specifically, the documentation manages to give the impression that the output 
produced by scribble is *different* from the lovely output that the reader is 
viewing.

1) It doesn’t say the obvious: “this text is rendered using scribble.”
2) The example file, when rendered with the commands given, produces “classic” 
output which is (forgive me) way way less attractive than the Butterick style.
3) Finally, the documentation actually out-and-out says "Scribble currently 
supports only one form of HTML output. You can replace the "scribble.css" file 
for the generated pages, and that’s about it. (We expect to add more styles in 
the future.)” Which just isn’t true.

At a minimum, I think we should address points 1 and 3, which are just doc 
fixes.

However, I’m not aware of any good reasons not to make the Butterick style the 
default; I always use #lang scribble/manual to get it, and perhaps there’s some 
compelling reason why the current default should be the default, but if not, 
maybe we should change it?

I’m happy to make a pull request on the docs, but the doc suggestions might be 
different if we decide to make the Butterick style the default.

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] Announcing Leibniz, a new language in the Racket universe

2017-04-10 Thread Hendrik Boom
On Mon, Apr 10, 2017 at 10:42:13AM +0200, Konrad Hinsen wrote:
> On 10/04/17 01:21, 'John Clements' via Racket Users wrote:
> 
> >I really enjoyed poking around in this a bit. One thing that I would really 
> >have appreciated, if it’s at all possible, would be a small motivating 
> >example; preferably in the readme of that repo. Is that a sensible request?
> 
> It's definitely a sensible request! Unfortunately I didn't yet succeed to
> come up with a small motivating example, but that question has been on my
> radar for a while.

It would help if you were to include the output of the example in 
section 3.1 instead of just the input.

-- hendrik

-- 
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] [Shameless self-promotion] Articles about programming-language theory for working programmers in Racket

2017-04-10 Thread Hendrik Boom
On Mon, Apr 10, 2017 at 12:47:53PM -0400, Leandro Facchinetti wrote:
> Hi Matthias,
> 
> I am replaying publicly to thank you for the kind words, they surely
> motivate me to keep going! :)

That's one of the things that Matthias is good at -- spotting what 
people are doing right and encouraging them.

It's a rare gift.

-- hendrik

-- 
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] Readers' understanding of the intent of “Quick: An Introduction [...]” and the HtDP2e “Prologue: [...]”.

2017-04-10 Thread gfb
You are of course right that the term “exercise” doesn't appear where I thought 
it did, and I should have double-checked. The person reading the Prologue 
referred to these as exercises:

“Before you read on, ponder the following changes to your program: [...]
 Better than pondering is doing. It’s the only way to learn. So don’t let us 
stop you. Just do it.”

Earlier in the Prologue it says: “And now you’re ready to write programs that 
make rockets fly.”

As for the links to BSL documentation: if a reader clicks on one of the links 
then I'd like to consider why they clicked. If it's because they're unsure 
about something and see, e.g., ‘(+ x y z ...) → number’, they're unlikely to 
feel more  informed or be reassured.

I'll follow up with proposals, all of which will likely be small 
notes/reminders about the spirit of the Prologue, in certain key places. In 
other words, yes, weaving in the explanations you provided for me in your 
response.

On Monday, 10 April 2017 12:27:33 UTC-4, Matthias Felleisen  wrote:
> To start with, thank you for pointing out hurdles for “beginners” or “people 
> new to Racket.” We listen and we want to improve this material so that 
> everyone can design programs (either Racket or BSL). 
> 
> Let me speak to HtDP/2e because I am responsible for it. I will let Matthew 
> speak to Quick. 
> 
> — I do not know how to address your comment about exercises because the 
> Prologue does not contain any. There is a link to an exercise way into the 
> weeds for exactly the one link that is complicated. 
> 
> — I followed many links from the Prologue to the Docs. There is one 
> overwhelming link: the one to animate. But given the context, I don’t 
> understand why anyone would even want more documentation. The book itself 
> spells out what the function does. Yes, in some sense this is complicated 
> because functions on functions are nothing that people encounter. My hope is 
> that students copy and paste this expression into DrRacket and see a rocket 
> fly. Hello world. 
> 
> — I really do not expect more than ‘read and copy and play and feel somewhat 
> confused.’ That’s why I announce it in the Preface. 
> 
> — I also wrap up the Prologue with “You are not a programmer. Let’s get 
> started.” 
> 
> POSSIBLE ACTIONS: 
> 
> — I could try to turn the links off in the Prologue. But I want to get 
> students in the mind set — look at the docs — because programmers must learn 
> to look at docs. Unless they want to stay Stackoverflow coders. 
> 
> — I could try to weave in another warning into the Prologue that this is 
> meant to be read quickly in the above spirit. 
> 
> — Do you have any other proposals? 
> 
> 
> 
> 
> 
> 
> 
> 
> > On Apr 9, 2017, at 2:45 PM, gfb  wrote:
> > 
> > The short summary of this post is: should/could something be added to 
> > clarify the purpose of those materials and reassure newcomers who read them.
> > 
> > “Quick: An Introduction to Racket with Pictures”, and HtDP2e “Prologue: How 
> > to Program”, are both very nice introductions in the sense of “making the 
> > reader aware of”. They cover a lot of material, and the careful selection 
> > of examples, and the narrative, are informative without being misleading.
> > 
> > Quick says: “This tutorial provides a brief introduction [...]”. Two 
> > newcomers [one a programmer, one not] took that to mean it's an 
> > “introductory tutorial” in the sense of not just “assuming no familiarity”, 
> > but also “some basics to get started”. The two readers misunderstood some 
> > of the material, and how much they should understand the material. Without 
> > talking to me they might have been put off continuing with racket. They 
> > provided feedback about what they had trouble with, but it was based on 
> > them having the impression that Quick was something designed more like the 
> > HtDP2e Prologue.
> > 
> > For the HtDP2e Prologue, the Preface does mention: “Once finished, any 
> > beginner is bound to feel simultaneously empowered and overwhelmed.”. But a 
> > newcomer with a degree in Philosophy missed or didn't retain that, and read 
> > the Prologue even more strongly as “the basics to get started” since it was 
> > in a textbook for beginning programmers. She got very far, but was indeed 
> > overwhelmed. In particular, she read the Exercises as things she should be 
> > able to do as warmups before starting what she assumed was more difficult 
> > “serious” material following the Prologue. When she contacted me, I had to 
> > assure her that the rest of the book covers the material, more slowly, more 
> > completely, in more detail.
> > 
> > Including something about why the links to the documentation are there, and 
> > what to expect when following them, could also help. Following one of those 
> > links at this stage can be even more overwhelming. E.g., Quick's first link 
> > to the documentation is “naturally” [to us] for ‘#lang’ . For the Prologue, 
> > following a 

Re: [racket-users] Readers' understanding of the intent of “Quick: An Introduction [...]” and the HtDP2e “Prologue: [...]”.

2017-04-10 Thread Stephen Dause
Hi, I'm new here, but I am interested in Racket and HtDP2 and thought I'd 
contribute to the discussion.

I think it's important to recognize that a book is very powerful in that the 
author's message can be duplicated essentially for free but also very limited 
in that in-person, one-on-one communication can do much more to ensure that the 
speaker's message comes across clearly.

Regarding the Exercises, I think by "Exercises", gfb meant the instructions in 
the prologue to run things in Racket.


As for how best to communicate the author's main point in this section -- which 
I understand as something like "with programming, you can make a rocket fly!" 
-- that is tricky because it has a few prerequisites.  I agree that it is much 
better than a simple "Hello world," but I think that "Hello world" is still 
used so often because it is simple.  In that regard -- the very first simple 
step -- evaluating "(+ 1 1)" is equivalent to "Hello world."

This strikes me as an unsolved problem in CS education: the "best" introduction 
to programming.  Many CS instructors are content to use what they have now, and 
we could do with a lot more innovation in this area.  I think the HtDP2 
prologue is superior to many alternatives.  But I also think that it could 
benefit from a lot of "end-user testing" from adults, since adults (16-18 years 
old or older) with some math knowledge are much of the target audience as I 
understand it.  (Alternatively, could we benefit from Bootstrap instructors' 
experience?  My guess is that they have a lot more "end-user testing" than 
HtDP2.)

I have no conclusion on how to improve the prologue, but those are my thoughts.

-- 
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] RaspberryPi IoT programming with Racket BSL

2017-04-10 Thread Shriram Krishnamurthi
For those who may not know about this: Matthias Felleisen recently heard about 
a really cool piece of work by Daniel Brunner and Stephan Brunner on using 
Racket BSL to program Raspberry Pi systems.

Here is a brief blog post that has a link to the paper:

http://www.dbrunner.de/2017/04/05/10th-european-lisp-symposium/

Enjoy!

Shriram

-- 
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] [Shameless self-promotion] Articles about programming-language theory for working programmers in Racket

2017-04-10 Thread Leandro Facchinetti
Hi Matthias,

I am replaying publicly to thank you for the kind words, they surely
motivate me to keep going! :)
-- 
Leandro Facchinetti 
https://www.leafac.com
GPG: 0x5925D0683DF3D583

-- 
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] Readers' understanding of the intent of “Quick: An Introduction [...]” and the HtDP2e “Prologue: [...]”.

2017-04-10 Thread Matthias Felleisen

To start with, thank you for pointing out hurdles for “beginners” or “people 
new to Racket.” We listen and we want to improve this material so that everyone 
can design programs (either Racket or BSL). 

Let me speak to HtDP/2e because I am responsible for it. I will let Matthew 
speak to Quick. 

— I do not know how to address your comment about exercises because the 
Prologue does not contain any. There is a link to an exercise way into the 
weeds for exactly the one link that is complicated. 

— I followed many links from the Prologue to the Docs. There is one 
overwhelming link: the one to animate. But given the context, I don’t 
understand why anyone would even want more documentation. The book itself 
spells out what the function does. Yes, in some sense this is complicated 
because functions on functions are nothing that people encounter. My hope is 
that students copy and paste this expression into DrRacket and see a rocket 
fly. Hello world. 

— I really do not expect more than ‘read and copy and play and feel somewhat 
confused.’ That’s why I announce it in the Preface. 

— I also wrap up the Prologue with “You are not a programmer. Let’s get 
started.” 

POSSIBLE ACTIONS: 

— I could try to turn the links off in the Prologue. But I want to get students 
in the mind set — look at the docs — because programmers must learn to look at 
docs. Unless they want to stay Stackoverflow coders. 

— I could try to weave in another warning into the Prologue that this is meant 
to be read quickly in the above spirit. 

— Do you have any other proposals? 








> On Apr 9, 2017, at 2:45 PM, gfb  wrote:
> 
> The short summary of this post is: should/could something be added to clarify 
> the purpose of those materials and reassure newcomers who read them.
> 
> “Quick: An Introduction to Racket with Pictures”, and HtDP2e “Prologue: How 
> to Program”, are both very nice introductions in the sense of “making the 
> reader aware of”. They cover a lot of material, and the careful selection of 
> examples, and the narrative, are informative without being misleading.
> 
> Quick says: “This tutorial provides a brief introduction [...]”. Two 
> newcomers [one a programmer, one not] took that to mean it's an “introductory 
> tutorial” in the sense of not just “assuming no familiarity”, but also “some 
> basics to get started”. The two readers misunderstood some of the material, 
> and how much they should understand the material. Without talking to me they 
> might have been put off continuing with racket. They provided feedback about 
> what they had trouble with, but it was based on them having the impression 
> that Quick was something designed more like the HtDP2e Prologue.
> 
> For the HtDP2e Prologue, the Preface does mention: “Once finished, any 
> beginner is bound to feel simultaneously empowered and overwhelmed.”. But a 
> newcomer with a degree in Philosophy missed or didn't retain that, and read 
> the Prologue even more strongly as “the basics to get started” since it was 
> in a textbook for beginning programmers. She got very far, but was indeed 
> overwhelmed. In particular, she read the Exercises as things she should be 
> able to do as warmups before starting what she assumed was more difficult 
> “serious” material following the Prologue. When she contacted me, I had to 
> assure her that the rest of the book covers the material, more slowly, more 
> completely, in more detail.
> 
> Including something about why the links to the documentation are there, and 
> what to expect when following them, could also help. Following one of those 
> links at this stage can be even more overwhelming. E.g., Quick's first link 
> to the documentation is “naturally” [to us] for ‘#lang’ . For the Prologue, 
> following a link usually provides more explanation than in the Prologue only 
> in the sense of being complete and precise. To the intended audience of the 
> Prologue, that further explanation is written in unexplained technical 
> notation.
> 
> -- 
> 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.


Re: [racket-users] [Shameless self-promotion] Articles about programming-language theory for working programmers in Racket

2017-04-10 Thread Matthias Felleisen


I am replying publicly to praise you and especially praise you for trying this 
out on our list. 


> On Apr 8, 2017, at 10:54 AM, Leandro Facchinetti  wrote:
> 
> 
> Where am I heading with this series? I want to explain my research
> (https://pl.cs.jhu.edu/projects/demand-driven-program-analysis/) in
> terms that working programmers can understand, bridging the gap between
> industry and academia. To explain my research from scratch, I first have
> to invent the universe. “Programming-Language Theory Explained for the
> Working Programmer” is me inventing the universe.


This is awesome. I understood years ago that we did’t reach people and have 
re-visited this idea time and again. It is only over the last few years that I 
was able to say it your way namely “how do I share this with the developer ‘on 
the street’.” (I came to the conclusion that, to my chagrin, I need to leave 
this task to ‘gurus’ who can fill the gap between research labs and developers. 
Sadly they will water it down, get it wrong, and still receive all the credit 
:) 

I recently ran this test in my PhD seminar (HoPL) on what I consider the most 
insight that PL theory can make to sw dev. The 18 responses were devastating. 
If I didn’t have a robust nature, I would have ended up in a clinic :-) 

So a shout-out to you for trying already as a PhD student. 


> (Also, it’s an opportunity for me to practice technical writing. English
> isn’t my first language and I received consistent feedback that I need
> to improve this skill.)


I want to praise you for this one because you are setting an example for all 
PhD students. It must be the goal of a PhD student to practice English writing 
on a daily basis, at all levels: emails, texts. while giving feedback as 
grader, git-commit messages, blogs, papers, dissertations, books. We will never 
be perfect but only permanent practice makes us better. 

Keep going and keep posting here — 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] Announcing Leibniz, a new language in the Racket universe

2017-04-10 Thread Shriram Krishnamurthi
Let me ask a few questions that may nudge you a bit:

What is an example of a system you want to model?

For instance:

Do you want to be able to model simple linear motion? Uniform acceleration?

Do you want to be able to model predator-prey? Or epidemic growth?

Are these even in the realm of things you want to model and if not, why not?

Shriram

-- 
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: Algol

2017-04-10 Thread Arthur Nunes-Harwitt

Dear Dupéron,

  Thanks for looking into the issue.

  I am running Racket 6.7.

  Algol 60 is an option in the Other Languages section in the Experimental 
Languages sub-section.


  I don't remember which version used to work.  I may have raised this 
same question last year.  I would guess that it was working in version 
5.*.


  Thanks again.

==
Arthur Nunes-Harwitt
Computer Science Department, Rochester Institute of Technology
Room 70-3509
585-475-4916
==

"I don't know what the language of the future will be
called, but it will look like LISP."

This email is confidential and intended for the named recipient(s). In
the event the email is received by someone other than the recipient,
please notify the sender at a...@cs.rit.edu.

On Sun, 9 Apr 2017, Dupéron Georges wrote:

As you say, it works with "#lang algol60", but I can't find "Algol60" in 
the language selection dialog on DrRacket 6.9.0.1, only R5RS, "Pretty 
big Scheme" and "ProfessorJ" (which I installed manually).


Which version are you using? Which version were you using when it used 
to work?This may help others diagnose your issue.




--
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] Announcing Leibniz, a new language in the Racket universe

2017-04-10 Thread Konrad Hinsen

On 10/04/17 01:21, 'John Clements' via Racket Users wrote:


I really enjoyed poking around in this a bit. One thing that I would really 
have appreciated, if it’s at all possible, would be a small motivating example; 
preferably in the readme of that repo. Is that a sensible request?


It's definitely a sensible request! Unfortunately I didn't yet succeed 
to come up with a small motivating example, but that question has been 
on my radar for a while.


The problem that Leibniz aims to solve is the management of complexity 
in computational science. Illustrating complexity in a small example is, 
unfortunately, rather difficult.


As with software in general, there are two aspects to managing 
complexity in computational science:


1) Incidental complexity, which makes software source code complex even 
when the science itself is simple. I have some hope to come up with a 
simple motivating example in this category.


2) Essential complexity, i.e. complex scientific models that can only be 
worked on with the help of computers. Finding a small example for that 
situation seems impossible by definition.


I'll certainly announce any progress on this on this list!

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