Re: An idea for error handling that could work with Myrddin
[Thread Prev] | [Thread Next]
[Date Prev] | [Date Next]
- Subject: Re: An idea for error handling that could work with Myrddin
- From: Ryan Gonzalez <rymg19@xxxxxxxxx>
- Date: Wed, 23 Mar 2016 09:52:14 -0500
- To: Ori Bernstein <ori@xxxxxxxxxxxxxx>
- Cc: myrddin-dev@xxxxxxxxxxxxxx
--
Ryan
[ERROR]: Your autotools build scripts are 200 lines longer than your
program. Something’s wrong.
http://kirbyfan64.github.io/
On Mar 23, 2016 1:00 AM, "Ori Bernstein" <ori@xxxxxxxxxxxxxx> wrote:
>
> Now, the other reservation I have with a system like this is that a simple
> implementation implies a builtin, magic error type. I like being able to
> return different unions. For example, I have:
>
> type bio.result(@v, @e) = union
> `Ok @v
> `Eof
> `Err @e
> ;;
>
> which I'm not sure should be less distinguished than
>
> type std.result(@v, @e) = union
> `Ok @v
> `Fail @e
> ;;
>
> (Although it could use a bit more consistency, I suppose).
>
> I'm currently mentally poking at this to see if it's possible to keep
> the benefits, but make it more general.
>
Actually with the system that could be something like:
type bio.error = union
`Eof
`Err @e
;;
Then the bio.* functions would return `<normal_return_value>![bio.error]`.
The intention was to allow custom error types. I mean, I guess I didn't
make it clear enough?
> On Tue, 22 Mar 2016 10:36:03 -0500, Ryan Gonzalez <rymg19@xxxxxxxxx>
wrote:
>
> > Ack, I forgot that part. That's what happens when you try to do too
much in
> > one day. :/
> >
> > I updated the article; here's a direct link to the new section:
> >
> >
http://kirbyfan64.github.io/posts/an-idea-for-concise-checked-error-handling-in-imperative-languages.html#sequencing
> >
> >
> > On Sun, Mar 20, 2016 at 10:02 PM, Ori Bernstein <ori@xxxxxxxxxxxxxx>
wrote:
> >
> > > It looks interesting. One thought is that it seems you have only a
single
> > > expression. The usual gain for try/error style handling is that you
can
> > > have multiple things happen in one block, and break out early when
you see
> > > the first error. Something like:
> > >
> > >
> > > try
> > > fd = std.dial("tcp|host!port")
> > > std.write(fd, "header")
> > > std.write(fd, "body")
> > > std.read(fd, responsebuf[:])
> > > ...
> > > except thingy
> > > handle error
> > > ;;
> > >
> > > I might be misunderstanding, but I'm not sure if this is possible
with your
> > > proposed system?
> > >
> > > On Sun, 20 Mar 2016 18:34:15 -0500, Ryan Gonzalez <rymg19@xxxxxxxxx>
> > > wrote:
> > >
> > > > I just put a new post on my web site:
> > > >
> > > >
> > >
http://kirbyfan64.github.io/posts/an-idea-for-concise-checked-error-handling-in-imperative-languages.html
> > > >
> > > > Although I used Crystal in the examples, I had Myrddin in mind. I
just
> > > was
> > > > too lazy to think of how the semantics would be in a low-level
language,
> > > > and Crystal's syntax is close to Ruby, which is really well-known.
> > > >
> > > > But the idea could still apply well, especially since Myrddin has
type
> > > > inference like I mentioned. However, I'm not sure how exactly
throwing
> > > > errors would be, since, without some kind of copy constructor
system, I
> > > > could see it being somewhat hard to debug.
> > > >
> > > > Anyway, thoughts?
> > > >
> > > > --
> > > > Ryan
> > > > [ERROR]: Your autotools build scripts are 200 lines longer than your
> > > > program. Something’s wrong.
> > > > http://kirbyfan64.github.io/
> > >
> > >
> > > --
> > > Ori Bernstein
> > >
> >
> >
> >
> > --
> > Ryan
> > [ERROR]: Your autotools build scripts are 200 lines longer than your
> > program. Something’s wrong.
> > http://kirbyfan64.github.io/
>
>
> --
> Ori Bernstein
| An idea for error handling that could work with Myrddin | Ryan Gonzalez <rymg19@xxxxxxxxx> |
| Re: An idea for error handling that could work with Myrddin | Ori Bernstein <ori@xxxxxxxxxxxxxx> |
| Re: An idea for error handling that could work with Myrddin | Ryan Gonzalez <rymg19@xxxxxxxxx> |
| Re: An idea for error handling that could work with Myrddin | Ori Bernstein <ori@xxxxxxxxxxxxxx> |
- Prev by Date: Re: An idea for error handling that could work with Myrddin
- Previous by thread: Re: An idea for error handling that could work with Myrddin
- Index(es):