Jack Firth | 1 Sep 20:23 2015
Picon

Package versioning

For a given package `foo`, the general idea regarding new changes that as I've understood it is:
  1. Changes to existing functionality that break things belong in a new package `foo2` that provides differently named modules/collections from `foo`, since it's essentially completely different behavior. This allows both `foo` and `foo2` to be installed at once, such that code using the old package can coexist with code using the new one. This also means unless you explicitly choose to use the changed functionality by requiring `foo2`, your code won't break, and you can selectively upgrade parts of a codebase to use `foo2` instead of having to upgrade the whole shebang at once.
  2. New features should up the version number in the package's `info.rkt`. This means different package sources for the same package name can declare which features are available, and client code can define a minimum set of features it requires.
  3. Bug fixes and other changes to existing functionality that don't break things for well-behaved clients (for some reasonable definition of "doesn't break things" and "well-behaved clients") don't really need to update the package's `info.rkt`, but it would be a good idea if they did. They should increase the version number less than new features do (e.g. 1.0 -> 1.1 instead of 1.0 -> 2.0). This gives more flexibility to client code feature specification, a client package can say "I really want 1.0, but it has a bug in it that wouldn't be fixed until 2.0, but 2.0 has features I don't need".
  4. For packages whose name includes the author name, e.g. "jack-mock", or for modules or collections in the "unstable" collection, all bets are off. Existing functionality may change without warning, new stuff could be added, old stuff could be removed, multiple times a day. This gives package authors ways to experiment with published code while warning clients of experimental behavior.
At least, this is how I've been attempting to do things recently. It seems like a pretty reasonable way of working. The biggest problem thus far with this workflow is that if a package `foo` says "I require version 2.0 of package X", the package catalog can only give you the most recent version of package X. This isn't a major issue if package X is well-behaved regarding backwards compatibility, but as these are social rules and not technical ones, outliers will exist. The "safest" thing for installation to do would be to install version 2.0, as it's the closest match to the features required by `foo`.

In order to support this, would it make sense for the package X to have something like this in it's info.rkt?

(define version-sources
  (hash "1.0" package-source-for-foo-1.0
        "1.1" package-source-for-foo-1.1
        "2.0" package-source-for-foo-2.0))

I think it would be possible for the package catalog and package build server to use this information to figure out what to do with requests for a particular version of a package name. I don't know enough about the implementation of that infrastructure to know how feasible this is however.

What are some alternate ways of versioning packages? Should this process be documented and referenced by the package catalog website? Or the main racket documentation on packages?

--
You received this message because you are subscribed to the Google Groups "Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To post to this group, send email to racket-dev-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/715bb22a-12e7-4d51-bdd3-f91f5a80c6ad%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Neil Van Dyke | 31 Aug 17:26 2015
Picon

Re: non-backward compatible packages (Was: [racket-users] [ann] gregor (date + time library) updates)

My super-strongly preferred engineering notion: backward-compatibility 
of a package refers to the *documented* behavior of the package, not to 
actual behavior.

For the moment, disregard the exception cases arising when actual 
behavior of a version doesn't comply with documented behavior for that 
version.  I think it's important to focus first on human 
expression&interpretation of *documented* behavior.  Developing to 
interface documentation (like to specs of a bolt from the manufacturer) 
helps a lot of engineering processes work, especially between 
organizations.  I think that this "between organizations" should be the 
usual case with the package system.

(Even if you had some breakthrough halting-problem-transwarp approach to 
determining backward-compatibility programmatically, with a pretty 
DrRacket smiley/frowny-face icon indicator, I would still expect to be 
able to work from the English documentation of behavior.  I'm not 
ignoring the possibilities of unit tests and formal specification, but, 
at the end of the day, I think your documentation needs to be 
human-readable, for preferred engineering processes as we know them to 
work.)

Neil V.

--

-- 
You received this message because you are subscribed to the Google Groups "Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+unsubscribe@...
To post to this group, send email to racket-dev@...
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/55E47208.7030508%40neilvandyke.org.
For more options, visit https://groups.google.com/d/optout.

Alexis King | 31 Aug 00:30 2015
Picon

Creating a language that extends typed/racket

(Disclaimer: I think this question may have been visited before on this mailing list, but I couldn’t find
any resolution, so I’m going to ask again.)

I would like to write a language that extends typed/racket or typed/racket/base. Specifically, I have a
collection, called “envy”. I would like to create a `#lang envy` that is just like #lang
typed/racket/base, but also includes (all-from-out envy). My first instinct was just to create a
language using syntax/module-reader, along with a simple module language:

   #lang typed/racket/base
   (require envy)
   (provide (all-from-out envy typed/racket/base))

Unfortunately, this doesn’t work. The `envy` module defines a macro called `define-environment`, but
attempting to use it in this `#lang envy` fails:

   Type Checker: Macro define-environment from typed module used in untyped code in: (define-environment)

So that doesn’t work. For some reason, the typechecker thinks `#lang envy` is untyped (though it seems to
typecheck properly when not using macros). However, I realized that `#lang typed/racket` is a module
language that obviously extends typed/racket/base. It uses typed-racket/minimal, but using that
instead of typed/racket/base didn’t alleviate my problem.

Is it possible to create a custom language that extends typed/racket/base? How does typed/racket itself
do it?

Alexis

--

-- 
You received this message because you are subscribed to the Google Groups "Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+unsubscribe@...
To post to this group, send email to racket-dev@...
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/A3F89F4B-BDA4-41A8-80DC-4A6F63823916%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Antonio Menezes Leitao | 30 Aug 12:20 2015
Picon

Bug in Typed Racket optimizer and snapshots

Hi,

I recently found a strange behavior in Typed Racket, where immediately after type-checking my code, in generates an error that looks like this:

..\..\..\..\..\..\..\..\Program Files\Racket-6.2.900.10\share\pkgs\typed-racket-lib\typed-racket\static-contracts\optimize.rkt:158:6: free-id-table-ref: no mapping for #<syntax n*463>

Note that I'm using a recent Racket snapshot: 6.2.900.10--2015-08-25(a1e6c94/a)

I did lots of experiments to identify the cause of the error but I could only make it disappear by reducing the number of definitions in the file, or by replacing some macro calls with their expansion.

Unfortunately, I could not try a more recent snapshot as the page in http://www.cs.utah.edu/plt/snapshots/ is not working properly. The links go nowhere.

Any suggestions?

Best,
António.




--
You received this message because you are subscribed to the Google Groups "Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To post to this group, send email to racket-dev-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/CAJQmiZX9_WzEucvccNfcrLqYL%2Be1-0UT8oaLjOu-VJozL%3Dkxhg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
Anthony Carrico | 29 Aug 06:48 2015

scope-sets-5 section 2.2 Bindings

> 2.2 Bindings
> 
> When macro expansion encounters a binding form, it
> 
> * creates a new scope;
> 
> * adds the scope to every identifier in binding position, as well as to
> the region where the bindings apply; and
> 
> * extends a global table that maps a ⟨symbol, scope set⟩ pair to a
> representation of a binding.

Here it seems like the "<symbol, scope set> pair" itself would make a
fine "representation of a binding". Then the global binding table would
just be a global binding set, and the <symbol, scope set> pair itself
would key the compile time environment.

> Each local binding is represented by a unique, opaque value (e.g., a
> gensym).A binding to a module export is represented by the module
> name paired with a serializable identifier for the definition within
> the module.

Are module exports the reason for a global binding table instead of a
global binding set? Is it mainly for flexibility/convenience of adding
other data to the binding's representation rather than storing such
things in aux. tables? Or am I missing something (very likely!)?

-- 
Anthony Carrico

--

-- 
You received this message because you are subscribed to the Google Groups "Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+unsubscribe@...
To post to this group, send email to racket-dev@...
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/55E139AB.3010009%40memebeam.org.
For more options, visit https://groups.google.com/d/optout.

Re: Handin-Server Grading Utilities: write-report's start-timer

	
> On Aug 27, 2015, at 3:16 PM, Matthew Saponaro <mattsap@...> wrote:
> 
> Here's the diff for the documentation online. I did it with an online tool since it's just text from online: https://www.diffchecker.com/qolqblvq
> 
> Attached is the diff I generated using git on the repository.

Many thanks for your help! The changes you suggest are now both a part of the handin-server repo.

John Clements

--

-- 
You received this message because you are subscribed to the Google Groups "Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+unsubscribe@...
To post to this group, send email to racket-dev@...
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/6fe32695-d52c-4d01-9ca9-b184d253282b%40mtasv.net.
For more options, visit https://groups.google.com/d/optout.

Re: Handin-Server Grading Utilities: write-report's start-timer


> On Aug 28, 2015, at 1:07 PM, Jay McCarthy <jay.mccarthy@...> wrote:
> 
> Sorry for the delay in my response... this seems right to me. Is that
> commit pushed? Can I do anything to help?

There’s a PR open against plt/handin:

https://github.com/plt/handin/pull/18

It turns out I don’t have write access to the “plt” repos. Perhaps you do?

John

> 
> Jay
> 
> On Thu, Aug 27, 2015 at 3:12 PM, Matthew Saponaro <mattsap@...> wrote:
>> This is correct. If you modify the grading-utilities to incorporate the
>> (start-timer-manager) call this will work.
>> 
>> I think it may be reasonable to modify the github handin accordingly.
>> 
>> In addition, I think there are some typos in the documentation:
>> http://pkg-build.racket-lang.org/doc/handin-server/grading-utils.html
>> 
>> Note: test instead of  <at> test in the code example provided.
>> 
>> Note: The check is missing the language specification in the code example
>> provided.
>> (check:
>> 
>> :language  '(special intermediate)
>> 
>> ...)
>> 
>> These are just some notes that I would like to post here. I'm not sure where
>> they may be best suited, but hopefully someone can redirect these issues to
>> the correct individual(s).
>> 
>> 
>> 
>> On Wed, Aug 26, 2015 at 7:13 PM, John Clements <clements@...g>
>> wrote:
>>> 
>>>> On Aug 26, 2015, at 2:53 PM, mattsap@... wrote:
>>>> 
>>>> Hello,
>>>> 
>>>> I was wondering if someone could help me with the following. I'm setting
>>>> up the handin collection for a class.
>>>> 
>>>> When I submit the code to my handin-server I get the following error:
>>>> 
>>>> -ERROR MESSAGE-----------------------------
>>>> commit error: start-timer: arity mismatch;
>>>> the expected number of arguments does not match the given number
>>>>  expected: 3
>>>>  given: 2
>>>>  arguments...:
>>>>   0
>>>>   #<procedure>
>>>> 
>>>> -END ERROR MESSAGE-----------------------------
>>>> 
>>>> I traced the issue to the write-report function in the config file.
>>>> Inside of write-report a start-timer function call is made with 2 arguments.
>>>> The start-timer function consumes 3 arguments per the documentation here:
>>>> http://docs.racket-lang.org/web-server-internal/timer.html?q=start-timer#%28def._%28%28lib._web-server%2Fprivate%2Ftimer..rkt%29._start-timer%29%29
>>>> 
>>>> I opened up the write-report's definition in the grading-utilities.rkt
>>>> and here is the call to start-timer which seems to be missing a parameter:
>>>> 
>>>> (start-timer (* 60 report-delay)
>>>>                        (thunk
>>>>                         (with-output-to-file
>>>>                             (build-path dir
>>>>                                         (format "~a-report-~a.txt"
>>>>                                                 (string-join users "+")
>>>>                                                 ts))
>>>>                           #:exists 'replace
>>>>                           (thunk (display report-string)))))
>>>> 
>>>> I'm not sure what to do now. Any suggestions? Below are my files.
>>> 
>>> It looks like the ‘tm’ argument to start-timer is missing. My guess is
>>> that the ‘tm’ argument was added to the start-timer definition since the
>>> last time the ‘write-report’ function was used. My guess is that the
>>> handin-server should create (or obtain?) a timer manager using
>>> (start-timer-manager) when it’s started. I’m guessing Jay McCarthy knows
>>> more about this.
>>> 
>>> John Clements
>>> 
>>> 
>>> 
>> 
> 
> 
> 
> -- 
> Jay McCarthy
> http://jeapostrophe.github.io
> 
>           "Wherefore, be not weary in well-doing,
>      for ye are laying the foundation of a great work.
> And out of small things proceedeth that which is great."
>                          - D&C 64:33

--

-- 
You received this message because you are subscribed to the Google Groups "Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+unsubscribe@...
To post to this group, send email to racket-dev@...
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/aa2e7590-2ab9-4ee6-8178-0f9721d0ce1f%40mtasv.net.
For more options, visit https://groups.google.com/d/optout.

Re: Handin-Server Grading Utilities: write-report's start-timer


> On Aug 27, 2015, at 3:16 PM, Matthew Saponaro <mattsap@...> wrote:
> 
> On Thu, Aug 27, 2015 at 4:10 PM, John Clements <clements@...> wrote:
> 
> > On Aug 27, 2015, at 12:12 PM, Matthew Saponaro <mattsap@...> wrote:
> >
> > This is correct. If you modify the grading-utilities to incorporate the (start-timer-manager) call
this will work.
> 
> Can you pass along the changes that you made? A pull request would be great, but any kind of diff would
probably work.
> >
> > I think it may be reasonable to modify the github handin accordingly.
> >
> > In addition, I think there are some typos in the documentation: http://pkg-build.racket-lang.org/doc/handin-server/grading-utils.html
> >
> > Note: test instead of  <at> test in the code example provided.

Hmm… did you mean ‘!test’, or ‘ <at> test’ ?

John Clements

--

-- 
You received this message because you are subscribed to the Google Groups "Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+unsubscribe@...
To post to this group, send email to racket-dev@...
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/5c55f6e0-69b7-4100-bb8d-99fd20cd16d2%40mtasv.net.
For more options, visit https://groups.google.com/d/optout.

mattsap | 26 Aug 23:53 2015
Picon

Handin-Server Grading Utilities: write-report's start-timer

Hello,

I was wondering if someone could help me with the following. I'm setting up the handin collection for a class. 

When I submit the code to my handin-server I get the following error:

-ERROR MESSAGE-----------------------------
commit error: start-timer: arity mismatch;
 the expected number of arguments does not match the given number
  expected: 3
  given: 2
  arguments...:
   0
   #<procedure>

-END ERROR MESSAGE-----------------------------

I traced the issue to the write-report function in the config file. Inside of write-report a start-timer function call is made with 2 arguments. The start-timer function consumes 3 arguments per the documentation here: http://docs.racket-lang.org/web-server-internal/timer.html?q=start-timer#%28def._%28%28lib._web-server%2Fprivate%2Ftimer..rkt%29._start-timer%29%29

I opened up the write-report's definition in the grading-utilities.rkt and here is the call to start-timer which seems to be missing a parameter:

(start-timer (* 60 report-delay)
                        (thunk
                         (with-output-to-file
                             (build-path dir 
                                         (format "~a-report-~a.txt"
                                                 (string-join users "+")                                        
                                                 ts))
                           #:exists 'replace
                           (thunk (display report-string)))))

I'm not sure what to do now. Any suggestions? Below are my files.


------Student Submission-------
(define (bar x y)
 
(+ x y))

------CONFIG file-----------------
((active-dirs ("test"))
 
(deadline (("test" (2016 3 11 23 59 59) 3)))
 
(max-submissions (("test" 200)))
)

------CHECKER.rkt-------------------
(module checker handin-server/checker
 
 
(require handin-server/grading-utils)
 
 
; Checks that submission is on time and that the user has submissions left
 
(pre:
   
(check-deadline)
   
(check-max-submissions))
 
 
; Ends the report by adding the score and writes it in the user directory
 
; This way, students can see their reports from the web interface.
 
(post:
   
(add-score-to-report!)
   
(write-report))
 
 
(check:
   
; Get timestamp of the submission and add it to header and report
   
:language  '(special intermediate)
   (update-submission-timestamp!)
   (add-header-line! (get-submission-timestamp))
   (add-report-line! (get-submission-timestamp))

   ; Grading
 
   ; Initialize max score
   (set-test-max-score! 100)
 
   ; Failure discounts 25 points
   ( <at> test "Sample case 1"
          "Error using even? predicate"
          (bar 1 3)
          4
          25)
   ))



--
You received this message because you are subscribed to the Google Groups "Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To post to this group, send email to racket-dev-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/50acf38a-b458-4695-a076-37504ddf544f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Asumu Takikawa | 22 Aug 22:20 2015

Composability of internal def. context and caching/lifting

Hi all,

I found a situation where internal definition contexts and lifting/caching
don't seem to compose well. Does anyone have any advice on a macro technique to
use here?

Here's a specific example to illustrate what I mean:

  #lang racket

  ;; lift CCR
  (define-syntax (do-lift stx)
    (if (eq? (syntax-local-context) 'expression)
        (syntax-local-lift-expression #'current-contract-region)
        #`(#%expression #,stx)))

  ;; delayed expansion of lifted ref causes problems
  (define (f x)
    (do-lift) ; this is ok if it comes afterwards
    (define y current-contract-region)
    (void))

This results in an undefined id error. It happens even though `do-lift` is
written to be careful about delaying lifting in an internal def. context.

The `current-contract-region` id macro uses syntax lifting and a compile-time
hashtable to cache the expanded definition.

The macro `do-lift` does a lift of a use of `current-contract-region`, delaying
the lift for internal def contexts.

The problem is when these two macros get used in `f`. The lift by `(do-lift)`
lifts a `current-contract-region` use, but this use isn't expanded until later
after the def. context is done.

But this means the first instance of `current-contract-region` to get expanded
is the one in the def. context, so it will set the cache first. Thus the
delayed reference in the lift will become unbound since it consults the cache.

How should I make these macros (or maybe current-contract-region) more
resilient?

Cheers,
Asumu

--

-- 
You received this message because you are subscribed to the Google Groups "Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+unsubscribe@...
To post to this group, send email to racket-dev@...
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/20150822202012.GR17255%40simplyrobot.org.
For more options, visit https://groups.google.com/d/optout.

Gustavo Massaccesi | 17 Aug 20:16 2015
Picon

Re: [plt] Push #29981: master branch updated

I think you'd like to delete the MzCOM.tmp_Release_x64.vcproj file.

Gustavo

On Mon, Aug 17, 2015 at 1:16 PM,  <mflatt@...> wrote:
> mflatt has updated `master' from 641c56b6e9 to 1b493f2146.
>   http://git.racket-lang.org/plt/641c56b6e9..1b493f2146
>
> =====[ One Commit ]=====================================================
> Directory summary:
>   98.9% racket/src/worksp/mzcom/
>
> ~~~~~~~~~~
>
> 1b493f2 Matthew Flatt <mflatt@...> 2015-08-17 10:16
> :
> | fix MzCOM's atexit replacement
> :
>   M racket/src/mzcom/mzobj.cxx | 3 ++-
>   A racket/src/worksp/mzcom/MzCOM.tmp_Release_x64.vcproj
>
> =====[ Overall Diff ]===================================================
>
> racket/src/mzcom/mzobj.cxx
> ~~~~~~~~~~~~~~~~~~~~~~~~~~
> --- OLD/racket/src/mzcom/mzobj.cxx
> +++ NEW/racket/src/mzcom/mzobj.cxx
>  <at>  <at>  -302,9 +302,10  <at>  <at>  static int do_evalLoop(Scheme_Env *env, int argc, char **_args)
>    return 0;
>  }
>
> -static void record_at_exit(Scheme_At_Exit_Callback_Proc p) XFORM_SKIP_PROC
> +static int record_at_exit(Scheme_At_Exit_Callback_Proc p) XFORM_SKIP_PROC
>  {
>    at_exit_callback = p;
> +  return 0;
>  }
>
>  static __declspec(thread) void *tls_space;
>
> racket/src/worksp/mzcom/MzCOM.tmp_Release_x64.vcproj
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> --- /dev/null
> +++ NEW/racket/src/worksp/mzcom/MzCOM.tmp_Release_x64.vcproj
>  <at>  <at>  -0,0 +1,99  <at>  <at> 
> +<?xml version="1.0" encoding="Windows-1252"?>
> +<VisualStudioProject ProjectType="Visual C++" Version="9.00" Name="MzCOM"
ProjectGUID="{36F31050-55C6-41A3-A23E-3008EBFC1273}" TargetFrameworkVersion="131072">
> +  <Platforms>
> +    <Platform Name="Win32" />
> +    <Platform Name="x64" />
> +  </Platforms>
> +  <ToolFiles>
> +  </ToolFiles>
> +  <Configurations>
> +    <Configuration Name="BDebug|Win32" OutputDirectory="..\..\..\lib"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
> +      <Tool Name="VCMIDLTool" TypeLibraryName="$(OutDir)\$(ProjectName).tlb" />
> +      <Tool Name="VCCLCompilerTool" Optimization="0"
AdditionalIncludeDirectories="..,..\..\racket\include,."
PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS,GC_DLL" BasicRuntimeChecks="3"
RuntimeLibrary="1" UsePrecompiledHeader="0" WarningLevel="3" SuppressStartupBanner="true"
DebugInformationFormat="3" CompileAs="0" />
> +      <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033"
AdditionalIncludeDirectories="..\..\mzcom,$(OutDir),$(NOINHERIT)" />
> +      <Tool Name="VCLinkerTool" AdditionalOptions="/MACHINE:I386 /DELAYLOAD:libracketxxxxxxx.dll
/DELAYLOAD:libmzgcxxxxxxx.dll" AdditionalDependencies="delayimp.lib"
OutputFile="..\..\..\lib\$(ProjectName)CGC.exe" SuppressStartupBanner="true"
GenerateDebugInformation="true" ProgramDatabaseFile="..\..\..\lib\$(ProjectName)CGC.pdb"
SubSystem="2" StackReserveSize="8388608" RandomizedBaseAddress="1"
DataExecutionPrevention="0" />
> +    </Configuration>
> +    <Configuration Name="BDebug|x64" OutputDirectory="..\..\..\lib"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
> +      <Tool Name="VCMIDLTool" TargetEnvironment="3"
TypeLibraryName="$(OutDir)\$(ProjectName).tlb" />
> +      <Tool Name="VCCLCompilerTool" Optimization="0"
AdditionalIncludeDirectories="..,..\..\racket\include,."
PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS,GC_DLL" BasicRuntimeChecks="3"
RuntimeLibrary="1" UsePrecompiledHeader="0" WarningLevel="3" SuppressStartupBanner="true"
DebugInformationFormat="3" CompileAs="0" />
> +      <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033"
AdditionalIncludeDirectories="..\..\mzcom,$(OutDir),$(NOINHERIT)" />
> +      <Tool Name="VCLinkerTool" AdditionalOptions="/MACHINE:I386 /DELAYLOAD:libracketxxxxxxx.dll
/DELAYLOAD:libmzgcxxxxxxx.dll" AdditionalDependencies="delayimp.lib"
OutputFile="..\..\..\lib\$(ProjectName)CGC.exe" SuppressStartupBanner="true"
GenerateDebugInformation="true" ProgramDatabaseFile="..\..\..\lib\$(ProjectName)CGC.pdb"
SubSystem="2" StackReserveSize="8388608" RandomizedBaseAddress="1"
DataExecutionPrevention="0" TargetMachine="17" />
> +    </Configuration>
> +    <Configuration Name="BRelease|Win32" OutputDirectory="..\..\..\lib"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
> +      <Tool Name="VCMIDLTool" TypeLibraryName="$(OutDir)\$(ProjectName).tlb" />
> +      <Tool Name="VCCLCompilerTool" InlineFunctionExpansion="2" EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1" AdditionalIncludeDirectories="..,..\..\racket\include,."
PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS,GC_DLL" StringPooling="true"
RuntimeLibrary="0" EnableFunctionLevelLinking="true" UsePrecompiledHeader="0"
WarningLevel="3" SuppressStartupBanner="true" DebugInformationFormat="3" CompileAs="0" />
> +      <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033"
AdditionalIncludeDirectories="..\..\mzcom,$(OutDir),$(NOINHERIT)" />
> +      <Tool Name="VCLinkerTool" AdditionalOptions="/MACHINE:I386 /DELAYLOAD:libracketxxxxxxx.dll
/DELAYLOAD:libmzgcxxxxxxx.dll" AdditionalDependencies="delayimp.lib"
OutputFile="..\..\..\lib\$(ProjectName)CGC.exe" LinkIncremental="1"
SuppressStartupBanner="true" GenerateDebugInformation="true"
ProgramDatabaseFile="..\..\..\lib\$(ProjectName)CGC.pdb" SubSystem="2"
StackReserveSize="8388608" RandomizedBaseAddress="1" DataExecutionPrevention="0" />
> +    </Configuration>
> +    <Configuration Name="BRelease|x64" OutputDirectory="..\..\..\lib"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
> +      <Tool Name="VCMIDLTool" TargetEnvironment="3"
TypeLibraryName="$(OutDir)\$(ProjectName).tlb" />
> +      <Tool Name="VCCLCompilerTool" InlineFunctionExpansion="2" EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1" AdditionalIncludeDirectories="..,..\..\racket\include,."
PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS,GC_DLL" StringPooling="true"
RuntimeLibrary="0" EnableFunctionLevelLinking="true" UsePrecompiledHeader="0"
WarningLevel="3" SuppressStartupBanner="true" DebugInformationFormat="3" CompileAs="0" />
> +      <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033"
AdditionalIncludeDirectories="..\..\mzcom,$(OutDir),$(NOINHERIT)" />
> +      <Tool Name="VCLinkerTool" AdditionalOptions="/DELAYLOAD:libracketxxxxxxx.dll
/DELAYLOAD:libmzgcxxxxxxx.dll" AdditionalDependencies="delayimp.lib"
OutputFile="..\..\..\lib\$(ProjectName)CGC.exe" LinkIncremental="1"
SuppressStartupBanner="true" GenerateDebugInformation="true"
ProgramDatabaseFile="..\..\..\lib\$(ProjectName)CGC.pdb" SubSystem="2"
StackReserveSize="8388608" RandomizedBaseAddress="1" DataExecutionPrevention="0"
TargetMachine="17" />
> +    </Configuration>
> +    <Configuration Name="SDebug|Win32" OutputDirectory="..\..\..\lib"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
> +      <Tool Name="VCMIDLTool" TypeLibraryName="$(OutDir)\$(ProjectName).tlb" />
> +      <Tool Name="VCCLCompilerTool" Optimization="0"
AdditionalIncludeDirectories="..,..\..\racket\include,."
PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS,GC_DLL,USE_SENORA_GC"
BasicRuntimeChecks="3" RuntimeLibrary="1" UsePrecompiledHeader="0" WarningLevel="3"
SuppressStartupBanner="true" DebugInformationFormat="3" CompileAs="0" />
> +      <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033"
AdditionalIncludeDirectories="..\..\mzcom,$(OutDir),$(NOINHERIT)" />
> +      <Tool Name="VCLinkerTool" AdditionalOptions="/MACHINE:I386 /DELAYLOAD:libracketxxxxxxx.dll
/DELAYLOAD:libmzgcxxxxxxx.dll" AdditionalDependencies="delayimp.lib"
OutputFile="..\..\..\lib\$(ProjectName)CGC.exe" SuppressStartupBanner="true"
GenerateDebugInformation="true" ProgramDatabaseFile="..\..\..\lib\$(ProjectName)CGC.pdb"
SubSystem="2" StackReserveSize="8388608" RandomizedBaseAddress="1"
DataExecutionPrevention="0" />
> +    </Configuration>
> +    <Configuration Name="SDebug|x64" OutputDirectory="..\..\..\lib"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
> +      <Tool Name="VCMIDLTool" TargetEnvironment="3"
TypeLibraryName="$(OutDir)\$(ProjectName).tlb" />
> +      <Tool Name="VCCLCompilerTool" Optimization="0"
AdditionalIncludeDirectories="..,..\..\racket\include,."
PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS,GC_DLL,USE_SENORA_GC"
BasicRuntimeChecks="3" RuntimeLibrary="1" UsePrecompiledHeader="0" WarningLevel="3"
SuppressStartupBanner="true" DebugInformationFormat="3" CompileAs="0" />
> +      <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033"
AdditionalIncludeDirectories="..\..\mzcom,$(OutDir),$(NOINHERIT)" />
> +      <Tool Name="VCLinkerTool" AdditionalOptions="/MACHINE:I386 /DELAYLOAD:libracketxxxxxxx.dll
/DELAYLOAD:libmzgcxxxxxxx.dll" AdditionalDependencies="delayimp.lib"
OutputFile="..\..\..\lib\$(ProjectName)CGC.exe" SuppressStartupBanner="true"
GenerateDebugInformation="true" ProgramDatabaseFile="..\..\..\lib\$(ProjectName)CGC.pdb"
SubSystem="2" StackReserveSize="8388608" RandomizedBaseAddress="1"
DataExecutionPrevention="0" TargetMachine="17" />
> +    </Configuration>
> +    <Configuration Name="SRelease|Win32" OutputDirectory="..\..\..\lib"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
> +      <Tool Name="VCMIDLTool" TypeLibraryName="$(OutDir)\$(ProjectName).tlb" />
> +      <Tool Name="VCCLCompilerTool" InlineFunctionExpansion="2" EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1" AdditionalIncludeDirectories="..,..\..\racket\include,."
PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS,GC_DLL,USE_SENORA_GC" StringPooling="true"
RuntimeLibrary="0" EnableFunctionLevelLinking="true" UsePrecompiledHeader="0"
WarningLevel="3" SuppressStartupBanner="true" DebugInformationFormat="3" CompileAs="0" />
> +      <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033"
AdditionalIncludeDirectories="..\..\mzcom,$(OutDir),$(NOINHERIT)" />
> +      <Tool Name="VCLinkerTool" AdditionalOptions="/MACHINE:I386 /DELAYLOAD:libracketxxxxxxx.dll
/DELAYLOAD:libmzgcxxxxxxx.dll" AdditionalDependencies="delayimp.lib"
OutputFile="..\..\..\lib\$(ProjectName)CGC.exe" LinkIncremental="1"
SuppressStartupBanner="true" GenerateDebugInformation="true"
ProgramDatabaseFile="..\..\..\lib\$(ProjectName)CGC.pdb" SubSystem="2"
StackReserveSize="8388608" RandomizedBaseAddress="1" DataExecutionPrevention="0" />
> +    </Configuration>
> +    <Configuration Name="SRelease|x64" OutputDirectory="..\..\..\lib"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
> +      <Tool Name="VCMIDLTool" TargetEnvironment="3"
TypeLibraryName="$(OutDir)\$(ProjectName).tlb" />
> +      <Tool Name="VCCLCompilerTool" InlineFunctionExpansion="2" EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1" AdditionalIncludeDirectories="..,..\..\racket\include,."
PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS,GC_DLL,USE_SENORA_GC" StringPooling="true"
RuntimeLibrary="0" EnableFunctionLevelLinking="true" UsePrecompiledHeader="0"
WarningLevel="3" SuppressStartupBanner="true" DebugInformationFormat="3" CompileAs="0" />
> +      <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033"
AdditionalIncludeDirectories="..\..\mzcom,$(OutDir),$(NOINHERIT)" />
> +      <Tool Name="VCLinkerTool" AdditionalOptions="/DELAYLOAD:libracketxxxxxxx.dll
/DELAYLOAD:libmzgcxxxxxxx.dll" AdditionalDependencies="delayimp.lib
C:\Users\mflatt\plt\racket\src\worksp\libracket\..\..\..\lib\msvc\libracketxxxxxxx.lib
C:\Users\mflatt\plt\racket\src\worksp\libmzgc\..\..\..\lib\msvc\libmzgcxxxxxxx.lib
C:\Users\mflatt\plt\racket\src\worksp\sgc\..\..\..\lib\msvc\libmzgcxxxxxxx.lib"
OutputFile="..\..\..\lib\$(ProjectName)CGC.exe" LinkIncremental="1"
SuppressStartupBanner="true" GenerateDebugInformation="true"
ProgramDatabaseFile="..\..\..\lib\$(ProjectName)CGC.pdb" SubSystem="2"
StackReserveSize="8388608" RandomizedBaseAddress="1" DataExecutionPrevention="0"
TargetMachine="17" />
> +    </Configuration>
> +    <Configuration Name="3m|Win32" OutputDirectory="..\..\..\lib"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
> +      <Tool Name="VCMIDLTool" TypeLibraryName="$(OutDir)\$(ProjectName).tlb" />
> +      <Tool Name="VCCLCompilerTool" InlineFunctionExpansion="2" EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1" AdditionalIncludeDirectories="..,..\..\racket\include,."
PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS,GC_DLL,MZCOM_3M" StringPooling="true"
RuntimeLibrary="0" EnableFunctionLevelLinking="true" UsePrecompiledHeader="0"
WarningLevel="3" SuppressStartupBanner="true" DebugInformationFormat="3" CompileAs="0" />
> +      <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033"
AdditionalIncludeDirectories="..\..\mzcom,$(OutDir),$(NOINHERIT)" />
> +      <Tool Name="VCLinkerTool" LinkLibraryDependencies="false" AdditionalOptions="/MACHINE:I386
/DELAYLOAD:libracket3mxxxxxxx.dll" AdditionalDependencies="delayimp.lib
..\..\..\lib\msvc\libracket3mxxxxxxx.lib" OutputFile="..\..\..\lib\$(ProjectName).exe"
LinkIncremental="1" SuppressStartupBanner="true" GenerateDebugInformation="true"
ProgramDatabaseFile="..\..\..\lib\$(ProjectName).pdb" SubSystem="2"
StackReserveSize="8388608" RandomizedBaseAddress="1" DataExecutionPrevention="0" />
> +    </Configuration>
> +    <Configuration Name="3m|x64" OutputDirectory="..\..\..\lib"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
> +      <Tool Name="VCMIDLTool" TargetEnvironment="3"
TypeLibraryName="$(OutDir)\$(ProjectName).tlb" />
> +      <Tool Name="VCCLCompilerTool" InlineFunctionExpansion="2" EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1" AdditionalIncludeDirectories="..,..\..\racket\include,."
PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS,GC_DLL,MZCOM_3M" StringPooling="true"
RuntimeLibrary="0" EnableFunctionLevelLinking="true" UsePrecompiledHeader="0"
WarningLevel="3" SuppressStartupBanner="true" DebugInformationFormat="3" CompileAs="0" />
> +      <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033"
AdditionalIncludeDirectories="..\..\mzcom,$(OutDir),$(NOINHERIT)" />
> +      <Tool Name="VCLinkerTool" LinkLibraryDependencies="false"
AdditionalOptions="/DELAYLOAD:libracket3mxxxxxxx.dll" AdditionalDependencies="delayimp.lib
..\..\..\lib\msvc\libracket3mxxxxxxx.lib" OutputFile="..\..\..\lib\$(ProjectName).exe"
LinkIncremental="1" SuppressStartupBanner="true" GenerateDebugInformation="true"
ProgramDatabaseFile="..\..\..\lib\$(ProjectName).pdb" SubSystem="2"
StackReserveSize="8388608" RandomizedBaseAddress="1" DataExecutionPrevention="0"
TargetMachine="17" />
> +    </Configuration>
> +  </Configurations>
> +  <References>
> +  </References>
> +  <Files>
> +    <Filter Name="Source Files" Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
> +      <File RelativePath="..\..\mzcom\mzcom.cxx">
> +      </File>
> +      <File RelativePath="..\..\mzcom\com_glue.c">
> +      </File>
> +      <File RelativePath="..\..\mzcom\mzcom.idl">
> +      </File>
> +      <File RelativePath="..\..\mzcom\mzobj.cxx">
> +      </File>
> +    </Filter>
> +    <Filter Name="Header Files" Filter="h;hpp;hxx;hm;inl">
> +      <File RelativePath="..\..\mzcom\mzobj.h">
> +      </File>
> +      <File RelativePath="..\..\mzcom\com_glue.h">
> +      </File>
> +    </Filter>
> +    <Filter Name="Resource Files" Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
> +      <File RelativePath=".\mzcom.ico">
> +      </File>
> +      <File RelativePath=".\mzcom.rc">
> +      </File>
> +    </Filter>
> +  </Files>
> +  <Globals>
> +  </Globals>
> +</VisualStudioProject>
> \ No newline at end of file

--

-- 
You received this message because you are subscribed to the Google Groups "Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+unsubscribe@...
To post to this group, send email to racket-dev@...
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/CAPaha9PFuBXoqqrWMrp4EByXkPpVpE13r-FXznu%3D2AGGSPsNPw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Gmane