Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

LispCraft

Name: Anonymous 2011-04-09 5:21

Hi, all. I finally completed Warcraft 2 implementation in LISP.
http://img859.imageshack.us/i/52320836.png/

Took me a few months, though, but mostly because I was too lazy and my DSL is still pretty buggy, has poor debugging support and long compilation times (takes about 30 seconds to reload source file). Anyway, this proves, that writing a game in Lisp is relatively easy, even for a single person.

Name: Anonymous 2011-04-09 23:59

>>33
Global garbage collected heap environments like Java or .NET are literally garbage. Global heaps do not scale well for highly parallel systems. Fortunately, it's not like retards who can't manage their own memory are also good at concurrency.

Stick to your garbage collected toy languages.

Name: Anonymous 2011-04-10 0:53

>>36
stick to your over 9000 lines of code, that segfaults every few minutes.

Name: NIGGERFUCK 2011-04-10 1:04

#include <stdio.h>
#define NIGGERFUCK "niggerfuck"

int main() {
  printf("Hi %s", NIGGERFUCK);
  return 0;}

Name: Anonymous 2011-04-10 1:29

>>37
I use unit and regression testing coupled with sound idiomatic programming to limit critical failures in my software to a near zero probability. In fact, I would argue that most of my C/C++ software has far less bugs than most of the crap I see churned out by Java/C#/FIOC/Haskell/etc. developers.

Name: Anonymous 2011-04-10 2:09

I can hear the sound of me getting trolled by >>39.

>>39
C/C++
Sepples has an optional garbage collector.

Name: Anonymous 2011-04-10 2:16

>>40
It's implementation defined, and is usually implemented through a third party library. It's not a part of any C/C++ compiler available today.

Name: Anonymous 2011-04-10 2:26

>>41
It's in the standard, optional, but in the standard. Sepples is garbage collected.
Enjoy your toy garbage collected linear-bounded tarpit.

Name: Anonymous 2011-04-10 2:34

>>39
unit and regression testing coupled with sound idiomatic programming
Sounds time consuming and overly complicated, when in dymaic language you can have working program with little effort.

Name: Anonymous 2011-04-10 3:15

>>43
"working"

Name: Anonymous 2011-04-10 3:34

>>44
Use proper quotes, 66faggot99.

Name: Anonymous 2011-04-10 4:15

Jesus Christ, another static language retard.

Name: Anonymous 2011-04-10 5:12

>>43
dymaic language
Nope. Nope. And more nope. Dynamic languages actually require a lot more unit and regression testing than static languages, to overcome type and identifier name resolution being resolved at runtime, whereas with static languages those types of bugs are caught at compile time and don't need runtime tests.

If you're using dynamic languages, you absolutely at least better have a regression test suite for any non-hobbyist project. Sure, dynamic languages are great for putting together one-off scripts and fire and forget code, but when it comes to maintaining and evolving a code base, dynamic languages can be painful without a proper test suite in place.

This is a well known problem of dynamic languages in the industry, and it seems only that amateurs and hobbyists aren't aware of this inherent problem.

In fact, pretty much any seasoned dynamic typing programmer will consider your code written in a dynamic language to be broken unless it has some automated unit tests.

https://docs.google.com/View?id=dcsvntt2_25wpjvbbhk

http://www.gamedev.net/blog/883/entry-2249305-scripting-languages-are-overrated/

http://codemonkeyism.com/the-unit-testing-lie-aka-dynamic-language-lie/

Name: Anonymous 2011-04-10 5:30

>>47
identifier name resolution being resolved at runtime
What the fuck.
(define (hax anus)
  (my anus))

# compile: unbound identifier in module in: my

Name: Anonymous 2011-04-10 5:33

>>47
In practice, you need to run program once and check its features and you don't have to care about udefined/untyped cases.

Name: Anonymous 2011-04-10 5:35

>>49
So, my LISP programs work, even if half of identifiers aren't binded yet.

Name: Anonymous 2011-04-10 5:38

>>48
That works in scheme or CL, but in FIOC, FFOC, Ruby and other hipster languages that us duck typing, until a function/method is actually ran, it's body is not fully evaluated.

Name: Anonymous 2011-04-10 5:40

>>51
Guess why they suck and are called toy languages.

Name: Anonymous 2011-04-10 5:42

>>48
This means, that you can't use global variables, without declaring them statically. Scheme is a statically typed language.

Name: Anonymous 2011-04-10 5:45

>>52
Yep. Static binding is inconvinient in REPL, where you spend most time during Lisping, so strong-typing and early binding makes Lisp not acceptable Lisp. Would be nice to have Lisp with weak typing, like BASH, where everything is a string.

Name: Anonymous 2011-04-10 5:48

>>54
Also, there are no undefined variables in BASH, they just hold empty strings.

Name: Anonymous 2011-04-10 5:50

>>53-55
Retardation is not /prog/-related. You may want to go back to /b/, now.

Name: Anonymous 2011-04-10 5:53

>>56
And everybody else went and chased static. And they've been doing it like crazy. And they've, in my opinion, reached the theoretical bounds of what they can deliver, and it has FAILED. These static type systems, they're WRONG. Wrong in the sense that when you try to do something, and they say: No, category theory doesn't allow that, because it's not elegant... Hey man: who's wrong? The person who's trying to write the program, or the type system?

Name: Anonymous 2011-04-10 5:54

Monad is just one of typeclasses. And a typeclass is some abstract entity, that allows concrete types to use some functions. And the nature of these functions depends on a typeclass of a concrete type, and how these functions implemented for a concrete type depends on the embodiment of the typeclass of that type. For example, monad Maybe is a type, computations, embedded into a monad of which, return either result, embedded into one of its data constructors, or a second data constructor - Nothing.

Name: Anonymous 2011-04-10 5:56

>>57
One retarded at time, please. Now it's the static-typed C/C++ fanboy faggot moment. Come back later.

Name: Anonymous 2011-04-10 5:59

More precisely, polytypic functions capture families of polymorphic functions in one single template de nition. Instances of a polytypic function for speci c algebraic types
can be generated automatically by a compiler following the denitional structure of the types. However, the de nitional structure of an abstract type is, for maintainability
reasons, logically hidden and, sometimes, even physically unavailable

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List