Re: [racket-users] (eqv? Racket-land Wonderland) -> #t

2016-02-15 Thread Nota Poin
On Monday, February 15, 2016 at 8:50:31 PM UTC, Matthew Butterick wrote:
> https://en.wikipedia.org/wiki/Blue_Flame_(automobile)

Oh, that's beautiful.

-- 
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] (eqv? Racket-land Wonderland) -> #t

2016-02-15 Thread Matthew Butterick
It's a question of perspective. A rocket-powered tricycle held the land speed 
record for 13 years.

https://en.wikipedia.org/wiki/Blue_Flame_(automobile)


On Feb 15, 2016, at 12:32 PM, Robby Findler  wrote:

> On Mon, Feb 15, 2016 at 2:29 PM, Matthew Butterick  wrote:
>> On Monday, February 15, 2016 at 2:40:29 AM UTC-8, Nota Poin wrote:
>> 
>>> Too powerful. It's a language that can define new languages from whole 
>>> cloth. It's a compiler of compilers. It's like trying to use a jet engine 
>>> to propel your tricycle.
>> 
>> I would rather have a jet engine for my tricycle than a tricycle to tow my 
>> jet.
> 
> One of those seems more life-threatening than the other, actually.
> 
> Robby

-- 
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] (eqv? Racket-land Wonderland) -> #t

2016-02-15 Thread Matthias Felleisen

Dear Nota Poin, 

thanks for your thoughts. If Racket is such a mess for you, why do you bother 
to participate here? Do you find anything attractive about it or is someone 
putting a "gun to your head" and says "use it"? 

As for your specific pain points, some are right on, some show an understanding 
of programming of the 1970s, some fail to see that a language is a living 
organism in search of light, and some more don't accept that Racket is also a 
research vehicle -- it's not just some random amalgam of stuff but the "living 
organism" result of serious research on programming languages, based on decades 
of thought, readings, reflection, experimentation, and brute-force labor. When 
you look at something like Racket, you need to keep this in mind. 

-- Matthias





On Feb 15, 2016, at 5:40 AM, Nota Poin  wrote:

> On Saturday, February 13, 2016 at 5:35:09 PM UTC, Saša Janiška wrote:
>> So, at the end I just wonder how is it that such Wonderland is not
>> discovered by much more people?
> 
> Startup is slow. Intractable problem, JIT compiling just takes time, and 
> can't be cached beforehand. Like with pypy vs cpython, efficient JIT means 
> more number crunching at startup. When people are willing to throw out 
> optimal code for fast startup, maybe racket can support that, but it isn't 
> exactly a high priority. Complex flexible syntax means even compiled code 
> takes longer to JIT than say for instance java bytecode.
> 
> Big requirements. Lots of memory, lots of CPU. Not a viable target for 
> embedded systems or mobile devices. Takes forever to compile. At least it's 
> not spending 80% of the compilation anymore, creating that massive javascript 
> blob that they call "documentation". Not such a problem on systems where it's 
> already compiled, but some people actually like open source.
> 
> Too many ways to do core things. Do you want to use the foof-loop macro? 
> cl-loop? for? for/fold? foldl? (let loop ([arg arg]))? ((lambda (boing arg) 
> (boing boing arg)) (lambda (next arg) ...) arg)? (define (recurse arg) 
> (recurse arg arg))? 
> 
> When you take a simple example and try to customize it to your needs, more 
> often than not (I at least) end up buried in pages of fiddling with the guts 
> of the algorithm, because as soon as you depart from the norm it quickly 
> becomes overwhelmingly complex as you expose the innards of whatever system 
> you're trying to adapt to your needs.
> 
> Too pedantic. This isn't hygenic! That's not allowed! More often than not 
> it's saving you from screwing up, but with errors like "permission denied" 
> and "bad syntax" it feels like you're being chided by a 70 year old 
> librarian. At least it's not as bad as java. Lots of full on phrases, when 
> typing abbreviations would be easier. (require (only-in a b)) vs "from a 
> import b" or "import a: b"
> 
> Racket is a _lot_ better at that lately. It used to have things like (eval) 
> didn't work, because there was no %app syntax transformer by default, because 
> that would be correct, as opposed to what anybody actually wants. You can 
> actually throw away hygiene without a lot of horrible overrides, and it's 
> better at intuiting just what you mean by turning datum into syntax.
> 
> Not bare metal enough. Not because of speed, but because of barriers to 
> understanding. Okay, so a computer is a bunch of switches, and some switches 
> turn others on or off. Cool, and that's how you make an adder circuit. Now 
> what switches will make a lambda? It's abstract, optimized at runtime, 
> inscrutable, not what you think it is, rewritten, transformed magic? Uh huh, 
> I'm just gonna go call a function in C thanks.
> 
> Too meta. Flexible syntax is awesome for simplifying and compartmentalizing 
> logic, but when you have syntax that produces syntax it gets harder to 
> understand just what you're doing. People don't realize this, so write lots 
> of crazy racket code that throws away first order functions for the "faster" 
> syntax transformations when the former would work fine and not leave people 
> at a loss to figure what the letters you typed are supposed to do.
> 
> Too powerful. It's a language that can define new languages from whole cloth. 
> It's a compiler of compilers. It's like trying to use a jet engine to propel 
> your tricycle.
> 
> Too interdependent. Writer of cool module A sees cool module B, uses that, 
> which uses cool module C, which uses D, E and F, etc. It's not as bad as 
> perl, and not nearly as bad as C++, but reducing module interdependency, at 
> the cost of redundant code, is a slow process to get right.
> 
> Continuations are slower than jumps. Can't implement the latter with the 
> former, since you always have to be ready to capture the current 
> continuation. Racket's one of the best schemes at fast continuations, but 
> every scheme except bigloo (which cops out by disabling continuations) faces 
> the problem that "create a closure, and 

Re: [racket-users] (eqv? Racket-land Wonderland) -> #t

2016-02-14 Thread Richard Cleis
> So, at the end I just wonder how is it that such Wonderland is not
> discovered by much more people?

(My perspective is from working in the same place for 32 years)

- To claim progress, most people want to make only minimum changes to their way 
of doing things.

- To claim progress, most people do not want to make any change at all to their 
way of *thinking* about things.

- To claim a sound plan, managers only want to allow their people to attempt 
half of the above two points, and the second one is zero already.

I enjoy the freedom of using Racket because I gambled with its use and was 
immediately successful... and because it works fine on OSX, Linux, and Windows. 
However, the organization will never overtly endorse it due to the above points.

> 
> Thanks to all who help creating these wonders. ;)

Thanks to all who helped changed my way of thinking about solving problems 
(some of which have nothing to do with programming.)

rac


On Feb 13, 2016, at 10:31 AM, Saša Janiška wrote:

> Hello,
> 
> almost year ago I've become interested in Racket, but due to several
> reasons it did fall by the wayside. :-(
> 
> Recently I decided to migrate most of my tool-chain to Emacs (editor,
> org-mode, Gnus...) and then, naturally, when considering about learning
> some Elisp, I've remembered my past encounter with Racket which in the
> past did happen since I was looking for adequate language for
> multi-platform GUI app and Racket is one of the few modern and
> higher-level languages to provide 1st class support for it.
> 
> There is, of course, Scribble[1] to write high-quality
> documentation (I'll also try to provide Scribble support for writing web
> content in Nikola -- python-powered static-site-generator).
> 
> Lastly, when preparing slide-presentation for my wife (medicine), I did
> use LyX/LaTeX/Beamer, but considered to switch to ConTeXt in order to
> avoid having same-Beamer-look when I have found out about Slideshow
> library which means that by moving to and learning Racket I'll be able
> to write GUI app, write docs, web content and prepare nice presentations
> - everything just within the scope of single language!
> 
> Here I do not want to mention that Racket has wonderful ecosystem -
> package manager (btw, I'd like to see some support for using Fossil DVCS
> repos), building stand-alone executables etc.
> 
> So, at the end I just wonder how is it that such Wonderland is not
> discovered by much more people?
> 
> Thanks to all who help creating these wonders. ;)
> 
> 
> Sincerely,
> Gour
> 
> Footnotes: 
> [1]  I still consider to make use of Pollen!
> 
> -- 
> A self-realized man has no purpose to fulfill in the discharge
> of his prescribed duties, nor has he any reason not to perform
> such work. Nor has he any need to depend on any other living being.
> 
> -- 
> 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 toracket-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] (eqv? Racket-land Wonderland) -> #t

2016-02-13 Thread Saša Janiška
Hello,

almost year ago I've become interested in Racket, but due to several
reasons it did fall by the wayside. :-(

Recently I decided to migrate most of my tool-chain to Emacs (editor,
org-mode, Gnus...) and then, naturally, when considering about learning
some Elisp, I've remembered my past encounter with Racket which in the
past did happen since I was looking for adequate language for
multi-platform GUI app and Racket is one of the few modern and
higher-level languages to provide 1st class support for it.

There is, of course, Scribble[1] to write high-quality
documentation (I'll also try to provide Scribble support for writing web
content in Nikola -- python-powered static-site-generator).

Lastly, when preparing slide-presentation for my wife (medicine), I did
use LyX/LaTeX/Beamer, but considered to switch to ConTeXt in order to
avoid having same-Beamer-look when I have found out about Slideshow
library which means that by moving to and learning Racket I'll be able
to write GUI app, write docs, web content and prepare nice presentations
- everything just within the scope of single language!

Here I do not want to mention that Racket has wonderful ecosystem -
package manager (btw, I'd like to see some support for using Fossil DVCS
repos), building stand-alone executables etc.

So, at the end I just wonder how is it that such Wonderland is not
discovered by much more people?

Thanks to all who help creating these wonders. ;)


Sincerely,
Gour

Footnotes: 
[1]  I still consider to make use of Pollen!

-- 
A self-realized man has no purpose to fulfill in the discharge
of his prescribed duties, nor has he any reason not to perform
such work. Nor has he any need to depend on any other living being.

-- 
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] (eqv? Racket-land Wonderland) -> #t

2016-02-13 Thread Neil Van Dyke

Saša Janiška wrote on 02/13/2016 12:31 PM:

So, at the end I just wonder how is it that such Wonderland is not
discovered by much more people?


Being non-mainstream for practitioners, Racket is most popular with 
people who have the freedom to choose any tools they want, not forced 
into a mainstream set of options.  Most often this means individual 
alpha techies, researchers, etc.


Though, one of the business bonuses of adopting Racket for 
non-one-person ventures is that you can then hire a caliber of talent 
that most companies wouldn't be able to otherwise.  I have recently seen 
this with Racket, and I have seen similar situations in the past with 
earlier empowering platforms, like Common Lisp.


The business case for platform choice are of course much more 
complicated than this, but don't discount the value of being able to 
land the kind of techie talent that otherwise only Google could 
attract.  (Though sometimes Google acquires your company with your 
Lisp-attracted talent, anyway, in the end. :)


I'd say the biggest downside is that there is still lots of things that 
are off-the-shelf for some mainstream platforms, but require some 
in-house DIY work for Racket.  Sometimes this is something you can DIY 
faster and better than you can get an off-the-shelf solution integrated, 
but sometimes the DIY is just extra cost with no direct benefit.


Also, savvy commercial leadership will be aware that, should anything at 
all go wrong with a project, someone might ask whether some unorthodox 
choice of theirs was a factor, including using a non-mainstream 
platform.  So the options have to be weighed, and if the scale points 
towards something non-mainstream, then leadership needs the will and the 
clout to back it up politically.


Disclosure: I'm a high-end consultant who prefers to use Racket for the 
majority of programming-level aspects, and can help an organization with 
architecture, process, training, etc.  So I will tend to make money as 
commercial Racket adopters are successful.


Neil V.

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