# \[FOSDEM\] Call for Presentations: Ada DevRoom @ FOSDEM 2025

**URL:** <https://forum.ada-lang.io/t/fosdem-call-for-presentations-ada-devroom-fosdem-2025/1386>\
**Category:** Events\
**Tags:** spark\
**Created:** [October 29, 2024, 9:41pm UTC](https://forum.ada-lang.io/t/fosdem-call-for-presentations-ada-devroom-fosdem-2025/1386 "2024-10-29T21:41:55Z")\
**Posts on this page:** 4\
**Page:** 2

<div class="post-metadata">

**Author:** ![Irvise](https://forum.ada-lang.io/letter_avatar_proxy/v4/letter/i/7ba0ec/32.png) [@Irvise](https://forum.ada-lang.io/u/Irvise)\
**Post date:** [January 14, 2025, 9:04pm UTC](https://forum.ada-lang.io/t/fosdem-call-for-presentations-ada-devroom-fosdem-2025/1386/21 "2025-01-14T21:04:02Z")

</div>

> [@Irvise](#):
>
> Ouch, expression functions… I may have to hide those 🙂

Actually, those are valid Ada 2012 no? [Expression Functions](http://www.ada-auth.org/standards/12rm/html/RM-6-8.html)

> [@JC001](#):
>
> “Everything is valid… Ada 2012”: the stack example is not

@JC001 What is not Ada 2012 then? I cannot spot it 😕

---

<div class="post-metadata">

**Author:** ![JC001](https://forum.ada-lang.io/letter_avatar_proxy/v4/letter/j/e56c9b/32.png) [@JC001](https://forum.ada-lang.io/u/JC001)\
**Post date:** [January 15, 2025, 10:18am UTC](https://forum.ada-lang.io/t/fosdem-call-for-presentations-ada-devroom-fosdem-2025/1386/22 "2025-01-15T10:18:30Z")

</div>

> [@Irvise](#):
>
> Ouch, expression functions… I may have to hide those

> [@Irvise](#):
>
> What is not Ada 2012 then? I cannot spot it

Your Stack example is not valid Ada for any version, since Last is undefined. (Also you use “Stak” more than once in comments.)

> [@Irvise](#):
>
> Would you prefer if I change it to a font without ligatures?

As an experienced Ada user, I find the ligatures confusing in what is supposed to be code. Someone who doesn’t know Ada might be put off by thinking that you need to be able to type those symbols. I would prefer standard Ada compound symbols for these reasons.

> [@Irvise](#):
>
> I must be honest and say that I was not aware of this implementation point.

The distinction between delta and small for an ordinary fixed-point type is important and something that anyone who uses them should know. That said, it wouldn’t have an impact for this example. You can specify the small with `with Small => 0.01` (or `for Better_Grade'Small use 0.01;` pre-Ada-12) or by using a decimal fixed-point type.

> [@Irvise](#):
>
> Maybe I should change this to `Positive`… Or maybe I should leave it open to discussion

To me it distracts from the point you’re making, so it would be better to eliminate the distraction.

---

<div class="post-metadata">

**Author:** ![Irvise](https://forum.ada-lang.io/letter_avatar_proxy/v4/letter/i/7ba0ec/32.png) [@Irvise](https://forum.ada-lang.io/u/Irvise)\
**Post date:** [January 15, 2025, 5:01pm UTC](https://forum.ada-lang.io/t/fosdem-call-for-presentations-ada-devroom-fosdem-2025/1386/23 "2025-01-15T17:01:57Z")

</div>

> [@JC001](#):
>
> Your Stack example is not valid Ada for any version, since Last is undefined. (Also you use “Stak” more than once in comments.)

I see now what you mean. The example was not meant to be exhaustive, but rather exemplary 🙂

> [@JC001](#):
>
> As an experienced Ada user, I find the ligatures confusing in what is supposed to be code. Someone who doesn’t know Ada might be put off by thinking that you need to be able to type those symbols. I would prefer standard Ada compound symbols for these reasons.

Thanks for the feedback. I will look for a nice looking monospace font without ligatures 🙂

> [@JC001](#):
>
> or by using a decimal fixed-point type.

I thought about using a decimal type, but I do not want the viewers thinking too hard about this point. I just want to bring their attention to the fact that Ada has fixed point nums, but I do not want to spend time there. I will keep it as is even if some implementation details are not fully accurate.

> [@JC001](#):
>
> To me it distracts from the point you’re making, so it would be better to eliminate the distraction.

I will make it `Positive`. To me this is not the focus of the discussion (which needs to be about `Dynamic_Predicate`). And to be fair, I copied that code from the SPARK User Guide, which included a few examples 🙂

Best regards,  
Fer

---

<div class="post-metadata">

**Author:** ![JC001](https://forum.ada-lang.io/letter_avatar_proxy/v4/letter/j/e56c9b/32.png) [@JC001](https://forum.ada-lang.io/u/JC001)\
**Post date:** [January 16, 2025, 9:25am UTC](https://forum.ada-lang.io/t/fosdem-call-for-presentations-ada-devroom-fosdem-2025/1386/24 "2025-01-16T09:25:25Z")

</div>

> [@Irvise](#):
>
> I see now what you mean. The example was not meant to be exhaustive, but rather exemplary

I understand. But if you tell people who don’t know Ada that you’re going to only present valid Ada (12), and then present invalid Ada, they will have an erroneous understanding of the language.

Ideally you would put the state in the package body, so that no one can corrupt the stack by writing a child package, and the full operations would then have to be in the body as well.

[Previous page](https://forum.ada-lang.io/t/fosdem-call-for-presentations-ada-devroom-fosdem-2025/1386.md?page=1)
