Twitter | Pretraživanje | |
Andrey Mokhov
From engineering to abstract mathematics and back
1.353
Tweetovi
196
Pratim
1.131
Osobe koje vas prate
Tweetovi
Andrey Mokhov 3. velj
Odgovor korisniku/ci @andreymokhov
We can tweak the signature of `select` as follows: select :: f (() -> Either a b) -> f (a -> b) -> f (() -> b) Now we can get Dist (Either a b) -> Matrix Prob a b -> Dist b by instantiating `select` with `f (x -> y) = Matrix Prob x y`. No idea if this is useful but it's fun!
Reply Retweet Označi sa "sviđa mi se"
Andrey Mokhov 3. velj
Remember selective functors? Here they show up in the context of probabilistic programming where select :: f (Either a b) -> f (a -> b) -> f b turns into Dist (Either a b) -> Matrix Prob a b -> Dist b Here Dist is a vector i.e. 1-dimensional matrix: Dist a ~ Matrix Prob () a
Reply Retweet Označi sa "sviđa mi se"
Andrey Mokhov 31. sij
Odgovor korisniku/ci @ico_TC @dvytin @DeepMind
I may be wrong but I think Deep Mind uses specialised hardware (GPUs and their own TPUs), not FPGAs.
Reply Retweet Označi sa "sviđa mi se"
Andrey Mokhov proslijedio/la je tweet
Dimitrios Vytiniotis 30. sij
Our team at is hiring engineers and researchers in PL, compilers, systems etc. Come work with us on challenging problems and help shape the next generation of AI infrastructure!
Reply Retweet Označi sa "sviđa mi se"
Andrey Mokhov proslijedio/la je tweet
Eelco Visser 30. sij
Build Automation and Programming Languages (BAPL 2020) ... to explore the interaction of build automation and programming languages in systems for incremental analysis, building, testing, packaging, and deployment of software. At PLDI 2020 Contribute!
Reply Retweet Označi sa "sviđa mi se"
Andrey Mokhov 30. sij
Odgovor korisniku/ci @geo2A @_bravit
Главное вовремя проявить инициативу, молодец! Жду дальнейших предложений.
Reply Retweet Označi sa "sviđa mi se"
Andrey Mokhov 30. sij
Odgovor korisniku/ci @PLDI
Perhaps, O(n) parallel build complexity is just unavoidable for programming languages with type inference? I don't think this is the case in general. Specifically, can we improve the complexity of building Haskell or OCaml programs to O(1)? Has anyone explored this topic?
Reply Retweet Označi sa "sviđa mi se"
Andrey Mokhov 30. sij
Odgovor korisniku/ci @PLDI
As an example consider building C programs, where all source files can be compiled in parallel, and building Haskell or OCaml programs, where modules must be compiled in an order respecting their dependencies. With infinite parallelism, the build complexity is O(1) vs O(n).
Reply Retweet Označi sa "sviđa mi se"
Andrey Mokhov 30. sij
Odgovor korisniku/ci @PLDI
One topic I'm personally interested in discussing is build complexity. There is a lot of PL research about, say, the complexity of parsing or type inference for certain classes of programming languages but what about the complexity of building programs and large-scale projects?
Reply Retweet Označi sa "sviđa mi se"
Andrey Mokhov 29. sij
Odgovor korisniku/ci @PLDI
Programming languages and build systems have historically been mostly evolving independently of each other. Our goal is to bring together build automation and programming languages experts to explore incremental analysis, building, testing, packaging and deployment of software.
Reply Retweet Označi sa "sviđa mi se"
Andrey Mokhov 29. sij
This year the conference hosts the first Build Automation and Programming Languages workshop: If you are coming to PLDI or just happen to be in London on Saturday (20 June) morning, please attend and/or submit a talk!
Reply Retweet Označi sa "sviđa mi se"
Andrey Mokhov 23. sij
Odgovor korisniku/ci @kikofernandez @aurora_rq
Uppsala is definitely worth a visit! I'm sure I'll be back some day :)
Reply Retweet Označi sa "sviđa mi se"
Andrey Mokhov proslijedio/la je tweet
John Carlos Baez 13. sij
The change in the oceans' heat energy measured in zettajoules - that's 10^21 joules. It's incredible how much better fossil fuels are at making the Earth retain solar energy than they are at producing *useful* energy. Let's think about what a zettajoule means. (1/n)
Reply Retweet Označi sa "sviđa mi se"
Andrey Mokhov 13. sij
Odgovor korisniku/ci @SusanPotter
OK, the Haskell and Hogwarts universes have just collided in my brain and I feel stupid for not noticing the connection earlier.
Reply Retweet Označi sa "sviđa mi se"
Andrey Mokhov 12. sij
Odgovor korisniku/ci @ndm_haskell @cocreature
Indeed. Perhaps, it's possible to hide such more expensive checks behind a flag so that users could trade speed for features?
Reply Retweet Označi sa "sviđa mi se"
Andrey Mokhov 12. sij
Odgovor korisniku/ci @ndm_haskell @cocreature
I was immediately hit by missing incomplete pattern match warnings. This forces me to occasionally run the full build manually, to catch errors like:
Reply Retweet Označi sa "sviđa mi se"
Andrey Mokhov 11. sij
Odgovor korisniku/ci @cocreature
Thank you and all other contributors! I finally gave it a try and it worked very well. The only (known) issue is that some warnings are not reported, which is a bit annoying -- I hope it will be possible to fix this.
Reply Retweet Označi sa "sviđa mi se"
Andrey Mokhov 11. sij
Odgovor korisniku/ci @SeeReason @jmtd i 2 ostali
Sure, it's okay to mix named and unnamed arguments -- the latter are distinguished by their relative positions.
Reply Retweet Označi sa "sviđa mi se"
Andrey Mokhov 10. sij
Odgovor korisniku/ci @jmtd @importantshock @peterb
Yes, partial application works just fine. If a function f has type x:int -> y:int -> int then f ~y:8 has type x:int -> int (Named arguments is my favourite OCaml feature!)
Reply Retweet Označi sa "sviđa mi se"
Andrey Mokhov proslijedio/la je tweet
Georgy Lukyanov 4. sij
What if Agda is your only love, but they make you write Coq at work? Read this:
Reply Retweet Označi sa "sviđa mi se"