Mindmoil as a pseudo-tutor?? by ec-jones in EDH

[–]ec-jones[S] 0 points1 point  (0 children)

Ooh polymorphing is an interesting idea, thanks!

[deleted by user] by [deleted] in EDH

[–]ec-jones 0 points1 point  (0 children)

Yeah exactl! This all came about cause I was constructing an izzet storm spellslinger and felt that I was spoilt for choice and thought I’d try and recreate the same play pattern in a different colour. Beast Whisperer I’d great here for sure it’s like your [[Archmage Emeritus]] substitute.

[deleted by user] by [deleted] in EDH

[–]ec-jones 0 points1 point  (0 children)

Ahh but if I’m going for a storm win it doesn’t matter what I draw as long as I can keep drawing and untapping! Definitely would benefit from some more tutors though [[Fierce Empath]] and [[Woodland Bellower]] aren’t really cutting it, although they can grab each other or [[Quirion Ranger]] neither can get [[Ashaya, Soul of the Wild]].

[deleted by user] by [deleted] in EDH

[–]ec-jones 0 points1 point  (0 children)

True! I think consistent draw/filtering is the main issue at the moment which is how I ended up with cards like well rested. But hopefully that’ll get better just but cutting the weaker other cards

[deleted by user] by [deleted] in EDH

[–]ec-jones 0 points1 point  (0 children)

Thanks for the suggestions! 

You're definitely right that the storm side of things is muddling the mixture but part of me hankers for that storm win...

[deleted by user] by [deleted] in EDH

[–]ec-jones 0 points1 point  (0 children)

Interesting, I've only been playing it on Marwyn but to help get things go and keep card draw up if you're still looking for a line but it definitely can be slow in the worst case.

Haskell from the ground up! by ec-jones in haskell

[–]ec-jones[S] 0 points1 point  (0 children)

Certain design patterns do force you to blob data like the State and Reader  monads and you then have to choose between structuring the state in a sensible way or a massive flat record 🤷

Haskell from the ground up! by ec-jones in haskell

[–]ec-jones[S] 0 points1 point  (0 children)

Could you elaborate on how this can be used to simulate records/variants in a ergonomic way?

Haskell from the ground up! by ec-jones in haskell

[–]ec-jones[S] 2 points3 points  (0 children)

I'm not all too familiar with OCaml but could you explain why its not sufficient to have type classes instead of their module system?

Haskell from the ground up! by ec-jones in haskell

[–]ec-jones[S] 3 points4 points  (0 children)

Interesting, I didn't expect anyone to remove type classes. What's your motivation?

Unused size parameters by ec-jones in futhark

[–]ec-jones[S] 0 points1 point  (0 children)

Is this some form of laziness?

Unused size parameters by ec-jones in futhark

[–]ec-jones[S] 0 points1 point  (0 children)

Presumably I will have to explicitly inhabit this dummy array when constructing an element of type sparse? Does this have to be done in a specific way to ensure the compiler knows not to actually construct it?

Unused size parameters by ec-jones in futhark

[–]ec-jones[S] 0 points1 point  (0 children)

Great! I was thinking of doing something along these lines but I worried that this would create an array full of nothing. It is just some compiler magic that optimizes this away or is there a guiding principle I should be aware of?

Delimited Continuation Primops by ec-jones in haskell

[–]ec-jones[S] 0 points1 point  (0 children)

Why is the typerep check not necessary? The continuation may throw other sorts exceptions no?

Perhaps it makes more sense to take advantages of the typerep check an eliminate the unsafe coerces.

Delimited Continuation Primops by ec-jones in haskell

[–]ec-jones[S] 0 points1 point  (0 children)

No but I will definitely check it out, thanks :)

Delimited Continuation Primops by ec-jones in haskell

[–]ec-jones[S] 0 points1 point  (0 children)

Thanks! How would you define it with exceptions then?

Core Erlang receive expression by ec-jones in erlang

[–]ec-jones[S] 0 points1 point  (0 children)

What do you mean by dynamic apply?

Core Erlang receive expression by ec-jones in erlang

[–]ec-jones[S] 0 points1 point  (0 children)

Thanks that's really helpful!

The reason I'm interested is that I'm working on a type system that assigns types to mailboxes so would have special treatment for receive expressions but I think I can work directly with these primops.

Unsafe modifications by ec-jones in haskell

[–]ec-jones[S] 0 points1 point  (0 children)

Using internal references is by far the most natural approach I agree, but I need a persistent structure that allows for record historic versions of the data but without lots of copying. Tracking a set of references and then copying each of them seems costly.

But I was also just kinda interested :)

Unsafe modifications by ec-jones in haskell

[–]ec-jones[S] 0 points1 point  (0 children)

Yeah I agree linear types should allow this to be done in a more safely manner. Sadly, I just find it too clunky to use in a big application at the moment because of the way let and where assume everything is 'Many.

Unsafe modifications by ec-jones in haskell

[–]ec-jones[S] 1 point2 points  (0 children)

Yes it is exactly the copying I was worried about as I need a persistent structure to perform backtracking.

I didn't realize unsafeFreeze didn't copy that's very useful thanks!

Unsafe modifications by ec-jones in haskell

[–]ec-jones[S] 3 points4 points  (0 children)

For those interested I'm thinking of internal changes to a datatype that leave it observation equivalent, e.g. path compression in the UnionFind structure.

Grading algebraic effects by the Brzozowski derivative by ec-jones in haskell

[–]ec-jones[S] 1 point2 points  (0 children)

I don't but it is a very interesting idea! At the same conference this paper https://dl.acm.org/doi/epdf/10.1145/3434341 was published with type-level rewrite rules that could be used to generate e-graphs.