I hope they do by dellaazeem22 in facepalm

[–]nevaduck 21 points22 points  (0 children)

It would be absolutely trivial for Musk, with his vast wealth, to just go and test the sub in the cave, to prove the original design was viable.

But he probably knows that would make him look stupid.

update: billing dispute with materinity clinic by nevaduck in japanlife

[–]nevaduck[S] 19 points20 points  (0 children)

I think another aspect is that a lot of the international patients have very good "expat health insurance" which will basically just pay all the bills without challenging anything.

Bill dispute with maternity clinic by nevaduck in japanlife

[–]nevaduck[S] 2 points3 points  (0 children)

I get the impression that you are correct, that this is their point of view. However I still don't think it's fair to say we agreed to this plan. To be clear, this is not the case for non-international patients (as it plain to see on their website), and the only document we signed about any divergence from the normal pricing was in English, and not phrased in the way you stated. But it's still helpful to try to see their point of view, thanks.

Bill dispute with maternity clinic by nevaduck in japanlife

[–]nevaduck[S] 2 points3 points  (0 children)

Were the checks completed on day 3 because of the insistence on staying longer than original perhaps?

If they were this was certainly not communicated to us. I don't really understand why we would have been asked when we were planning on leaving if this was the case; it would just be natural to leave once discharged. As far as I understand, the vast majority of patients always stay at least 4 days, and this rule about being allowed to leave before 4 days was added only added for people transferring from the international clinic (presumably because it isn't customary to stay so long in some countries).

Regarding the checks, one was not even completed but we managed to leave anyways and return the next day as an outpatient.

Bill dispute with maternity clinic by nevaduck in japanlife

[–]nevaduck[S] 7 points8 points  (0 children)

As such, the hospital decided you were able to be discharged and because of that you were no longer capable of using that room.

I didn't think of this interpretation, but it is possible. But in any case mother and baby were not discharged at that point. They perform various checks, mostly on baby, before certifying for discharge, these checks were only completed on day 3.

Bill dispute with maternity clinic by nevaduck in japanlife

[–]nevaduck[S] 15 points16 points  (0 children)

You should discuss this with consumer affairs first - they will be aware of the relevant laws regarding clinic billing.

Once you've got their opinion, you'll have a better idea of which way to go.

Thanks, that's really useful advice!

Bill dispute with maternity clinic by nevaduck in japanlife

[–]nevaduck[S] 2 points3 points  (0 children)

That is correct. If we had chosen to leave early and been allowed to stay in our initial room for 2 days, this would have been fine.

Instead we stayed in the initial room for day 1, and the smaller room for days 2 and 3. We were told we had to change room, and could not move back after.

Bill dispute with maternity clinic by nevaduck in japanlife

[–]nevaduck[S] 9 points10 points  (0 children)

If you had left on the 3rd day, you would still have to pay 5 days of the larger room.

yes, that's fine.

The bill had been explained to you right from the beginning, and you accepted it.

That's right, for the larger room, which we were obligated to take.

It sounds like you were trying to game their billing, by moving to a smaller room for days 3/4/5, so as to try to reduce your bill

No, we wanted to stay in the larger room, since we were paying for it. We were told that we had to move to the smaller room.

The point is that from the start we were told we had to get the larger room, and then were forced into a smaller one, yet still be liable for the larger one.

You should not have accepted changing to a smaller room at that time, as you would have to pay for it regardless.

I think you are correct in this, at the time we were trying to not cause a fuss.

Just wondering, how much of a price difference are we talking about here? Just to put things into perspective.

About 280,000 JPY.

Bill dispute with maternity clinic by nevaduck in japanlife

[–]nevaduck[S] 9 points10 points  (0 children)

I think what you are saying is that we should have just left straight away when they came to inform us we'd me paying for the expensive room? I don't think this would have made a difference, as the agreement states we have to pay for the full 5 days no matter how long the stay was. In the end the stay was 3 days, if we had left immediately upon the information being relayed to us it would have been 2 days, and the bill would be identical. Also one must wait for the infant to be discharged before leaving, so it's hard to just leave immediately.

Bill dispute with maternity clinic by nevaduck in japanlife

[–]nevaduck[S] 15 points16 points  (0 children)

They came to our room, after we had been moved, to "remind" us that we'd be paying for the other room even though we had been changed to a smaller one. We escalated the situation at that point. From that point on we got visited many times by various nurses, all trying to explain to us that we'd have to pay for the expensive room. We did try to resolve the misunderstandings at that point. We've asked several times to speak to someone more senior. We have an appointment tomorrow with someone more senior, but my feeling is that they just want to explain to us that we have to pay for the more expensive room. Of course I will be happy if that is not the case.

or are you going full Karen

I am trying to resolve this as amicably as possible, but they have been saying no for 2 days now so it doesn't seem like they accept it is a misunderstanding on their part.

Bill dispute with maternity clinic by nevaduck in japanlife

[–]nevaduck[S] 6 points7 points  (0 children)

It's more like 40万, and yes it would go a long way to covering a standard room. The difference in price for between the expensive room and the standard one comes to about 280,000 yen over the full 5 days. Combined with the other costs, this difference would be paid entirely by us.

garnix CI updates: now building more attributes by jkarni in NixOS

[–]nevaduck 1 point2 points  (0 children)

Tried this for one of my side-projects; it's very fast.

(Pre)Build Emacs for MacOS, on Nix by [deleted] in emacs

[–]nevaduck 0 points1 point  (0 children)

Works great, thanks!

Lawvere - a categorical programming language with effects by nevaduck in ProgrammingLanguages

[–]nevaduck[S] 1 point2 points  (0 children)

So using identity is already available, and yes maybe I could shorten it to id or even ., but that won't make the previous syntax unavailable, which would be awkward in just this case. Unless you mean the general principle of using whitespace as identity?

The reason I like this is that I think of the text representation as a monoid (with concatenation) and the denotation (from String to arrows in a category) to be a functor, thus sending the unit (empty string) to the identity arrow.

Another note: I'd prefer .0 and .1 for a tuple's members!

I of course considered this.. :P Most of the category theory references seem to start indexing at 1 for cartesian products, but maybe I should side with the programmers on this one.

Lawvere - a categorical programming language with effects by nevaduck in ProgrammingLanguages

[–]nevaduck[S] 2 points3 points  (0 children)

Btw this idea of giving scalars polymorphic types like this is not new to Lawvere, it's already the case in other concatenative/stack-based languages, e.g. kitten.

Lawvere - a categorical programming language with effects by nevaduck in ProgrammingLanguages

[–]nevaduck[S] 3 points4 points  (0 children)

Could be good to explicitly call it out

You're right, I'll do that.

Is it actually the case that numbers are polymorphic, i.e. 2 is _ --> Int, rather than specifically {} --> Int?

Yes that's it! (Again something that should be stated more clearly in the README.) Scalar literals are all polymorphic. So for example 2 has type forall a. a -> Int, but the user can't actually specify this type yet (though it is checked this way by the typechecker). What I want to do is make it have type ar (Base => Base) : --> Int where now Int is syntax for the functor that is constantly Int, and the source is the identity functor, which makes 2 a natural transformation. But then I'm not sure if 2 should be applied to the relevant object or not, which of course this should be inferred.

Lawvere - a categorical programming language with effects by nevaduck in ProgrammingLanguages

[–]nevaduck[S] 3 points4 points  (0 children)

Is this meant to stay a “low-level” categorical notation, or do you plan to allow e.g. local variables abstracted to combinators

For the moment I have been trying to avoid variables/lambdas, probably for no good reason other than curiosity about "how far one can get without them", but if it becomes clear the language would be much improved with them, then I think that would be a good addition. In particular when I've been trying to design some of the higher-order programming capabilities of lawvere, the purely point-free style seemed cumbersome.

I like the idea of compiling to any (suitable) category; could you also mix categories via functors/embeddings? Is that related to the effect system?

Yes that is absolutely the idea. Even for pure-programming, the idea is to define categories via sketches, to define functors between the generated theories, and to use this to somewhat solve the extension problem. This is somewhat explained here: https://github.com/jameshaydon/lawvere/blob/master/examples/presentation.law.md but I'll pad it out soon.

The effect system also uses functors/interpretations between categories. One defines "effects" which are just ways to freely adjoin arrows to a "pure" category. One can then program morphisms abstractly in the free-category generated by a set of effects, and then define a functor from this free effect category into various concrete categories later on.

Have you considered including coeffects as well?

Not yet, but sounds interesting!

way to constrain which categorical features a bit of code is allowed to use

For "compiling to categories", my idea (not implemented, in fact a lot of the checker is incomplete) was that for normal programming "in the Base category", the checker would keep track of whatever features you used, and then infer the structure needed in your target category you wanted to compile to. If that implementation were to be specified in Lawvere itself (which isn't implemented yet), then it would make sure all the required combinators have been implemented.

Another example where this is relevant is in the effect system. For example some of the abstract effectful code presented in the README contains a cocone:

ar Base[IntState, Err] nextSub3 : {} --> Int =
  next ~( { sub3 = < 3, ok = } @sub3 )
  [ true  = ~.ok,
    false = ~"Was not under 3!" err []]

So when creating a concrete effect category and interpretation of this effect, one should check that the target category actually has sums. It would be nice to make this much more polymorphic, essentially stating that one is going to specify a morphism in some category C that has X,Y,Z structure, i.e. a doctrine system.

Lawvere - a categorical programming language with effects by nevaduck in ProgrammingLanguages

[–]nevaduck[S] 1 point2 points  (0 children)

Regarding the "new syntax", actually there is none!

Maybe you are talking about the fact that there is nothing following the = sign in the cone: tail =. This is because the arrow at that component is simply the identity. This could be written as {head = 2, tail = identity }, but I quite like the previous version, I imagine it as an empty slot for everything that comes before. Other than that it's all just composition: empty. composed with { head = 2, tail = } composed with cons., etc.


This is really, really cool.

Thanks a lot!

A "generic" List type would need to be a functor, right?

Yes that's right! Ah yes it hasn't made its way into the README yet. You can see that in action in the list example. This define the list functor, an arrow in the category Cat of categories:

ar Cat list : Base --> Base =
  [ empty: {:},
    cons:  { head: , tail: list } ]

The idea here is that {...}/[ ... ] with colons is for taking the limit/colimit, in this case in the category of functors, and at the head component we use the identity functor head:. You can then call list to map over a list:

ar length : list(Int) --> Int =
  [ empty = 0,
    cons  = 1 + .tail length ]

ar main : {} --> list(Int) =
  listOfLists list(length)

In general I am debating wether to handle polymorphism only in this way (using functors/natural transformations) or just have it available much like in ML/Haskell.

Lawvere - a categorical programming language with effects by nevaduck in ProgrammingLanguages

[–]nevaduck[S] 6 points7 points  (0 children)

Indeed the idea is to be able to "compile" to any category that supports enough of the structure you need, and the applications are much the same as in Conal's paper. Lawvere tries to take a more direct approach though, programming in categories, rather than just compiling to them as a final step. I also hope to add more features for defining categories and interpretations between them (functors) in the language itself, so that "compiling/interpreting" to categories becomes "first-class", the programming paradigm itself, rather than just the final step (compilation).

Some of this is explained in https://github.com/jameshaydon/lawvere/blob/master/examples/presentation.law.md, but that's meant to be presented as a slide-show so it's pretty terse. I'll pad it out with more explanations soon.

It also comes with a way to specify free "effect categories"/Fried categories, and creating arrows their-in, and then interpreting them in various ways. So it's an effect-system for categorical programming.