Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Antsan

Pages: 1 ... 17 18 [19] 20 21 ... 71
271
Other Games / Re: Games you wish existed
« on: October 17, 2015, 06:46:41 pm »
You know, I was going to make a joke about fucking contests, but then realised that actually that exact game exists. Can't remember the name but it's a menu-driven deal where you move around different locations and can then transition into "combat" encounters, split up into days so you can buy equipment and stuff in between.
The premise is really stupid, some sort of literal fucking competition where the aim is to take the underwear of whoever orgasms first. Then you trade them in for money.
You'd probably be able to find the thing from that, I probably could too but I'm not much inclined to.

But hey, better weird than mundane I suppose.
Night Games. The premise for any porn game is ridiculous.

272
Other Games / Re: Games you wish existed
« on: October 15, 2015, 11:20:42 am »
(and a case study that if you're a psychologist you can make a porn game and claim ART! on it)
What you mean to imply is that porn cannot be art?

273
Creative Projects / Re: History Generator Simulator
« on: October 13, 2015, 10:18:53 am »
PTW

274
General Discussion / Re: if self.isCoder(): post() #Programming Thread
« on: October 11, 2015, 06:33:36 pm »
Try the case with b=0.
The other case may be with b<0.

275
Creative Projects / Re: Programming Language: Poslin
« on: October 09, 2015, 11:46:40 am »
Poslin0.3.0rc5-0.1.6 is up.

The exceptions thrown by the primary operations now contain all the necessary information. Before for some operations arguments were lost.

The standard library has grown again.
`even?` and `odd?` have been added. They've got the obvious meaning.
`&|` is to `|`what `&[` is to `[`. That is, it closes the current stack and then opens a new one with `&[`.
`top-or-self` returns the top of a given stack or, if the given object is not a non-empty stack, the object itself.
`exception-type` returns the `top-or-self` of the `exception-data` of an exception.
`exception-type?` checks whether an exception is of a given type.
Code: [Select]
> 0 / !  ;[ this does not pop bottom because `/` tries to make the reciprocal of 0 before an attempt is made to pop the next argument ];


Division by zero

[ [[EXCEPTION ZERO-DIVISION-ERROR {P{reciprocal} P{*}}+0 "Division by zero"]] ]
> ZERO-DIVISION-ERROR exception-type? !
[ <TRUE> ]
`to-bottom` sends an object to the bottom of the current stack.
Code: [Select]
[ 1 2 3 ]
> a to-bottom !
[ a 1 2 3 ]

`]catch` is an immediate operation and allows you to catch errors of a specific type with their correct handler.
Code: [Select]
[ body &
| ZERO-DIVISION-ERROR
  [ zero-devision-handle & ]
  TYPE-ERROR
  [ type-error-handle & ]
]catch
In the latter part (where all the handlers are defined) a local variable `exception` is defined which contains the caught exception.
Code: [Select]
[ do & some stuff &
| MY-EXCEPTION
  [ exception get exception-data &
    do & stuff with & data &
  ]
]catch
Of course this means that any variables named `exception` in the surrounding scope are shadowed.
Exception types which are not caught are just rethrown.


There's a challenge on codegolf.stackexchange.com: Showcase your language one vote at a time. It allows to show code snippets of length 1-number of votes. So, if any of you are on there I'd be happy if you gave me a vote.
It's easier to do that than trying to write a tutorial – a tutorial requires way better structure.

276
Creative Projects / Re: Programming Language: Poslin
« on: October 07, 2015, 05:45:18 pm »
Poslin0.3.0rc4-0.1.5-linux-x86 is up.

There was a bug in the runtime where the immediateness value of the noop `.` wasn't the false value but the empty stack (which is equivalent to NIL in Common Lisp, because that's the empty list). This worked because the runtime checks whether the value of the immediateness binding was equal to the true value, but it lead to problems when I wrote an operation assuming that all immediateness values were booleans.

There were a few bugs with forgotten `&`s in the standard library. Well, this is one of the problems with having to write `&` everywhere… :-[
But, rejoice, I've got a solution, and it's already implemented.
The standard library now contains three new operations:
`immediate?` which takes a symbol and returns whether it currently is immediate
`&(`, an immediate operation which makes every operation immediate, but changes every operation which was not immediate before to instead put its former thread onto the current stack.
`&[` is the same as `&(`, only that it also opens up a local stack.

So, instead of
Code: [Select]
2 + & 3 * &
you can now write
Code: [Select]
&( 2 + 3 * )
and instead of
Code: [Select]
foo [ 2 + & 3 * & ]o
you can now write
Code: [Select]
2+ &[ 2 + 3 * ]o

Of course this only works for operations which have been defined before `&(`/`&[` has been called.
Both also open up their own local operation and immediateness environments, so every operation defined inside their scope will not be available outside that scope.

277
General Discussion / Re: if self.isCoder(): post() #Programming Thread
« on: October 07, 2015, 02:47:23 pm »
Well, Debian is pretty configurable on installation, but I guess, if you install a graphical interface, that still has some superfluous stuff.
LFS would be the extreme choice – you only install what you need, but that would take a lot of time.

If you have Windows, there was a nice gui for qemu somewhere. It was really easy to use, very intuitive and stuff.

278
General Discussion / Re: if self.isCoder(): post() #Programming Thread
« on: October 07, 2015, 02:35:02 pm »
Yeah, most IDEs seem to be more of a roadblock than helpful.
You'll have to read some stuff about autoconfig, though.

279
General Discussion / Re: if self.isCoder(): post() #Programming Thread
« on: October 07, 2015, 02:22:34 pm »
Use emacs and autoconfig on the Linux of your choice.

280
Creative Projects / Re: Programming Language: Poslin
« on: October 06, 2015, 09:17:29 am »
Poslin0.3.0rc3-0.1.4-linux-x86 is up

There was a bug that didn't handle some type errors as intended, throwing an implementation error when a type error was about to be handled. I am still not sure why it didn't throw an implementation error when I didn't try to handle it, but whatever – it's fixed now.
Also did some cleanup in the code base of the runtime.

The types `:Exception` and `:HandledThread` are now in the standard library – i forgot to include them the last time.
A new immediate operation has been added: `...`. You can use it to signify an undefined operation like this:
Code: [Select]
foo
[ ...
]o
It just throws an exception if `foo` should be called.

281
And I deleted your post without even logging in. :o

282
General Discussion / Re: if self.isCoder(): post() #Programming Thread
« on: October 06, 2015, 06:22:19 am »
It makes you think in a specific way about namespaces, which changes how the code is structured on the macro-level but don't really do anything beyond that.
Seeing how there's stuff beyond classes and functions in other languages, I'd say you're wrong. Of course most language don't make use of anything but data structures and functions.

If you like neat code, try Haskell some time. You'll look at OOP and wonder how you could ever think it was neat.

283
General Discussion / Re: if self.isCoder(): post() #Programming Thread
« on: October 06, 2015, 04:50:48 am »
I don't get how having everything object oriented would make these things more flexible. I'm not even sure how compilation can be "more flexible" (unless you mean programmable compilers, in which case object orientation doesn't help in the slightest).
Common Lisp has dynamic loading of everything, including functions and class definitions. It even can do redefinition of everything at runtime.

Quote
And technically, the only negative aspect of forcing everything to be in classes is that you have to write "public static" in front of all your otherwise-global methods and variables.
No, it also forces you to think in a very specific way about programming. The object metaphor can be pretty imposing and that is a bad thing when you're thinking about something which isn't neatly representable in a class hierarchy.

It's not like the programming world is divided into "functions" and "objects".

284
General Discussion / Re: if self.isCoder(): post() #Programming Thread
« on: October 06, 2015, 03:34:55 am »
The idea behind having all code in classes is way more than just simplification. It also adds flexibility in every aspect other than writing code.
Don't you think that statement is contradictory?
My experience is that in many instances using object orientation makes you add tons of boilerplate that could be easily avoided when using some other paradigm which offers everything you need for less code and better readability.

Flexibility comes from having more tools available, not from having one tool which supposedly does everything.

285
General Discussion / Re: if self.isCoder(): post() #Programming Thread
« on: October 05, 2015, 04:47:05 pm »
https://medium.com/@webseanhickey/the-evolution-of-a-software-engineer-db854689243
Wow, that's scary. Why would you do all of that stuff?

The idea of writing a class for a Hello World program, though… ???

Pages: 1 ... 17 18 [19] 20 21 ... 71