Re: [racket-users] Real-world examples of XML usage?

2019-02-04 Thread Konrad Hinsen
David Storrs  writes:

>> This:
>>
>>https://mosaic-data-model.github.io/
>
> That looks very cool, and like something that I'd like to talk to you
> about professionally.  Would you mind if I contact you off-list?

Not at all!

> Wow.  That's impressive, and seems like something that could have a
> real impact.  Kudos.

We'll see. The whole idea is still very hard to "sell".

>> In both cases, the motivation was to facilitate access to the data for
>> as many software developers as possible. There are good XML support
>> libraries for most programming languages, even Fortran.
>
> True, but most languages also have good JSON tools, YAML tools, etc.

Yes, those are the obvious competitors. But YAML is probably worse than
XML in terms of overengineering (see
e.g. 
https://medium.com/@lefloh/lessons-learned-about-yaml-and-norway-13ba26df680)

> "Overengineered" is a good way to put it -- I think that's what
> bothers me about XML.  I do grant its utility, I'm simply not
> convinced that most of it is necessary for most cases.

Me neither!

> I was specifically thinking of JSON.  It allows for encoding all the
> essential structure of XML in far fewer characters, meaning there's
> less data to send over the wire. It's more human-readable. There are

JSON is basically a serialization notation for nested lists and hash
maps. What it lacks compared to XML is tags and namespaces. You have to
add a layer of conventions on top of JSON to get some form of data
identification, and since that layer is not standardized, it's likely to
get messy once you need to work with data from different sources.

JSON is probably a good choice if all software working with your data is
under your control. Less so if the client software pool is open-ended or
if the data may be archived for an indefinite future with different
software tools.

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] Quickscript error on first startup of Racket 7.2

2019-02-04 Thread Laurent
On Mon, Feb 4, 2019 at 9:55 PM Robby Findler 
wrote:

> > Possibly. I'm not sure what would be the best option yet, I'll think
> about it but I welcome suggestions.
>
> I think the main thing should be to avoid any uncaught exceptions (if
> they happen while quickscript starts up, it will get disabled; if they
> happen later, they'll be labelled "internal error"s). How exactly to
> save the information and show it to the user in a nice way seems like
> there are lots of things to try out!
>

Currently, exceptions raised from building the menu or running the scripts
are caught by quickscript and displayed in a message box. I've just changed
the title of the box to "Quickscript caught an exception" to be clearer.
Another option would be to have a quickscript log accessible from the menu
(and a quickscript console?).

-- 
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] Why would a value produced by eval-ing code not satisfy its type predicate? (Particularly, a SQL statement from the sql package)

2019-02-04 Thread Philip McGrath
On Sat, Feb 2, 2019 at 11:34 PM hashim muqtadir 
wrote:

> > As long as you at least know the schema you're working with, you could
> even generate select statements for all possible sets of columns at compile
> time, and then just choose the right statement dynamically with a runtime
> function.
>
> That did occur to me, and was my other idea compared to eval, up until I'd
> figured out the INJECT thing, but I didn't do it as then there would be a
> huge amount of select statements. The idea was to basically take the column
> list, sort it, string-join, and then get the relevant select from a hash
> table. But there'd be way too many.
>
> …
>
> One of the problems we face is of moving too much data around. Mobile
> applications that have to mainly work offline and periodically sync, they
> have to move around lots of data on horrible connections. (We do gzip and
> all. Choosing a data format that's not json is an option I'll evaluate in
> the future.)
>
> So selecting a list of fields when getting data for different entites is
> something we provide in our APIs.
>

It occurred to me you could also consider a sort of middle option. The
`sql` library can already handle dynamically filling in the names and order
of the columns to select: the only restriction is that the *number* of
columns must be specified at compile-time (aside from with
`ScalarExpr:INJECT`). So, if you know your table has N columns, you could
generate select statements for 1 to N columns, with the names of the
columns to be filled in at runtime. That would do much less code generation
than compiling a select statement for every possible combination of columns
(or, worse, permutation), while also being less of a hack than
`ScalarExpr:INJECT` (which I still think is a reasonable workaround). You
could use a `case` expression or a vector of functions for dispatch.

-- 
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] Real-world examples of XML usage?

2019-02-04 Thread Philip McGrath
On Mon, Feb 4, 2019 at 3:22 PM Neil Van Dyke  wrote:

> BTW, you *could* also do both XML and JSON.  For example: for some Web
> services, coming from a very complicated data model, IIRC, the
> engineering process scenario was something like originally the
> requirement was for XML, and then JSON was added as a requirement, and
> additional services were added at some point, and engineering resources
> were tight.  What I ended up doing, that time, was defining a conceptual
> mapping from a subset of XML to JSON encoding, so that a programmer
> wrote the code to construct the XML message, and got JSON for free.
>

I haven't  really used it, but Greg Hendershott has a package flexpr
 that defines a subset of
jsexpr
s
that can also be converted to x-expressions.

You can see many ways to do something like this, and your implementation
> might involve a DSL (perhaps in terms of the data model also used by
> your documentation, and your DSL can even generate Scribble for the XML
> and JSON interface specs for the documentation, separate from any Racket
> API documentation).
>

For Digital Ricoeur, I have in fact made a DSL to express our
project-specific requirements for XML documents. (We start with an external
XML standard, but we use only a minimal subset of the standard and add
additional requirements very specific to our project—e.g. there must be an
author with an xml:id attribute of "ricoeur".) The DSL generates Scribble
documentation and also defines our internal representation of the
documents, including conversion from x-expressions. We've been very happy
with this approach, and using a DSL has given us concrete benefits over
what we were doing before (even in Racket). If anyone is interested, I
discussed how we incrementally moved toward a DSL in my RacketCon talk
 (more specifically this part
), and both the generated documentation

and some details about the DSL implementation

are online.

On Mon, Feb 4, 2019 at 1:34 PM David Storrs  wrote:

> as Neil pointed out, a good
> candidate would be medical data that needs to be readable 100 years
> from now.  My question, however, was about how often those cases
> actually come up in practice


Our main reason for using XML is external standards, but we have found a
benefit along these lines for incremental refinement. The standard we are
are working against is enormous, and, as I said, we use a subset that we
try to keep as small as possible while meeting our immediate needs. That
means we end up iterating our project-specific requirements fairly rapidly,
sometimes in intentionally backwards-incompatible ways. Having a layered
approach to validation—broad, stable requirements validated with general
XML tools plus project-specific requirements checked with Racket contracts,
which we change more agilely—has helped as a sanity check and to give us
some level of consistency across iterations.

You could do this with other formats, too, and I think other formats are
often better choices, but XML's story for validation seems more mature and
more widely supported than, say, JSON Schema.

On Sat, Feb 2, 2019 at 11:57 PM David Storrs  wrote:

> The ability
> to type data (e.g. specify that 'age' elements are measured in days,
> or years, or etc) is a good feature, and I'll give XML that one.


This is actually an annoyance of mine about XML. Many schemas indeed do
specify semantic meaning for data in these ways, and W3C XML Schema
Definitions , for example, does try
to address translating types into the application level. In practice,
though, I don't think I've ever been able to take advantage of this: XML
data comes in as strings, and, even if I know (and have validated) that
some string will be an ISO 8601 date, I still have to deal with parsing it
and often discarding whitespace myself. It's the same with JSON when you
get to more complex types, but at least there are a few more atomic types
than just strings.

-Philip

-- 
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] Quickscript error on first startup of Racket 7.2

2019-02-04 Thread Robby Findler
On Mon, Feb 4, 2019 at 8:34 AM Laurent  wrote:
> On Sun, Feb 3, 2019 at 7:00 PM Robby Findler  
> wrote:
>> On Sun, Feb 3, 2019 at 11:50 AM Laurent  wrote:
>>>
>>> I've pushed a repair. It should be integrated with the next racket nightly 
>>> release I suppose.
>>>
>>> The fix is to check the compiled version of all scripts in the library, and 
>>> if it differs from the current racket version it gets recompiled. The bonus 
>>> is that scripts that have not been compiled yet will now be, which means 
>>> faster loading time when triggering them.
>>>
>>> The caveat is that dependencies are not recompiled. This means that if a 
>>> script depends on a package/collection that hasn't been migrated/updated 
>>> yet, an error may be displayed on DrRacket startup (but appart from this 
>>> script DrRacket should still work fine).
>>
>>
>> Can this error be caught and captioned with a better message or, even 
>> better, perhaps be integrated somehow into quickscript? (Maybe putting 
>> something into the menu or some other place somehow?)
>
>
> Possibly. I'm not sure what would be the best option yet, I'll think about it 
> but I welcome suggestions.

I think the main thing should be to avoid any uncaught exceptions (if
they happen while quickscript starts up, it will get disabled; if they
happen later, they'll be labelled "internal error"s). How exactly to
save the information and show it to the user in a nice way seems like
there are lots of things to try out!

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] Tensorflow bindings?

2019-02-04 Thread Neil Van Dyke
I had Racket TensorFlow bindings as a possible-TODO for me, but I don't 
yet know ML tools I'll use, and what APIs/layers I'll prefer atop tools 
that offer more than one.


(One of the reasons to play with ML in Python initially: almost 
everything has Python APIs, at the moment, and some of the most popular 
ML tools are written substantially in Python rather than being a veneer 
of bindings.)


Also, some toolkits might make more sense to call from Racket through 
something other than the current Racket FFI.


(For example, Python ones, or C code you don't want to risk stomping on 
your Racket code, and might not even be open source.  Also, there's also 
a good chance that you're running non-ideal vendor-specific GPU compute 
libraries and drivers right now, though hopefully that will soon improve.)


--
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] side by side; scribble

2019-02-04 Thread Ben Greenman
It's possible to have both, but not always easy.

Best-case scenario: make CSS classes named `TwoColumn` and
`multicolsbreak` that work the same as the LaTeX macros.

Otherwise, the Scribble file will need to produce
differently-structured output for HTML and LaTeX.

Sometimes it helps to run Scribble, look at the generated output
(.html or .tex), and try to write a style file (.css or .tex) that
works for the output.

-- 
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] Real-world examples of XML usage?

2019-02-04 Thread Neil Van Dyke

Jens Axel Søgaard wrote on 2/4/19 3:38 PM:

(define (html-flash-card)
  ; style: "border:1px solid black"
  @div[class: "col-md-6" ]{
    @div[id: "flash-card-content"]{
      @div[id: "flash-card-question-container"]{
@div[id: "flash-card-question"]{
@h2{Flash Card}
@p{The name of the mathematical exponentiation operator?}
          @p{ $$ c = \sqrt{a^2+b^2} $$}}}
@html-answer-box[]}})


This example looks good, and I like the at-reader.  An alternative, for 
people who love parentheses, and want some to optimize a little more for 
static parts at compile time, here's an approximate (untested) way using 
`html-template`:


(define (example-html-flash-card-1)
  (html-template
    (div (@ (class "col-md-6"))
 (div (@ (id "flash-card-content"))
  (div (@ (id "flash-card-question-container"))
   (div (@ (id "flash-card-question"))
    (h2 "Example Flash Card")
    (p "The name of the mathematical exponentiation 
operator?")

    (p (% $$ c = \sqrt{a^2+b^2} $$
  (%write (html-answer-box))

Or, another way to use `html-template` is to define your own 
application-specific syntax forms that expand to it.  So, if you're 
doing flashcards, you might define `flash-card` syntax that you can use 
like:


  (flash-card
   #:title "Example Flash Card"
   (p "The name of the mathematical exponentiation operator?")
   (p (math "c = \sqrt{a^2+b^2}")))

See "https://www.neilvandyke.org/racket/html-template/; for an example 
of what happens at compile time (specifically, syntax transformation 
time).  It uses only Racket port-writing, and can be combined with other 
port-writing procedures -- it uses no special Racket buffer management, 
nor opportunities with any HTTP server/fronting, nor lower-level OS 
facilities


(Sorry the code of `html-template` itself is more scary than it now has 
to be.  I've done some unreleased work atop this package, for an 
unfunded startup, but no more work on this package itself.)


--
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] side by side; scribble

2019-02-04 Thread Miguel Pereira da Silva
Thank you. That worked very well in the PDF, not in the HTML. Is there a
way of having it working on both or if we travel this road we must choose
print or web?

Ben Greenman  escreveu no dia segunda,
4/02/2019 à(s) 20:28:

> If you comment-out the `@twocolumn{}` block and then click the
> Scribble PDF button, you should see a PDF that helps explain why
> Scribble says `twocolumn` is undefined. (Use `@;` to comment out a
> line, not `;`.)
>
> Once you fix that issue, unfortunately, there are a few more problems
> with unbound identifiers and a formatting issue due to my use of the
> `'no-break` style.
>
> So, in case you get stuck, attached is a working example.
>


-- 

*Miguel P. Silva*

-- 
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] Real-world examples of XML usage?

2019-02-04 Thread Jens Axel Søgaard
Den søn. 3. feb. 2019 kl. 05.57 skrev David Storrs :

> There was a discussion in another thread lately about various ways of
> representing XML.  It got me thinking, and I wanted to ask about
> people's practical experience.
>
> What projects have y'all done where XML was the best choice for a
> reason other than "because we needed to interoperate with a service
> that required XML"?
>
> I've never needed to use XML that much -- HTML and CSS for the
> browser, ...


If you count representations of HTML then I am fond of representing HTML as
Racket structures.
Combined with the at-syntax from Scribble one can write code that looks
like:

(define (html-flash-card)
  ; style: "border:1px solid black"
  @div[class: "col-md-6" ]{
@div[id: "flash-card-content"]{
  @div[id: "flash-card-question-container"]{
@div[id: "flash-card-question"]{
  @h2{Flash Card}
  @p{The name of the mathematical exponentiation operator?}
  @p{ $$ c = \sqrt{a^2+b^2} $$}}}
  @html-answer-box[]}})

The example is from

https://github.com/soegaard/urlang/blob/master/urlang-examples/quiz/quiz.rkt

The docs are here:
http://docs.racket-lang.org/html/index.html?q=html

/Jens Axel

-- 
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] Real-world examples of XML usage?

2019-02-04 Thread Neil Van Dyke

David Storrs wrote on 2/4/19 1:34 PM:

I was specifically thinking of JSON.


Especially if your service interface is always through HTTP/HTTPS, 
there's a good chance that JSON is a great choice for your application.  
(If data will be accessed by someone else directly from files or 
database blobs in this encoding, rather than always coming from the code 
of your server, that might have more of a life-of-its-own quality, and 
maybe XML becomes a little more attractive than it was before.)


When you do a server interface in JSON, you have to do more 
documentation than XML, and be strict about server-side checking:


* If the other side is general solid software engineers / programmers, 
you just need to do good specs, which includes having to be explicit 
about some things that are implied with XML.  With checking as a backup 
to oopses, and to rule out some causes when debugging (preferably at 
least as much as XML would've ruled out).


* If the other side is solid enterprise people who prefer XML, but are 
willing to do JSON, you also need that good documentation.  For good 
engineering, and perhaps to reassure them that this is not substandard.


* If the other side is a brogrammer "smashing some code" by shotgunning 
Red Bull to wash down off-label abuse of other substances, while typing 
syntax flat-out at 200 wpm, they might only skim your docs for a message 
template they can copy, and wing it from there-- so it's a good 
thing that you're validating the heck out their messages at whatever 
syntactic and semantic levels you can. :)  This is one of those times 
that usually-good Internet protocol advice of "...liberal in what you 
accept" is a bad idea (silent HTML "quirks handling", starting in the 
early browsers, was another bad time, in hindsight).


Good news for Racket: For doing processing on JSON, like writing and 
reading and validation and mapping and transformation, Racket DSLs 
and/or list-processing skills might let you do it much better than you 
could, were you armed only with JS.


BTW, you *could* also do both XML and JSON.  For example: for some Web 
services, coming from a very complicated data model, IIRC, the 
engineering process scenario was something like originally the 
requirement was for XML, and then JSON was added as a requirement, and 
additional services were added at some point, and engineering resources 
were tight.  What I ended up doing, that time, was defining a conceptual 
mapping from a subset of XML to JSON encoding, so that a programmer 
wrote the code to construct the XML message, and got JSON for free.  You 
can see many ways to do something like this, and your implementation 
might involve a DSL (perhaps in terms of the data model also used by 
your documentation, and your DSL can even generate Scribble for the XML 
and JSON interface specs for the documentation, separate from any Racket 
API documentation).


BTW, if you end up doing reading of large JSON, and want to stream it 
like SSAX can, rather than slurp it all into memory first, a learning 
exercise a while ago showed it could be done, with a weird but 
potentially useful API.  (I should've emphasized the "learning exercise" 
note that's in the docs, as a liability disclaimer, so just treat this 
as proof-of-concept that you can do JSON processing as streaming, if you 
ever need to.) https://www.neilvandyke.org/racket/json-parsing/


--
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] Racket PPA updated for v7.2

2019-02-04 Thread Asumu Takikawa
On 2019-01-30 12:59:40 -0600, Vincent St-Amour wrote:
> Racket version 7.2 is now available from

For anyone using Ubuntu, the Racket PPA has been updated for 7.2 too:

  https://launchpad.net/~plt/+archive/ubuntu/racket

It's available on cosmic (18.10), bionic (18.04), xenial (16.04), and trusty 
(14.04).

Please report any issues on github:

  https://github.com/takikawa/racket-ppa

Cheers,
Asumu

-- 
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: Tensorflow bindings?

2019-02-04 Thread Matt Jadud
Hi Doug,

If you think they're a good starting point, I'm happy to contribute. I
would rather reinvent fewer things.

My impression from off-list conversation is that if the library is on
GitHub, and licensed appropriately (Apache 2, MIT, BSD, LGPL*, GPL*, MPL,
EPL, ISC, CC-BY, CC-BY-SA, OFL, MS-PL, Boost Software License, or Artistic
licenses), then Google engineers would have permission (from a
legal/license perspective) to ultimately contribute as well. If they were
so moved.

Up to you.

Cheers,
M


On Mon, Feb 4, 2019 at 12:54 PM Doug Williams 
wrote:

> I have a start on them already, but they need work. I don't need them on
> my project until the summer and they have been a low priority. I would be
> happy to share them with anyone that wants to go at a faster pace.
>
> On Mon, Feb 4, 2019, 9:49 AM Greg Trzeciak 
>> Wasn't it a rhetorical question? :)
>>
>> Although I don't have use for TensorFlow at the moment - I would love to
>> have the FFI bindings ready for when I will finally need it.
>> The AI story in Racket at the moment is not as good is it could be:
>> https://github.com/racket/racket/wiki/AI
>>
>>
>> On Monday, February 4, 2019 at 5:07:58 PM UTC+1, Matt Jadud wrote:
>>>
>>> Hi all,
>>>
>>> https://www.tensorflow.org/install/lang_c
>>>
>>> Would there be interest/value in having FFI bindings for TensorFlow? If
>>> I poke it with a stick, are there others who would be willing to contribute
>>> to the development of a package that provided those bindings?
>>>
>>> I'm getting to the point with a project where I'm going to have to bail
>>> out of Racket in order to do some machine learn-y stats work, and I'd
>>> rather not have to switch languages just to do the analysis.
>>>
>>> Cheers,
>>> M
>>>
>> --
>> 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.
>

-- 
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] Real-world examples of XML usage?

2019-02-04 Thread David Storrs
On Sun, Feb 3, 2019 at 7:22 AM Konrad Hinsen
 wrote:
>
> David Storrs  writes:
>
> > What projects have y'all done where XML was the best choice for a
> > reason other than "because we needed to interoperate with a service
> > that required XML"?
>
> This:
>
>https://mosaic-data-model.github.io/

That looks very cool, and like something that I'd like to talk to you
about professionally.  Would you mind if I contact you off-list?

>
> and this:
>
>https://github.com/khinsen/leibniz/

Wow.  That's impressive, and seems like something that could have a
real impact.  Kudos.


> In both cases, the motivation was to facilitate access to the data for
> as many software developers as possible. There are good XML support
> libraries for most programming languages, even Fortran.

True, but most languages also have good JSON tools, YAML tools, etc.


> The other candidates in such circumstances are JSON and YAML, but you
> get a lot more structure for free with XML than with JSON, while
> avoiding the enormous complexity of YAML. I also found some utility in
> schemas and schema-based validation tools, although that universe looks
> heavily overengineered to me. Still, it's work done by others that I
> don't have to repeat myself.

"Overengineered" is a good way to put it -- I think that's what
bothers me about XML.  I do grant its utility, I'm simply not
convinced that most of it is necessary for most cases.

> > On the other hand, XML is extremely heavyweight, thereby slowing
> > parsing and transmission as well as making the data less
> > human-readable.
>
> Compared to what? Special-purpose data format? Design your own language,
> write you own parsers, working at the character level? I don't write
> software in assembly for good reasons, and for the same reasons I want
> higher-level data formats than just character streams.

I was specifically thinking of JSON.  It allows for encoding all the
essential structure of XML in far fewer characters, meaning there's
less data to send over the wire. It's more human-readable. There are
good parsers in all languages, and the output of the parser is a
straightforward datatype. In most cases it parses faster than XML.
(Given parsing libraries in the same language, in most cases,
benchmarks lie, etc.)

XML definitely has useful features that JSON lacks, and I can think of
times when it would make sense -- as Neil pointed out, a good
candidate would be medical data that needs to be readable 100 years
from now.  My question, however, was about how often those cases
actually come up in practice, and what factors different people find
compelling when evaluating XML vs a different interchange / storage
format.

>
> 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] Python's append vs Racket's append and helping novices understand the implications

2019-02-04 Thread Matthias Felleisen


Great. Let’s include this link in Alex’s write up as an example of a concrete 
comparison. Even if such simple benchmarks don’t reflect daily, end-to-end 
programs, they can help people by dispelling some prejudices. Thanks — Matthias



> On Feb 4, 2019, at 11:56 AM, Gustavo Massaccesi  wrote:
> 
> For some reason, the Racket vs Python performance is a question that arise 
> from time to time in Hacke News (like 2 or 3 times per year). Last time I 
> asked if it was possible to add a direct comparison in The Computer Language 
> Benchmarks Game and the owner/maintainer added that page. The results are in 
> https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/racket-python3.html
>  [Standard disclaimer: The results change from program to program, so take 
> this comparison only as a guide.]
> 
> A short version of the results is that:
> * in 6 of the programs Racket is much faster
> * in 1 of the programs Racket is faster
> * in 2 of the programs there is almost a tie
> * in 1 of the programs Racket is slower
> 
> Some programs in Racket need parallelization, so the results may improve in 
> the future. [I didn't look too carefully at the programs in Python.]
> 
> My unofficial takeaway, not completely backed by the benchmarks, is that
> * For numeric programs Racket is (may be) 5 to 20 times faster than Python
> * For programs with too many stings and hashes, the speed is almost the same.
> 
> 
> 
> Also, there was an old thread about translating the classic Norvig's spelling 
> correction from Python to Racket, without changing the structure of the 
> implementation too much and using idiomatic code.
> https://groups.google.com/forum/#!topic/racket-users/u0Ua1kTUSKw After a few 
> attempts, the final version in Racket was a 30% slower. I didn't follow this 
> too much after the discussion, so I don't know if there is a smaller or 
> bigger difference using the current versions. (Also, I think we never tried 
> to make is fast as possible, with the same algorithms, but changing the 
> implementation as much as it was necessary.)
> 
> Gustavo
> 
> On Sun, Feb 3, 2019 at 7:38 PM Matthias Felleisen  
> wrote:
> 
> Agreed! 
> 
> 
> 
>> On Feb 3, 2019, at 4:43 PM, Robby Findler  
>> wrote:
>> 
>> It seems like a great addition to the performance section of the guide. 
>> 
>> Robby 
>> 
>> On Sun, Feb 3, 2019 at 3:35 PM Matthias Felleisen  
>> wrote:
>> 
>> 1. I think this is a great start for a generic introduction to data 
>> structures. Someone should integrate Jens’s short table: 
>> 
>>  
>> https://stackoverflow.com/questions/27584416/in-racket-what-is-the-advantage-of-lists-over-vectors/27589146#27589146
>>  
>> 
>> 
>> 2. I think language-to-language documents serve a different role, but your 
>> document could be cited from there. 
>> 
>> The point of say “From Python to Racket” would be to show how comprehensions 
>> translate or how classes work 1-1. And yes, it would also explain that 
>> Racket calls something a list that does __not___ at all correspond to a 
>> list. 
>> 
>> The corresponding Java write-up would be quite different again. In that 
>> case, we would be dealing with people who might not know more than classes 
>> and methods. But they might actually know proper design and might know that 
>> it calls for recursion (hidden in classes and interfaces). In Racket, that 
>> works even better than in Java. Plus it would need to say something brief 
>> about types. 
>> 
>> And R would be an entirely different story. 
>> 
>> — Matthias
>> 
>> 
>> 
>> 
>> 
>>> On Feb 2, 2019, at 11:37 PM, Alex Harsanyi  wrote:
>>> 
>>> 
>>> I put together some notes about available data structures in Racket, with 
>>> some performance considerations.  It needs more work, but perhaps it can be 
>>> used as a starting point and it can be added to the Racket wiki, if/when 
>>> others consider it adequate:
>>> 
>>> https://gist.github.com/alex-hhh/3cc5690a7f9c74543dab6c11344e6202
>>> 
>>> I didn't write a "Python to Racket" guide, because I don't really know 
>>> enough about Python to write such a document, and I also think that a more 
>>> generic document is simpler to maintain and can be used by people who come 
>>> from other languages as well.
>>> 
>>> I also tried to keep the document short, the aim being to provide a 
>>> competent programmer who is new to Racket with a 5 minute overview to its 
>>> data structures and some links to the starting points in the documentation. 
>>>  We can add things to it, but I think it is better to keep it short rather 
>>> than comprehensive in this case -- after all, there is the Racket Guide and 
>>> Racket Reference and these documents contain all the details.  Perhaps new 
>>> documents can be added to the wiki, exploring other topics in more detail.
>>> 
>>> I did not mention `ralist` because (1) I have no experience with it, but 
>>> more importantly (2) the package is not part of the Racket distribution and 
>>> has to be installed separately.  I 

Re: [racket-users] Real-world examples of XML usage?

2019-02-04 Thread David Storrs
On Sun, Feb 3, 2019 at 2:39 AM Neil Van Dyke  wrote:
>
> David Storrs wrote on 2/2/19 11:57 PM:
> > Are there angles here that I haven't encountered or thought about yet?
>
> As a fellow Racketeer with mixed feelings about XML, let me articulate
> for the list an angle you might've already considered...
>
> One reason you might decide to use XML for a system interface (when not
> required to, nor encouraged by it possibly helping sales to some
> customers) is that you want to help the programmers on the other side of
> the interface to be correct, for very selfish reasons.
>
> (We must remind ourselves not to underestimate the capacity for
> incorrectness in software systems development.  We know it's bad, but
> it's worse than that.)
>
> If everyone's messages have to validate to a particular DTD/schema, that
> lets you throw in what's effectively a bunch of checking they can do
> themselves, on their side, gives them blame-pointing error messages, and
> eliminates some of the phases of incorrectness on their end.

This is, I think, saying that XML allows for typed data, as well as
specified structural requirements.  I granted above that types were a
great feature, and I'll definitely concede to structural requirements.

I see your point, although I'm waffling about it.  I think it would be
easier to have, for example, a JSON interface with good error messages
for when messages aren't accepted.  Still, writing the DTD is a
compact way of writing the error messages, much like contracts on a
function.

> When you're considering XML for a particular real-world case, it might
> be helpful to try to think through scenarios of using XML vs. other
> plausible open standards or semi-standards, like Protobuf, or some
> convention over JSON or CSV.  Who all will be on the other end of the
> interface?  How will they implement it?  What's everything that happens
> when the interface spec gets a new version?  How messy is that going to
> be?  How long does this have to keep working (e.g., medical records that
> might need to be interpreted perfectly 100 years and 10 corporate
> acquisitions later)?  Etc.

Very valid points.  Thank you.

>
> BTW, if you do go with XML, you might find RELAX NG Compact syntax to be
> pleasant.

Oh, nice.  I wasn't aware of that, thank you.

Dave

-- 
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: Tensorflow bindings?

2019-02-04 Thread Greg Trzeciak
Please do (rdf and tensorflow)! It seems we are duplicating our efforts at 
the moment I have also been working on RDF4J (and other RDF tools) recently!

G.

On Monday, February 4, 2019 at 6:57:40 PM UTC+1, m.douglas.williams wrote:
>
> Also, I hadn't known about the wiki you linked to. I can add my inference 
> engine and interface to an RDF graph database (Eclipse rdf4j) interface 
> there.
>
> On Mon, Feb 4, 2019, 9:49 AM Greg Trzeciak   wrote:
>
>> Wasn't it a rhetorical question? :)
>>
>> Although I don't have use for TensorFlow at the moment - I would love to 
>> have the FFI bindings ready for when I will finally need it.
>> The AI story in Racket at the moment is not as good is it could be: 
>> https://github.com/racket/racket/wiki/AI
>>
>>
>> On Monday, February 4, 2019 at 5:07:58 PM UTC+1, Matt Jadud wrote:
>>>
>>> Hi all,
>>>
>>> https://www.tensorflow.org/install/lang_c
>>>
>>> Would there be interest/value in having FFI bindings for TensorFlow? If 
>>> I poke it with a stick, are there others who would be willing to contribute 
>>> to the development of a package that provided those bindings?
>>>
>>> I'm getting to the point with a project where I'm going to have to bail 
>>> out of Racket in order to do some machine learn-y stats work, and I'd 
>>> rather not have to switch languages just to do the analysis.
>>>
>>> Cheers,
>>> M
>>>
>> -- 
>> 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...@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] Re: Tensorflow bindings?

2019-02-04 Thread Doug Williams
Also, I hadn't known about the wiki you linked to. I can add my inference
engine and interface to an RDF graph database (Eclipse rdf4j) interface
there.

On Mon, Feb 4, 2019, 9:49 AM Greg Trzeciak  Wasn't it a rhetorical question? :)
>
> Although I don't have use for TensorFlow at the moment - I would love to
> have the FFI bindings ready for when I will finally need it.
> The AI story in Racket at the moment is not as good is it could be:
> https://github.com/racket/racket/wiki/AI
>
>
> On Monday, February 4, 2019 at 5:07:58 PM UTC+1, Matt Jadud wrote:
>>
>> Hi all,
>>
>> https://www.tensorflow.org/install/lang_c
>>
>> Would there be interest/value in having FFI bindings for TensorFlow? If I
>> poke it with a stick, are there others who would be willing to contribute
>> to the development of a package that provided those bindings?
>>
>> I'm getting to the point with a project where I'm going to have to bail
>> out of Racket in order to do some machine learn-y stats work, and I'd
>> rather not have to switch languages just to do the analysis.
>>
>> Cheers,
>> M
>>
> --
> 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] Re: Tensorflow bindings?

2019-02-04 Thread Doug Williams
I have a start on them already, but they need work. I don't need them on my
project until the summer and they have been a low priority. I would be
happy to share them with anyone that wants to go at a faster pace.

On Mon, Feb 4, 2019, 9:49 AM Greg Trzeciak  Wasn't it a rhetorical question? :)
>
> Although I don't have use for TensorFlow at the moment - I would love to
> have the FFI bindings ready for when I will finally need it.
> The AI story in Racket at the moment is not as good is it could be:
> https://github.com/racket/racket/wiki/AI
>
>
> On Monday, February 4, 2019 at 5:07:58 PM UTC+1, Matt Jadud wrote:
>>
>> Hi all,
>>
>> https://www.tensorflow.org/install/lang_c
>>
>> Would there be interest/value in having FFI bindings for TensorFlow? If I
>> poke it with a stick, are there others who would be willing to contribute
>> to the development of a package that provided those bindings?
>>
>> I'm getting to the point with a project where I'm going to have to bail
>> out of Racket in order to do some machine learn-y stats work, and I'd
>> rather not have to switch languages just to do the analysis.
>>
>> Cheers,
>> M
>>
> --
> 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] side by side; scribble

2019-02-04 Thread Ben Greenman
No need to apologize.

The point of the example files was to show how to connect a Scribble
function to a LaTeX macro. I don't recommend copy-pasting the files.
Instead:

0. Make a small Scribble document to render a pdf without the
side-by-side text. (Scribble's "Getting Started" guide should help if
you don't already have a document [1].)

1. Add a `.tex` style file the the Scribble document. For help, see
the link Robby posted [2].

2. Add a scribble function like `twocolumn` to the document and a
macro to the style file. (This is where my links can help.)

Let us know if the docs are unclear, and maybe we can improve them.

[1] http://docs.racket-lang.org/scribble/getting-started.html
[2] http://docs.racket-lang.org/scribble/config.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] side by side; scribble

2019-02-04 Thread Miguel P. Silva
I was just trying to see what you did and after understanding that move on 
to do my own. I have copied the 3 different files you linked to a folder, 
but I am not sure what to do next to compile them. Sorry for the silly 
question.

segunda-feira, 4 de Fevereiro de 2019 às 14:40:13 UTC, Ben Greenman 
escreveu:
>
> I'm not sure what to simplify. 
>
> Can you send what you tried, and explain what happened and what you 
> expected? 
>

-- 
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] Python's append vs Racket's append and helping novices understand the implications

2019-02-04 Thread Gustavo Massaccesi
For some reason, the Racket vs Python performance is a question that arise
from time to time in Hacke News (like 2 or 3 times per year). Last time I
asked if it was possible to add a direct comparison in The Computer
Language Benchmarks Game and the owner/maintainer added that page. The
results are in
https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/racket-python3.html
[Standard disclaimer: The results change from program to program, so take
this comparison only as a guide.]

A short version of the results is that:
* in 6 of the programs Racket is much faster
* in 1 of the programs Racket is faster
* in 2 of the programs there is almost a tie
* in 1 of the programs Racket is slower

Some programs in Racket need parallelization, so the results may improve in
the future. [I didn't look too carefully at the programs in Python.]

My unofficial takeaway, not completely backed by the benchmarks, is that
* For numeric programs Racket is (may be) 5 to 20 times faster than Python
* For programs with too many stings and hashes, the speed is almost the
same.



Also, there was an old thread about translating the classic Norvig's
spelling correction from Python to Racket, without changing the structure
of the implementation too much and using idiomatic code.
https://groups.google.com/forum/#!topic/racket-users/u0Ua1kTUSKw After a
few attempts, the final version in Racket was a 30% slower. I didn't follow
this too much after the discussion, so I don't know if there is a smaller
or bigger difference using the current versions. (Also, I think we never
tried to make is fast as possible, with the same algorithms, but changing
the implementation as much as it was necessary.)

Gustavo

On Sun, Feb 3, 2019 at 7:38 PM Matthias Felleisen 
wrote:

>
> Agreed!
>
>
>
> On Feb 3, 2019, at 4:43 PM, Robby Findler 
> wrote:
>
> It seems like a great addition to the performance section of the guide.
>
> Robby
>
> On Sun, Feb 3, 2019 at 3:35 PM Matthias Felleisen 
> wrote:
>
>>
>> 1. I think this is a great start for a generic introduction to data
>> structures. Someone should integrate Jens’s short table:
>>
>>
>> https://stackoverflow.com/questions/27584416/in-racket-what-is-the-advantage-of-lists-over-vectors/27589146#27589146
>>
>>
>>
>> 2. I think language-to-language documents serve a different role, but
>> your document could be cited from there.
>>
>> The point of say “From Python to Racket” would be to show how
>> comprehensions translate or how classes work 1-1. And yes, it would also
>> explain that Racket calls something a list that does __not___ at all
>> correspond to a list.
>>
>> The corresponding Java write-up would be quite different again. In that
>> case, we would be dealing with people who might not know more than classes
>> and methods. But they might actually know proper design and might know that
>> it calls for recursion (hidden in classes and interfaces). In Racket, that
>> works even better than in Java. Plus it would need to say something brief
>> about types.
>>
>> And R would be an entirely different story.
>>
>> — Matthias
>>
>>
>>
>>
>>
>> On Feb 2, 2019, at 11:37 PM, Alex Harsanyi 
>> wrote:
>>
>>
>> I put together some notes about available data structures in Racket, with
>> some performance considerations.  It needs more work, but perhaps it can be
>> used as a starting point and it can be added to the Racket wiki, if/when
>> others consider it adequate:
>>
>> https://gist.github.com/alex-hhh/3cc5690a7f9c74543dab6c11344e6202
>>
>> I didn't write a "Python to Racket" guide, because I don't really know
>> enough about Python to write such a document, and I also think that a more
>> generic document is simpler to maintain and can be used by people who come
>> from other languages as well.
>>
>> I also tried to keep the document short, the aim being to provide a
>> competent programmer who is new to Racket with a 5 minute overview to its
>> data structures and some links to the starting points in the
>> documentation.  We can add things to it, but I think it is better to keep
>> it short rather than comprehensive in this case -- after all, there is the
>> Racket Guide and Racket Reference and these documents contain all the
>> details.  Perhaps new documents can be added to the wiki, exploring other
>> topics in more detail.
>>
>> I did not mention `ralist` because (1) I have no experience with it, but
>> more importantly (2) the package is not part of the Racket distribution and
>> has to be installed separately.  I don't it reflects well on Racket if we
>> tell people to install a separate package if they want an efficient
>> container...  I have no experience with `ralist`, but if it is indeed a
>> good data structure and it has a potentially wide usage, it should be
>> included in the default Racket installation.
>>
>> Alex.
>>
>> On Sunday, February 3, 2019 at 7:00:10 AM UTC+8, Matthias Felleisen wrote:
>>>
>>>
>>>
>>> Racket needs *you*. Please.
>>>
>>> The proper approach is to 

[racket-users] Re: Tensorflow bindings?

2019-02-04 Thread Greg Trzeciak
Wasn't it a rhetorical question? :)

Although I don't have use for TensorFlow at the moment - I would love to 
have the FFI bindings ready for when I will finally need it.
The AI story in Racket at the moment is not as good is it could 
be: https://github.com/racket/racket/wiki/AI


On Monday, February 4, 2019 at 5:07:58 PM UTC+1, Matt Jadud wrote:
>
> Hi all,
>
> https://www.tensorflow.org/install/lang_c
>
> Would there be interest/value in having FFI bindings for TensorFlow? If I 
> poke it with a stick, are there others who would be willing to contribute 
> to the development of a package that provided those bindings?
>
> I'm getting to the point with a project where I'm going to have to bail 
> out of Racket in order to do some machine learn-y stats work, and I'd 
> rather not have to switch languages just to do the analysis.
>
> Cheers,
> M
>

-- 
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: Tensorflow bindings?

2019-02-04 Thread Lehi Toskin
That actually sounds kinda fun. If you make the repo I'll join in.

On Monday, February 4, 2019 at 8:07:58 AM UTC-8, Matt Jadud wrote:
>
> Hi all,
>
> https://www.tensorflow.org/install/lang_c
>
> Would there be interest/value in having FFI bindings for TensorFlow? If I 
> poke it with a stick, are there others who would be willing to contribute 
> to the development of a package that provided those bindings?
>
> I'm getting to the point with a project where I'm going to have to bail 
> out of Racket in order to do some machine learn-y stats work, and I'd 
> rather not have to switch languages just to do the analysis.
>
> Cheers,
> M
>

-- 
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] Tensorflow bindings?

2019-02-04 Thread Matt Jadud
Hi all,

https://www.tensorflow.org/install/lang_c

Would there be interest/value in having FFI bindings for TensorFlow? If I
poke it with a stick, are there others who would be willing to contribute
to the development of a package that provided those bindings?

I'm getting to the point with a project where I'm going to have to bail out
of Racket in order to do some machine learn-y stats work, and I'd rather
not have to switch languages just to do the analysis.

Cheers,
M

-- 
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: Racket News - Issue 1

2019-02-04 Thread 'Paulo Matos' via Racket Users



On 01/02/2019 14:28, Greg Trzeciak wrote:
> Nicely done!
> 
> Is my understanding correct and this will also be a newsletter (as in
> subscribe and receive by email)?
>

It's not pretty... yet, but I have added the newsletter subscription option.

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


Re: [racket-users] Re: How To Design Classes text not available?

2019-02-04 Thread Marc Kaufmann
Thanks for that nifty tip for quick bookmarking Neil. 

Quick Searches: 
>
> Name: [SEARCH] DUCKDUCKGO 
> Location: https://start.duckduckgo.com/?q=%s=hb=-2=web 
> Keyword: d 
>
>
For anyone else who might want it (but not quite know how): the way I got 
it going was 

1. Go do some search with the search bar of the website you want, search 
anything you like, e.g. https://web.archive.org/web/*/breakdance
2. Bookmark that link
3. Go find your bookmark in the list of bookmarks (for me the "|||\" sign 
on the right of the search bar)
4. Right-click on the recently added bookmark to get "Properties"
5. Now replace the "breakdance" by %s
6. Add the "a " as keyword

Just adding this as it took me some time googling (well, duckduckgo-ing) 
this (I couldn't figure out how to find 'properties' on bookmarks). It 
works with every website that has a search with URL parameters. 

Cheers,

Marc


Name: [SEARCH] DUCKDUCKGO IMAGES 
> Location: 
> https://start.duckduckgo.com/?q=%s=hb=-2=images=images 
> Keyword: di 
>
> BTW, on the desktop, the browser operation to make new tab (Ctrl-T on my 
> computer), with your new tab page set to blank, is a way to quickly both 
> get a new browser tab without possibly disturbing something else, and to 
> put your GUI text focus on the location bar do your next keystroke 
> starts your Quick Search, autocomplete of your bookmarks, or a 
> URL/domain.  No "new tab" or "search" or "home" page load, no separate 
> search field widget taking up space that could show URL or slowing down 
> the UI, no gratuitous/paid leaking. 
>
> >   (turns out !a goes to amazon, sigh). 
>
> I took away my old "a" Quick Search keyword from Amazon, to give to 
> Archive.org.  Individual users can still have some power over the 
> computation they use. :) 
>
>

-- 
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] side by side; scribble

2019-02-04 Thread Ben Greenman
I'm not sure what to simplify.

Can you send what you tried, and explain what happened and what you expected?

-- 
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] Quickscript error on first startup of Racket 7.2

2019-02-04 Thread Laurent
On Sun, Feb 3, 2019 at 7:00 PM Robby Findler 
wrote:

>
>
> On Sun, Feb 3, 2019 at 11:50 AM Laurent  wrote:
>
>> I've pushed a repair. It should be integrated with the next racket
>> nightly release I suppose.
>>
>> The fix is to check the compiled version of all scripts in the library,
>> and if it differs from the current racket version it gets recompiled. The
>> bonus is that scripts that have not been compiled yet will now be, which
>> means faster loading time when triggering them.
>>
>> The caveat is that dependencies are not recompiled. This means that if a
>> script depends on a package/collection that hasn't been migrated/updated
>> yet, an error may be displayed on DrRacket startup (but appart from this
>> script DrRacket should still work fine).
>>
>
> Can this error be caught and captioned with a better message or, even
> better, perhaps be integrated somehow into quickscript? (Maybe putting
> something into the menu or some other place somehow?)
>

Possibly. I'm not sure what would be the best option yet, I'll think about
it but I welcome suggestions.


> @Robby: I've tested this manually, by installing an old version of racket,
>> and compiling scripts with the old one while running the new version of
>> drracket, but I'm not sure how to automate this properly (as in "write a
>> portable test file"). Have you done something like this before?
>>
>
> Maybe save an old compiled file, putting it into place and then starting
> up drr the way that other test suites start it up, and checking that it
> starts up successfully?
>

That's a neat idea! It should simplify the process a big deal. Thanks!

-- 
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] side by side; scribble

2019-02-04 Thread Miguel P. Silva
I am very new to racket and I am having trouble understanding your 
solution. Can you explain this with a simpler example? Thanks.

quarta-feira, 30 de Janeiro de 2019 às 16:02:44 UTC, Ben Greenman escreveu:
>
> In case you have trouble navigating the docs, here's a related example. 
>
> First, a Scribble function that generates output with a Scribble style 
> named "TwoColumn": 
> https://github.com/nuprl/tag-sound/blob/master/gf-icfp-2018/main.rkt#L326 
>
> Second, a LaTeX macro named "TwoColumn" that formats the Scribble 
> output for the "multicol" package: 
> https://github.com/nuprl/tag-sound/blob/master/gf-icfp-2018/style.tex#L9 
>
> Third, an example use of the Scribble function: 
>
> https://github.com/nuprl/tag-sound/blob/master/gf-icfp-2018/design.scrbl#L273 
>
>
> (I used the ++style command-line flag to put everything together.) 
>

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