LUA is the toy language for those who enjoy the Forced Flushing Of L1/L2 Cache per operation. In fact, every operation causes several L2 cache misses during table look-ups, flushing both the L1 and L2 caches.
>>14
Because what's a couple of orders of magnitude between friends? 1ms per frame or 100ms per frame, who cares, except console gay developers who are all crazy?
Name:
Anonymous2011-02-05 10:52
>>15
I think >>14 was in support of the fact that cache-conscious code is important. He did after all say he had a point. He was just pointing out the exaggeration.
That said, performance improvements of hundreds of times is a big deal.
If you don't understand the memory model of your computational hardware, you will never be able to develop fast software for it.
Etymology From Proto-Oceanic (compare Malay luah).
Verb lua
1. to vomit
Name:
Anonymous2011-02-07 8:25
Lua's problem is that it uses hash tables for dispatching. This limits Lua to single dispatch in addition to making everything slow and rigid. You cant redefine `+` in Lua, as I do in my Lisp DSL
`+` a:Num b:Str -> "$a$b"
`+` a:Str b:Num -> "$a$b"
neither you can union two types
userFriendly? x:string? -> ye
userFriendly? x:picture? -> ye
Name:
Anonymous2011-02-07 8:28
And of course Lua doesnt have Lisp macros, which are very nice to have, especially when entering arbitrary complex game logic.
>>24
Your ``in Lisp'' DSL is just Perl 6 with a lisp and ML/Haskell syntax:
Operator overloading (Perl 6 does it better)
Lisp macros (Perl 6 does it worse(?))
Multidispatch
Pattern matching
$ Num and Str SYNTAX. SYNTAX EVERYWHERE
In conclusion: WHBTC
Name:
Anonymous2011-02-07 9:01
>>25
>Operator overloading (Perl 6 does it better)
You wrong. DSL doesnt do operator overloading. It does pattern matching. That is: I can write
hasUserFriendlyObject [@_ x:userFriendly? @xs] -> [x xs]
meaning find first `userFriendly?` object, then return it and rest of the list. Doubt that Perl does this.
>>39 So, you cant? Q.E.D.
sub faggot (@xs) { drop_while(@xs, { not userfriendly($^a) }) } # it assumes the existence of drop_while. Its implementation would be trivial anyway.
>>44 multi sub faggot ($n) { "oh god how did i get here im not good with computers"}
faggot multi sub faggot ("HAX MY") { "ANUS!" }
faggot multi sub faggot ("I'm >>44 and love cocks") { "You are!" }
faggot faggot("I'm >>44 and love cocks")
You are! faggot("HAX MY")
ANUS! faggot("sjdjksda")
oh god how did i get here im not good with computers
Name:
Anonymous2011-02-07 9:35
>>48
Because: Lua's creators also state that Lisp and Scheme with their single, ubiquitous data structure mechanism (the list) were a major influence on their decision to develop the table as the primary data structure of Lua.
>>49
faggot _ -> "oh god how did i get here im not good with computers"
1.faggot "HAX MY" -> "ANUS!"
2.faggot "I'm >>49 and love cocks" -> "You are!"
code less, create more
>>57
The ``in Lisp'' DSL contains an ad hoc, informally-specified, bug-ridden, slow and unnecessary implementation of half of Perl 6, Haskell and ML on top of the already perfect LISP.
Doesn't Lua's JIT assume that the mostly-read tables (such as _G) remain read-only until the JIT is explicitly told they have been modified (via a `check your damn assumptions' flag)? I don't feel like reading its sauce right nao, but I would guess its author would have been smart enough not to execute an entire damn hash table lookup at almost every VM cycle.
>>69
Consoles forbid code-as-data, because this would allows to leave a backdoor for hackers. I heard Micro$ucks and Intel promise forbidding executing unsigned code even on PC platform, so to write code you will have to buy a developer's license from Intel.
Name:
Anonymous2011-02-07 10:29
>>72
Lost freedom - this is what you get for stealing jewish money by pirating movies, music and games.
>>76
``Aye cant run my krakkid myspacetunesbook 12.3 :((( y????''
``ur patch 2 pirate nfs mmfsq dusent run animore D= y???''
``my computar is broken it dont go well on nero 12 burning rom anymore >.>''
``hi i want 2 become an hax0r how do i compile my codes thx everybody''
``hi i tried to compile my c code liek in random tutorial but it doesnt run it sais itz not signed what does iet mean how do i signed it? heres the code goto-filled simple C commandline calculator that can do one operation at time plz halp?????''
>>79
Technical support will shoot themselves within hours.
Name:
Anonymous2011-02-07 11:00
>>79
Normal people never compile code. They buy code in those big lame boxes or in web shops, like this Steam. Even better, they run code on a cloud computing service. Now you can even play Crysis as a service from remote server.
>>82
Normal people: ``Aye cant run my krakkid myspacetunesbook 12.3 :((( y????''
``ur patch 2 pirate nfs mmfsq dusent run animore D= y???''
``my computar is broken it dont go well on nero 12 burning rom anymore >.>''
Proof that people like: ``hi i want 2 become an hax0r how do i compile my codes thx everybody''
``hi i want 2 become an hax0r how do i compile my codes thx everybody''
exist: http://ubuntuforums.org/forumdisplay.php?f=39
>>21
Your ``Lisp'' DSL what? Does it compact lists into lists of 128-byte arrays to fit its shit into 128 bytes? Did you even test it with major CL implementations for L1/L2 usage?
If not, go back to your LISP threads where you can freely continue to ignore requests for source code of your pile of syntax.
>>87 where you can freely continue to ignore requests for source code of your pile of syntax. I LOVE YOU!I LOVE YOUR POST!I READ IT FIVE TIMES!KEEP POSTING!
Name:
Anonymous2011-02-07 12:06
>>87
If you care about bytes, you should write assembly.
A Lisp programmer knows the value of everything, but the cost of nothing. — Alan Perlis
Richman Stallmont: Die Python! You don't belong in this world!
FIOCula: It was not by my hand I am once again given FIOC. I was called here by GvR who wish to pay me whitespaces.
Richman Stallmont: Whitespaces? You steal men's indentation, and make them your slaves!
FIOCula: Perhaps the same could be said of all languages.
Richman Stallmont: Your words are as forced as your indentation! Lispers ill-need a savior such as you!
FIOCula: What is a Lisp? A miserable little pile of parentheses! But enough talk... Have at you!
>>87 Does it compact lists into lists of 128-byte arrays
Actually it uses 64-byte arrays for small lists and normal array indexing to access object fields. So I dont see any fundamental problems for efficiency.
>>99
That's not what I meant to say, you're a monster, you destroy the child cudders' dream to cons up and become a valid evaluable argument list and live happy being applied to the procedure till its garbage collection by deviating him to be a dirty AIDS-ridden drug-addicted no life array of int64s. You have no heart, how can you call yourself a Lisper, if you're so insensible to cudders‽‽
Name:
Anonymous2011-02-07 15:57
>>99
>immutable
This wont lead to loss of efficiency, as ususual Lisp coding style on lists is map@reducing them.
Name:
Anonymous2011-02-07 16:03
>>100
Cons-pairs are obsolete. Love how Clojure dealt with them. Rich is a genius!
>>108
Clojure has nomads[1], everything that implements in some way monads and makes it available to everyone in some standard way (clojure-contrib) will never become future nor mainstream.
>>110
Clojure has unhygienic macros. Unhygienicunhygienicunhygienicunhygienic. b]U[/b]nhygienicmacrosin 2011‽ Do I still need to worry about not shadowing my macro's symbols? Maybe prepend my function name with org.clojure.core/list or shit like that.