<mrvn>
Think about that. A language where you have to be content with case insensitive output because its too hard to get the case right :)
<lus|wazze>
[01:55:03] <lus|wazze> i dont think i can take malbolge seriously until i see a proof of its turing completeness
<lus|wazze>
i can easily make a language in which it is even harder to write code than malbolge
<lus|wazze>
that doesnt make it interesting
<mrvn>
lus|wazze: Do you realy think anyone is ever going to proove it?
<mrvn>
or disproove it?
<lus|wazze>
obfuscated languages are only cool if they achieve turing completeness in cool and unusual ways
<lus|wazze>
i dunno
<mrvn>
Maybe Malborge is a language for wich you can neigther proove nor disproove that its turing complete. That would make it intresting.
d-bug_ has joined #ocaml
d-bug_ has left #ocaml []
<lus|wazze>
ok if someone were to prove that its turing completeness is undecidable, THAT would make the language interesting
<lus|wazze>
so far it seems just that nobody wanted to expend the effort necessary to disprove its TC
<mrvn>
How would you? Prooving is normaly easy, you just build a turing maschine.
<lus|wazze>
no idea
<lus|wazze>
as im not a proponent of malbolge, though, i have not invested terribly much mental effort into the topic (i.e., none at all)
* Smerdyakov
always drops safes on people who talk about joke programming languages.
<async>
ocaml is naturally unobfuscated, sure, most all languages are
<async>
but you can mess with people like this:
<async>
type x = Begin | End | If | Then;
<async>
if begin if begin End = Begin end then If else Then end = Then then begin End end else begin If end;
<lus|wazze>
:(
docelic is now known as docelic|sleeop
docelic|sleeop has quit ["Client Exiting"]
reltuk has quit [Read error: 104 (Connection reset by peer)]
<mrvn>
Thats a nice one.
<lus|wazze>
well the best language for obfuscation, if you think about it this way, is definitely common lisp
<Smerdyakov>
Maybe Haskell can catch up with Template Haskell.
<lus|wazze>
with common lisp?? i doubt it
<lus|wazze>
just think about set-macro-character alone ...
<lus|wazze>
if you think about it, by defining a new syntax for set-macro-character which uses new macro characters, you could create a whole sub-language in lisp which is completely based upon rewriting its own lexical makeup
<lus|wazze>
i dont think you could get more obfuscated than that
<mrvn>
If set-macro is turing complete in itself you probably can#t top it.
<lus|wazze>
defmacro most definitely IS - its just a representaiton of the lambda calculus
<lus|wazze>
set-macro-character however does nothing else than define which function is called, when a certain character is encountered, to read the next input token
reltuk has joined #ocaml
lus|wazze has quit ["Werner Heisenberg was driving down the freeway, when he's pulled over for speeding. "Do you know how fast you were going, sir]
Smerdyakov has quit ["sleep"]
* emu
wonders how defmacro "is just a representation of the lambda calculus"
<Riastradh>
4~/me wonders that too.
<emu>
isn't the shorter way of saying that "is turing complete" ?
<Riastradh>
Hmm.
* Riastradh
smacks his keyboard for putting a 4 and a tilde there.
* emu
turns Riastradh over to the prevention-for-cruelty-against-keyboards people
* Riastradh
shoots them.
* Riastradh
hopes he doesn't get turned in to the preventation-for-cruelty-against-preventation-for-cruelty-against-keyboards people.
* emu
didn't want to type that
<Riastradh>
Sux for j00!
<Riastradh>
Hmm.
<Riastradh>
That was random.
<emu>
sounded very smerdy
<Riastradh>
YIKES! He's rubbing off on me!
rhil_work is now known as rhil
reltuk has quit []
themus has quit ["Client Exiting"]
TachYon has joined #ocaml
themus has joined #ocaml
gt2 has joined #ocaml
themus has quit [Client Quit]
themus has joined #ocaml
rhil is now known as rhil_zzz
rhil_zzz has quit ["rebooting"]
docelic has joined #ocaml
two-face has joined #ocaml
systems has joined #ocaml
d-bug has joined #ocaml
d-bug has left #ocaml []
systems has quit [Read error: 110 (Connection timed out)]
two-face has quit ["Client exiting"]
noss has joined #ocaml
taw has joined #ocaml
<taw>
how can i force ocamlopt to inline functions across module boundaries ?
noss has quit ["[x]chat"]
<taw>
it got 10% slower when i splitted one huge file into lot of small files
<taw>
things like vector_add really should not be called externally
lus|wazze has joined #ocaml
taw has left #ocaml []
mrvn_ has joined #ocaml
mrvn has quit [Read error: 110 (Connection timed out)]
Smerdyakov has joined #ocaml
wrunt has joined #ocaml
TachYon has quit [Remote closed the connection]
usergod has joined #ocaml
usergod has left #ocaml []
Smerdy has joined #ocaml
Smerdy has quit [Remote closed the connection]
mattam_ has joined #ocaml
mattam has quit [Read error: 110 (Connection timed out)]
mrvn_ has quit [asimov.freenode.net irc.freenode.net]
docelic has quit [asimov.freenode.net irc.freenode.net]
Yurik has quit [asimov.freenode.net irc.freenode.net]
gl has quit [asimov.freenode.net irc.freenode.net]
mrvn_ has joined #ocaml
docelic has joined #ocaml
Yurik has joined #ocaml
gl has joined #ocaml
stepcut has quit ["out for tea"]
systems has joined #ocaml
two-face has joined #ocaml
systems has left #ocaml []
two-face has quit ["Client exiting"]
PitotTube has joined #ocaml
lus|wazze has quit ["Quidquid latine dictum sit, altum sonatur."]
lus|wazze has joined #ocaml
TachYon has joined #ocaml
PitotTube has quit ["[BX] Tabardation - the inability to master use of the <Tab> key. See: retardation; Headcase."]
TachYon has quit [Remote closed the connection]
TachYon has joined #ocaml
Yurik_ has joined #ocaml
Yurik has quit [Read error: 54 (Connection reset by peer)]
d-bug has joined #ocaml
d-bug has left #ocaml []
Demitar has joined #ocaml
noss has joined #ocaml
TachYon has quit [Remote closed the connection]
rhil has joined #ocaml
Smerdyakov has quit ["eat"]
Slackwarrior has joined #ocaml
<Slackwarrior>
hello!
<Slackwarrior>
ppl i have a problem with let.... in syntax
<Riastradh>
State your problem.
<Slackwarrior>
i defined a recursive function and bound that uses that function under let
<Riastradh>
Rephrase your problem.
<Slackwarrior>
but the interpreter answers weird things...
<Slackwarrior>
can i paste here the function?
<Riastradh>
How many lines is it?
<Slackwarrior>
10
<Riastradh>
Go ahead.
<Slackwarrior>
let contract lambda t=let
<Slackwarrior>
rec contractrec lambda t = match lambda with
<Slackwarrior>
[] -> t
<Slackwarrior>
| hd::tl -> let
<Slackwarrior>
t'=singlecontraction hd t
<Slackwarrior>
in
<Slackwarrior>
if t'!=t then t' else contractrec tl t;
<Slackwarrior>
t'=contractrec lambda t;
<Slackwarrior>
in
<Slackwarrior>
if t=t' then NoContract else ContractTo t';;
<Slackwarrior>
weird
<Riastradh>
I believe you need to create a new let expression to bind t' to the value of contractrec lambda t.
gt2 has quit ["Client Exiting"]
<Slackwarrior>
under in?
<Riastradh>
It should look more like this:
<Riastradh>
let contract t =
<Riastradh>
let rec contractrec lambda t = ...
<Riastradh>
in
<Riastradh>
let t' = contractrec lambda t in
<Riastradh>
if t = t' then ...;;
<Slackwarrior>
ah ok
<Slackwarrior>
thanks
noss has quit ["[x]chat"]
<Slackwarrior>
if i raise an exception in a function, will the function end?
<Slackwarrior>
will the function stop at that point?