[erlang-questions] Core erlang wildcards and sequences
Anthony Ramine
n.oxyde@REDACTED
Thu Aug 1 15:57:30 CEST 2013
Hello,
Replied inline.
--
Anthony Ramine
Le 1 août 2013 à 15:51, amindfv@REDACTED a écrit :
>
>
> El Jul 31, 2013, a las 15:02, "Ludovic Demblans" <ludovic@REDACTED> escribió:
>
>> Hi everybody,
>>
>> I'm building a small DSL which compiles to Erlang VM. I have two
>> questions about how to achieve this.
>>
>> First, if i want compile this pseudo code
>>
>> a = something
>> b = do_something_with(a) %% involves a
>> ... rest of code ...
>>
>> I end to build the following (pseudo) core erlang code:
>>
>> let A = something
>> in let B = apply do_something_with(A)
>> in ... rest of code
>>
>> I printed dummy erlang code to core erlang representation and it
>> resulted in the same forms, namely a stack of 'let expressions'.
>>
>> Is that ok ? Are there better ways to achieve this in certain situations ?
Erlang does it that way.
> Core erlang has "letrec", so you shouldn't have to nest those let statements.
Irrelevant, letrec is only for functional values.
>> Then, i want to implement wildcards ( _ ), so in core erlang i create
>> a regular variable (which is never used) to match any value. Again, is
>> there a better way to do this, does one more variable involves more
>> overhead (i assume the compiler will optimize it anyway) ?
>>
>> One more question !! I figured out that operators like + are calls to
>> erlang:'+'. I would like to play with the cons opearator but neither
>> erlang:'|' nor erlang:'cons' seems to exist. Is there another name ?
>> This is not important, just for fun.
There is no cons operator.
> Afaik, [ foo | bar ] is as desugared as it gets -- weird, I know.
>
>> Thank you
>>
>> ludovic
More information about the erlang-questions
mailing list