Skip to content

Instantly share code, notes, and snippets.

diff --git a/base/broadcast.jl b/base/broadcast.jl
index 95a25bed66..7c0fa71aba 100644
--- a/base/broadcast.jl
+++ b/base/broadcast.jl
@@ -97,9 +97,13 @@ struct DefaultArrayStyle{N} <: AbstractArrayStyle{N} end
(::Type{<:DefaultArrayStyle})(::Val{N}) where N = DefaultArrayStyle{N}()
const DefaultVectorStyle = DefaultArrayStyle{1}
const DefaultMatrixStyle = DefaultArrayStyle{2}
-BroadcastStyle(::AbstractArray{T,N}) where {T,N} = DefaultArrayStyle{N}()
+BroadcastStyle(v::AbstractArray{T,N}) where {T,N} = _broadcast_api_deprecation(DefaultArrayStyle{N}(), BroadcastStyle(typeof(v)))
{
/* Ctrl shortcuts from Emacs */
"^l" = "centerSelectionInVisibleArea:"; /* C-l Recenter */
"^/" = "undo:"; /* C-/ Undo */
"^_" = "undo:"; /* C-_ Undo */
"^ " = "setMark:"; /* C-Spc Set mark */
"^\@" = "setMark:"; /* C-@ Set mark */
/* "^w" = "deleteToMark:"; /* C-w Delete to mark */
/* TextMate-like addenda */
$ ./julia
_
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 1.3.0-alpha.148 (2019-08-16)
_/ |\__'_|_|_|\__'_| | Commit b5f4e87774 (3 days old master)
|__/ |
@mbauman
mbauman / Manifest.toml
Created October 11, 2019 18:54
Fast partitions
# This file is machine-generated - editing it directly is not advised
[[AbstractFFTs]]
deps = ["LinearAlgebra"]
git-tree-sha1 = "380e36c66edfa099cd90116b24c1ce8cafccac40"
uuid = "621f4979-c628-5d54-868e-fcf4e3e8185c"
version = "0.4.1"
[[Arpack]]
deps = ["BinaryProvider", "Libdl", "LinearAlgebra"]
@mbauman
mbauman / DiscourseStats.jl
Last active March 2, 2020 22:43
Cumulative discourse stats
using HTTP, JSON, DataFrames, Dates, CSV
function cumulative(dates)
start_date = Dates.format(minimum(dates)-step(dates), "YYYY-mm-dd")
end_date = Dates.format(maximum(dates), "YYYY-mm-dd")
colnames = []
cols = []
for report in ("signups", "posts", "likes", "page_view_total_reqs", "topics")
r = HTTP.get("https://discourse.julialang.org/admin/reports/$report.json?end_date=$end_date&start_date=$start_date",
["Api-Key"=> ENV["JULIA_DISCOURSE_API_KEY"], "Api-Username"=> ENV["JULIA_DISCOURSE_USERNAME"]])
using Cassette, ReplMaker
Cassette.@context NoNaN
nonnan(s, x::Number) = (@assert(!isnan(x), string(s, " returned NaN")); x)
nonnan(s, A::AbstractArray) = (foreach(x->nonnan(s, x), A); A)
nonnan(s, x) = x
Cassette.overdub(::NoNaN, f, args...) = nonnan("$f$args", f(args...))
julia> using StructArrays
julia> begin
g(x::StructArray{<:Tuple{String}}) = nothing
g(x::StructArray{<:Tuple{Integer}}) = nothing
function f(x)
# ok, yes, this line is fairly contrived, but this is a short-hand for
# building a partial type-instability -- something that happens frequently
z1 = Core.compilerbarrier(:type, x)::StructArray{<:Tuple{Nothing}}
z2 = g(z1)