Pharo-users
By thread
pharo-users@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
March 2023
- 24 participants
- 42 messages
Re: Wow - Chat GPT understands Smalltalk
by Christopher Fuhrman
I asked it for a NeoCSV example, because the documentation is out of date
with the Pharo 10. I asked it to do some simple saving of data to a file.
It gave me code that didn't work in Pharo 10, I told it about the DNUs on
the csvwriter and that I was using Pharo 10. It then apologized and said
the messages were later introduced in Pharo 50 (!). I then questioned its
understanding and it apologized and said it had been confused and that it
was giving me code for Pharo 5.0. It seems to have trouble with versions
and quick changing APIs. So, we are teaching ChatGPT about smalltalk, too,
when we try to use it.
On Wed, 15 Mar 2023 at 07:35, Esteban Maringolo <emaringolo(a)gmail.com>
wrote:
> It is good with boilerplate code (e.g. SQL queries) or general algorithm
> structures. But i.e. I asked it to write me a method to parse a string
> (e.g. ISO 8601) and turn it into a DateAndTime, and then asked to write it
> as an Excel formula.
>
> It works much better when you can spot the mistakes, you can tell them to
> add some considerations to the code or even point the LLM to correct a
> message selector to something else. Sometimes you ask it to reprogram
> something and it won't do it, as if it doesn't understand what you're
> asking.
>
> It is not an expert yet, but it is a great assistant. The only thing is
> that is sure is that it will get better.
>
> Best regards,
>
> Esteban A. Maringolo
>
>
> On Wed, Mar 15, 2023 at 7:49â¯AM Tim Mackinnon <tim(a)testit.works> wrote:
>
>> "#isOdd is not Smalltalk" - doh, I typed it in on my phone and so it just
>> goes to show that it highlights the flaw in chatGPT that others have called
>> out in other languages. I had meant to find some trickier code samples to
>> see how well it does...
>>
>> Still, it is very interesting how it reasons on this stuff - and I wonder
>> if there is way to tell it about these mistakes? For example is it reading
>> this email (or will it in the future) and understand that it is #odd and
>> not #isOdd.
>>
>> Tim
>>
>> On Wed, 15 Mar 2023, at 9:57 AM, Joachim Tuchel wrote:
>>
>> interesting....
>>
>> #isOdd is not Smalltalk, neither Pharo 10 nor VAST 12 understands this
>> message ;-)
>>
>> If I evaluate your snippet -replacing #isOdd for #odd, I get an empty
>> Collection. The divisible by 4 things is somewhat interesting, because (1
>> to: 100 by: 4) is amn interval 1,5,9 etc.... ;-)
>>
>> So chatGPT is probably a newbie in Smalltalk. Interesting is how logical
>> the explanation sounds, you're tempted to believe it...
>>
>>
>> Joachim
>>
>>
>>
>> Am 15.03.23 um 10:45 schrieb giorgio ferraris:
>>
>> it's interesting to see how the answer changes with only a small change
>> on the question:
>>
>> (1 to: 100 by: 4) reject: [:i | i isOdd]
>>
>> gives:
>>
>> The code creates a collection of numbers from 1 to 100, incrementing by 4
>> at each step using the to:by: message. It then applies the reject: message
>> to this collection, which returns a new collection containing all elements
>> for which the given block evaluates to false.
>>
>> In this case, the block is [i | i isOdd], which checks whether a given
>> number i is odd using the isOdd method. So the result of the entire
>> expression is a collection of all even numbers between 1 and 100 that are
>> divisible by 4.
>>
>> ciao
>>
>> giorgio
>>
>>
>> On Wed, Mar 15, 2023 at 8:07â¯AM Tim Mackinnon <tim(a)testit.works>
>> <tim(a)testit.works> wrote:
>>
>> Of course everyone is talking about ChatGPT, and I saw a post to
>> ExplainCode and didnât expect it to understand Smalltalk, so was impressed
>> that it does! Presumably the Tonel Smalltalk code on GitHub has helped
>> along with numerous articles?
>>
>> Try it out: https://whatdoesthiscodedo.com/
>>
>> I gave this simple example: (1 to: 100 by: 3) reject: [:i | i isOdd]
>>
>> And got this (neat eh):
>>
>> The code above is written in the programming language Smalltalk.
>>
>> It creates a collection of numbers from 1 to 100, incrementing by 3 at
>> each step. This is done using the "to:by:" construct where the starting
>> value is 1, the ending value is 100, and the increment is 3.
>>
>> The resulting collection is then filtered using the "reject:" method,
>> which takes a block of code as an argument. In this case, the block checks
>> whether each element (denoted by the variable i) is odd by using the
>> "isOdd" method. If an element is odd, it will be rejected from the
>> collection.
>>
>> So, the final result is a collection of all even numbers from 1 to 100,
>> incrementing by 3 at each step.
>> Share this explanation with colleagues: whatdoesthiscodedo.com/g/a0ec56e
>>
>> --
>>
>> -----------------------------------------------------------------------
>> Objektfabrik Joachim Tuchel mailto:jtuchel@objektfabrik.de <jtuchel(a)objektfabrik.de>
>> Fliederweg 1 http://www.objektfabrik.de
>> D-71640 Ludwigsburg http://joachimtuchel.wordpress.com
>> Telefon: +49 7141 56 10 86 0 Fax: +49 7141 56 10 86 1
>>
>>
>>
>>
--
Christopher Fuhrman, P.Eng., PhD
*Professeur au Département de génie logiciel et des technologies de
l'informationÃTS (Ãcole de technologie supérieure)*
http://profs.etsmtl.ca/cfuhrman
+1 514 396 8638
<https://www.etsmtl.ca/activites-et-services-aux-etudiants/services-aux-etud…>
Je fais partie du réseau des Sentinelles
<https://www.etsmtl.ca/activites-et-services-aux-etudiants/services-aux-etud…>
ÃTS
*L'ÃTS est une constituante de l'Université du Québec*
March 15, 2023
Re: Wow - Chat GPT understands Smalltalk
by Esteban Maringolo
It is good with boilerplate code (e.g. SQL queries) or general algorithm
structures. But i.e. I asked it to write me a method to parse a string
(e.g. ISO 8601) and turn it into a DateAndTime, and then asked to write it
as an Excel formula.
It works much better when you can spot the mistakes, you can tell them to
add some considerations to the code or even point the LLM to correct a
message selector to something else. Sometimes you ask it to reprogram
something and it won't do it, as if it doesn't understand what you're
asking.
It is not an expert yet, but it is a great assistant. The only thing is
that is sure is that it will get better.
Best regards,
Esteban A. Maringolo
On Wed, Mar 15, 2023 at 7:49â¯AM Tim Mackinnon <tim(a)testit.works> wrote:
> "#isOdd is not Smalltalk" - doh, I typed it in on my phone and so it just
> goes to show that it highlights the flaw in chatGPT that others have called
> out in other languages. I had meant to find some trickier code samples to
> see how well it does...
>
> Still, it is very interesting how it reasons on this stuff - and I wonder
> if there is way to tell it about these mistakes? For example is it reading
> this email (or will it in the future) and understand that it is #odd and
> not #isOdd.
>
> Tim
>
> On Wed, 15 Mar 2023, at 9:57 AM, Joachim Tuchel wrote:
>
> interesting....
>
> #isOdd is not Smalltalk, neither Pharo 10 nor VAST 12 understands this
> message ;-)
>
> If I evaluate your snippet -replacing #isOdd for #odd, I get an empty
> Collection. The divisible by 4 things is somewhat interesting, because (1
> to: 100 by: 4) is amn interval 1,5,9 etc.... ;-)
>
> So chatGPT is probably a newbie in Smalltalk. Interesting is how logical
> the explanation sounds, you're tempted to believe it...
>
>
> Joachim
>
>
>
> Am 15.03.23 um 10:45 schrieb giorgio ferraris:
>
> it's interesting to see how the answer changes with only a small change on
> the question:
>
> (1 to: 100 by: 4) reject: [:i | i isOdd]
>
> gives:
>
> The code creates a collection of numbers from 1 to 100, incrementing by 4
> at each step using the to:by: message. It then applies the reject: message
> to this collection, which returns a new collection containing all elements
> for which the given block evaluates to false.
>
> In this case, the block is [i | i isOdd], which checks whether a given
> number i is odd using the isOdd method. So the result of the entire
> expression is a collection of all even numbers between 1 and 100 that are
> divisible by 4.
>
> ciao
>
> giorgio
>
>
> On Wed, Mar 15, 2023 at 8:07â¯AM Tim Mackinnon <tim(a)testit.works>
> <tim(a)testit.works> wrote:
>
> Of course everyone is talking about ChatGPT, and I saw a post to
> ExplainCode and didnât expect it to understand Smalltalk, so was impressed
> that it does! Presumably the Tonel Smalltalk code on GitHub has helped
> along with numerous articles?
>
> Try it out: https://whatdoesthiscodedo.com/
>
> I gave this simple example: (1 to: 100 by: 3) reject: [:i | i isOdd]
>
> And got this (neat eh):
>
> The code above is written in the programming language Smalltalk.
>
> It creates a collection of numbers from 1 to 100, incrementing by 3 at
> each step. This is done using the "to:by:" construct where the starting
> value is 1, the ending value is 100, and the increment is 3.
>
> The resulting collection is then filtered using the "reject:" method,
> which takes a block of code as an argument. In this case, the block checks
> whether each element (denoted by the variable i) is odd by using the
> "isOdd" method. If an element is odd, it will be rejected from the
> collection.
>
> So, the final result is a collection of all even numbers from 1 to 100,
> incrementing by 3 at each step.
> Share this explanation with colleagues: whatdoesthiscodedo.com/g/a0ec56e
>
> --
>
> -----------------------------------------------------------------------
> Objektfabrik Joachim Tuchel mailto:jtuchel@objektfabrik.de <jtuchel(a)objektfabrik.de>
> Fliederweg 1 http://www.objektfabrik.de
> D-71640 Ludwigsburg http://joachimtuchel.wordpress.com
> Telefon: +49 7141 56 10 86 0 Fax: +49 7141 56 10 86 1
>
>
>
>
March 15, 2023
Re: Wow - Chat GPT understands Smalltalk
by Tim Mackinnon
"#isOdd is not Smalltalk" - doh, I typed it in on my phone and so it just goes to show that it highlights the flaw in chatGPT that others have called out in other languages. I had meant to find some trickier code samples to see how well it does...
Still, it is very interesting how it reasons on this stuff - and I wonder if there is way to tell it about these mistakes? For example is it reading this email (or will it in the future) and understand that it is #odd and not #isOdd.
Tim
On Wed, 15 Mar 2023, at 9:57 AM, Joachim Tuchel wrote:
> interesting....
>
> #isOdd is not Smalltalk, neither Pharo 10 nor VAST 12 understands this message ;-)
>
> If I evaluate your snippet -replacing #isOdd for #odd, I get an empty Collection. The divisible by 4 things is somewhat interesting, because (1 to: 100 by: 4) is amn interval 1,5,9 etc.... ;-)
>
> So chatGPT is probably a newbie in Smalltalk. Interesting is how logical the explanation sounds, you're tempted to believe it...
>
>
>
> Joachim
>
>
>
>
>
> Am 15.03.23 um 10:45 schrieb giorgio ferraris:
>> it's interesting to see how the answer changes with only a small change on the question:
>>
>> (1 to: 100 by: 4) reject: [:i | i isOdd]
>>
>> gives:
>> The code creates a collection of numbers from 1 to 100, incrementing by 4 at each step using the `to:by:` message. It then applies the `reject:` message to this collection, which returns a new collection containing all elements for which the given block evaluates to false.
>>
>> In this case, the block is `[i | i isOdd]`, which checks whether a given number `i` is odd using the `isOdd` method. So the result of the entire expression is a collection of all even numbers between 1 and 100 that are divisible by 4.
>>
>>
>> ciao
>>
>> giorgio
>>
>>
>> On Wed, Mar 15, 2023 at 8:07â¯AM Tim Mackinnon <tim(a)testit.works> wrote:
>>> Of course everyone is talking about ChatGPT, and I saw a post to ExplainCode and didnât expect it to understand Smalltalk, so was impressed that it does! Presumably the Tonel Smalltalk code on GitHub has helped along with numerous articles?
>>>
>>> Try it out: https://whatdoesthiscodedo.com/
>>>
>>> I gave this simple example: (1 to: 100 by: 3) reject: [:i | i isOdd]
>>>
>>> And got this (neat eh):
>>>
>>> The code above is written in the programming language Smalltalk.
>>>
>>> It creates a collection of numbers from 1 to 100, incrementing by 3 at each step. This is done using the "to:by:" construct where the starting value is 1, the ending value is 100, and the increment is 3.
>>>
>>> The resulting collection is then filtered using the "reject:" method, which takes a block of code as an argument. In this case, the block checks whether each element (denoted by the variable i) is odd by using the "isOdd" method. If an element is odd, it will be rejected from the collection.
>>>
>>> So, the final result is a collection of all even numbers from 1 to 100, incrementing by 3 at each step.
>>>
>>> Share this explanation with colleagues: whatdoesthiscodedo.com/g/a0ec56e
> --
>
> -----------------------------------------------------------------------
> Objektfabrik Joachim Tuchel mailto:jtuchel@objektfabrik.de
> Fliederweg 1 http://www.objektfabrik.de
> D-71640 Ludwigsburg http://joachimtuchel.wordpress.com
> Telefon: +49 7141 56 10 86 0 Fax: +49 7141 56 10 86 1
>
>
March 15, 2023
Re: Wow - Chat GPT understands Smalltalk
by Joachim Tuchel
interesting....
#isOdd is not Smalltalk, neither Pharo 10 nor VAST 12 understands this
message ;-)
If I evaluate your snippet -replacing #isOdd for #odd, I get an empty
Collection. The divisible by 4 things is somewhat interesting, because
(1 to: 100 by: 4) is amn interval 1,5,9 etc.... ;-)
So chatGPT is probably a newbie in Smalltalk. Interesting is how logical
the explanation sounds, you're tempted to believe it...
Joachim
Am 15.03.23 um 10:45 schrieb giorgio ferraris:
> it's interesting to see how the answer changes with only a small
> change on the question:
>
> (1 to: 100 by: 4) reject: [:i | i isOdd]
>
> gives:
>
> The code creates a collection of numbers from 1 to 100, incrementing
> by 4 at each step using the|to:by:|message. It then applies
> the|reject:|message to this collection, which returns a new collection
> containing all elements for which the given block evaluates to false.
>
> In this case, the block is|[i | i isOdd]|, which checks whether a
> given number|i|is odd using the|isOdd|method. So the result of the
> entire expression is a collection of all even numbers between 1 and
> 100 that are divisible by 4.
>
>
> ciao
>
> giorgio
>
>
> On Wed, Mar 15, 2023 at 8:07â¯AM Tim Mackinnon <tim(a)testit.works> wrote:
>
> Of course everyone is talking about ChatGPT, and I saw a post to
> ExplainCode and didnât expect it to understand Smalltalk, so was
> impressed that it does! Presumably the Tonel Smalltalk code on
> GitHub has helped along with numerous articles?
>
> Try it out: https://whatdoesthiscodedo.com/
>
> I gave this simple example: (1 to: 100 by: 3) reject: [:i | i isOdd]
>
> And got this (neat eh):
>
> The code above is written in the programming language Smalltalk.
>
> It creates a collection of numbers from 1 to 100, incrementing by
> 3 at each step. This is done using the "to:by:" construct where
> the starting value is 1, the ending value is 100, and the
> increment is 3.
>
> The resulting collection is then filtered using the "reject:"
> method, which takes a block of code as an argument. In this case,
> the block checks whether each element (denoted by the variable i)
> is odd by using the "isOdd" method. If an element is odd, it will
> be rejected from the collection.
>
> So, the final result is a collection of all even numbers from 1 to
> 100, incrementing by 3 at each step.
>
> Share this explanation with colleagues:
> whatdoesthiscodedo.com/g/a0ec56e
> <https://whatdoesthiscodedo.com/g/a0ec56e>
>
--
-----------------------------------------------------------------------
Objektfabrik Joachim Tuchelmailto:jtuchel@objektfabrik.de
Fliederweg 1http://www.objektfabrik.de
D-71640 Ludwigsburghttp://joachimtuchel.wordpress.com
Telefon: +49 7141 56 10 86 0 Fax: +49 7141 56 10 86 1
March 15, 2023
Re: Wow - Chat GPT understands Smalltalk
by giorgio ferraris
it's interesting to see how the answer changes with only a small change on
the question:
(1 to: 100 by: 4) reject: [:i | i isOdd]
gives:
The code creates a collection of numbers from 1 to 100, incrementing by 4
at each step using the to:by: message. It then applies the reject: message
to this collection, which returns a new collection containing all elements
for which the given block evaluates to false.
In this case, the block is [i | i isOdd], which checks whether a given
number i is odd using the isOdd method. So the result of the entire
expression is a collection of all even numbers between 1 and 100 that are
divisible by 4.
ciao
giorgio
On Wed, Mar 15, 2023 at 8:07â¯AM Tim Mackinnon <tim(a)testit.works> wrote:
> Of course everyone is talking about ChatGPT, and I saw a post to
> ExplainCode and didnât expect it to understand Smalltalk, so was impressed
> that it does! Presumably the Tonel Smalltalk code on GitHub has helped
> along with numerous articles?
>
> Try it out: https://whatdoesthiscodedo.com/
>
> I gave this simple example: (1 to: 100 by: 3) reject: [:i | i isOdd]
>
> And got this (neat eh):
>
> The code above is written in the programming language Smalltalk.
>
> It creates a collection of numbers from 1 to 100, incrementing by 3 at
> each step. This is done using the "to:by:" construct where the starting
> value is 1, the ending value is 100, and the increment is 3.
>
> The resulting collection is then filtered using the "reject:" method,
> which takes a block of code as an argument. In this case, the block checks
> whether each element (denoted by the variable i) is odd by using the
> "isOdd" method. If an element is odd, it will be rejected from the
> collection.
>
> So, the final result is a collection of all even numbers from 1 to 100,
> incrementing by 3 at each step.
> Share this explanation with colleagues: whatdoesthiscodedo.com/g/a0ec56e
>
March 15, 2023
This week (10/2023) on the Pharo Issue Tracker
by Marcus Denker
We merged 32 PRs this week:
Bugs
====
- InitializedSlot-check-default #12895
https://github.com/pharo-project/pharo/pull/12895
- correcting computation of sets of protocols to remove and add #12962
https://github.com/pharo-project/pharo/pull/12962
- 12955-TFStringType-is-leaking-when-allocates-the-string-for-calling-a-function #12956
https://github.com/pharo-project/pharo/pull/12956
- Fixing bugged undo-redo commands after using completion #12570
https://github.com/pharo-project/pharo/pull/12570
Improvements
===========
- Speed up ClassVar>>#isReferenced #12930
https://github.com/pharo-project/pharo/pull/12930
- Add new attributes to SDL_MouseWheelEvent #12897
https://github.com/pharo-project/pharo/pull/12897
- Synch zinc zodiac #12932
https://github.com/pharo-project/pharo/pull/12932
- Add BaselineOf:>>#pharoVersionsFrom: #12908
https://github.com/pharo-project/pharo/pull/12908
- Ensure #setUp is classified in running #12907
https://github.com/pharo-project/pharo/pull/12907
Compiler
========
- RBCodeSnippets test decompilation #12901
https://github.com/pharo-project/pharo/pull/12901
- no more RBScanner errorBlock #12900
https://github.com/pharo-project/pharo/pull/12900
- Improve faulty AST fromatting by RBSimpleFormatter #12902
https://github.com/pharo-project/pharo/pull/12902
- better fix for #12858: check isTempVariable #12971
https://github.com/pharo-project/pharo/pull/12971
- add RBCodeSnippetTest>>testCompileWithRequestor #12958
https://github.com/pharo-project/pharo/pull/12958
- Improve faulty compiling - small snippets cleanup #12947
https://github.com/pharo-project/pharo/pull/12947
- Improve faulty compiling: test shadowed reserved variables #12960
https://github.com/pharo-project/pharo/pull/12960
- Improve faulty reporting: IconStyler #12934
https://github.com/pharo-project/pharo/pull/12934
- Improve faulty compilation - semantic error #12919
https://github.com/pharo-project/pharo/pull/12919
- Improve faulty parsing. Add semantic snippets #12909
https://github.com/pharo-project/pharo/pull/12909
Syntax Highlighter
==================
- Simplify styler #12952
https://github.com/pharo-project/pharo/pull/12952
- Improve styler #12915
https://github.com/pharo-project/pharo/pull/12915
- Add regression test to Shout #12974
https://github.com/pharo-project/pharo/pull/12974
- Loop imbricated styles + remove dead code #12964
https://github.com/pharo-project/pharo/pull/12964
- Remove dead code in SHTextStyler #12949
https://github.com/pharo-project/pharo/pull/12949
- Shout: Manage syntax highlight of dynamic array #12953
https://github.com/pharo-project/pharo/pull/12953
- Shout:â¯Rename some styles #12945
https://github.com/pharo-project/pharo/pull/12945
Tools
=====
- new class SycInspectNodeCommand to simply inspect an AST node #12904
https://github.com/pharo-project/pharo/pull/12904
- 12807-Executable-comment-syntax-error-leads-to-CI-crash #12894
https://github.com/pharo-project/pharo/pull/12894
- Fix Calypso browsing unloaded package artifacts from Iceberg #12425
https://github.com/pharo-project/pharo/pull/12425
Cleanups
========
remove method Object asOrderedCollection #12852
https://github.com/pharo-project/pharo/pull/12852
Trivial
=======
- Fix categories in PaSimpleMatrixExampleTest #12937
https://github.com/pharo-project/pharo/pull/12937
Pharo10
=======
- backport-issue-12955: TFStringType is leaking when allocates the string for calling a function #12966
https://github.com/pharo-project/pharo/pull/12966
March 13, 2023
1st CfP: SLE 2023 - 16th ACM SIGPLAN International Conference on Software Language Engineering
by Andrei Chis
------------------------------------------------------------------------
16th ACM SIGPLAN International Conference on Software Language
Engineering (SLE 2023)
October 22-27, 2023
Cascais, Lisbon, Portugal
http://www.sleconf.org/2023/
Follow us on Twitter: https://twitter.com/sleconf
------------------------------------------------------------------------
We are pleased to invite you to submit papers to the 16th ACM SIGPLAN
International Conference on Software Language Engineering (SLE 2023),
held in conjunction with SPLASH 2023. The conference will be hosted in
Cascais, Lisbon, Portugal on October 22-27, 2023.
---------------------------
Topics of Interest
---------------------------
SLE covers software language engineering rather than engineering a
specific software language. Topics of interest include, but are not
limited to:
* Software Language Design and Implementation
- Approaches to and methods for language design
- Static semantics (e.g., design rules, well-formedness constraints)
- Techniques for specifying behavioral/executable semantics
- Generative approaches (incl. code synthesis, compilation)
- Meta-languages, meta-tools, language workbenches
* Software Language Validation
- Verification and formal methods for languages
- Testing techniques for languages
- Simulation techniques for languages
* Software Language Integration and Composition
- Coordination of heterogeneous languages and tools
- Mappings between languages (incl. transformation languages)
- Traceability between languages
- Deployment of languages to different platforms
* Software Language Maintenance
- Software language reuse
- Language evolution
- Language families and variability, language and software product lines
* Domain-specific approaches for any aspects of SLE (design,
implementation, validation, maintenance)
* Empirical evaluation and experience reports of language engineering tools
- User studies evaluating usability
- Performance benchmarks
- Industrial applications
* Synergies between Language Engineering and emerging/promising research areas
- AI and ML language engineering (e.g., ML compiler testing, code
classification) Quantum language engineering (e.g., language design
for quantum machines)
- Language engineering for physical systems (e.g., CPS, IoT, digital twins)
- Socio-technical systems and language engineering (e.g., language
evolution to adapt to social requirements)
- Etc.
---------------------------
Types of Submissions
---------------------------
SLE accepts the following types of papers:
* Research papers: These are âtraditionalâ papers detailing research
contributions to SLE. Papers may range from 6 to 12 pages in length
and may optionally include 2 further pages of bibliography/appendices.
Papers will be reviewed with an understanding that some results do not
need 12 full pages and may be fully described in fewer pages.
* New ideas/vision papers: These papers may describe new,
unconventional software language engineering research positions or
approaches that depart from standard practice. They can describe
well-defined research ideas that are at an early stage of
investigation. They could also provide new evidence to challenge
common wisdom, present new unifying theories about existing SLE
research that provides novel insight or that can lead to the
development of new technologies or approaches, or apply SLE technology
to radically new application areas. New ideas/vision papers must not
exceed 5 pages and may optionally include 1 further page of
bibliography/appendices.
* SLE Body of Knowledge: The SLE Body of Knowledge (SLEBoK) is a
community-wide effort to provide a unique and comprehensive
description of the concepts, best practices, tools, and methods
developed by the SLE community. In this respect, the SLE conference
will accept surveys, essays, open challenges, empirical observations,
and case study papers on the SLE topics. These can focus on, but are
not limited to, methods, techniques, best practices, and teaching
approaches. Papers in this category can have up to 20 pages, including
bibliography/appendices.
* Tool papers: These papers focus on the tooling aspects often
forgotten or neglected in research papers. A good tool paper focuses
on practical insights that will likely be useful to other implementers
or users in the future. Any of the SLE topics of interest are
appropriate areas for tool demonstrations. Submissions must not exceed
5 pages and may optionally include 1 further page of
bibliography/appendices. They may optionally include an appendix with
a demo outline/screenshots and/or a short video/screencast
illustrating the tool.
**Workshops**: Workshops will be organized by SPLASH. Please inform us
and contact the SPLASH organizers if you would like to organize a
workshop of interest to the SLE audience. Information on how to submit
workshops can be found on the SPLASH 2023 Website.
---------------------------
Important Dates
---------------------------
All dates are Anywhere on Earth.
* 1st round submissions
- Abstract submissions: March 31, 2023
- Paper submissions: April 7, 2023
- Notification: May 5, 2023
* 2nd round submissions
- Abstract submissions: June 26, 2023
- Paper submissions: June 30, 2023
- Review notification: August 11, 2023 (starting of the rebuttal)
- Author response period: August 18, 2023 (end of the rebuttal)
- Notification: August 25, 2023
* Artifact submissions: August 30, 2023
* Artifact kick-the-tires Author response: September 15, 2023
* Artifact notification: September 29, 2023
* Conference: October 22-27, 2023 (co-located with SPLASH, precise
dates to be announced)
---------------------------
Format
---------------------------
Submissions have to use the ACM SIGPLAN Conference Format
"acmart"(http://sigplan.org/Resources/Author/#acmart-format) please
make sure that you always use the latest ACM SIGPLAN acmart LaTeX
template(https://www.acm.org/binaries/content/assets/publications/consolida…,
and that the document class definition is
`\documentclass[sigplan,anonymous,review]{acmart}`. Do not make any
changes to this format!
Ensure that your submission is legible when printed on a black and
white printer. In particular, please check that colors remain distinct
and font sizes in figures and tables are legible.
To increase fairness in reviewing, a double-blind review process has
become standard across SIGPLAN conferences. In this line, SLE will
follow the double-blind process. Author names and institutions should
be omitted from submitted papers, and references to the authorsâ own
related work should be in the third person. No other changes are
necessary, and authors will not be penalized if reviewers are able to
infer their identities in implicit ways.
All submissions must be in PDF format. The submission website is:
https://sle23.hotcrp.com
---------------------------
Concurrent Submissions
---------------------------
Papers must describe unpublished work that is not currently submitted
for publication elsewhere as described by SIGPLANâs Republication
Policy (http://www.sigplan.org/Resources/Policies/Republication)
Submitters should also be aware of ACMâs Policy and Procedures on
Plagiarism (http://www.acm.org/publications/policies/plagiarism_policy)
Submissions that violate these policies will be desk-rejected.
---------------------------
Policy on Human Participant and Subject Research
---------------------------
Authors conducting research involving human participants and subjects
must ensure that their research comply with their local governing laws
and regulations and the ACMâs general principles as stated in the
ACMâs Publications Policy on Research Involving Human Participants and
Subjects (https://www.acm.org/publications/policies/research-involving-human-particip…)
Submissions that violate this policy will be rejected.
---------------------------
Reviewing Process
---------------------------
All submitted papers will be reviewed by the program committee.
Research papers and tool papers will be evaluated concerning novelty,
correctness, significance, readability, and alignment with the
conference call. New ideas/vision papers will be evaluated primarily
concerning novelty, significance, readability, and alignment with the
conference call. SLEBoK papers will be reviewed on their significance,
readability, topicality and capacity of
presenting/evaluating/demonstrating a piece of BoK about SLE.
For fairness reasons, all submitted papers must conform to the above
instructions. Submissions that violate these instructions may be
rejected without review, at the discretion of the PC chairs.
---------------------------
Artifact Evaluation
---------------------------
For the seventh year, SLE will use an evaluation process for assessing
the quality of the artifacts on which papers are based to foster the
culture of experimental reproducibility. Authors of accepted research
papers are invited to submit artifacts. For more information, please
have a look at the Artifact Evaluation
(http://www.sleconf.org/2023/ArtifactEvaluation.html) page.
---------------------------
Awards
---------------------------
- **Distinguished paper**: Award for most notable paper, as determined
by the PC chairs based on the recommendations of the programme
committee.
- **Distinguished artifact**: Award for the artifact most
significantly exceeding expectations, as determined by the AEC chairs
based on the recommendations of the artifact evaluation committee.
---------------------------
Publication
---------------------------
All accepted papers will be published in the ACM Digital Library.
**AUTHORS TAKE NOTE**: The official publication date is the date the
proceedings are made available in the ACM Digital Library. This date
may be up to two weeks prior to the first day of the conference. The
official publication date affects the deadline for any patent filings
related to published work.
---------------------------
SLE and Doctoral Students
---------------------------
SLE encourages students to submit to the SPLASH doctoral symposium.
Authors of accepted papers will have the chance to present their work
to the SLE audience, too.
---------------------------
Organisation
---------------------------
Chairs:
* General chair: João Saraiva, Universidade do Minho, Portugal
* PC co-chair: Thomas Degueule, CNRS/LaBRI, France
* PC co-chair: Elizabeth Scott, Royal Holloway University of London,
United Kingdom
* Publicity chair: Andrei Chis, feenk gmbh, Switzerland
---------------------------
Contact
---------------------------
For additional information, clarification, or answers, please get in
touch with the program co-chairs (E.Scott at rhul.ac.uk and
thomas.degueule at labri.fr).
March 6, 2023
Looking for a job.
by Santiago Bragagnolo
Hello everybody.
I am finishing my PhD soon, an industrial PhD on software migration.
A quick brief: I have 10 years of experience in Pharo and another 10 years
in other technologies.
I want to learn if there are any opening positions for working in
Pharo/Smalltalk.
Please feel free to talk to me privately.
I attached my CV.
Cordially, Santiago.
March 5, 2023
This week (9/2023) on the Pharo Issue Tracker
by Marcus Denker
We merged 58 PRs this week:
Compiler
========
- Improve faulty parsing of byte array literal (alternative version) #12818
https://github.com/pharo-project/pharo/pull/12818
- NumberParser: kill requestor #12835
https://github.com/pharo-project/pharo/pull/12835
- Add RBToken>>isSpecial: to simplify parsing code #12836
https://github.com/pharo-project/pharo/pull/12836
- Clean some parsing code #12861
https://github.com/pharo-project/pharo/pull/12861
- Improve scanning: escape comments #12857
https://github.com/pharo-project/pharo/pull/12857
- Hook for custom syntaxhighlight #12594
https://github.com/pharo-project/pharo/pull/12594
- Improve faulty parsing: generalize code snippets #12847
https://github.com/pharo-project/pharo/pull/12847
- Improve faulty parsing: rename content as contents (a s was missing) #12854
https://github.com/pharo-project/pharo/pull/12854
- 12858-CopiedLocalVariable-answers-false-to-isTemporaryVariable-even-when-it-is #12869
https://github.com/pharo-project/pharo/pull/12869
- HotFix. Restore RBScanner>>#parseErrorNode: #12875
https://github.com/pharo-project/pharo/pull/12875
- Do not stack RBUnfinishedStatementErrorNode #12873
https://github.com/pharo-project/pharo/pull/12873
- EFFormatter use parenthesis on error nodes if some were present #12872
https://github.com/pharo-project/pharo/pull/12872
- RBCodeSnippet nice overview of error messages #12871
https://github.com/pharo-project/pharo/pull/12871
- Rewrite some error messages to follow the style Foo expected #12874
https://github.com/pharo-project/pharo/pull/12874
- Improve faulty parsing on variables #12868
https://github.com/pharo-project/pharo/pull/12868
- Improve faulty parsing of methods #12879
https://github.com/pharo-project/pharo/pull/12879
- Improve faulty parsing by testing unreachable code #12893
https://github.com/pharo-project/pharo/pull/12893
- Improve faulty parsing on chars (and primitive arrays) #12891
https://github.com/pharo-project/pharo/pull/12891
Fixes
=====
- Update matchesTypes to fix DNU in matchesTypes #12611
https://github.com/pharo-project/pharo/pull/12611
- Fix float comparision with precision and start to test Math-Operation⦠#12615
https://github.com/pharo-project/pharo/pull/12615
- Refactoring TDebugger class>>#handlesContext: to TDebugger>>#handlesDebugSession: #12833
https://github.com/pharo-project/pharo/pull/12833
- New try at not hardcoding Metacello Attributes #12511
https://github.com/pharo-project/pharo/pull/12511
- Fix TPrintTests rotten green tests #12846
https://github.com/pharo-project/pharo/pull/12846
- Use MethodClassifier protocol for new methods instead of the selected protocol #12882
https://github.com/pharo-project/pharo/pull/12882
- Do not ask the user a method protocol first but instead try to auto classify the method and only ask the user if auto classification failed #470
https://github.com/pharo-spec/NewTools/pull/470
- Fix #10929 Graphic UI selection glitch with selected text on large screens #12863
https://github.com/pharo-project/pharo/pull/12863
- Fix #12459 : text selection drag and drop problem. #12460
https://github.com/pharo-project/pharo/pull/12460
- Fixing debugger inspector that wasn't updating when the debugger entered a new optimized scope #472
https://github.com/pharo-spec/NewTools/pull/472
- Prevent recursive retries on createIcebergRepositoryWithFallbackFor:url: #1673
https://github.com/pharo-vcs/iceberg/pull/1673
- Fixes: Committing with empty description can lead to problems #1681 #1682
https://github.com/pharo-vcs/iceberg/pull/1682
External Package
===============
- Update the version of graph algos to use the latest one #12851
https://github.com/pharo-project/pharo/pull/12851
- Updating Tonel version #12865
https://github.com/pharo-project/pharo/pull/12865
- Sync ston #12829
https://github.com/pharo-project/pharo/pull/12829
- Microdown-RichTextComposer is now managed outside #12890
https://github.com/pharo-project/pharo/pull/12890
CI
===
- Make all PRs to run in the latest VM #12605
https://github.com/pharo-project/pharo/pull/12605
- Remove zinc file system from bootstrap #12839
https://github.com/pharo-project/pharo/pull/12839
- Skipping test in windows as it is hanging #12887
https://github.com/pharo-project/pharo/pull/12887
Features
========
- new general rule ReNotEqualityOperatorsRule to inform users of != or !== #12864
https://github.com/pharo-project/pharo/pull/12864
- Adding new rewrite tools #464
https://github.com/pharo-spec/NewTools/pull/464
- Loading Chest in BaselineOfNewTools: Integration of Chest as a debugger extension #451
https://github.com/pharo-spec/NewTools/pull/451
Cleanups
========
- Remove SerialPort that relies on a vm plugin that is not in the vm anymore #12773
https://github.com/pharo-project/pharo/pull/12773
- Refactoring UI cleanup #12528
https://github.com/pharo-project/pharo/pull/12528
- Remove old slang pragmas #12849
https://github.com/pharo-project/pharo/pull/12849
- Remove not loaded Pillar packages #12848
https://github.com/pharo-project/pharo/pull/12848
- Deprecate all nativeboost methods #12838
https://github.com/pharo-project/pharo/pull/12838
- Remove dependency of ChangeSet on Author #12584
https://github.com/pharo-project/pharo/pull/12584
- Remove old RewriteTools #12607
https://github.com/pharo-project/pharo/pull/12607
- Remove help packages that are not loaded in the image #12613
https://github.com/pharo-project/pharo/pull/12613
- Cleanup: Condense Rubric packages #12626
https://github.com/pharo-project/pharo/pull/12626
- Cleanup: Condense System-Caching packages #12660
https://github.com/pharo-project/pharo/pull/12660
- Cleanup: Condense System-Changes packages #12662
https://github.com/pharo-project/pharo/pull/12662
- Clean up spaces in Polymorph-Widgets package #12855
https://github.com/pharo-project/pharo/pull/12855
- Cleanup: Condense System-BasicCommandLineHandler packages #12658
https://github.com/pharo-project/pharo/pull/12658
- use ifEmpty ifNotEmpty #12877
https://github.com/pharo-project/pharo/pull/12877
- Remove reference to deprecated class #1679
https://github.com/pharo-vcs/iceberg/pull/1679
March 3, 2023