Тёмный
NYC Haskell User's Group
NYC Haskell User's Group
NYC Haskell User's Group
Подписаться
SumAll on Java to Haskell
43:56
6 лет назад
Richard Eisenberg on Dependent Types
48:28
6 лет назад
Introduction to Eta by Rahul Muttineni
1:14:36
7 лет назад
Git Internals With Haskell
37:55
7 лет назад
Typed Routing with Continuations
58:10
8 лет назад
Web Dev with Fn
17:11
8 лет назад
Translating Haskell to Hardware
51:06
8 лет назад
Interactive Theorem Proving with Lean
1:49:14
8 лет назад
Structure Editing Combinators
46:57
8 лет назад
The Not-A-Wat in Haskell
7:47
8 лет назад
Wrangling Monad Transformer Stacks
56:11
9 лет назад
Set Theory and Haskell (part 2)
36:12
9 лет назад
Set Theory and Haskell (part 1)
47:25
9 лет назад
Introduction to Type Inference
57:05
9 лет назад
How to Define Data Types
39:55
9 лет назад
Комментарии
@noninvasive_rectal_probe8990
@noninvasive_rectal_probe8990 11 месяцев назад
Absolutely useless
@ha.alamin
@ha.alamin Год назад
I see his point about familiarity should not be a factor, but let's be real, if Haskell was your first language, and you saw examples of length on different types, then on tuple, the result would be unintuitive to most people, and for good reason. His requirement is the other extreme, even IEEE floating 0.1 + 0.2 might not be a wat then.
@robertpearson8546
@robertpearson8546 Год назад
So you are stuck at 32 bits and use a tagged architecture like the 1961 Burroughs machine.
@robertpearson8546
@robertpearson8546 Год назад
When I was working with Queueing Network Theory, their algorithms will break your recursion model.
@robertpearson8546
@robertpearson8546 Год назад
The von Neumann architecture is poor. Ridiculous Instruction Set Computers (RISC) are much, much, much, much worse. Direct execution stack-based architectures seem to be the best. If example, the Western Digital Pascal Engine, the Novix (Forth), The Lisp Machine, and Smalltalk on a RISC (except that it is a RISC). Designing hardware and software are the same activity. Both can be modeled with Petri Nets. Using semantic design, the hardware/software division is based on speed and cost (not a qualitative difference). The Novix chip implemented the Forth interpreter directly in hardware instead of software. Implementing the COG Smalltalk virtual machine in hardware would greatly speed up Smalltalk. Implementing the Java virtual machine in hardware is problematic because of the terrible design of the Java engine. Implementing the core Haskell interpreter in hardware would be worth investigating. Prototyping with an FPGA instead of an ASIC is a very good idea. I object to you using the term "printing" for fabricating an IC. Each diffusion and metalization step is much more complex than just "printing". The actual diffusion can take up to two weeks. You are trying to implement a Haskell program directly in hardware. A better starting point is to implement the Haskell virtual machine in hardware. That would be much easier and could then run all Haskell programs, not just one. P.S. If you switched from inherently quantum mechanically defective CMOS (a transient short between power and ground every clock cycle) to resonant tunnel diode threshold logic, your speed power product would improve 100,000 times. That is something to look into when you are through prototyping and ready to produce SOaCs.
@Stopinvadingmyhardware
@Stopinvadingmyhardware Год назад
Just an annotation. Monad Transformations are also useful in Erlang, for anyone not doing Mathematics, but still has a need to understand what a Monad Transformation is, and ends up here as a result.
@tarikozkanli788
@tarikozkanli788 Год назад
exemplifies cool research touching pure and applied aspects. thx.
@_general_error
@_general_error Год назад
I am sorry, but is not called "This Epsilon Notation"
@alexanderskladovski
@alexanderskladovski Год назад
Such a shame they didn't give him enough time...
@jollyjack5856
@jollyjack5856 2 года назад
doubly linked list means **fast insertion/removal IN THE MIDDLE**. without that, it's something else. Data.Sequence, finger trees, what have you.
@tepan
@tepan 2 года назад
Audio is slightly less awful at 1:12.
@MCLooyverse
@MCLooyverse 3 года назад
The question is not why the length of a pair is 1, then, but why a pair is foldable in the first place. foldr f b t = fmap f t b for a pair `t`. Why shouldn't `Int` be Foldable, with `length 3 = 1`?
@skepticmoderate5790
@skepticmoderate5790 3 года назад
Can anyone link to some resources on the scoping of universally quantified type variables? I didn't understand this.
@asitisj
@asitisj 3 года назад
30:50 when you encode length of the list as the type, are you carrying induction over the initial list
@graphymcformalisms5555
@graphymcformalisms5555 4 года назад
Really interesting! what's the current status of this? Is there a paper or a github or something?
@cynocephalusw
@cynocephalusw 4 года назад
A hidden gem.
@TheSelfHoster
@TheSelfHoster 4 года назад
This is insane. Congrats on building Reflex!
@sevenhong5809
@sevenhong5809 4 года назад
0:52 - 6:09 all these type related features are actually equally interesting as the topic of this video
@RobertFuszenecker
@RobertFuszenecker 4 года назад
Brilliant, it's great to see that the presenter really understands monad transformers.
@mikeg9b
@mikeg9b 4 года назад
The talk starts at 24:44.
@tricky778
@tricky778 5 лет назад
Haskell is not adopted because: memory consumption is the primary goal of Haskell, computations are converted into alternative computations that use the memory and memory bus in excess and cause swapping, memory and swap maximise the amount of computation that is done (computing a value in terms of disk state is the biggest computation possible and Haskell prefers to use that); tools to diagnose and solve that are missing, dysfunctional, or uninstallable (ghc-vis is all three); package databases make packages uninstallable except in sparse points; it's hard to find the /right/ package, there are tons of wrong ones and people talk about them as if they're right; the community preference is to mislead and trick. Haskell does not suffer from an insufficiency of Java.
@fredschneider7475
@fredschneider7475 5 лет назад
Shouldn't the speaker's name be in the title?
@MazeChaZer
@MazeChaZer 5 лет назад
Slides: obsidian.systems/reflex-nyhug/ (you have to scroll down a bit)
@randall.chamberlain
@randall.chamberlain 5 лет назад
Such a mediocre video for such an important topic
@helloboris
@helloboris 5 лет назад
Not every sentence has to start with the word 'so'.
@helloboris
@helloboris 5 лет назад
@Chris Done FP Toastmaster here. You might want to look that up. Really bad speech characteristics tend to make people move on very quickly. If one actually wants to persuade one's viewers to listen to what one is saying if more than thirty seconds, those characteristics are essential.
@vbhvsgr
@vbhvsgr 5 лет назад
A roomful of Haskellers for a talk about package management, and nobody mentions Nix? I am disappointed.
@tmteam8840
@tmteam8840 5 лет назад
the best Hindley-Milner explanation in the whole RU-vid. Thank you!
@vbhvsgr
@vbhvsgr 5 лет назад
Correction: `unordered-containers` uses 64-bit hashes. What I meant to say was that it uses 16-bit bitmaps (as of this writing).
@xy30
@xy30 5 лет назад
I think it is a wat but it's a bearable wat since it's consistent with other data types and there's no obvious alternative.
@tricky778
@tricky778 5 лет назад
This only has an overcompressed 480p stream as the best option and the slides aren't clear I think as a result. Is there anything you can do to get clearer text?
@ryantrinkle999
@ryantrinkle999 4 года назад
Hey! Sorry about that, the original link to the slides went down a while ago. Here's the new one: reflex-nyhug.obsidian.systems
@michelkannfliegen
@michelkannfliegen 4 года назад
@@ryantrinkle999 Hi! The authorize-Button doesnt show up. That intentional?
@ryantrinkle999
@ryantrinkle999 4 года назад
@@michelkannfliegen Unfortunately, the original code had bitrotted, and I needed to cut out the Twitter code to get the slides back up. Sorry about that!
@tcsiwula
@tcsiwula 6 лет назад
audio barf
@marcodiego6001
@marcodiego6001 6 лет назад
Rip my ears.
@TheDickswab
@TheDickswab 6 лет назад
Great video, though there's a lot of material teased that he unfortunately didn't manage to get through!
@0LoneTech
@0LoneTech 6 лет назад
IMNSHO, this is a clear Wat. In particular, you say you take the length of a tuple and get 1; but it only happens for a *pair* in particular. All other tuples fail! The key question here is, why can we traverse a pair in particular? The argument I've seen for it only addresses why it traverses the last field, not why it's different from all other tuples. The Either example is using Either as a Result type, and is quite arguable semantics; it's not clear from the type or constructor name that one is considered a shortcut and the other not, unlike Maybe. That's a minor flaw of the library. And if we look up what tuple means to the rest of the world, it *is* a list - so expecting it to behave like a list if it can be handled like a list is not surprising. Essentially, you're arguing for the Ok constructor to hold the rightmost type, and completely glossing over why you think a 2-tuple in particular needs to be foldable.
@okuno54
@okuno54 3 года назад
instance Foldable (,,) a b where { foldMap f (_, _, x) = f x } length (1, 2, 3) ==> 1 Just because it's not in the standard library doesn't mean you can't take the length of an n-tuple. I largely agree about Either---sometimes it's used to mean error/result, sometimes there really are two possible outcomes; that's just the downside of using structural types as as opposed to nominal types. It's not unique to Either (e.g. Maybe can be used to mean represent failure without a diagnostic, or an optional value), and its not unique to Haskell (e.g. a null likewise can indicate failure or an optional value). If we look up what the less-than operator is to the rest of the word, it's an infix, but in Lisp it's a prefix operator. I guess that makes Lisp's less-than a wat? No, it just means you don't know Lisp. If you think Haskell pairs are lists, it just means you don't know Haskell very well... but it's been a few years so I expect you've learned by now. As for why the rightmost type should be the one that holds the result, well, if you wanted the left side to hold the error, you would need to define a type synonym and turn on the TypeSynonymInstances extension; OTOH, if the right one holds the result, then in standard Haskell you can just partially apply Either and everything works out. Though if you really wanted the left side to hold the result, you could switch over to the Bifunctor interface (though I'm not sure there's a compelling reason to do so). Does a 2-tuple _need_ to be Foldable? No. Nothing needs to be Foldable. You don't need to use Haskell, you don't need to be a programmer, you don't need to use a computer. But there _is_ a sensible instance for `Foldable (,) a`, and perhaps some people get some use out of it. If it weren't in the prelude, it might end up in somebody's utilities collection. I don't personally use pairs as functors or foldables or any of that; most of the time, I'd much rather use `second f (x, y)` than `fmap f (x, y)`
@fintarabg
@fintarabg 6 лет назад
Really liked how he explains stuff. Thanks!
@r00k123123
@r00k123123 6 лет назад
This is a good talk if you manage to get past the bad sound quality.
@shoemakerdr
@shoemakerdr 6 лет назад
and the dude straight up no-shame shopping for a Carhartt jacket (21:35)
@marcusklaas4088
@marcusklaas4088 6 лет назад
Fantastic stuff!
@makabrie
@makabrie 7 лет назад
Best introduction to type inference. Thx so much Mr. Hurt.
@teodorlamort3864
@teodorlamort3864 7 лет назад
Typing Mochizuki's IUTT papers in this at the moment. Turns out chapters 1 through 17 are surprisingly doable, although the Hodge Theaters are a bit harder to construct under category theory axioms. Thank god for the abstract topological group package.
@sorinsuciu8675
@sorinsuciu8675 5 лет назад
any github repo we can see?
@declup
@declup 7 лет назад
How does Eta compare to the programming language Frege?
@ingo-w
@ingo-w 7 лет назад
Frege is an Haskell like language, but has its own compiler and doesn't use GHC, whereas eta is a backend for GHC and provides an equivalent of the GHC runtime on the JVM.
@MrEyee2
@MrEyee2 7 лет назад
Good talk and project, just one advice for the presenter: TONE DOWN THE "UHM"
@odites
@odites 7 лет назад
Where can I find it? (code, not slides!)
@iggybibi
@iggybibi 7 лет назад
what about concave hulls as boundaries?
@GavinBisesi
@GavinBisesi 7 лет назад
the audio quality is awful
@AcheronLupus1
@AcheronLupus1 6 лет назад
It's a functional reactive microphone. Give it a break, it's only in beta!
@hartmut1079
@hartmut1079 7 лет назад
A very important research and implementation ! Thank You very much! Looking forward to (pre-)releases of GHC 8.2.1 equipped with backpack. What a pity that the audio is clipped / oversteered / has distortion. Hope You will repeat Your presentation some day :-)
@rampion
@rampion 7 лет назад
slides github.com/burz/presentations/blob/master/f-algebras/slides.md
@a13ph0
@a13ph0 7 лет назад
Couldn't duplication of code with String vs ByteString be alleviated via OverloadedStrings pragma? If yes, why isn't it?
@edwardzyang
@edwardzyang 7 лет назад
Even though OverloadedStrings let you write string literals that are either String or ByteString, it doesn't solve the problem of also giving you functions that let you perform operations on these strings. But it's true that type classes solve similar problems to Backpack: Backpack is better for dealing with cases where you need to support a lot of functions in your API.
@Kram1032
@Kram1032 7 лет назад
Ugh that mic blew out fiercely. Did it sound like that in the room too?
@Kram1032
@Kram1032 7 лет назад
Yes, he decided to put away the mic--- crap somebody held it for him.
@Kram1032
@Kram1032 7 лет назад
Ok it gets a bit better later
@roryookane
@roryookane 7 лет назад
Kram1032 So others know when to expect it: the speaker puts down the microphone at 24:15, when he starts a live demonstration of the software.
@Kram1032
@Kram1032 7 лет назад
thanks, I probably should have mentioned that
@LooJulian
@LooJulian 7 лет назад
Is the a higher resolution (720p) sharper video available?
@darksaga2006
@darksaga2006 7 лет назад
Could you re-upload the slides?
@mnt_io
@mnt_io 7 лет назад
Check here github.com/bhurt/presentations.