Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit22a5dcb

Browse files
committed
Merge branch 'master' ofhttp://github.com/Microsoft/visualfsharp into unused1
2 parentsf448785 +6453d1b commit22a5dcb

File tree

35 files changed

+1116
-1126
lines changed

35 files changed

+1116
-1126
lines changed

‎DEVGUIDE.md‎

Lines changed: 41 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,23 @@
22

33
Follow the instructions below to build and develop the F# Compiler, Core Library and tools on Windows, macOS and Linux.
44

5-
*[Developing the F# Compiler (Windows)](#developing-the-f-compiler-windows)
6-
*[Developing the F# Compiler (Linux)](#developing-the-f-compiler-linux)
7-
*[Developing the F# Compiler (macOS)](#developing-the-f-compiler-macos)
8-
*[Developing the Visual F# IDE Tools (Windows Only)](#developing-the-visual-f-ide-tools-windows-only)
9-
*[Notes and Resources](#notes)
5+
-[Developing the F# Compiler (Windows)](#developing-the-f-compiler-windows)
6+
-[Developing the F# Compiler (Linux)](#developing-the-f-compiler-linux)
7+
-[Developing the F# Compiler (macOS)](#developing-the-f-compiler-macos)
8+
-[Developing the Visual F# IDE Tools (Windows Only)](#developing-the-visual-f-ide-tools-windows-only)
9+
-[Notes and Resources](#notes)
1010

11-
###Developing the F# Compiler (Windows)
11+
###Developing the F# Compiler (Windows)
1212

1313
Install
1414

1515
-[.NET 4.6](https://www.microsoft.com/en-gb/download/details.aspx?id=48130)
1616

1717
**NOTE on Windows:**
18-
1. It is recommended to run the build.cmd and the qualifiers below on a command prompt with path set to have the location of MSBuild. If you have Visual Studio, we can also run using`Developer Command Prompt for Visual Studio 20xx` (depends on Visual Studio version). This developer command prompt is easier to use than normal command prompt, because it already has the correct path of Visual Studio and .NET's tooling set for us to use (including MSBuild).
19-
2. The running command prompt must be run under Administrator right (`Run as Administrator`).
18+
19+
1. It is recommended to run`build.cmd` in a command prompt with path set to have the location of MSBuild. If you have Visual Studio, we can run using`Developer Command Prompt for Visual Studio 20xx` (depends on Visual Studio version). This developer command prompt is easier to use than normal command prompt, because it already has the correct path of Visual Studio and .NET's tooling set for us to use (including MSBuild).
20+
21+
2. The command prompt must have Administrator rights (`Run as Administrator`).
2022

2123
Before running the build scripts, ensure that you have cleaned up the visualfsharp repo by running this git command:
2224

@@ -59,18 +61,18 @@ After you build the first time you can open and use this solution:
5961

6062
or just build it directly:
6163

62-
msbuild FSharp.sln
64+
msbuild FSharp.sln
6365

6466
If you are just developing the core compiler and library then building``FSharp.sln`` will be enough.
6567

66-
###Developing the F# Compiler (Linux)
68+
###Developing the F# Compiler (Linux)
6769

6870
For Linux/Mono, follow[these instructions](http://www.mono-project.com/docs/getting-started/install/linux/). Also you may need:
6971

7072
sudo apt-get install mono-complete make git
7173

7274
Then:
73-
75+
7476
make
7577

7678
Then to replace your machine-wide installation:
@@ -79,7 +81,7 @@ Then to replace your machine-wide installation:
7981

8082
Full testing is not yet enabled on Linux.
8183

82-
###Developing the F# Compiler (macOS)
84+
###Developing the F# Compiler (macOS)
8385

8486
Install XCode command line tools (or homebrew equivalents) and Mono or Visual Studio for Mac.
8587

@@ -99,25 +101,25 @@ You can specify a custom installation path using the DESTDIR shell variable
99101

100102
DESTDIR=/my/path/to/fsharp make install
101103

102-
###Developing the F# Compiler (Linux or macOS - .NET Core)
104+
###Developing the F# Compiler (Linux or macOS - .NET Core)
103105

104106
Install[the latest .NET SDK](https://www.microsoft.com/net/download/). Then use
105107

106-
src/buildfromsource.sh
108+
src/buildfromsource.sh
107109

108-
Outputs are placed in
110+
Outputs are placed in
109111

110112
BuildFromSource/Debug/...
111113
BuildFromSource/Release/...
112114

113-
This uses an installed .NET SDK 2.0 to build the various duplicated project
114-
115-
Testing the .NET Core version of the F# compiler on macOS and Linux is TBD.
115+
This uses an installed .NET SDK 2.0 to build the various duplicated project
116116

117+
Testing the .NET Core version of the F# compiler on macOS and Linux is TBD.
117118

118119
###Developing the Visual F# IDE Tools (Windows Only)
119120

120121
To build and test Visual F# IDE Tools, install these requirements:
122+
121123
-[Visual Studio 2017](https://www.visualstudio.com/downloads/)
122124
- Under the "Windows" workloads, select ".NET desktop development"
123125
- Select "F# desktop language support" under the optional components
@@ -131,16 +133,16 @@ Steps to build:
131133

132134
Use``VisualFSharp.sln`` if you're building the Visual F# IDE Tools.
133135

134-
Note on Debug vs Release:``Release`` Configuration has a degraded debugging experience, so if you want to test a change locally, it is recommended to do it in the``Debug`` configuration. For more information seehttps://github.com/Microsoft/visualfsharp/issues/2771 andhttps://github.com/Microsoft/visualfsharp/pull/2773.
136+
Note on Debug vs Release:``Release`` Configuration has a degraded debugging experience, so if you want to test a change locally, it is recommended to do it in the``Debug`` configuration. For more information seeissues[#2771](https://github.com/Microsoft/visualfsharp/issues/2771) and[#2773](https://github.com/Microsoft/visualfsharp/pull/2773).
135137

136-
Note: if you face this error[#2351](https://github.com/Microsoft/visualfsharp/issues/2351):
138+
Note ([#2351](https://github.com/Microsoft/visualfsharp/issues/2351)): if you face this error:
137139

138-
>error VSSDK1077: Unable to locate the extensions directory. "ExternalSettingsManager::GetScopePaths failed to initialize PkgDefManager for C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.exe".
140+
>error VSSDK1077: Unable to locate the extensions directory. "ExternalSettingsManager::GetScopePaths failed to initialize PkgDefManager for C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.exe".
139141
140142
Or hard crash on launch ("Unknown Error"), delete these folders:
141143

142-
*`%localappdata%\Microsoft\VisualStudio\15.0_(some number here)RoslynDev`
143-
*`%localappdata%\Microsoft\VisualStudio\15.0_(some number here)`
144+
-`%localappdata%\Microsoft\VisualStudio\15.0_(some number here)RoslynDev`
145+
-`%localappdata%\Microsoft\VisualStudio\15.0_(some number here)`
144146

145147
####[Optional] Install the Visual F# IDE Tools (Windows Only)
146148

@@ -154,18 +156,18 @@ components installed in that VS installation. You can revert this step by disab
154156
For**Debug**, uninstall then reinstall:
155157

156158
VSIXInstaller.exe /u:"VisualFSharp"
157-
VSIXInstaller.exe debug\net40\bin\VisualFSharpOpenSource.vsix
159+
VSIXInstaller.exe debug\net40\bin\VisualFSharpFull.vsix
158160

159161
For**Release**, uninstall then reinstall:
160162

161163
VSIXInstaller.exe /u:"VisualFSharp"
162-
VSIXInstaller.exe release\net40\bin\VisualFSharpOpenSource.vsix
164+
VSIXInstaller.exe release\net40\bin\VisualFSharpFull.vsix
163165

164166
Restart Visual Studio, it should now be running your freshly-built Visual F# IDE Tools with updated F# Interactive.
165167

166168
####[Optional] F5 testing of local changes
167169

168-
To test your changes locally_without_ overwriting your default installed Visual F# tools, set the`VisualFSharp\Vsix\VisualFSharpOpenSource`
170+
To test your changes locally_without_ overwriting your default installed Visual F# tools, set the`VisualFSharp\Vsix\VisualFSharpFull`
169171
project as the startup project. When you hit F5 a new instance of Visual Studio will be started in the`RoslynDev` hive with your
170172
changes, but the root (default) hive will remain untouched. You can also start this hive automatically using
171173

@@ -213,6 +215,13 @@ For **Release**:
213215
- We use the proto compiler to compile the source for`FSharp.Core.dll` in this distribution.
214216
- We use the proto compiler to compile the source for`FSharp.Compiler.dll`,`fsc.exe`,`fsi.exe`, and other binaries found in this distribution.
215217

218+
####Updating FSComp.fs
219+
220+
If you change error messages you may need to update FSComp.fs in`src\buildfromsource\FSharp.Compiler.Private`.
221+
222+
To do this, build the non-buildfromsource version of FSharp.Compiler.Private (src\fsharp\FSharp.Compiler.Private) then check its obj\ directory for`FSComp.fs` and manually copy that into the buildfromsource directory.
223+
224+
216225
####Configuring proxy server
217226

218227
If you are behind a proxy server, NuGet client tool must be configured to use it:
@@ -223,6 +232,12 @@ If you are behind a proxy server, NuGet client tool must be configured to use it
223232

224233
Where you should set proper proxy address, user name and password.
225234

235+
####When modifying, adding, or removing keywords or compiler messages
236+
237+
If your changes involve modifying the list of language keywords in any way, (e.g. when implementing a new keyword), the XLF localization files need to be synced with the corresponding resx files. This can be done automatically by running`msbuild FSharp.Compiler.Private.fsproj /t:UpdateXlf` (located in[src\fsharp\FSharp.Compiler.Private](https://github.com/Microsoft/visualfsharp/tree/master/src/fsharp/FSharp.Compiler.Private)). This only works on Windows/.NETStandard framework, so changing this from any other platform requires editing and syncing all of the XLF files manually.
238+
239+
After this, you must copy any differing`resx` files from the output directory into the corresponding subdirectory in[src\buildfromsource](https://github.com/Microsoft/visualfsharp/tree/master/src/fsharp/FSharp.Compiler.Private). This step will soon be eliminated (see issue[#3905](https://github.com/Microsoft/visualfsharp/issues/3905)).
240+
226241
####Resources
227242

228243
The primary technical guide to the core compiler code is[The F# Compiler Technical Guide](http://fsharp.github.io/2015/09/29/fsharp-compiler-guide.html). Please read and contribute to that guide.

‎FSharp.Directory.Build.props‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,12 @@
1616
<!-- nuget-->
1717
<PropertyGroup>
1818
<!-- default NuGet package restore location-->
19-
<NugetPackageRootCondition="'$(NugetPackageRoot)' == ''">$(UserProfile)\.nuget\packages\</NugetPackageRoot>
19+
<NuGetPackageRootCondition="'$(NuGetPackageRoot)' == ''">$(NUGET_PACKAGES)</NuGetPackageRoot>
20+
<NuGetPackageRootCondition="'$(NuGetPackageRoot)' == '' AND '$(OS)' == 'Windows_NT'">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
21+
<NuGetPackageRootCondition="'$(NuGetPackageRoot)' == '' AND '$(OS)' != 'Windows_NT'">$(HOME)/.nuget/packages/</NuGetPackageRoot>
22+
<!-- ensure there is a trailing slash-->
23+
<NuGetPackageRootCondition="!HasTrailingSlash('$(NuGetPackageRoot)') AND '$(OS)' == 'Windows_NT'">$(NuGetPackageRoot)\</NuGetPackageRoot>
24+
<NuGetPackageRootCondition="!HasTrailingSlash('$(NuGetPackageRoot)') AND '$(OS)' != 'Windows_NT'">$(NuGetPackageRoot)/</NuGetPackageRoot>
2025
</PropertyGroup>
2126

2227
<!-- signing-->

‎VisualFSharp.sln‎

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Vsix", "Vsix", "{141F6C23-E
116116
EndProject
117117
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") ="VisualFSharpFull","vsintegration\Vsix\VisualFSharpFull\VisualFSharpFull.csproj","{59ADCE46-9740-4079-834D-9A03A3494EBC}"
118118
EndProject
119-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") ="VisualFSharpOpenSource","vsintegration\Vsix\VisualFSharpOpenSource\VisualFSharpOpenSource.csproj","{E6A45CDF-B408-420F-B475-74611BEFC52B}"
120-
EndProject
121119
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") ="HostedCompilerServer","tests\fsharpqa\testenv\src\HostedCompilerServer\HostedCompilerServer.fsproj","{4239EFEA-E746-446A-BF7A-51FCBAB13946}"
122120
EndProject
123121
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") ="ILComparer","tests\fsharpqa\testenv\src\ILComparer\ILComparer.fsproj","{2E60864A-E3FF-4BCC-810F-DC7C34E6B236}"
@@ -484,14 +482,6 @@ Global
484482
{59ADCE46-9740-4079-834D-9A03A3494EBC}.Release|Any CPU.Build.0=Release|Any CPU
485483
{59ADCE46-9740-4079-834D-9A03A3494EBC}.Release|x86.ActiveCfg=Release|Any CPU
486484
{59ADCE46-9740-4079-834D-9A03A3494EBC}.Release|x86.Build.0=Release|Any CPU
487-
{E6A45CDF-B408-420F-B475-74611BEFC52B}.Debug|Any CPU.ActiveCfg=Debug|Any CPU
488-
{E6A45CDF-B408-420F-B475-74611BEFC52B}.Debug|Any CPU.Build.0=Debug|Any CPU
489-
{E6A45CDF-B408-420F-B475-74611BEFC52B}.Debug|x86.ActiveCfg=Debug|Any CPU
490-
{E6A45CDF-B408-420F-B475-74611BEFC52B}.Debug|x86.Build.0=Debug|Any CPU
491-
{E6A45CDF-B408-420F-B475-74611BEFC52B}.Release|Any CPU.ActiveCfg=Release|Any CPU
492-
{E6A45CDF-B408-420F-B475-74611BEFC52B}.Release|Any CPU.Build.0=Release|Any CPU
493-
{E6A45CDF-B408-420F-B475-74611BEFC52B}.Release|x86.ActiveCfg=Release|Any CPU
494-
{E6A45CDF-B408-420F-B475-74611BEFC52B}.Release|x86.Build.0=Release|Any CPU
495485
{4239EFEA-E746-446A-BF7A-51FCBAB13946}.Debug|Any CPU.ActiveCfg=Debug|Any CPU
496486
{4239EFEA-E746-446A-BF7A-51FCBAB13946}.Debug|Any CPU.Build.0=Debug|Any CPU
497487
{4239EFEA-E746-446A-BF7A-51FCBAB13946}.Debug|x86.ActiveCfg=Debug|Any CPU
@@ -616,7 +606,6 @@ Global
616606
{1FB1DD07-06AA-45B4-B5AC-20FF5BEE98B6} ={F6DAEE9A-8BE1-4C4A-BC83-09215517C7DA}
617607
{141F6C23-E1B1-4D89-9F10-F0B8AD58E71F} ={4C7B48D7-19AF-4AE7-9D1D-3BB289D5480D}
618608
{59ADCE46-9740-4079-834D-9A03A3494EBC} ={141F6C23-E1B1-4D89-9F10-F0B8AD58E71F}
619-
{E6A45CDF-B408-420F-B475-74611BEFC52B} ={141F6C23-E1B1-4D89-9F10-F0B8AD58E71F}
620609
{4239EFEA-E746-446A-BF7A-51FCBAB13946} ={CFE3259A-2D30-4EB0-80D5-E8B5F3D01449}
621610
{2E60864A-E3FF-4BCC-810F-DC7C34E6B236} ={CFE3259A-2D30-4EB0-80D5-E8B5F3D01449}
622611
{D086C8C6-D00D-4C3B-9AB2-A4286C9F5922} ={4C7B48D7-19AF-4AE7-9D1D-3BB289D5480D}

‎build/config/AssemblySignToolData.json‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@
5050
"values": [
5151
"net40\\bin\\VisualFSharpFull.vsix",
5252
"net40\\bin\\VisualFSharpTemplate.vsix",
53-
"net40\\bin\\VisualFSharpOpenSource.vsix",
5453
"insertion\\Microsoft.FSharp.Dependencies.vsix",
5554
"insertion\\Microsoft.FSharp.VSIX.Full.Resources.*.vsix"
5655
]

‎build/targets/AssemblyVersions.props‎

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,15 @@
3939
Then $(BuildTimeStamp_Date) = 161225
4040
Then $(BuildTimeStamp_Number) = 01
4141
Then $(BuildTimeStamp) = 16122501
42-
Then $(MicroBuildAssemblyVersion_WithoutRevision) = 15.4.1
43-
Then $(VsixPackageVersion) = 15.4.1.16122501
42+
Then $(VsixPackageVersion) = 15.4.20161225.1
4443
Then $(NuGetPackageVersionSuffix) = 161225-01
4544
4645
-->
4746
<BuildTimeStamp_Date>$(BUILD_BUILDNUMBER.Split('.')[0].Substring(2))</BuildTimeStamp_Date>
4847
<BuildTimeStamp_Number>$(BUILD_BUILDNUMBER.Split('.')[1].PadLeft(2, '0'))</BuildTimeStamp_Number>
4948
<BuildTimeStamp>$(BuildTimeStamp_Date)$(BuildTimeStamp_Number)</BuildTimeStamp>
50-
<MicroBuildAssemblyVersion_WithoutRevision>$(MicroBuildAssemblyVersion.Substring(0, $(MicroBuildAssemblyVersion.LastIndexOf('.'))))</MicroBuildAssemblyVersion_WithoutRevision>
51-
<VsixPackageVersion>$(MicroBuildAssemblyVersion_WithoutRevision).$(BuildTimeStamp)</VsixPackageVersion>
49+
<VsixPackageVersionCondition="'$(CI)' != ''">$(VSAssemblyVersion.Split('.')[0]).$(VSAssemblyVersion.Split('.')[1]).$(BUILD_BUILDNUMBER)</VsixPackageVersion>
50+
<VsixPackageVersionCondition="'$(CI)' == ''">42.42.42.42</VsixPackageVersion>
5251
<NuGetPackageVersionSuffix>$(BuildTimeStamp_Date)-$(BuildTimeStamp_Number)</NuGetPackageVersionSuffix>
5352
</PropertyGroup>
5453

‎setup/FSharp.Setup.props‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,11 @@
1010
<NugetPackagesDir>$(SetupRootFolder)\..\packages</NugetPackagesDir>
1111
</PropertyGroup>
1212

13+
<ImportProject="$(MSBuildThisFileDirectory)..\build\targets\AssemblyVersions.props" />
14+
1315
<PropertyGroup>
14-
<!-- This number should bekept in sync with the expected shipping version of Visual Studio.-->
15-
<FSharpProductVersion>15.7</FSharpProductVersion>
16+
<!-- This number shouldonlybetwo parts, e.g., '15.6'.-->
17+
<FSharpProductVersion>$(VSAssemblyVersion.Split('.')[0]).$(VSAssemblyVersion.Split('.')[1])</FSharpProductVersion>
1618
<!-- BUILD_BUILDNUMBER is passed from Microbuild. Replace by today's date and (0) if it was a local build-->
1719
<BUILD_BUILDNUMBERCondition="'$(BUILD_BUILDNUMBER)' == ''">$([System.DateTime]::Now.ToString(yyyyMMdd.0))</BUILD_BUILDNUMBER>
1820
<!-- Remove .DRAFT suffix if it exists in the build number-->

‎setup/fsharp-setup-build.proj‎

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,6 @@
1616
<VsixProjectsInclude="VisualFSharpFull.csproj">
1717
<ProjectPath>..\vsintegration\Vsix\VisualFSharpFull\VisualFSharpFull.csproj</ProjectPath>
1818
</VsixProjects>
19-
<VsixProjectsInclude="VisualFSharpOpenSource.csproj">
20-
<ProjectPath>..\vsintegration\Vsix\VisualFSharpOpenSource\VisualFSharpOpenSource.csproj</ProjectPath>
21-
</VsixProjects>
2219
<VsixProjectsInclude="VisualFSharpTemplates.csproj">
2320
<ProjectPath>..\vsintegration\Vsix\VisualFSharpTemplates\VisualFSharpTemplates.csproj</ProjectPath>
2421
</VsixProjects>

‎src/absil/il.fs‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1558,9 +1558,8 @@ type ILFieldDef =
15581558
memberx.WithStatic(condition)={ xwith Attributes= x.Attributes|> conditionalAdd condition FieldAttributes.Static}
15591559
memberx.WithSpecialName(condition)={ xwith Attributes= x.Attributes|> conditionalAdd condition(FieldAttributes.SpecialName||| FieldAttributes.RTSpecialName)}
15601560
memberx.WithNotSerialized(condition)={ xwith Attributes= x.Attributes|> conditionalAdd condition FieldAttributes.NotSerialized}
1561-
memberx.WithLiteral(condition)={ xwith Attributes= x.Attributes|> conditionalAdd condition FieldAttributes.Literal}
1562-
memberx.WithHasDefault(condition)={ xwith Attributes= x.Attributes|> conditionalAdd condition FieldAttributes.HasDefault}
1563-
memberx.WithHasFieldMarshal(condition)={ xwith Attributes= x.Attributes|> conditionalAdd condition FieldAttributes.HasFieldMarshal}
1561+
memberx.WithLiteralDefaultValue(literal)={ xwith LiteralValue= literal; Attributes= x.Attributes|> conditionalAdd literal.IsSome(FieldAttributes.Literal||| FieldAttributes.HasDefault)}
1562+
memberx.WithFieldMarshal(marshal)={ xwith Marshal= marshal; Attributes= x.Attributes|> conditionalAdd marshal.IsSome FieldAttributes.HasFieldMarshal}
15641563

15651564

15661565
// Index table by name. Keep a canonical list to make sure field order is not disturbed for binary manipulation.

‎src/absil/il.fsi‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1138,9 +1138,8 @@ type ILFieldDef =
11381138
memberWithStatic:bool->ILFieldDef
11391139
memberWithSpecialName:bool->ILFieldDef
11401140
memberWithNotSerialized:bool->ILFieldDef
1141-
memberWithLiteral:bool->ILFieldDef
1142-
memberWithHasDefault:bool->ILFieldDef
1143-
memberWithHasFieldMarshal:bool->ILFieldDef
1141+
memberWithLiteralDefaultValue:ILFieldInit option->ILFieldDef
1142+
memberWithFieldMarshal:ILNativeType option->ILFieldDef
11441143

11451144
/// Tables of fields. Logically equivalent to a list of fields but
11461145
/// the table is kept in a form optimized for looking up fields by

‎src/fsharp/FSharp.Core/prim-types.fs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4167,7 +4167,7 @@ namespace Microsoft.FSharp.Core
41674167
else(#"ceq" e1 e1: int #)
41684168
when^T: float32=if(#"clt" e1 e2: bool #)then(-1)
41694169
elif(#"cgt" e1 e2: bool #)then(1)
4170-
elif(#"ceq" e1 e2: bool #)then(1)
4170+
elif(#"ceq" e1 e2: bool #)then(0)
41714171
elif(#"ceq" e2 e2: bool #)then(-1)
41724172
else(#"ceq" e1 e1: int #)
41734173
when^T: char=if(#"clt.un" e1 e2: bool #)then(-1)else(#"cgt.un" e1 e2: int #)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp