-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
call overloading, and make constructors use it #8712
Commits on Aug 12, 2014
-
initial implementation of call overloading: f(x...) gets turned into …
…call(f, x...) as a fallback (if f is not a function); to do: update inference, fallback to call when f is a type
Configuration menu - View commit details
-
Copy full SHA for 1f527b7 - Browse repository at this point
Copy the full SHA 1f527b7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4a58fa4 - Browse repository at this point
Copy the full SHA 4a58fa4View commit details -
6
Configuration menu - View commit details
-
Copy full SHA for 5b0aedd - Browse repository at this point
Copy the full SHA 5b0aeddView commit details
Commits on Aug 14, 2014
-
Configuration menu - View commit details
-
Copy full SHA for 0df037e - Browse repository at this point
Copy the full SHA 0df037eView commit details -
10
Configuration menu - View commit details
-
Copy full SHA for 762a727 - Browse repository at this point
Copy the full SHA 762a727View commit details
Commits on Sep 1, 2014
-
Configuration menu - View commit details
-
Copy full SHA for b430c48 - Browse repository at this point
Copy the full SHA b430c48View commit details -
Merge branch 'master' into call_overload
Conflicts: src/codegen.cpp test/core.jl
Configuration menu - View commit details
-
Copy full SHA for 27e476c - Browse repository at this point
Copy the full SHA 27e476cView commit details -
Configuration menu - View commit details
-
Copy full SHA for bd955f2 - Browse repository at this point
Copy the full SHA bd955f2View commit details
Commits on Oct 8, 2014
-
Merge branch 'master' of github.com:JuliaLang/julia into call_overload
Conflicts: base/base.jl test/core.jl
Configuration menu - View commit details
-
Copy full SHA for a4dcc69 - Browse repository at this point
Copy the full SHA a4dcc69View commit details
Commits on Oct 10, 2014
-
- look up call in the right module instead of using jl_call_func - some inference support for call overloading - pass `call` to _apply and kwcall so they use the containing module's definition - deprecate explicit apply(), rename the builtin to _apply
Configuration menu - View commit details
-
Copy full SHA for aeae50f - Browse repository at this point
Copy the full SHA aeae50fView commit details -
Merge branch 'master' of github.com:JuliaLang/julia into call_overload
Conflicts: base/deprecated.jl base/inference.jl
Configuration menu - View commit details
-
Copy full SHA for 06471db - Browse repository at this point
Copy the full SHA 06471dbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2463704 - Browse repository at this point
Copy the full SHA 2463704View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5b03766 - Browse repository at this point
Copy the full SHA 5b03766View commit details
Commits on Oct 11, 2014
-
fully redesign constructors to use
call
overloadingthis does not work yet, but gets past the first bootstrap stage. so far this is a significant net simplification.
6Configuration menu - View commit details
-
Copy full SHA for 51a3069 - Browse repository at this point
Copy the full SHA 51a3069View commit details -
fix keyword args in constructors-via-
call
REPL now works with sys0.ji
Configuration menu - View commit details
-
Copy full SHA for 2604610 - Browse repository at this point
Copy the full SHA 2604610View commit details -
carefully arrange
call
methods in Core not to get specialized on ty……pes in Base this allows the full build to go through
Configuration menu - View commit details
-
Copy full SHA for 79e006b - Browse repository at this point
Copy the full SHA 79e006bView commit details
Commits on Oct 12, 2014
-
6
Configuration menu - View commit details
-
Copy full SHA for 2e46b1b - Browse repository at this point
Copy the full SHA 2e46b1bView commit details -
fix constructor method sort order by preserving typevar bounds in the…
… generated `call` methods
Configuration menu - View commit details
-
Copy full SHA for 1888e85 - Browse repository at this point
Copy the full SHA 1888e85View commit details -
Configuration menu - View commit details
-
Copy full SHA for b2bfd52 - Browse repository at this point
Copy the full SHA b2bfd52View commit details
Commits on Oct 13, 2014
-
Configuration menu - View commit details
-
Copy full SHA for 208b2cd - Browse repository at this point
Copy the full SHA 208b2cdView commit details -
type system improvements needed for constructors-via-call
- make typeintersect((Rational{T},T),(Rational{Integer},Int)) == (Rational{Integer},Int) This used to be Bottom, since the T's had to match exactly. Now if T appears in covariant position, subtypes can also match. This is a good change anyway, but turns out to be necessary for the new constructor design. We have a constructor `Rational{T}(x::T, y::T)` which now gets lowered to `call{T}(::Type{Rational{T}}, x::T, y::T)`, so obviously we must allow x and y to be any subtypes of T. This also allows convert_default to be replaced with `convert{T}(::Type{T}, x::T) = x` (to be done next). - making that work required an improved constraint solving algorithm in type intersection. the new algorithm should be much more robust, but it yields more typevars in its answers, for example `typeintersect((T,AbstractArray{T}),(Any,Array{Number,1}))` gives `(_<:Number,Array{Number,1})`. Hopefully this will not cause problems. But I can imagine doing a post-processing step to replace `_<:T` in covariant position with just `T`. In the meantime, to further legitimize such results I also made the next change: - make TypeVar a subtype of Type
Configuration menu - View commit details
-
Copy full SHA for 7068390 - Browse repository at this point
Copy the full SHA 7068390View commit details
Commits on Oct 14, 2014
-
a couple tweaks to type intersection that were helpful when eliminati…
…ng convert_default
Configuration menu - View commit details
-
Copy full SHA for d5aebc7 - Browse repository at this point
Copy the full SHA d5aebc7View commit details -
Configuration menu - View commit details
-
Copy full SHA for c62c8f0 - Browse repository at this point
Copy the full SHA c62c8f0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4e0dd59 - Browse repository at this point
Copy the full SHA 4e0dd59View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0f67c69 - Browse repository at this point
Copy the full SHA 0f67c69View commit details -
faster Expr constructor (large impact on sysimg build time)
another Core.convert method to prevent types from old Base from leaking in
Configuration menu - View commit details
-
Copy full SHA for bec065f - Browse repository at this point
Copy the full SHA bec065fView commit details
Commits on Oct 16, 2014
-
Configuration menu - View commit details
-
Copy full SHA for 2bfa247 - Browse repository at this point
Copy the full SHA 2bfa247View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6a2032e - Browse repository at this point
Copy the full SHA 6a2032eView commit details -
Merge branch 'master' of github.com:JuliaLang/julia into jb/call_cons…
…tructors Conflicts: src/codegen.cpp
Configuration menu - View commit details
-
Copy full SHA for dbc2d0d - Browse repository at this point
Copy the full SHA dbc2d0dView commit details -
Configuration menu - View commit details
-
Copy full SHA for ab61bd9 - Browse repository at this point
Copy the full SHA ab61bd9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 95c0ecf - Browse repository at this point
Copy the full SHA 95c0ecfView commit details
Commits on Oct 17, 2014
-
Configuration menu - View commit details
-
Copy full SHA for 0d60213 - Browse repository at this point
Copy the full SHA 0d60213View commit details -
allow passing type parameters to
new
withnew{ ... }
also *require* it for `new` calls inside non-constructors
Configuration menu - View commit details
-
Copy full SHA for a1a6563 - Browse repository at this point
Copy the full SHA a1a6563View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9a6b825 - Browse repository at this point
Copy the full SHA 9a6b825View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4d6160a - Browse repository at this point
Copy the full SHA 4d6160aView commit details -
Configuration menu - View commit details
-
Copy full SHA for e5cbd8f - Browse repository at this point
Copy the full SHA e5cbd8fView commit details -
sharpen the result of tmerge() for Tuple types
change a comprehension in Pkg.Reqs.Requirement that depended on type inference. due to `call` constructors we simply cannot get its type anymore, although the other change in this commit helps a lot.
Configuration menu - View commit details
-
Copy full SHA for 4ee2b41 - Browse repository at this point
Copy the full SHA 4ee2b41View commit details
Commits on Oct 18, 2014
-
Configuration menu - View commit details
-
Copy full SHA for 36c5ad6 - Browse repository at this point
Copy the full SHA 36c5ad6View commit details -
remove error for failing to import a non-function used in a method de…
…finition, since the method will actually be added to `call`
Configuration menu - View commit details
-
Copy full SHA for a3d637f - Browse repository at this point
Copy the full SHA a3d637fView commit details -
more surgical approach to importing Core.call
this is not ideal but will give us more flexibility for now
Configuration menu - View commit details
-
Copy full SHA for 12ecc25 - Browse repository at this point
Copy the full SHA 12ecc25View commit details
Commits on Oct 19, 2014
-
Configuration menu - View commit details
-
Copy full SHA for 1a35753 - Browse repository at this point
Copy the full SHA 1a35753View commit details -
Configuration menu - View commit details
-
Copy full SHA for d382a46 - Browse repository at this point
Copy the full SHA d382a46View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5b9ec88 - Browse repository at this point
Copy the full SHA 5b9ec88View commit details
Commits on Oct 20, 2014
-
the subtype check in gf.c:ml_matches (line 1834) was causing an extra matching method to be missed, when we have both call(::Type{Perm},...) and call(::Type{Perm{O,V}},...)
Configuration menu - View commit details
-
Copy full SHA for d2dd9f1 - Browse repository at this point
Copy the full SHA d2dd9f1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4fdf200 - Browse repository at this point
Copy the full SHA 4fdf200View commit details -
Merge branch 'master' of github.com:JuliaLang/julia into jb/call_cons…
…tructors Conflicts: src/julia-syntax.scm
Configuration menu - View commit details
-
Copy full SHA for 6236a24 - Browse repository at this point
Copy the full SHA 6236a24View commit details -
1
Configuration menu - View commit details
-
Copy full SHA for adb53bb - Browse repository at this point
Copy the full SHA adb53bbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8569cd5 - Browse repository at this point
Copy the full SHA 8569cd5View commit details -
Configuration menu - View commit details
-
Copy full SHA for bcbb53c - Browse repository at this point
Copy the full SHA bcbb53cView commit details -
add the long-awaited call=>convert fallback
I put `::T` on there for now; we'll see how that goes.
Configuration menu - View commit details
-
Copy full SHA for 39dfd92 - Browse repository at this point
Copy the full SHA 39dfd92View commit details -
avoid overflowing environment in type intersection when a typevar mee…
…ts the same type repeatedly
Configuration menu - View commit details
-
Copy full SHA for ff88a00 - Browse repository at this point
Copy the full SHA ff88a00View commit details
Commits on Oct 21, 2014
-
Merge branch 'master' of https://github.com/JuliaLang/julia into jb/c…
…all_constructors Conflicts: src/builtins.c src/dump.c
Configuration menu - View commit details
-
Copy full SHA for f0d0c1c - Browse repository at this point
Copy the full SHA f0d0c1cView commit details -
Configuration menu - View commit details
-
Copy full SHA for b73cf12 - Browse repository at this point
Copy the full SHA b73cf12View commit details