Re: [racket-users] The case, and a proposal, for elegant syntax in #lang racket2

2019-07-18 Thread Tom Gillespie
Apologies for the long mail. I wanted to get these thoughts out now while they are fresh. Tom Can Racket make semantics a matter of syntax? If it can, can it produce errors when certain syntactic forms are incompatible with the specified semantics? Can all forms in the language be mapped to all

Re: [racket-users] The case, and a proposal, for elegant syntax in #lang racket2

2019-07-18 Thread Robert R.
Let me revise what I said actually, in the spirit of optimism. If an alternate syntax is considered, one thing I would suggest that is somewhat in line with Justin, is something like “visually structured data”. I think as humans we prefer to see things and have them be simple and interesting,

Re: [racket-users] The case, and a proposal, for elegant syntax in #lang racket2

2019-07-18 Thread Jesse Alama
On 18 Jul 2019, at 19:15, Hendrik Boom wrote: I still use the car/cdr congomerations. They are quite useful when parsing a list. I think I know what you mean. I used to do that, too, till I discovered match (https://docs.racket-lang.org/reference/match.html). That can save you a lot of

Re: [racket-users] The case, and a proposal, for elegant syntax in #lang racket2

2019-07-18 Thread Benjamin Slade
To add another perspective of a relative new-comer to Racket, I became interested in Racket because it was clearly a lisp, with sexps When I was shopping around for a reasonable modern lisp to develop things in, Racket being clearly recognisable syntactically as a lisp was a definite pro for me –

Re: [racket-users] The case, and a proposal, for elegant syntax in #lang racket2

2019-07-18 Thread Robert R.
On Thursday, July 18, 2019 at 3:47:51 PM UTC-4, Justin Zamora wrote: > > > (string (string-ref (person-first john) 0) > (string-ref (person-middle john) 0) > (string-ref (person-last john) 0)) > > There's a load of cognitive and syntactic overhead compared to something >

Re: [racket-users] Contracts referring to earlier elements?

2019-07-18 Thread Sorawee Porncharoenwase
Hi Kevin, Take a look at Racket Guide’s Argument and Result Dependencies and/or Racket Reference’s ->i

Re: [racket-users] Contracts referring to earlier elements?

2019-07-18 Thread Robby Findler
This is what ->i is for. The syntax of define/contract is slightly misleading because it appears to place the contracts in scope of the arguments but, as you notice, it doesn't. Happily ->i lets you give another name to the argument and then you can use that one. Robby On Thu, Jul 18, 2019 at

[racket-users] Contracts referring to earlier elements?

2019-07-18 Thread Kevin Forchione
Hi guys, This is a little tricky to explain, so I’ll give a small example: [define/contract [foo x) (-> integer? not-x/c) body …) In this case the not-x/c is what I’m asking about. Some way that the contract can refer to a previous argument value? Ordinarily this would be a predicate, but the

Re: [racket-users] The case, and a proposal, for elegant syntax in #lang racket2

2019-07-18 Thread Brian Adkins
On Thursday, July 18, 2019 at 3:47:51 PM UTC-4, Justin Zamora wrote: > > On Thu, Jul 18, 2019 at 1:48 PM Brian Adkins > wrote: > > I think more people (both existing users and new users) could get > > excited about Racket2 if it was primarily about making Racket > > objectively better and only

Re: [racket-users] The case, and a proposal, for elegant syntax in #lang racket2

2019-07-18 Thread Justin Zamora
On Thu, Jul 18, 2019 at 1:48 PM Brian Adkins wrote: > I think more people (both existing users and new users) could get > excited about Racket2 if it was primarily about making Racket > objectively better and only secondarily about overcoming the > aesthetic objection to parens. The message of

Re: [racket-users] The case, and a proposal, for elegant syntax in #lang racket2

2019-07-18 Thread Matthew Flatt
At Thu, 18 Jul 2019 10:48:11 -0700 (PDT), Brian Adkins wrote: > One thing that's still bothering me is the admission that if Racket > was already popular enough we wouldn't be considering the syntax > change. This was an answer to a question in a live setting, and I am > prone to

Re: [racket-users] Scribble timing

2019-07-18 Thread Matthew Flatt
> At Thu, 18 Jul 2019 12:28:53 -0400, Hendrik Boom wrote: > > Did some measurements. > > > > 800K of text, represented as 80 scribble files each of 10K bytes, > > each included using @include-section from one file: > > 7 seconds. > > > > 800K of text, represented as one scribble file (the

Re: [racket-users] The case, and a proposal, for elegant syntax in #lang racket2

2019-07-18 Thread Brian Adkins
One thing that's still bothering me is the admission that if Racket was already popular enough we wouldn't be considering the syntax change. This was an answer to a question in a live setting, and I am prone to mis-interpreting/understanding, so I very much want to cut Matthew some slack since he

Re: [racket-users] The case, and a proposal, for elegant syntax in #lang racket2

2019-07-18 Thread Hendrik Boom
On Thu, Jul 18, 2019 at 01:47:53AM -0400, David Storrs wrote: > Two things that I would like to see in Racket2 would be return values being > standard practice and the ability to return nothing. It would be useful in typed racket to have a type that indicates that the expression never returns a

Re: [racket-users] The case, and a proposal, for elegant syntax in #lang racket2

2019-07-18 Thread Hendrik Boom
On Thu, Jul 18, 2019 at 11:52:24AM -0400, James Platt wrote: > > Also related to the background of the users is, for example, the > family of functions including car, cdr, caar, cddadr, etc.. I > puzzled over the question of why these functions even exist for quite > a while. I had never

Re: [racket-users] Scribble timing

2019-07-18 Thread Matthew Flatt
At Thu, 18 Jul 2019 12:28:53 -0400, Hendrik Boom wrote: > Did some measurements. > > 800K of text, represented as 80 scribble files each of 10K bytes, > each included using @include-section from one file: > 7 seconds. > > 800K of text, represented as one scribble file (the concatenation of

[racket-users] Scribble timing

2019-07-18 Thread Hendrik Boom
On Mon, Jul 15, 2019 at 09:12:42PM -0400, Hendrik Boom wrote: > On Mon, Jul 15, 2019 at 05:22:35PM -0700, Jack Firth wrote: > > I believe the reason Scribble is slow on your file has to do with > > algorithms and logic in Scribble that have poor performance characteristics > > on large files,

Re: [racket-users] The case, and a proposal, for elegant syntax in #lang racket2

2019-07-18 Thread James Platt
Like others have said, I'm not sure that syntax is really the issue with Racket adoption. For me, the difficulty in moving to Racket from other languages is not the syntax, it's other things. Lot's of parentheses don't bother me. Writing (2 + 2) as (+ 2 2) is a little weird but It's not

[racket-users] Scheme Coding Competition

2019-07-18 Thread amz3
Hello racketeers, I am organizing a Scheme coding competition where you have to build a static blog generator with a mystery feature (that will be revealed little by little in the next few months). We already have sourcehut.org as a sponsor and I am actively looking for other sponsors to reward

Re: [racket-users] The case, and a proposal, for elegant syntax in #lang racket2

2019-07-18 Thread Tom Gillespie
I was going to mention that common lisp has a notion of return arity, and that certain functions can return zero results. I didn't realize that (values) also worked in racket. Zero return arity has some nasty consquences in existing systems. Both racket and guile barf on expressions like (eq?

[racket-users] Racket meetup tomorrow

2019-07-18 Thread Stephen De Gabrielle
Friday, 19 July at 12pm-3pm there will be an impromptu Racket meetup at the cafe at the British Library 'The Last Word'. https://goo.gl/maps/M62e4b9JK7c1oaA69 No agenda. All welcome. Spread the word! I'll be drinking tea, eating cake(I hope), and will be easily identified as a the man with

Re: [racket-users] The case, and a proposal, for elegant syntax in #lang racket2

2019-07-18 Thread Sorawee Porncharoenwase
> > The other thing I'd like to see would be the option to return nothing. > Not #, '(), or #f. Nothing. It's useful e.g. when you want to > simultaneously transform and filter a list. > Would (values) satisfy your criteria? #lang racket (define (my-filter-map proc xs) (match xs ['()

[racket-users] Call for Participation: Summer Racketfest 2019

2019-07-18 Thread Jesse Alama
Come one, come all, it's time for SUMMER RACKETFEST 2019 Saturday, August 17, 2019 in Berlin, Germany (right before ICFP 2019) See https://racketfest.com for more information; register at https://racketfest.com/register . Early-bird registration ends July 31. Space is limited! (NB for