Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
16c9435
Make line endings in Ref.cs Unix line endings
nasser Apr 12, 2014
1353ef8
Patch RT.cs to use System.Environment.CurrentDirectory
nasser Apr 13, 2014
73b1a14
Comment out any mention of ReaderWriterLockSlim
nasser Apr 13, 2014
87b20e5
Add unity-build script to build Clojure using Unity's Mono distribution
nasser Apr 13, 2014
5e44e76
Add terminal flag to fix broken build
nasser Apr 14, 2014
44f3fa7
Update unity-build to use stock mono xbuild
nasser Apr 14, 2014
19b3a38
experimentally adding trivially renamed copy of NewInstanceExpr
timsgardner Jul 27, 2014
296f949
Proof of concept for extending stuff
timsgardner Jul 27, 2014
a4ced7a
working on other-deftype
timsgardner Jul 27, 2014
bb0244e
Compiling nicely for unity! use the stuff produced under dist/Debug 3.5
timsgardner Jul 27, 2014
fcc198e
other-deftype emiting attachable extensible MonoBehaviors on AOT
timsgardner Jul 27, 2014
99793ed
Renaming other-deftype to defscript and OtherNewInstanceExpr to NewSc…
timsgardner Aug 6, 2014
7064aa6
Make line endings in Ref.cs Unix line endings
nasser Apr 12, 2014
f1f7247
Patch RT.cs to use System.Environment.CurrentDirectory
nasser Apr 13, 2014
897f9f1
Comment out any mention of ReaderWriterLockSlim
nasser Apr 13, 2014
5a9aecc
Add unity-build script to build Clojure using Unity's Mono distribution
nasser Apr 13, 2014
3395fc1
Add terminal flag to fix broken build
nasser Apr 14, 2014
f773b42
Update unity-build to use stock mono xbuild
nasser Apr 14, 2014
f46f341
experimentally adding trivially renamed copy of NewInstanceExpr
timsgardner Jul 27, 2014
7100565
Proof of concept for extending stuff
timsgardner Jul 27, 2014
2852a6d
working on other-deftype
timsgardner Jul 27, 2014
02ea8f5
Compiling nicely for unity! use the stuff produced under dist/Debug 3.5
timsgardner Jul 27, 2014
034c231
other-deftype emiting attachable extensible MonoBehaviors on AOT
timsgardner Jul 27, 2014
781b4bd
Renaming other-deftype to defscript and OtherNewInstanceExpr to NewSc…
timsgardner Aug 6, 2014
1767c61
Adding defclass*, removing defscript* and all derived macros
timsgardner Aug 31, 2014
1879db2
Stop compiling stub classes for defclass
nasser Oct 3, 2014
06ae327
Add note to NewClassInstanceExpr
nasser Oct 3, 2014
c57351d
Compile Release instead of Debug + clean before build
nasser Oct 3, 2014
db1dabf
Stop type lookups on lexically bound symbols
nasser Oct 3, 2014
a25a5eb
Add fast path for RT.classForName
nasser Oct 3, 2014
4b9af84
Use dlls over cljs when their timestamps are equal
nasser Oct 3, 2014
d32dba4
Merge branch 'assys-before-cljs' into unity
nasser Oct 3, 2014
ae13306
Merge branch 'CLJ-1529' into unity
nasser Oct 3, 2014
676dd70
Merge branch 'classForName-fastpath' into unity
nasser Oct 3, 2014
f59be86
Merge branch 'unity' of https://github.com/nasser/clojure-clr into unity
nasser Oct 3, 2014
ba96626
Use ReaderWriterLock in place of ReaderWriterLockSlim
nasser Oct 6, 2014
71d3032
Merge branch 'master' into unity
nasser Oct 6, 2014
5bf03c8
Revert "Use ReaderWriterLock in place of ReaderWriterLockSlim"
nasser Oct 6, 2014
0fee17b
Patch MultiFn and Refs to be threadsafe again
nasser Nov 9, 2014
772ed8f
Merge branch 'master' into unity
nasser Nov 14, 2014
35b9c9b
CLJCLR-49: Allow arrays of value types in ArraySeq.createFromObject
nasser Nov 14, 2014
8f92dfc
CLJCLR-49: Allow arrays of value types in ArraySeq.createFromObject
nasser Nov 14, 2014
15f99ae
Stop assuming numeric conversions in ArraySeq
nasser Nov 19, 2014
8ae1ff9
Merge branch 'CLJCLR-49' into unity
nasser Nov 19, 2014
3b0a3f6
Start updating NewClassInstanceExpr to match new deftype
nasser Nov 19, 2014
8e40e53
Make compiler exception fields public
nasser Nov 19, 2014
54c0fad
Merge branch 'master' into unity
nasser Nov 19, 2014
5057b39
Add unity-install script
nasser Jan 25, 2015
e2b0102
Type hint non-primitive types in ObjExprs
nasser Jan 25, 2015
f3fac9d
Update defcomponent constructor logic
nasser Jan 25, 2015
87ccf71
Implement *debug* and debug symbol emission
nasser Jan 29, 2015
77386bd
Update unity-install to new layout
nasser Jan 30, 2015
eb7f75c
Make install script install into Arcadia folder
nasser Feb 2, 2015
24f58a7
Comment out gvec in clojure.core
nasser Feb 2, 2015
d5cfb97
Make deftypes require the namespace they were defined in
nasser Feb 2, 2015
8eb735f
Build debug by default
nasser Apr 13, 2015
341ed51
Add missing methods to Numbers
nasser May 5, 2015
0bb3314
Make RT/LoadCljScript public
nasser May 5, 2015
070300d
Eliminate dynamic call sites from clojure.core
nasser May 5, 2015
cc7c02a
Add public parser context to HostExpr
nasser Jun 7, 2015
f7d4d7e
Make changes for MAGE
nasser Aug 6, 2015
0dec5a1
Emit parsed context for MAGE
nasser Aug 6, 2015
b644996
Add codepath to TryLoadInitType
nasser Aug 6, 2015
7b3b56f
Support numerical keywords
nasser Aug 6, 2015
b9d0d7a
Fix static constructors in defclass
nasser Aug 6, 2015
f9a1b00
Disable primitive local error
Sep 15, 2015
d835111
Spot fix type information in HostExpr
nasser Apr 13, 2016
20835c4
Remove debug message from MethodExpr
nasser Apr 13, 2016
69e1e27
Uncomment timer code in RT
nasser Apr 13, 2016
97ffb3c
Add fast path to compiler init type lookup
nasser Apr 13, 2016
e6d5f59
Throw meaningful error when import cannot find a type
nasser Apr 14, 2016
db4ab3e
Stop emitting explicit overrides in deftypes
nasser Jun 20, 2016
0931ce4
Use better error message on missing init type
nasser Aug 3, 2016
eace10d
Allow closures over nil locals
nasser Aug 9, 2016
7b8aa71
Merge commit 'c41580cd24d300ebe1beaf431fdf9e127f51ea68' into unity-1.8
nasser Jan 28, 2017
307367a
Remove NewClassInstanceExpr
nasser Jan 28, 2017
106363d
Remove old method from ObjExpr
nasser Jan 28, 2017
6c818bf
Remove unused properties from Expr
nasser Jan 28, 2017
ff5e7ac
Add *debug* back
nasser Jan 28, 2017
2f41c80
Support direct-linking compiler option on *nix
nasser Jan 28, 2017
733a483
Read RestorePackages variable from env
nasser Jan 28, 2017
9f4d8d2
Work around mono type lookup bug
nasser Jan 28, 2017
cc87e9c
Update build script to disable package restore
nasser Jan 28, 2017
3f13d19
Backport clojure.spec
nasser Jan 28, 2017
c993c97
Update build and install scripts
nasser Jan 28, 2017
69c65b6
Compile all namespaces files
nasser Jan 29, 2017
50c7a11
Remove load time print outs
nasser Mar 11, 2017
11c33f5
Remove slow path from clojure.lang.RT/classForName
nasser Mar 11, 2017
13b0fbc
add missing method referenced in spec's backport
Jan 28, 2017
6faace0
add RT flag to prevent instantiation of GenContext
Jan 28, 2017
401c2a9
do not crash if Assembly has no Location
Jan 28, 2017
a5e6f90
remove most dynamic call sites
spacepluk Feb 13, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -172,3 +172,4 @@ $RECYCLE.BIN/

# Mono
*.userprefs
/dist/
22 changes: 12 additions & 10 deletions Clojure/Clojure.Compile/Clojure.Compile.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -125,19 +125,21 @@
</BootstrapperPackage>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
<PropertyGroup>
<PostBuildEvent Condition=" '$(Runtime)' == 'Mono' ">mono "$(TargetPath)" clojure.core clojure.core.protocols clojure.core.reducers clojure.main clojure.set clojure.zip clojure.walk clojure.stacktrace clojure.template clojure.test clojure.test.tap clojure.test.junit clojure.pprint clojure.clr.io clojure.repl clojure.clr.shell clojure.string clojure.data clojure.reflect clojure.edn</PostBuildEvent>
<PostBuildEvent Condition=" '$(Runtime)' == '.Net' "> "$(TargetPath)" clojure.core clojure.core.protocols clojure.core.reducers clojure.main clojure.set clojure.zip clojure.walk clojure.stacktrace clojure.template clojure.test clojure.test.tap clojure.test.junit clojure.pprint clojure.clr.io clojure.repl clojure.clr.shell clojure.string clojure.data clojure.reflect clojure.edn</PostBuildEvent>
<PostBuildEvent Condition=" '$(Runtime)' == 'Mono' ">mono "$(TargetPath)" clojure.core clojure.core.protocols clojure.core.server clojure.core.reducers clojure.main clojure.set clojure.zip clojure.walk clojure.stacktrace clojure.template clojure.test clojure.test.tap clojure.test.junit clojure.pprint clojure.clr.io clojure.repl clojure.clr.shell clojure.string clojure.data clojure.reflect clojure.edn</PostBuildEvent>
<PostBuildEvent Condition=" '$(Runtime)' == '.Net' "> "$(TargetPath)" clojure.core clojure.core.protocols clojure.core.server clojure.core.reducers clojure.main clojure.set clojure.zip clojure.walk clojure.stacktrace clojure.template clojure.test clojure.test.tap clojure.test.junit clojure.pprint clojure.clr.io clojure.repl clojure.clr.shell clojure.string clojure.data clojure.reflect clojure.edn</PostBuildEvent>
</PropertyGroup>
<PropertyGroup>
<PostBuildEvent>set clojure.compiler.direct-linking=$(DirectLinking)
$(TargetPath) clojure.core clojure.core.protocols clojure.core.server clojure.core.reducers clojure.main clojure.set clojure.zip clojure.walk clojure.stacktrace clojure.template clojure.test clojure.test.tap clojure.test.junit clojure.pprint clojure.clr.io clojure.repl clojure.clr.shell clojure.string clojure.data clojure.reflect clojure.edn</PostBuildEvent>
<PostBuildEvent Condition=" '$(Runtime)' == '.Mono' ">CLOJURE_COMPILER_DIRECT_LINKING=$(DirectLinking)
$(TargetPath) clojure.core clojure.core.protocols clojure.core.server clojure.core.reducers clojure.main clojure.set clojure.zip clojure.walk clojure.stacktrace clojure.template clojure.test clojure.test.tap clojure.test.junit clojure.pprint clojure.clr.io clojure.repl clojure.clr.shell clojure.string clojure.data clojure.reflect clojure.edn</PostBuildEvent>
<PostBuildEvent Condition=" '$(Runtime)' == '.Net' ">set clojure.compiler.direct-linking=$(DirectLinking)
$(TargetPath) clojure.core clojure.core.protocols clojure.core.server clojure.core.reducers clojure.main clojure.set clojure.zip clojure.walk clojure.stacktrace clojure.template clojure.test clojure.test.tap clojure.test.junit clojure.pprint clojure.clr.io clojure.repl clojure.clr.shell clojure.string clojure.data clojure.reflect clojure.edn</PostBuildEvent>
</PropertyGroup>
</Project>
11 changes: 11 additions & 0 deletions Clojure/Clojure.Source/Clojure.Source.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,17 @@
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<None Include="clojure\spec.clj">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="clojure\spec\test.clj">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="clojure\spec\gen.clj">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
Expand Down
22 changes: 11 additions & 11 deletions Clojure/Clojure.Source/clojure/clr/io.clj
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
clojure.clr.io
(:import
(System.IO
Stream BufferedStream
Stream
FileInfo FileStream MemoryStream
FileMode FileShare FileAccess FileOptions
BinaryReader BinaryWriter
Expand All @@ -39,16 +39,16 @@
(as-uri [_] nil)

String
(as-file [s] (FileInfo. s))
(as-uri [s] (Uri. s))
(as-file [^String s] (FileInfo. s))
(as-uri [^String s] (Uri. s))

FileInfo
(as-file [f] f)
(as-uri [f] (Uri. (str "file://" (.FullName f))))
(as-file [^FileInfo f] f)
(as-uri [^FileInfo f] (Uri. (str "file://" (.FullName f))))

Uri
(as-uri [u] u)
(as-file [u]
(as-uri [^Uri u] u)
(as-file [^Uri u]
(if (.IsFile u)
(as-file (.LocalPath u))
(throw (ArgumentException. (str "Not a file: " u))))))
Expand Down Expand Up @@ -294,7 +294,7 @@
(file-mode :read opts)
(file-access :read opts)
(file-share opts)
(buffer-size opts)
^int (buffer-size opts)
(file-options opts))
opts))
:make-output-stream (fn [^FileInfo x opts]
Expand All @@ -303,7 +303,7 @@
(file-mode :write opts)
(file-access :write opts)
(file-share opts)
(buffer-size opts)
^int (buffer-size opts)
(file-options opts))
opts))))

Expand Down Expand Up @@ -384,8 +384,8 @@
(let [size (.Read input buffer 0 len)]
(when (pos? size)
(let [ cnt (.GetCharCount decoder buffer 0 size)
chbuf (make-array Char cnt)]
(do (.GetChars decoder buffer 0 size chbuf 0)
^|System.Char[]| chbuf (make-array Char cnt)]
(do (.GetChars decoder buffer 0 (int size) chbuf 0)
(.Write output chbuf 0 cnt)
(recur))))))))

Expand Down
4 changes: 2 additions & 2 deletions Clojure/Clojure.Source/clojure/clr/shell.clj
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,8 @@ Halloway."}
[& args]
(let [[cmd opts] (parse-args args)
{:keys [in in-enc out-enc]} opts
proc (Process/Start
(make-process-info cmd out-enc (:env opts) (:dir opts)))]
^ProcessStartInfo process-info (make-process-info cmd out-enc (:env opts) (:dir opts))
proc (Process/Start process-info)]
(future
(with-open [stdin (.StandardInput proc)]
(when in
Expand Down
Loading