Email or username:

Password:

Forgot your password?
Top-level
Devil Lu Linvega

I'm starting to get the hang of this now.

So, one bad-habit that I had when building my wiki(which I've managed to overcome in the projects I've made afterward) was to hard-crash on error, no matter the stack state, and this just won't fly with the type checker, I've got to keep the stack in balance during error handling.

10 comments
Ricardo B�nffy

@neauoire what environment are you running your blog in? The UI seems Oberon-like, but the language looks like Forth.

spooky blip 👻

@neauoire yaaaayyyy this is a lo-fi flavour of the Result<T> concept :) it's analogous to an Option<T> for methods (words) that might return null. I (very subjectively) find having to handle things in a balanced way like this leads to more understandable code.

blog.logrocket.com/understandi

Devil Lu Linvega

@klardotsh did you ever come across anything about type-checking in regards to concatenative languages by any chance? The body of work on the topic, that I can find, is extremely thin.

spooky blip 👻

@neauoire your assessment is correct. I never found much useful. I was planning my way around doing things very DIY and kinda blue collar since there's almost no academic research or past art to refer to, especially for my plans with Gale (inference, etc)

Devil Lu Linvega

@klardotsh everything that I could find, I've collected here: wiki.xxiivv.com/site/type_syst

I'll improve as I go along.

418 I'm a Teapot

@neauoire @klardotsh looks like you are in the Maybe monad... and maybe bind is the concatenation you are looking for...

Devil Lu Linvega

@chainik @klardotsh monad? in point-free assembly? I'm having trouble understanding what that might look like. Do you have a link on monads in Joy or Factor?

Avi Bryant

@neauoire @chainik @klardotsh I can imagine a Maybe monad in joy looking something like

wordThatReturnsMaybe [doSomethingToResult] map

or

wordThatReturnsMaybe
[anotherWordThatReturnsMaybe] flatMap

418 I'm a Teapot

@neauoire @klardotsh i don't have a concrete suggestion because my head isn't in the details. abstractly, i recognise Maybe and if the rest of the computation was happening in the monad it would type check :)

Go Up