It's difficult mostly because of stuff like monads IIRC.
the future we had hoped forI know. >_>
I like the type system, I've begun thinking of things in those terms *, not so much the hacks to get around the type system to do shit, i.e., monads. Oh well.
[1] This facsimile operated in part by synAC.You could try some variety of ML. It has the type system, but not the purity.
edited 15th Jan '11 11:03:12 PM by Ponicalica
the future we had hoped forHaskell is basically one of the most ass-backwards languages I can think of off the top of my head, and I'm pretty sure my TI-89 has objectively better programming capacity. The main issue with it is it just abstracts things too far. I mean sure you can make functions that output functions that output functions and even do it in relatively few lines, but there are generally more easily-conceivable ways of going about it that are less likely to go to hell along the way.
edited 15th Jan '11 11:07:49 PM by Pykrete
This is what I know about Haskell's use. Abstractions, eh? Lol category theory
And ML would be good too. A ton of papers seem to use OCaml.
How's Haskell backwards exactly, though?
edited 15th Jan '11 11:08:05 PM by Tzetze
[1] This facsimile operated in part by synAC.=/ Its kinda hard to learn to learn to Program when I can't anymore remember how my friend made the programs run.. I just remember that it was in rather complex way x-x;
python file_to_run.py[1] This facsimile operated in part by synAC.
Didn't work if you don't remember =P
Oh I do remember, and I'd rather not try to walk you through using the command prompt again, if you don't mind. That was really tedious.
Maybe get WingIDE or something instead.
edited 15th Jan '11 11:12:31 PM by Tzetze
[1] This facsimile operated in part by synAC.Uh... my high school had to learn Java. It sucked, but most of us - a bunch of lazy schlubs more interested in talking than listening - still got it.
Then again, it was basic, bare essential crap. Before we could learn hard stuff that meant something.
Half-Life: Dual Nature, a crossover story of reasonably sized proportions.Basically, it's a language seemingly designed around compressing the actual text of the code, which is by far the absolute least important part. You might as well do it in C++ for a fraction of the grief and watch it run faster while you're at it.
edited 15th Jan '11 11:23:24 PM by Pykrete
Ah. I thought it was designed to kowtow to typing.
It is interesting in that it has similar syntax to the language from (the 1966) «The Next 700 Programming Languages». Of course, so does ML, so I'll just learn that instead, I guess
edited 15th Jan '11 11:23:24 PM by Tzetze
[1] This facsimile operated in part by synAC.@Tzetze: Yeah =P It would have been better to use Skype or something XD
Jk~ But yeah, I guess I have to ask my friend how he did it -_-; But seriously annoying, why the heck I need to write much longer thing to run programs than other people?...
"Ah. I thought it was designed to kowtow to typing."
It was, but most OO languages do it about as well with generics, so short code is about the only advantage my prof could field.
I lurve generics. Gotta use 'em more. Maybe it's just the return types I like.
I have no idea what you're trying to say, sorry.
edited 15th Jan '11 11:24:38 PM by Tzetze
[1] This facsimile operated in part by synAC.Started learning MIPS assembler for architecture class. High time I knew some form of assembly...
Do you highlight everything looking for secret messages?^Good luck with that. ...I always think of assembly languages in terms of the consoles using them. You're learning ps1
also definitely getting the haskell thing now
[1] This facsimile operated in part by synAC.Hay guys. How do you make booleans in Scheme? I mean like, do you have to put in (print 'true) or am I doing it wrong
What do you mean make?
In code they're just #t and #f.
[1] This facsimile operated in part by synAC.Er...
I mean, make a function that returns #f and #t. I've been using (print 'true) so far, but that doesn't feel right.
Also, I'm having trouble using recursion with stuff involving strings. If you use a function like (butfirst argument), it returns something in parentheses, and other functions count the parentheses as being part of the word.
In Scheme the return value of a function is just the last thing that's uh... there. So if you have, say
(define lessthanfour
(lambda (x)
(if (< x 4)
#t
#f)))
it returns the value properly.
[1] This facsimile operated in part by synAC.What the... what
We haven't gotten to lambda yet. Or maybe I'm dumb. I dunno.
What we do usually looks like this:
(define (lessthanfour num)
(if (< num 4) (print 'true)
(print 'false)
)
)
Okay yes I am dumb. Technically they're the same things (lambda vs (blah blah), I mean). Oh well, I learned things today.
edited 23rd Jan '11 11:08:34 PM by melloncollie
That's just printing "True" and "False" on the screen.
(< num 4) will return either true or false. That's all you need.
You could define it as:
(define (lessthanfour num) (< num 4))
Note: I'm mainly a common lisp programmer, so it's possible I'm talking completely out of my ass.
edited 23rd Jan '11 11:13:47 PM by Taelor
The Philosopher-King Paradox(define (something args) whatever) is shorthand for (define something (lambda (args) whatever)), sorry.
^And yeah, that.
edited 23rd Jan '11 11:08:58 PM by Tzetze
[1] This facsimile operated in part by synAC.
Is Haskell that difficult? I think I'm going to learn it at some point if only so I can figure out what the hell a monad is.
[1] This facsimile operated in part by synAC.